Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 505336 - app-misc/ca-certificates-20140223.3.15.5: ebuild fails with mkdir: cannot create directory ‘image//gentoo’: No such file or directory
Summary: app-misc/ca-certificates-20140223.3.15.5: ebuild fails with mkdir: cannot cre...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: AMD64 Solaris
: Normal major
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-22 08:54 UTC by Johannes Bohse
Modified: 2014-03-22 10:51 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 Johannes Bohse 2014-03-22 08:54:15 UTC
ebuild of ca-certificates fails with this message and emerge -e system halts.

 * Package:    app-misc/ca-certificates-20140223.3.15.5
 * Repository: gentoo_prefix
 * Maintainer: base-system@gentoo.org
 * USE:        cacert elibc_SunOS kernel_SunOS prefix userland_GNU x86-solaris
 * FEATURES:   nostrip preserve-libs userpriv usersandbox
 * You should run update-ca-certificates manually after etc-update
>>> Unpacking source...
>>> Unpacking ca-certificates_20140223.tar.xz to /gentoo/var/tmp/portage/app-misc/ca-certificates-20140223.3.15.5/work
>>> Unpacking nss-3.15.5.tar.gz to /gentoo/var/tmp/portage/app-misc/ca-certificates-20140223.3.15.5/work
>>> Unpacking nss-3.14.1-add_spi+cacerts_ca_certs.patch to /gentoo/var/tmp/portage/app-misc/ca-certificates-20140223.3.15.5/work
unpack nss-3.14.1-add_spi+cacerts_ca_certs.patch: file format not recognized. Ignoring.
mkdir: cannot create directory ‘image//gentoo’: No such file or directory
/gentoo/var/tmp/portage/app-misc/ca-certificates-20140223.3.15.5/temp/environment: line 2717: cd: image//gentoo: No such file or directory
 * ERROR: app-misc/ca-certificates-20140223.3.15.5::gentoo_prefix failed (unpack phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  93:  Called src_unpack
 *   environment, line 2717:  Called die
 * The specific snippet of code:
 *       cd "image/${EPREFIX}" || die;
 * 
 * If you need support, post the output of `emerge --info '=app-misc/ca-certificates-20140223.3.15.5::gentoo_prefix'`,
 * the complete build log and the output of `emerge -pqv '=app-misc/ca-certificates-20140223.3.15.5::gentoo_prefix'`.
 * The complete build log is located at '/gentoo/var/tmp/portage/app-misc/ca-certificates-20140223.3.15.5/temp/build.log'.
 * The ebuild environment file is located at '/gentoo/var/tmp/portage/app-misc/ca-certificates-20140223.3.15.5/temp/environment'.
 * Working directory: '/gentoo/var/tmp/portage/app-misc/ca-certificates-20140223.3.15.5/work'
 * S: '/gentoo/var/tmp/portage/app-misc/ca-certificates-20140223.3.15.5/work'

Reproducible: Always

Steps to Reproduce:
1. create fresh solaris zone and continue inside that zone
2. pkg install gcc-45
3. follow this howto http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-solaris.xml up to stage3; EPREFIX=/gentoo
4. emerge -e system -or- emerge -e ca-certificates

Actual Results:  
ebuild fails

Expected Results:  
ebuild shall not fail

Severity Major because this is a radical show stopper.

My guess is, that mkdir in src_unpack() in the ebuild script misses the "-p" parameter: 

src_unpack() {
        ${PRECOMPILED} || default

        # Do all the work in the image subdir to avoid conflicting with source
        # dirs in $WORKDIR.  Need to perform everything in the offset #381937
        mkdir "image/${EPREFIX}"
        cd "image/${EPREFIX}" || die

        ${PRECOMPILED} && unpacker_src_unpack
}

Given that "image" does not exist, mkdir fails when ${EPREFIX} is not empty, which is the case on this prefix bootstrap.

emerge --info:
Portage 2.2.8-prefix (prefix/sunos/solaris/5.11/x86, gcc-4.7.3, unavailable, 5.11 i86pc)
=================================================================
System uname: Solaris-2.11-i86pc-i386-32bit-ELF
Timestamp of tree: Fri, 21 Mar 2014 17:06:45 +0000
ld GNU ld (GNU Binutils) 2.24
app-shells/bash:      4.2_p45-r1
dev-lang/python:      2.7.5-r4
dev-util/pkgconfig:   0.28
sys-devel/autoconf:   2.69
sys-devel/automake:   1.14
sys-devel/binutils:   2.24-r1
sys-devel/gcc:        4.1.2, 4.2.4-r01.4, 4.7.3-r1
sys-devel/gcc-config: 1.8-r00.1
sys-devel/libtool:    2.4.2
sys-devel/make:       4.0-r1
Repositories: gentoo_prefix
ACCEPT_KEYWORDS="~x86-solaris"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i386-pc-solaris2.11"
CFLAGS=" -O2 -pipe -march=native"
CHOST="i386-pc-solaris2.11"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/gentoo-release /etc/terminfo"
CXXFLAGS=" -O2 -pipe -march=native"
DISTDIR="/gentoo/usr/portage/distfiles"
FCFLAGS=""
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles force-prefix merge-sync news nostrip parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LC_ALL=""
LDFLAGS=""
MAKEOPTS="-j8 -l10"
PKGDIR="/gentoo/usr/portage/packages"
PORTAGE_CONFIGROOT="/gentoo/"
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="/gentoo/var/tmp"
PORTDIR="/gentoo/usr/portage"
PORTDIR_OVERLAY=""
USE="cracklib cxx ipv6 modules ncurses nls prefix readline ssl unicode x86-solaris 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="SunOS" 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="keyboard mouse" KERNEL="SunOS" 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" 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, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 1 Fabian Groffen gentoo-dev 2014-03-22 09:01:33 UTC
Thanks for the report!
I believe Christoph just fixed this, so we'll have to wait a bit for the fix to propagate to the rsync tree.
Comment 2 Johannes Bohse 2014-03-22 09:07:55 UTC
Great! I am a first time user of gentoo and I don't know yet, how ebuild and portage works. Could you say how to update my stage3 prefix installation when this fix is released?
Comment 3 Fabian Groffen gentoo-dev 2014-03-22 09:21:33 UTC
oh, sorry, I didn't notice you're still in bootstrapping.

There are two ways from here, both involving a "sync" of the tree:

  $EPREFIX/bin/bash -l
  (prefix-bash)$ emerge --sync || emerge-webrsync
  (prefix-bash)$ exit

option 1): restart the emerge -e

  simply re-run the bootstrap script, with the same input as before

option 2): manually resume, it's way quicker

  $EPREFIX/bin/bash -l
  (prefix-bash)$ emerge --resume
  ...
  (prefix-bash)$ $EPREFIX/usr/portage/scripts/bootstrap-prefix.sh $EPREFIX startscript
  (prefix-bash)$ exit

After this finished successfully, you can start your prefix using

  $EPREFIX/startprefix
Comment 4 Johannes Bohse 2014-03-22 10:51:29 UTC
Version 20140223.3.16 works. Thanks!