Ashark / archlinux-amdgpu-pro

Radeon Software for Linux (AMDGPU PRO) PKGBUILD generator for ArchLinux AUR
https://aur.archlinux.org/pkgbase/amdgpu-pro-installer/
119 stars 25 forks source link

Missing conflicts in library packages #20

Closed brainpower closed 7 years ago

brainpower commented 8 years ago

libegl1-amdgpu-pro{,-dev} contain files conflicting with mesa-libgl, because both contain for example /usr/lib/libEGL.so, but there is no conflicts-dependency in the PKGBUILD which reflects that. Same with libgl1-amdgpu-pro{,-dev}, libgles2-amdgpu-pro{,-dev} and their lib32 versions.

uKev commented 8 years ago

Yes. I can confirm this.

corngood commented 8 years ago

If anyone wants to improve the conflicts, you can look at https://github.com/corngood/archlinux-amdgpu/commit/8e8086112b44f47578c7d3aad1078cd7e108ceb5 as a guide. You can make similar changes to gen-PKGBUILD.py, which generates the other files.

It's pretty messy though, because the debian packages don't really correspond directly to other arch packages. We might want to merge some of the deb packages into e.g. amdgpu-pro-libgl, but that's a more complicated change.

PRs are welcome.

brainpower commented 8 years ago

I tried to add that "merging" functionality to the generator script, but then ended up rewriting most of it to make that easier. I hadn't had time to test the new packages generated by it yet, I'll do that later today. I compared the files the files the new packages contain with those build before the change using for pkg in *.pkg.tar.xz; do tar -tf $pkg; done | sort -u > filelist, tough, and there were no files missing. If that script is ok, I'll do a pull request after I tested the packages on my system a little. The changes are in my fix-20 branch: https://github.com/brainpower/archlinux-amdgpu/tree/fix-20

It's not perfect and probably has some issues, but it should be easier to work with. For example, this issue just crossed my mind: There should probably be conflicts to the old packages in the new package they were mapped to, so those would get removed when upgrading. I could look into that later, too. It shouldn't be hard to do. A single for loop should do the trick.