Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 719074 - dev-perl/Alien-SDL fails src_install when pre-installed: Sandbox failure ACCESS DENIED: unlink: <>/auto/Alien/SDL/.packlist
Summary: dev-perl/Alien-SDL fails src_install when pre-installed: Sandbox failure ACCE...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-23 15:32 UTC by Kent Fredric (IRC: kent\n) (RETIRED)
Modified: 2020-09-25 23:03 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-04-23 15:32:33 UTC
Something nasty in Alien-SDL tries to nuke things in the filesystem during src_install if they're already there.



>>> Install dev-perl/Alien-SDL-1.446.0-r1 into /var/tmp/portage/dev-perl/Alien-SDL-1.446.0-r1/image
 * ./Build install --pure
Removing the old /usr/lib64/perl5/vendor_perl/5.30.2/x86_64-linux/auto/Alien/SDL 
 * ACCESS DENIED:  unlink:       /usr/lib64/perl5/vendor_perl/5.30.2/x86_64-linux/auto/Alien/SDL/.packlist
cannot unlink file for /usr/lib64/perl5/vendor_perl/5.30.2/x86_64-linux/auto/Alien/SDL/.packlist: Permission denied at inc/My/Builder.pm line 53.
cannot restore permissions to 0100644 for /usr/lib64/perl5/vendor_perl/5.30.2/x86_64-linux/auto/Alien/SDL/.packlist: Permission denied at inc/My/Builder.pm line 53.
 * ACCESS DENIED:  rmdir:        /usr/lib64/perl5/vendor_perl/5.30.2/x86_64-linux/auto/Alien/SDL
cannot remove directory for /usr/lib64/perl5/vendor_perl/5.30.2/x86_64-linux/auto/Alien/SDL: Permission denied at inc/My/Builder.pm line 53.
Build option used:
	Already installed SDL ver=1.2.15 path=/usr
Building Alien-SDL
Installing /var/tmp/portage/dev-perl/Alien-SDL-1.446.0-r1/image/usr/lib64/perl5/vendor_perl/5.30.2/Alien/SDL.pm
Installing /var/tmp/portage/dev-perl/Alien-SDL-1.446.0-r1/image/usr/lib64/perl5/vendor_perl/5.30.2/Alien/SDL/ConfigData.pm
Installing /var/tmp/portage/dev-perl/Alien-SDL-1.446.0-r1/image/usr/share/man/man3/Alien::SDL.3pm
Installing /var/tmp/portage/dev-perl/Alien-SDL-1.446.0-r1/image/usr/share/man/man3/Alien::SDL::ConfigData.3pm
Installing /var/tmp/portage/dev-perl/Alien-SDL-1.446.0-r1/image/usr/bin/sdl-config.pl
 * Fixing packlist file //usr/lib64/perl5/vendor_perl/5.30.2/x86_64-linux/auto/Alien/SDL/.packlist
 * Pruning surplus packlist entry /usr/share/man/man3/Alien::SDL.3pm
 * Pruning surplus packlist entry /usr/share/man/man3/Alien::SDL::ConfigData.3pm
>>> Completed installing dev-perl/Alien-SDL-1.446.0-r1 into /var/tmp/portage/dev-perl/Alien-SDL-1.446.0-r1/image
Comment 1 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-04-23 15:38:30 UTC
Note this only appears to happen once the packlist is added.

Which means its been hidden as a bug due to being stuck on EAPI5, which adds no packlist.

But as soon as EAPI6+ is there:

1. Can't install the EAPI6+ version after an EAPI6+ version is installed
2. Can't install an EAPI5 version after the EAPI6+ version is installed

which means unless fixed before adding EAPI support, introduces a problem where you can't upgrade, reinstall, or downgrade.
Comment 2 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-04-23 15:48:13 UTC
Annoyingly, if I actually still can fix this in an -r1 bump, the bug will still happen when downgrading.

*sigh*
Comment 3 Larry the Git Cow gentoo-dev 2020-04-23 16:25:03 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fa81d5f19553dd6488275402988d2856c58932b

commit 5fa81d5f19553dd6488275402988d2856c58932b
Author:     Kent Fredric <kentnl@gentoo.org>
AuthorDate: 2020-04-23 16:23:20 +0000
Commit:     Kent Fredric <kentnl@gentoo.org>
CommitDate: 2020-04-23 16:24:41 +0000

    dev-perl/Alien-SDL: -r bump for EAPI7
    
    Also has to fix bug #719074 as EAPI7-ification adds .packlist to
    the install, which breaks subsequent reinstalls due to misguided "nuke
    existing share dir" logic targeted at CPAN.
    
    And although this issue is fixed for -r1, attempts to downgrade to -r0
    will rexperience this bug, even though -r0 didn't typically have the
    problem on self-reinstallation ... due to not shipping the .packlist
    due to EAPI < 6
    
    A true downgrade requires running some kind of emerge -C operation
    to remove the sharedirs, before installing the older version.
    
    Subsequently, this issue can *only* be considered fixed once -r0 is
    removed.
    
    Bug: https://bugs.gentoo.org/719074
    Package-Manager: Portage-2.3.97, Repoman-2.3.22
    Signed-off-by: Kent Fredric <kentnl@gentoo.org>

 dev-perl/Alien-SDL/Alien-SDL-1.446.0-r1.ebuild     | 50 ++++++++++++++++++++++
 .../files/Alien-SDL-1.444.0-no-sysclean.patch      | 33 ++++++++++++++
 2 files changed, 83 insertions(+)
Comment 4 Larry the Git Cow gentoo-dev 2020-09-25 23:03:20 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e2fdef95f93015473946b6a6dce550abd4835d8

commit 6e2fdef95f93015473946b6a6dce550abd4835d8
Author:     Kent Fredric <kentnl@gentoo.org>
AuthorDate: 2020-09-25 22:34:35 +0000
Commit:     Kent Fredric <kentnl@gentoo.org>
CommitDate: 2020-09-25 23:01:52 +0000

    dev-perl/Alien-SDL: Cleanup old 1.446.0
    
    Closes: https://bugs.gentoo.org/719074
    Package-Manager: Portage-3.0.4, Repoman-3.0.1
    Signed-off-by: Kent Fredric <kentnl@gentoo.org>

 dev-perl/Alien-SDL/Alien-SDL-1.446.0.ebuild | 41 -----------------------------
 1 file changed, 41 deletions(-)