Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 261646 - portage not picking up correct source version in overlays
Summary: portage not picking up correct source version in overlays
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-08 07:34 UTC by ta2002
Modified: 2009-03-08 20:48 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 ta2002 2009-03-08 07:34:03 UTC
I hope this is not PEBKAC, but I don't think so.

Recently, developers marked glibc-2.8_p20080602-r1 stable, and I wanted to install it with some minor patches to some locale files.

The ebuild in my /usr/local/portage is identical to the one in portage, except I have added 'epatch "${FILESDIR}"/${P}-locales.diff' to the src_unpack() section. This has always worked before (but glibc has never had version numbers like "p20080602" before).

Using the portage ebuild starts fine (I have added stars for emphasis):

# emerge -Duv system 

These are the packages that would be merged, in order: 

Calculating dependencies... done! 
[ebuild     U ] sys-libs/glibc-2.8_p20080602-r1 [2.6.1] USE="glibc-omitfp nls -debug -gd% -glibc-compat20 (-hardened) (-multilib) -profile (-selinux) -vanilla%" 0 kB [?=>0] 

Total: 1 package (1 upgrade), Size of downloads: 0 kB 
Portage tree and overlays: 
 [0] /usr/portage 
 [?] indicates that the source repository could not be determined 


>>> Verifying ebuild manifests 

>>> Emerging (1 of 1) sys-libs/glibc-2.8_p20080602-r1 
 * glibc-2.8-20080602.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                         [ ok ] 
 * glibc-2.8-ports-20080602.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                   [ ok ] 
 * glibc-2.8-patches-5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                        [ ok ] 
 * checking ebuild checksums ;-) ...                                                                                  [ ok ] 
 * checking auxfile checksums ;-) ...                                                                                 [ ok ] 
 * checking miscfile checksums ;-) ...                                                                                [ ok ] 
>>> Unpacking source... 
 * Checking gcc for __thread support ...                                                                               [ ok ] 
 * Checking kernel version (>=2.6.9) ...                                                                               [ ok ] 
 * Checking linux-headers version (>=2.6.9) ...                                                                        [ ok ] 
>>> Unpacking *****glibc-2.8-20080602.tar.bz2***** to /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work

But when I try to run the ebuild in /usr/local/portage, I get:

# emerge -Duv system 

These are the packages that would be merged, in order: 

Calculating dependencies... done! 
[ebuild     U ] sys-libs/glibc-2.8_p20080602-r1 [2.6.1] USE="glibc-omitfp nls -debug -gd% -glibc-compat20 (-hardened) (-multilib) -profile (-selinux) -vanilla%" 0 kB [?=>1] 

Total: 1 package (1 upgrade), Size of downloads: 0 kB 
Portage tree and overlays: 
 [0] /usr/portage 
 [1] /usr/local/portage 
 [?] indicates that the source repository could not be determined 


>>> Verifying ebuild manifests 

>>> Emerging (1 of 1) sys-libs/glibc-2.8_p20080602-r1 from unknown repo 
 * glibc-2.8-20080602.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                         [ ok ] 
 * glibc-2.8-ports-20080602.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                   [ ok ] 
 * glibc-2.8-patches-5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                        [ ok ] 
 * checking ebuild checksums ;-) ...                                                                                  [ ok ] 
 * checking auxfile checksums ;-) ...                                                                                 [ ok ] 
 * checking miscfile checksums ;-) ...                                                                                [ ok ] 
>>> Unpacking source... 
 * Checking gcc for __thread support ...                                                                               [ ok ] 
 * Checking kernel version (>=2.6.9) ...                                                                               [ ok ] 
 * Checking linux-headers version (>=2.6.9) ...                                                                        [ ok ] 
>>> Unpacking *****glibc-2.8.tar.bz2***** to /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work 
 * 
 * ERROR: sys-libs/glibc-2.8_p20080602-r1 failed. 
 * Call stack: 
 *               ebuild.sh, line   49:  Called src_unpack 
 *             environment, line 3230:  Called eblit-run 'src_unpack' 
 *             environment, line  986:  Called eblit-glibc-src_unpack 
 *        src_unpack.eblit, line  143:  Called toolchain-glibc_src_unpack 
 *        src_unpack.eblit, line   57:  Called unpack 'glibc-2.8.tar.bz2' 
 *               ebuild.sh, line  353:  Called die 
 * The specific snippet of code: 
 *              [[ ! -s ${srcdir}${x} ]] && die "${x} does not exist" 
 *  The die message: 
 *   glibc-2.8.tar.bz2 does not exist 
 * 
 * If you need support, post the topmost build error, and the call stack if relevant. 
 * A complete build log is located at '/var/log/portage/sys-libs:glibc-2.8_p20080602-r1:20090307-221247.log'. 
 * The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/temp/environment'. 
 * This ebuild is from an overlay: '/usr/local/portage/' 
 * 

>>> Failed to emerge sys-libs/glibc-2.8_p20080602-r1, Log file: 

>>>  '/var/log/portage/sys-libs:glibc-2.8_p20080602-r1:20090307-221247.log'

So portage has the source file wrong when running the overlay ebuild. Note that I tried (as a workaroound) renaming glibc-2.8-20080602.tar.bz2 to glibc-2.8.tar.bz2 (that didn't work, portage just downloaded libc-2.8-20080602.tar.bz2 again).

$ emerge -p --info
Portage 2.1.6.7 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo-r3 i686)
=================================================================
System uname: Linux-2.6.23-gentoo-r3-i686-Intel-R-_Pentium-R-_III_Mobile_CPU_1000MHz-with-glibc2.0
Timestamp of tree: Sat, 07 Mar 2009 12:30:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.5.2-r7
dev-util/cmake:      2.4.8
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.63
sys-devel/automake:  1.7.9-r1, 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.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -Os -pipe -fomit-frame-pointer -mfpmath=sse"
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/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=pentium3 -Os -pipe -fomit-frame-pointer -mfpmath=sse"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y"
FEATURES="distlocks fixpackages protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en ru"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
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/local/portage"
SYNC="rsync://imperator/gentoo-portage"
USE="X a52 aac aalib acpi alsa arts audiofile berkdb bzip2 cairo caps cdparanoia cjk cracklib crypt css cups dbus dga dhcp directfb dri dvd dvdread encode exif expat fam fbcon ffmpeg flac gcj ggi gif glibc-omitfp gmp gphoto2 gpm gstreamer hal iconv idea imagemagick imap imlib ipv6 jabber javascript jbig joystick jpeg kde lcms libcaca libnotify libwww live lm_sensors mad matroska mbox memlimit midi mmx mmxext mng mp3 mpeg mudflap mysql nas ncurses network nls no-old-linux nodrm nptl nptlonly ogg opengl openmp oscar pcre pdf perl png qt3 quicktime readline rtc samba scanner sdl sensord silc smtp sndfile speex spell sse ssl svg sysfs tcpd theora threads threadsafe tiff timidity truetype unicode usb userlocales utf8 vcd vorbis win32codecs x86 xinerama xml xorg xulrunner xv xvid yahoo zlib zrtp" 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" CAMERAS="ptp2" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LINGUAS="en ru" USERLAND="GNU" VIDEO_CARDS="savage"
Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LANG, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-08 09:42:51 UTC
Please post a diff showing the changes you did to the glibc ebuild.

Being honest, I'm quite sure it's a problem with your ebuild. I'm using overlays daily and never had such a problem you describe here unless I mucked up the ebuild from the overlay.
Comment 2 ta2002 2009-03-08 11:04:50 UTC
(In reply to comment #1)
> Please post a diff showing the changes you did to the glibc ebuild.

$ diff /usr/portage/sys-libs/glibc/glibc-2.8_p20080602-r1.ebuild /usr/local/portage/sys-libs/glibc/glibc-2.8_p20080602-r1.ebuild
168c168
< src_unpack()  { eblit-run src_unpack  ; }
---
> src_unpack()  { eblit-run src_unpack  ; epatch "${FILESDIR}"/${P}-locales.diff ; }

> Being honest, I'm quite sure it's a problem with your ebuild.

Certainly possible. They are getting more complicated (and less transparent) with much of the guts now stuffed into classes.

> I'm using overlays daily and never had such a problem you describe here
> unless I mucked up the ebuild from the overlay.

I have a fair number of ebuilds in my overlay, and I have never seen anything like this either. Then again, most ebuilds don't have $BRANCH_UPDATE, $SNAP_VER, and many of the other variables present in this one.
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-08 11:13:03 UTC
Did you copy the eclasses glibc ebuilds are using to your overlay as well? If yes, do they possibly differ from the ones in the official portage-tree?
Comment 4 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-08 16:48:09 UTC
Sorry but this is definitely a problem with the files in your overlay (most probably because they're outdated). If this would be a problem with portage, we would receive a buttload of bug reports every day about it.
Please have a thorough review about the files in your overlay. I'm convinced you will find the problem there.
Comment 5 ta2002 2009-03-08 20:48:05 UTC
(In reply to comment #4)
> Please have a thorough review about the files in your overlay. I'm convinced
> you will find the problem there.

After some sleep (and with your suggestion), I thought of some other tests I should have done in the first place. The files in /usr/portage/sys-libs/glibc/files/eblits/ had been updated since I copied them to the overlay.

Thank you for your help, and I apologize for taking your time on this.