Artix Linux Forum

Artix Linux => Package management => Topic started by: frabjous on 05 October 2022, 02:20:46

Title: [SOLVED] python-pyqt6 6.4.0-1: /bin exists in filesystem
Post by: frabjous on 05 October 2022, 02:20:46
Looks like python-pyqt6 just got an upgrade yesterday. However, when I try to install the new version I get:

Code: [Select]
(2/2) checking for file conflicts                   [--------------------------] 100%
error: failed to commit transaction (conflicting files)
python-pyqt6: /bin exists in filesystem (owned by filesystem)
Errors occurred, no packages were upgraded.

/bin of course is a symlink to /usr/bin, and is owned by filesystem. I think it's pretty important it not get overwritten. I recently had a problem (https://forum.artixlinux.org/index.php/topic,4583.0.html) when I tried to force through something that wanted to overwrite the /usr/lib64 symlink, so I'm not doing that again.

I wanted to look at the PKGBUILD but packages.artixlinux.org (https://packages.artixlinux.org/details/python-pyqt6) still shows the old version.

Problem with the new package, or something on my end, more likely?
Title: Re: python-pyqt6 6.4.0-1: /bin exists in filesystem
Post by: dther on 05 October 2022, 04:20:26
Got the same problem. It seems like someone upstream has broken something, but I genuinely don't know if it's us or the PyQt project. I tried --overwrite and it ended up replacing the symlink with a directory, which definitely shouldn't happen and gave me a mini heart attack.

Here was my workaround
DO NOT DO WHAT USED TO BE HERE

Accidentally overwrote some very important files, including the initramfs. Looks like I’m in for a long day.
Title: Re: python-pyqt6 6.4.0-1: /bin exists in filesystem
Post by: frankspace on 05 October 2022, 15:57:28
I don't know if this helps, but:

The previous Artix 6.3.1-2.1 package has only /usr in its base directory, with /bin inside that.  The Artix 6.4.0-1 package has /usr and /bin in its base directory.  By comparison, the Arch 6.4.0-1 package, which appears to have an identical PKGBUILD according to the Artix Gitea repo, has only /usr in its base directory and /bin inside that (i.e., like the prior Artix 6.3.1-2.1 package).  When I tried building it myself in a chroot, I also wound up with both /usr and /bin in the base directory of the resulting package.  So I deduce there's something wrong with the Artix build process.  I'm nowhere near clever enough to have any idea what, though.
Title: Re: python-pyqt6 6.4.0-1: /bin exists in filesystem
Post by: gripped on 05 October 2022, 17:59:02
Problem with the new package, or something on my end, more likely?
Weird one. Artix package is trying to install into /bin
Arch package installs correctly into /usr/bin.

The PKGBUILD's from
https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/pyqt6/trunk/PKGBUILD
&
https://gitea.artixlinux.org/packagesP/pyqt6/raw/branch/master/x86_64/extra/PKGBUILD
are identical except for the maintainer line.

You can install the arch package (or wait for it to get fixed)
sudo pacman -S extra/python-pyqt6

You'll probaly have to delete the artix package from the cache first ? I did it anyway.
Title: Re: python-pyqt6 6.4.0-1: /bin exists in filesystem
Post by: frankspace on 06 October 2022, 00:08:39
As an experiment, I tried adding --scripts-dir=/usr/bin \ back into the PKGBUILD, having noticed that it was previously added to the 6.3.1-2.1 release but deleted in the upgrade to 6.4.1-1.  Lo and behold, now everything is in the proper place, and the resulting package installs just fine.  So there clearly is something wonky with Artix's build system that isn't wrong with Arch's build system, and removing that line was something the maintainer shouldn't have done because it's necessary on Artix.  (Although, again, I haven't the vaguest idea why.)
Title: Re: python-pyqt6 6.4.0-1: /bin exists in filesystem
Post by: frabjous on 06 October 2022, 13:17:51
Just a follow up, a new version of the PKGBUILD was released (pkgrel=1.1 vs. pkgrel=1) yesterday and that seems to have fixed the issue. I think the old version was too close to Arch's, and now if you click gripped's links, you can see that --scripts-dir=/usr/bin was added to Artix's and this has fixed the problem, as frankspace suggested it would, for me at least.

Thanks to everyone who responded.