Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 561240 - sys-apps/portage-2.2.21 ignores PORTAGE_RSYNC_EXTRA_OPTS
Summary: sys-apps/portage-2.2.21 ignores PORTAGE_RSYNC_EXTRA_OPTS
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL: https://archives.gentoo.org/gentoo-us...
Whiteboard:
Keywords: InVCS, REGRESSION
Depends on:
Blocks: 549914
  Show dependency tree
 
Reported: 2015-09-23 09:52 UTC by Holger Hoffstätte
Modified: 2015-09-25 02:22 UTC (History)
1 user (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 Holger Hoffstätte 2015-09-23 09:52:05 UTC
After updating to portage-2.2.21 my rsync exclusions are no longer taken into account; I suddenly get portage subtrees that I explicitly want to exclude.
Downgrading to 2.20.1 fixed the issue.


Reproducible: Always

Steps to Reproduce:
1. exclude portage subtrees from rsync (as documented on the wiki)
2. emerge --sync
3. get excluded portage subtrees anyway

Actual Results:  
rsync downloads stuff I excluded.


Expected Results:  
PORTAGE_RSYNC_EXTRA_OPTS from make.conf should be considered.


emerge --info:

Portage 2.2.20.1 (python 3.4.3-final-0, default/linux/amd64/13.0, gcc-5.2.0, glibc-2.21-r1, 4.1.8 x86_64)
=================================================================
System uname: Linux-4.1.8-x86_64-Intel-R-_Core-TM-_i5-2400S_CPU_@_2.50GHz-with-gentoo-2.2
KiB Mem:    16139244 total,   4622056 free
KiB Swap:    8388604 total,   8388604 free
Timestamp of repository gentoo: Wed, 23 Sep 2015 08:15:01 +0000
sh bash 4.3_p42
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p42::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.22.0::gentoo
dev-lang/python:          2.7.10::gentoo, 3.4.3::gentoo
dev-util/cmake:           3.3.2::gentoo
dev-util/pkgconfig:       0.28-r3::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.8::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            5.2.0::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.2::gentoo (virtual/os-headers)
sys-libs/glibc:           2.21-r1::gentoo
Repositories:

gentoo
    location: /var/portage
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000

hhoff
    location: /home/holger/Projects/portage
    masters: gentoo
    priority: 100

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-pipe -O2 -march=native -mfpmath=sse"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-pipe -O2 -march=native -mfpmath=sse"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--deep --keep-going --nospinner --quiet-build --with-bdeps=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news noinfo parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://de-mirror.org/gentoo/ http://ftp.halifax.rwth-aachen.de/gentoo/ 	http://mirror.netcologne.de/gentoo/ http://linux.rz.rub.de/gentoo-mirror/"
LDFLAGS="-Wl,-O1,--as-needed,-z,now"
MAKEOPTS="-j4"
PKGDIR="/var/lib/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--old-compress --exclude-from=/etc/portage/rsync_excludes"
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="/tmp"
USE="acl acpi aio alpn amd64 bcmath bittorrent blksha1 btrfs bzip2 caps chappa cli consolekit cracklib crypt cups curl curlwrappers cxx dbus dot dri encode epoll exif extras fastcgi fontconfig foomatic ftp gd geoip glib gold gpg graphicsmagick graphviz gudev highlight hipe hpn iconv icu imap inotify ipc iproute2 ipv6 jce jemalloc jit jpeg jpeg2k json kpoll lcms ldap libffi libssh2 libwww lm_sensors logrotate luajit lzma lzo mad managesieve markdown memcache metalink mhash mmx mmxext mng modules multilib ncurses netifrc netlink netpbm nfs nfsv4 nfsv41 nptl nscd nss ntfs objc objc++ offensive ogg opencl openmp openssl opensslcrypt pager pam passfile pcre pcre-jit pcre16 pdf pdo png policykit postfix postscript procmail rar readline realtime rrdcgi rrdtool rtc seccomp session setproctitle sftp sharedmem sieve smi smime smp sockets sse sse2 ssl system-qt system-sqlite sysvipc tcpd threads threadsafe tiff truetype tty-helpers udev unicode unzip urandom uuid xattr xml xmlreader xmlrpc xmlwriter xmp xsl zip zlib zsh-completion" 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="actions access_compat alias auth_basic auth_digest authn_anon authn_core authn_dbd authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info lbmethod_bybusyness lbmethod_byrequests log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_fcgi proxy_http rewrite setenvif so slotmem_shm socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias" APACHE2_MPMS="event" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="aggregation apache apcups contextswitch cpu cpufreq df disk exec interface irq load logfile memory network nfs processes sensors snmp swap syslog thermal vmem" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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 keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en_US en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="intel" 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:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON
Comment 1 Brian Dolbec (RETIRED) gentoo-dev 2015-09-23 10:26:08 UTC
The only change between those 2 versions was the added capability to specify those in your repos.conf file.  In that way you can set them differently for each repo.

But the default was to use the make.conf setting if the repos.conf one was not defined.
Comment 2 Holger Hoffstätte 2015-09-23 11:04:22 UTC
(In reply to Brian Dolbec from comment #1)
> The only change between those 2 versions was the added capability to specify
> those in your repos.conf file.  In that way you can set them differently for
> each repo.

I thought as much and was wondering if that was now the only supported way, hence the question on the -user list. If it is - and one could argue that the global fallback is no longer needed or necessary with per-repo configurations - I'd be fine with that; just wanted to clarify whether the fallback is still supposed to work, which it apparently should.

All that being said, adding the option to the repo conf does not seem to work either:

sync-rsync-extra-opts = "--old-compress --exclude-from=/etc/portage/rsync_excludes"

will still download stuff I excluded. So it seems the regression is not just in handling the fallback from repo to global config, but in not considering extra rsync opts at all.
Comment 3 Ben Kohler gentoo-dev 2015-09-24 14:14:53 UTC
I see the same problem, neither PORTAGE_RSYNC_EXTRA_OPTS in make.conf nor sync-rsync-extra-opts in repos.conf is applied.  For testing purposes I'm passing "--nonsense" as an extra option... in 2.2.20.1 of course it errors out immediately, 2.2.21 happily starts the sync.

Where is this new option for repos.conf documented? I cannot find anything in RELEASE-NOTES or any of the normal documentation
Comment 4 Brian Dolbec (RETIRED) gentoo-dev 2015-09-24 20:03:52 UTC
this is fixed in git commit: 
https://gitweb.gentoo.org/proj/portage.git/commit/id=cda13bc9bb42ae1c91b317711365573a2d3695f3
Comment 5 Brian Dolbec (RETIRED) gentoo-dev 2015-09-24 20:10:00 UTC
(In reply to Ben Kohler from comment #3)
> I see the same problem, neither PORTAGE_RSYNC_EXTRA_OPTS in make.conf nor
> sync-rsync-extra-opts in repos.conf is applied.  For testing purposes I'm
> passing "--nonsense" as an extra option... in 2.2.20.1 of course it errors
> out immediately, 2.2.21 happily starts the sync.
> 
> Where is this new option for repos.conf documented? I cannot find anything
> in RELEASE-NOTES or any of the normal documentation

it is listed in the portage man page, the repos.conf sub-section.

<quote>
            sync-rsync-extra-opts
                                   Extra options to give to rsync on repository synchronization. It takes precedence over a decla‐
                                   ration in [DEFAULT] section, that takes precedence over PORTAGE_RSYNC_EXTRA_OPTS.

</quote>
Comment 6 Brian Dolbec (RETIRED) gentoo-dev 2015-09-25 02:22:04 UTC
Released in portage-2.2.22