Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 493744 - Several pkgdirs for different useflags
Summary: Several pkgdirs for different useflags
Status: RESOLVED DUPLICATE of bug 150031
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-09 11:18 UTC by Harald Weiner
Modified: 2013-12-10 12:38 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 Harald Weiner 2013-12-09 11:18:03 UTC
I am using Gentoo on multiple workstations and notebooks each with the same processor architecture but different hardware (therefore, e.g. some of these machines have the bluetooth useflag enabled and some of them not). As most of the useflags are the same on all machines and to reduce compilation times I am using binary packages and have set PKGDIR="/usr/portage/packages/core2" in /etc/portage/make.conf. For the useflags which are different I wanted to set up separate directories and specify them using environment variables following the guide at https://wiki.gentoo.org/wiki//etc/portage/env which is not working as expected. I am using sys-apps/portage-2.2.7 and python is set to python3.2.

Reproducible: Always

Steps to Reproduce:
(root@laptop):cat /etc/portage/package.env/laptop/libreoffice
app-office/libreoffice laptop.conf
(root@laptop):cat /etc/portage/env/laptop.conf
PKGDIR="/usr/portage/packages/laptop/"
(root@laptop):ls -l /usr/portage/packages/laptop/
total 0
(root@laptop):quickpkg --include-config=y app-office/libreoffice
 * Building package for app-office/libreoffice-4.1.2.3 ...                                                       [ ok ]

 * Packages now in '/usr/portage/packages/core2':
 * app-office/libreoffice-4.1.2.3: 107M
(root@laptop):ls -l /usr/portage/packages/laptop/
total 0
(root@laptop):rm /usr/portage/packages/core2/app-office/libreoffice-4.1.2.3.tbz2
(root@laptop):PKGDIR="/usr/portage/packages/laptop" quickpkg --include-config=y app-office/libreoffice
 * Building package for app-office/libreoffice-4.1.2.3 ...                                                       [ ok ]

 * Packages now in '/usr/portage/packages/laptop':
 * app-office/libreoffice-4.1.2.3: 107M
(root@laptop):ls -l /usr/portage/packages/laptop/app-office/
total 109740
-rw-r----- 1 root root 112368987 Dec  9 10:25 libreoffice-4.1.2.3.tbz2
(root@laptop):emerge -pkv app-office/libreoffice

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

Calculating dependencies... done!
[ebuild   R    ] app-office/libreoffice-4.1.2.3 ...
Actual Results:  
quickpkg and emerge are ignoring the environment variable PKGDIR set inside the file /etc/portage/env/laptop.conf

Expected Results:  
quickpkg should put libreoffice-4.1.2.3.tbz2 in to the directory /usr/portage/laptop/app-office and emerge should find this binary package.

emerge --info
Portage 2.2.7 (default/linux/amd64/13.0/desktop/kde, gcc-4.7.3, glibc-2.16.0, 3.10.7-gentoo-r1 x86_64)
=================================================================
System uname: Linux-3.10.7-gentoo-r1-x86_64-Intel-R-_Core-TM-_i5_CPU_M_540_@_2.53GHz-with-gentoo-2.2
KiB Mem:     3914844 total,   3467980 free
KiB Swap:    4198804 total,   4198804 free
Timestamp of tree: Sun, 08 Dec 2013 23:45:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
distcc 3.1 x86_64-pc-linux-gnu [enabled]
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5-r3, 3.2.5-r3, 3.3.2-r2
dev-util/cmake:           2.8.11.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo science seden foo-overlay local-petunia local
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb /var/qmail/control /var/spool/torque"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distcc distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="rsync://gentoo.lagis.at/gentoo-distfiles/ ftp://gentoo.lagis.at/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://gentoo.inf.elte.hu/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j7"
PKGDIR="/usr/portage/packages/core2"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/science /var/lib/layman/seden /var/lib/layman/foo-overlay /usr/portage/local /usr/local/portage"
SYNC="rsync://pool2-00/gentoo-portage"
USE="32bit 64bit R X a52 aac aacplus accessibility acl acpi additions ads akonadi alsa amd64 amr analitza ao aspell attica autotools autotrace avahi avx bash-completion bazaar berkdb bidi bittorrent bl blender-game boost branding bs2b bzip2 cairo cdda cddb cdio cdparanoia cdr cg cli clucene cmake compat consolekit contrast corefonts cracklib crypt cscope cups curl cvs cxx daap dbus dc1394 debugger declarative desktopglobe device-mapper dga dia dirac djbfft djvu dnd dri dts dv dvd dvdr dvipdfm dynamic ebook editor emacs embedded emboss emf emovix enchant encode epspdf exif expat extensions extra extras faac faad fam fbcon ffmpeg fftw firefox fits flac fluidsynth fontconfig fontforge fortran fpx frei0r g3dvl gadu gcj gd gdbm gflags gif gimp git glade gles gles2 glew glib gmp gnuplot gnutls gpg gpm graphics graphviz groupwise gsl gstreamer gtk h323 hdf5 hdri heterogeneous humanities hyperestraier iconv icu id3tag idn ieee1394 ifp ilbc imagemagick imap imlib inkjar inotify ipod ipv6 jabber jadetex java javascript jbig jingle jpeg jpeg2k kate kde kdehiddenvisibility kdepim kig-scripting kipi kpathsea ladspa lame lapack laptop lastfm latex lcms ldap lensfun libass libcaca libffi libnotify libsamplerate libssh2 libtiger libv4l libvisual live lm_sensors lqr lua luatex lyx lzma lzo mad marble matroska md5sum mdnsresponder-compat mecab melt mercurial midi minizip mjpeg mktemp mmap mmx mng modplug modules mono motif mp3 mp4 mpeg mpi mpi-threads mplayer mtp mudflap mule multicall multilib multimedia musepack musicbrainz mysql nas natspec ncurses netpbm network nls nntp nptl nsplugin nut nuv nvcontrol ocaml odbc ogg okteta okular openal opencl openexr opengl openmp openssl opus oscar overview pam pango pbs pch pcre pdf pdfannotextractor pdfimport perl phonon php physfs plasma player plotutils plugins png pnm policykit pop portaudio postscript povray ppds preview-latex prison profiler pstricks publishers python qalculate qimageblitz qscintilla qt3support qt4 qthelp quesoglc quicktime qwt rar raw rdesktop readline reports rle romio rss rtmp rtsp ruby sasl sbcl scanner schroedinger science script sdk sdl sdl-image secure-delete semantic-desktop sensord session shout sidebar sip sipim skype slp smime smp sndfile snmp solver sound soundtouch sox spacenav speex spell sqlite sqlite3 srp sse sse2 ssh ssl ssse3 startup-notification stream streaming subversion svg symlink system-sqlite szip taglib tcl tcpd templates tex4ht tga theora threads thumbnail tidy tiff timezone tk tools truetype twolame udev udisks umfpack unicode unlock-notify upcall upower urandom usb utempter v4l valgrind vcd vcdx vdpau verse video vim-syntax vlc vlm vnc vorbis vpx wav wavpack webkit webp webpresence wicd wifi winbind winpopup wmf wxwidgets x264 xanim xcb xcomposite xemacs xetex xface xine xinerama xml xmp xpm xscreensaver xterm xv xvid xvmc yahoo zeroconf zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver pdfimport presenter-console presenter-minimizer" LINGUAS="de en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby18" SANE_BACKENDS="net hp" USERLAND="GNU" VIDEO_CARDS="nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Sebastian Luther (few) 2013-12-09 20:15:14 UTC
The files in /etc/portage.env only affect the compilation/installation phases. What you need is to affect the dependency resolution, which /etc/portage/env can't influence.

What you're asking for is support for multiple binary package repositories or for support to store several binary packages for the same cpv in a single binary package repository. Both of which aren't supported currently.

*** This bug has been marked as a duplicate of bug 150031 ***
Comment 2 Harald Weiner 2013-12-10 12:38:06 UTC
Oke, thank you for this explanation.