[aur-general] Doubt conflict array & request check PKGBUILDS
Hi, I recently adopted two packages from AUR: adwaita-qt and adwaita-qt4. Today @morealaz (who is maintaining adwaita-qt-git) asked me to edit some of the arrays in the PKGBUILD (please read comments in the AUR website) and after reading the wiki I did a commit with those little changes. I am not sure if they are correct and he argues that I should a conflict array. Can someone have a look at these two (three) PKGBUILDS and tell me if I should change something and why? Thanks, Iyán
On Wed, 16 Oct 2019 at 21:22, Iyán Méndez Veiga <me@iyanmv.com> wrote:
Hi,
I recently adopted two packages from AUR: adwaita-qt and adwaita-qt4. Today @morealaz (who is maintaining adwaita-qt-git) asked me to edit some of the arrays in the PKGBUILD (please read comments in the AUR website) and after reading the wiki I did a commit with those little changes.
I am not sure if they are correct and he argues that I should a conflict array. Can someone have a look at these two (three) PKGBUILDS and tell me if I should change something and why?
Thanks, Iyán
replaces=(foo) is for when a package is replaced. Pacman will automatically uninstall foo during the next upgrade and replace it with your package. Not the kinda thing that's suitable for packages that *can* be used as an alternative. With conflicts=(foo), it's the job of a package to conflict with what it provides (if they do conflict) and not the other way around. For example foo-git provides and conflicts with foo. But foo has no reason to conflict with foo-git because the conflict has already been stated in the other package. So if your changes follow those rules then you're good.
On 10/16/19 4:22 PM, Iyán Méndez Veiga wrote:
Hi,
I recently adopted two packages from AUR: adwaita-qt and adwaita-qt4. Today @morealaz (who is maintaining adwaita-qt-git) asked me to edit some of the arrays in the PKGBUILD (please read comments in the AUR website) and after reading the wiki I did a commit with those little changes.
I am not sure if they are correct and he argues that I should a conflict array. Can someone have a look at these two (three) PKGBUILDS and tell me if I should change something and why?
Each version of adwaita-qt will install a single file IIRC, that file being /usr/lib/qt/plugins/styles/adwaita.so Thus, logically, one cannot install both the Qt4 and Qt5 versions simultaneously, because the packages will error out with a conflicting files message. The solution is simple, and in accordance with long-standing package policy, adwaita-qt is the "main" package, and all other packages must provide/conflict against it. For more details, see: https://wiki.archlinux.org/index.php/PKGBUILD#conflicts The adwaita-qt5 name is different, since it is what this package used to be called, and if anyone depends on "adwaita-qt5" which does not exist, this package must provide that dependency. (Some people might argue that the package should be called adwaita-qt5 anyway. It would match the naming for other qt5-* packages then.) -- Eli Schwartz Bug Wrangler and Trusted User
El miércoles, 16 de octubre de 2019 22:50:09 (CEST) Eli Schwartz via aur- general escribió:
The solution is simple, and in accordance with long-standing package policy, adwaita-qt is the "main" package, and all other packages must provide/conflict against it. For more details, see: https://wiki.archlinux.org/index.php/PKGBUILD#conflicts
Ok, so if I understood everything correctly adwaita-qt should provide adwaita- qt5 because it used to be called like that, and adwaita-qt4 and adwaita-qt-git should provide and conflict adwaita-qt to avoid intalling both at the same time. I will fix that. Thanks, Iyán
El miércoles, 16 de octubre de 2019 22:50:09 (CEST) Eli Schwartz via aur- general escribió:
Each version of adwaita-qt will install a single file IIRC, that file being /usr/lib/qt/plugins/styles/adwaita.so
Thus, logically, one cannot install both the Qt4 and Qt5 versions simultaneously, because the packages will error out with a conflicting files message.
Hi Eli, Reading again your message I am still not quite sure you are right. It should be possible to install both adwaita-qt and adwaita-qt4 at the same time so both qt5 and qt4 apps use the theme. Besides, adwaita-qt4 installs adwaita.so in /usr/lib/qt4/... while adwaita-qt is in /usr/lib/qt/... If you think you are right, then wiki should also be fixed: https://wiki.archlinux.org/index.php/ Uniform_look_for_Qt_and_GTK_applications#Adwaita Thanks, Iyán
On 10/23/19 3:22 PM, Iyán Méndez Veiga wrote:
Reading again your message I am still not quite sure you are right. It should be possible to install both adwaita-qt and adwaita-qt4 at the same time so both qt5 and qt4 apps use the theme.
Besides, adwaita-qt4 installs adwaita.so in /usr/lib/qt4/... while adwaita-qt is in /usr/lib/qt/...
If you think you are right, then wiki should also be fixed: https://wiki.archlinux.org/index.php/ Uniform_look_for_Qt_and_GTK_applications#Adwaita
No, you're entirely correct. My apologies. I guess I forgot that qt5 uses an unversioned install path whereas qt4 uses a versioned one -- on the other hand, in self defense, qt4 doesn't exist in the official repos anymore, so why should I concern myself with it or remember what it does? :D (I am still kicking myself either way, don't worry.) ... That being so, I think it would be fine to name it either adwaita-qt or adwaita-qt5, but I still don't quite see the purpose in conflicting against an alternative package name that should not exist. adwaita-qt4 can be its own unrelated package, I suppose. -- Eli Schwartz Bug Wrangler and Trusted User
El lunes, 28 de octubre de 2019 0:33:37 (CET) Eli Schwartz via aur-general escribió:
No, you're entirely correct. My apologies. I guess I forgot that qt5 uses an unversioned install path whereas qt4 uses a versioned one -- on the other hand, in self defense, qt4 doesn't exist in the official repos anymore, so why should I concern myself with it or remember what it does? :D
Hehehe true ;)
That being so, I think it would be fine to name it either adwaita-qt or adwaita-qt5, but I still don't quite see the purpose in conflicting against an alternative package name that should not exist. adwaita-qt4 can be its own unrelated package, I suppose.
So what I did is just remove provide and conflict arrays from adwaita-qt4. In that way, adwaita-qt4 provides adwaita-qt4, and adwaita-qt provides both adwaita-qt and adwaita-qt5. I hope is fine this way. Thanks again, Iyán
participants (3)
-
Eli Schwartz
-
Iyán Méndez Veiga
-
Morgan Adamiec