Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 829121 - dev-scheme/racket-8.2-r1 ebuild failing to `mv` info-cache.rktd while USE=minimal
Summary: dev-scheme/racket-8.2-r1 ebuild failing to `mv` info-cache.rktd while USE=min...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Scheme Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-13 22:23 UTC by Ari Archer
Modified: 2021-12-14 08:55 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 Ari Archer 2021-12-13 22:23:15 UTC
Hello, When trying to compile dev-scheme/racket-8.2-r1 I get this

```
>>> Completed installing dev-scheme/racket-8.2-r1 into /tmp/portage/dev-scheme/racket-8.2-r1/image

 * Final size of build directory: 316796 KiB (309.3 MiB)
 * Final size of installed tree:  167280 KiB (163.3 MiB)

strip: x86_64-pc-linux-gnu-strip --strip-unneeded -N __gentoo_check_ldflags__ -R .comment -R .GCC.command.line -R .note.gnu.gold-version
   /usr/lib64/racket/starter
   /usr/lib64/libracketcs.a
   /usr/bin/racket
   /usr/lib64/racket/gracket

>>> Installing (1 of 1) dev-scheme/racket-8.2-r1::gentoo
 * checking 1941 files for package collisions
>>> Merging dev-scheme/racket-8.2-r1 to /
We are installing the same SLOT: 0/8.2
 * Keeping old file: /usr/share/racket/info-cache.rktd
mv: cannot stat '/tmp/portage/dev-scheme/racket-8.2-r1/image//usr/share/racket/info-cache.rktd': No such file or directory
 * ERROR: dev-scheme/racket-8.2-r1::gentoo failed (preinst phase):
 *   failed to create a backup of /usr/share/racket/info-cache.rktd
 *
 * Call stack:
 *     ebuild.sh, line 127:  Called pkg_preinst
 *   environment, line 1012:  Called die
 * The specific snippet of code:
 *                   mv "${ED}"/${rktd} "${ED}"/${rktd}.bak || die "failed to create a backup of ${rktd}";
 *
 * If you need support, post the output of `emerge --info '=dev-scheme/racket-8.2-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-scheme/racket-8.2-r1::gentoo'`.
 * The complete build log is located at '/tmp/portage/dev-scheme/racket-8.2-r1/temp/build.log'.
 * The ebuild environment file is located at '/tmp/portage/dev-scheme/racket-8.2-r1/temp/environment'.
 * Working directory: '/tmp/portage/dev-scheme/racket-8.2-r1/empty'
 * S: '/tmp/portage/dev-scheme/racket-8.2-r1/work/racket-8.2/src'
!!! FAILED preinst: 1

>>> Failed to install dev-scheme/racket-8.2-r1

 * GNU info directory index is up-to-date.
```


When I try to compile with USE=minimal, tried other flags, this is the only one
which was doing this weird thing.

Then I just switched to other flags without `minimal` and it worked, seems like 
there is a bug in the ebuild itself.


Suggested fix:

Check if `minimal` USE flag is enabled, if not don't create a backup of /usr/share/racket/info-cache.rktd

```
if ! use minimal; then
    mv "${ED}"/${rktd} "${ED}"/${rktd}.bak || die "failed to create a backup of ${rktd}"
fi
```


This is how my racket build looks like:
```
[ebuild   R   ] dev-scheme/racket-8.2-r1  USE="chez doc futures jit places threads -X* -minimal" 
```

When broken:
```
[ebuild   R   ] dev-scheme/racket-8.2-r1  USE="chez doc futures jit minimal* places threads -X*" 
```


Steps to reproduce:
1. Add the `minimal` USE flag to racket's package.use
2. Emerge racket
3. Wait for it to compile
4. Watch it fail at the end of the installation
Comment 1 Ari Archer 2021-12-13 22:35:48 UTC
FYI: `dev-scheme/racket-8.3-r1` does NOT have the same issue as `dev-scheme/racket-8.2-r1`
Comment 2 Ari Archer 2021-12-13 22:37:20 UTC
FYI: `dev-scheme/racket-8.3-r1` does NOT have the same issue as `dev-scheme/racket-8.2-r1`

```
[ebuild   R   ] dev-scheme/racket-8.3-r1  USE="chez doc futures jit minimal places threads"
```
Comment 3 Larry the Git Cow gentoo-dev 2021-12-14 08:53:40 UTC
The bug has been closed via the following commit(s):

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

commit f8757ad71d16fb4963f9933000d3b99a846a025c
Author:     Maciej Barć <xgqt@gentoo.org>
AuthorDate: 2021-12-14 08:13:41 +0000
Commit:     Maciej Barć <xgqt@gentoo.org>
CommitDate: 2021-12-14 08:53:36 +0000

    dev-scheme/racket: fix pkg_preinst; do not die on pkg_config
    
    Closes: https://bugs.gentoo.org/829121
    Signed-off-by: Maciej Barć <xgqt@gentoo.org>

 dev-scheme/racket/{racket-8.2-r1.ebuild => racket-8.2-r2.ebuild} | 8 ++++----
 dev-scheme/racket/{racket-8.3-r1.ebuild => racket-8.3-r2.ebuild} | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)
Comment 4 Maciej Barć gentoo-dev 2021-12-14 08:55:59 UTC
> FYI: `dev-scheme/racket-8.3-r1` does NOT have the same issue as `dev-scheme/racket-8.2-r1`

the reason why this worked is because we copy the pkgdb files only when there is NO SLOT change

anyway, thanks for reporting this