[arch-general] PKGBUILD any way to create pkg-A & pkg-A-test that install w/o conflict
All, Is it possible to create multiple packages that have different package names but are the same package (with different patches) and have them install without conflict? (for testing) Currently I'm testing systemd patches for pkg 'tde-tdebase'. I built a separate package with the systemd patches called 'tde-tdebase-systemd'. Both have the same provides=('tdebase'). Whenever I attempt to install tde-tdebase-systemd, it conflicts with every file from the old tde-tdebase packages requiring a 'pacman -Rdd tde-tdebase', then a pacman -U tde-tdebase-systemd to install. I would like to find something like replaces=() that would work on simple package installs without doing a Sysupgrade each time I switch back and forth. Is this possible, or is it just better to keep the same pkgname and use different pkgrel to distinguish (I've been doing it this way, but would like to use a descriptive filename that identifies included patches) I know 'replaces' is only for Sysupgrade, is there any workaround for normal package installs? -- David C. Rankin, J.D.,P.E.
On 08-03-14 06:18, David C. Rankin wrote:
All,
Is it possible to create multiple packages that have different package names but are the same package (with different patches) and have them install without conflict? (for testing) Currently I'm testing systemd patches for pkg 'tde-tdebase'. I built a separate package with the systemd patches called 'tde-tdebase-systemd'. Both have the same provides=('tdebase').
Whenever I attempt to install tde-tdebase-systemd, it conflicts with every file from the old tde-tdebase packages requiring a 'pacman -Rdd tde-tdebase', then a pacman -U tde-tdebase-systemd to install.
I would like to find something like replaces=() that would work on simple package installs without doing a Sysupgrade each time I switch back and forth. Is this possible, or is it just better to keep the same pkgname and use different pkgrel to distinguish (I've been doing it this way, but would like to use a descriptive filename that identifies included patches) I know 'replaces' is only for Sysupgrade, is there any workaround for normal package installs?
David, Try using a virtual package and combining provides=() with conflicts=() example pkgname="foo" provides=('foo-base') confilcts=('foo-base') pkgname="foo-alternative" provides=('foo-base') confilcts=('foo-base') switching between foo and foo-alternative should then be possible by doing a simple pacman -S (or -U) . Note : it can be done without a virtual package foo-base, but imo using a virtual package makes it clearer what happens, especially if you want to test multiple alternatives. LW
participants (2)
-
David C. Rankin
-
LoneVVolf