Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 505388 - sys-apps/portage-2.2.8-r1 fails to fetch files with multiple URIs with read-only DISTDIR
Summary: sys-apps/portage-2.2.8-r1 fails to fetch files with multiple URIs with read-o...
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-23 00:07 UTC by William Throwe
Modified: 2014-03-23 00:07 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 William Throwe 2014-03-23 00:07:23 UTC
When DISTDIR is a read-only NFS share (as described under skiprocheck in make.conf(5)) and a package specifies multiple possible URIs for a file, portage fails unless the first URI it tries works.  wget produces a zero-size file on failure and portage tries to unlink that file, which of course fails when the mount is read-only.  I am not sure why this unlink is necessary, as wget is perfectly happy to overwrite files.

Either portage should not try to unlink files in read-only directories, failure to do so should be made nonfatal, or there should be another make.conf variable to specify a command to use for unlinking.


>>> Downloading 'http://dev.gentoo.org/~nirbheek/mozilla/patchsets/firefox-28.0-patches-0.1.tar.xz'
--2014-03-22 18:56:05--  http://dev.gentoo.org/~nirbheek/mozilla/patchsets/firefox-28.0-patches-0.1.tar.xz
Resolving dev.gentoo.org... 140.211.166.183
Connecting to dev.gentoo.org|140.211.166.183|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-03-22 18:56:05 ERROR 404: Not Found.

>>> Deleting distfile with size 0 (smaller than PORTAGE_FETCH_RESUME_MIN_SIZE)
Traceback (most recent call last):
  File "/usr/lib/portage/pym/portage/util/_async/ForkProcess.py", line 45, in _spawn
    rval = self._run()
  File "/usr/lib/portage/pym/_emerge/EbuildFetcher.py", line 172, in _run
    allow_missing_digests=allow_missing):
  File "/usr/lib/portage/pym/portage/package/ebuild/fetch.py", line 959, in fetch
    os.unlink(myfile_path)
  File "/usr/lib/portage/pym/portage/__init__.py", line 259, in __call__
    rval = self._func(*wrapped_args, **wrapped_kwargs)
OSError: [Errno 30] Read-only file system: '/usr/portage/distfiles/firefox-28.0-patches-0.1.tar.xz'
 * Fetch failed for 'www-client/firefox-28.0', Log file:
 *  '/mnt/build/log/www-client:firefox-28.0:20140322-225603.log.gz'


$ emerge --info
Portage 2.2.8-r1 (default/linux/arm/13.0/armv7a, gcc-4.7.3, glibc-2.17, 2.6.31.14.26-efikamx armv7l)
=================================================================
System uname: Linux-2.6.31.14.26-efikamx-armv7l-ARMv7_Processor_rev_5_-v7l-with-gentoo-2.2
KiB Mem:      465852 total,    129788 free
KiB Swap:    2659520 total,   2659520 free
Timestamp of tree: Sat, 22 Mar 2014 06:45:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
distcc 3.1 armv7a-hardfloat-linux-gnueabi [disabled]
app-shells/bash:          4.2_p45
dev-lang/python:          2.7.5-r3, 3.3.3
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.13.4
sys-devel/binutils:       2.23.2
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.17
Repositories: gentoo
ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="@FREE"
CBUILD="armv7a-hardfloat-linux-gnueabi"
CFLAGS="-O2 -pipe -mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=hard"
CHOST="armv7a-hardfloat-linux-gnueabi"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
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="-O2 -pipe -mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=hard"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--ask"
FCFLAGS="-O2 -pipe -march=armv7-a"
FEATURES="assume-digests binpkg-logs clean-logs compress-build-logs config-protect-if-modified ebuild-locks fixlafiles merge-sync news preserve-libs protect-owned sandbox sfperms skiprocheck strict unknown-features-warn unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe -march=armv7-a"
GENTOO_MIRRORS="http://gentoo.netnitco.net http://mirror.mcs.anl.gov/pub/gentoo/ http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://mirror.datapipe.net/gentoo ftp://mirror.datapipe.net/gentoo"
LANG="POSIX"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--no-keep-memory,--reduce-memory-overheads"
MAKEOPTS="-j2"
PKGDIR="/mnt/build/packages"
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=""
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X acl arm berkdb bindist bzip2 cairo cli cracklib crypt cxx dri emacs fortran gdbm gtk iconv jpeg latex modules ncurses neon nptl openmp pam pcre png readline session ssl system-sqlite tcpd truetype unicode zlib" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="fbdev modesetting" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON