Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 253856 - Can't ebuild foo digest on fetch-restricted ebuild
Summary: Can't ebuild foo digest on fetch-restricted ebuild
Status: RESOLVED WORKSFORME
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Ebuild Support (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-05 14:05 UTC by Paul Gover
Modified: 2009-01-13 19:54 UTC (History)
2 users (show)

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 Paul Gover 2009-01-05 14:05:15 UTC
I've private ebuilds in /usr/local/portage.  FWIW, their DISTFILE contents are rpms.  The rpms have changed, but the PVR levels stay the same.  (These ebuilds are for a system under development, otherwise of course there's be a PVR bump.)

I forgot to update the Manifests before running "emerge foo" with the latest rpms.  The changed digests meant the emerge failed as if the fetch had not occurred.  So, try to run "ebuild foo digest" to correct this, but it fails - it acts as though it's running "emerge --resume", and marks the DISTFILE as having a bad checksum BEFORE it gets to calculating the new digest.

I couldn't find any tidy way to fix this.  "emerge --resume --skipfirst" appeared to work, but "ebuild foo digest" still marked the DISTFILE as bad before calculating the new digest.

I could find no documented "emerge --abort" or similar to clear the stored interrupted emerge.

Deleting the relevant DIST line from the Manifests file allowed "ebuild foo digest" to work, so that's a bypass, but that's a bit horrible.

Reproducible: Always

Steps to Reproduce:
1.change the distfile on a fetch-restricted ebuild, and store it in /usr/portage/distfiles
2.emerge it - will fail with checksum error
3.ebuild foo digest - will also fail with checksum error
Actual Results:  
The distfile gets renamed to foo._checksum_blah_blah or something similar (it's scrolled off my log), and the ebuild acts as if the distfile hasn't yet been fetched manually.

Expected Results:  
should update the Manifest so that subsequent emerges succeed.

Portage 2.2_rc20 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.22-vs2.2.0.7-gentoolargemem i686)
=================================================================
System uname: Linux-2.6.22-vs2.2.0.7-gentoolargemem-i686-Genuine_Intel-R-_CPU_T1300_@_1.66GHz-with-glibc2.0
Timestamp of tree: Thu, 01 Jan 2009 09:45:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.5.2-r7
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.1-r1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=prescott -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O3 -march=prescott -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-protect distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/ "
LANG="en_GB.utf8"
LDFLAGS="-Wl,-O1"
LINGUAS="en_GB en_US en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/ibm-internal /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X acl acpi alsa berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dvb dvd dvdr dvdread eds emboss encode esd evo fam firefox fortran gdbm gif gpm gstreamer gtk hal iconv ipv6 isdnlog java jpeg kde laptop libnotify mad midi mikmod mmx mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl pmu png ppds pppd python qt3 qt3support qt4 quicktime readline reflection sdl session spell spl sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype unicode usb vorbis win32codecs x86 xml xorg xulrunner xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB en_US en" USERLAND="GNU" VIDEO_CARDS="intel"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Justin Lecher (RETIRED) gentoo-dev 2009-01-05 14:13:21 UTC
Just remove the line of the rpm in the Manifest file, so that it is recreated, or remove the Manifest, so that it is complete new build. That should fix the Problem.
Comment 2 Zac Medico gentoo-dev 2009-01-05 20:46:05 UTC
(In reply to comment #1)
> Just remove the line of the rpm in the Manifest file, so that it is recreated,
> or remove the Manifest, so that it is complete new build. That should fix the
> Problem.

That's one way. You can also use the --force option:

  ebuild --force foo.ebuild digest

One of the benefits of requiring the --force option is that it makes it more unlikely that the manifest will be updated with an incorrect digest, like happened in bug 250166.
Comment 3 Paul Gover 2009-01-06 10:45:26 UTC
(In reply to comment #2)
> ...
> That's one way. You can also use the --force option:
> 
>   ebuild --force foo.ebuild digest
> ...

Ah, that's exactly what I wanted.  Thanks.

I'll close this bug as "WORKSFORME" then.  Sorry to have wasted your time.

Comment 4 Zac Medico gentoo-dev 2009-01-13 19:54:12 UTC
*** Bug 254825 has been marked as a duplicate of this bug. ***