All of lore.kernel.org
 help / color / mirror / Atom feed
* perform_packagecopy can't handle bindir==base_bindir and errors out
@ 2014-08-04 10:49 Koen Kooi
  0 siblings, 0 replies; only message in thread
From: Koen Kooi @ 2014-08-04 10:49 UTC (permalink / raw)
  To: OE-core

Hi,

I'm currently trying to combine {base_}{lib,bin}dir and have set base_prefix to /usr and redefined some other vars:

+# Try to move distro stuff under /usr
+# Keep /etc and friend in /
+base_prefix = "/usr"
+nonarch_base_libdir = "/lib"
+sysconfdir = "/etc"
+servicedir = "/srv"
+sharedstatedir = "/com"
+localstatedir = "/var"

This hits a few problems (see tcpwrapper patch), but a bigger problem is with perform_packagecopy and kmod:

ERROR: Error executing a python function in /build/scratch/angstrom-v2014.12/sources/openembedded-core/meta/recipes-kernel/kmod/kmod_git.bb:

The stack trace of python calls that resulted in this exception/failure was:
File: 'perform_packagecopy', lineno: 89, function: <module>
     0085:                else:
     0086:                    bb.warn('%s: Unable to resolve dangling symlink: %s' % (pn, alt_target))
     0087:
     0088:
 *** 0089:perform_packagecopy(d)
     0090:
File: 'perform_packagecopy', lineno: 71, function: perform_packagecopy
     0067:        for alt_target in link_rename:
     0068:            src = '%s/%s' % (pkgdest, alt_target)
     0069:            dest = '%s/%s' % (pkgdest, link_rename[alt_target])
     0070:            link = os.readlink(src)
 *** 0071:            link_target = oe.path.realpath(src, pkgdest, True)
     0072:
     0073:            if os.path.lexists(link_target):
     0074:                # Ok, the link_target exists, we can rename
     0075:                bb.note('%s: Rename (link) %s -> %s' % (pn, alt_target, link_rename[alt_target]))
File: '/build/scratch/angstrom-v2014.12/sources/openembedded-core/meta/lib/oe/path.py', lineno: 229, function: realpath
     0225:        raise OSError(errno.EINVAL, "file '%s' is not below root" % file)
     0226:
     0227:    try:
     0228:        if use_physdir:
 *** 0229:            file = __realpath_rel(root, file[(len(root) - 1):], root, loop_cnt, assume_dir)
     0230:        else:
     0231:            file = __realpath(file, root, loop_cnt, assume_dir)[0]
     0232:    except OSError as e:
     0233:        if e.errno == errno.ELOOP:
File: '/build/scratch/angstrom-v2014.12/sources/openembedded-core/meta/lib/oe/path.py', lineno: 180, function: __realpath_rel
     0176:                # emit warning?
     0177:                pass
     0178:        else:
     0179:            (start, have_dir) = __realpath(os.path.join(start, d),
 *** 0180:                                           root, loop_cnt, assume_dir)
     0181:
     0182:        assert(__is_path_below(start, root))
     0183:
     0184:    return start
File: '/build/scratch/angstrom-v2014.12/sources/openembedded-core/meta/lib/oe/path.py', lineno: 200, function: __realpath
     0196:            assert(__is_path_below(tdir, root))
     0197:        else:
     0198:            tdir = root
     0199:
 *** 0200:        file = __realpath_rel(tdir, target, root, loop_cnt, assume_dir)
     0201:
     0202:    try:
     0203:        is_dir = os.path.isdir(file)
     0204:    except:
File: '/build/scratch/angstrom-v2014.12/sources/openembedded-core/meta/lib/oe/path.py', lineno: 169, function: __realpath_rel
     0165:    have_dir = True
     0166:
     0167:    for d in rel_path.split(os.path.sep):
     0168:        if not have_dir and not assume_dir:
 *** 0169:            raise OSError(errno.ENOENT, "no such directory %s" % start)
     0170:
     0171:        if d == os.path.pardir: # '..'
     0172:            if len(start) >= len(root):
     0173:                # do not follow '..' before root
Exception: OSError: [Errno 2] no such directory /build/scratch/angstrom-v2014.12/build/tmp-angstrom_next-eglibc/work/armv5te-angstrom-linux-gnueabi/kmod/18+gitAUTOINC+ae58de0fcb-r0/package/usr/usr

ERROR: Function failed: perform_packagecopy
ERROR: Logfile of failure stored in: /build/scratch/angstrom-v2014.12/build/tmp-angstrom_next-eglibc/work/armv5te-angstrom-linux-gnueabi/kmod/18+gitAUTOINC+ae58de0fcb-r0/temp/log.do_package.2519
ERROR: Task 801 (/build/scratch/angstrom-v2014.12/sources/openembedded-core/meta/recipes-kernel/kmod/kmod_git.bb, do_package) failed with exit code '1'

The contents of that dir:

koen@beast:/build/scratch/angstrom-v2014.12$ cd /build/scratch/angstrom-v2014.12/build/tmp-angstrom_next-eglibc/work/armv5te-angstrom-linux-gnueabi/kmod/18+gitAUTOINC+ae58de0fcb-r0/package/
koen@beast:/build/scratch/angstrom-v2014.12/build/tmp-angstrom_next-eglibc/work/armv5te-angstrom-linux-gnueabi/kmod/18+gitAUTOINC+ae58de0fcb-r0/package$ find .
.
./etc
./etc/depmod.d
./etc/modprobe.d
./usr
./usr/lib
./usr/lib/libkmod.so
./usr/lib/libkmod.so.2
./usr/lib/depmod.d
./usr/lib/depmod.d/search.conf
./usr/lib/modprobe.d
./usr/lib/libkmod.so.2.2.8
./usr/lib/pkgconfig
./usr/lib/pkgconfig/libkmod.pc
./usr/lib/libkmod.la
./usr/include
./usr/include/libkmod.h
./usr/bin
./usr/bin/kmod
./usr/bin/lsmod
./usr/sbin
./usr/sbin/modprobe
./usr/sbin/rmmod
./usr/sbin/modinfo
./usr/sbin/insmod
./usr/sbin/depmod
./usr/share
./usr/share/bash-completion
./usr/share/bash-completion/completions
./usr/share/bash-completion/completions/kmod
koen@beast:/build/scratch/angstrom-v2014.12/build/tmp-angstrom_next-eglibc/work/armv5te-angstrom-linux-gnueabi/kmod/18+gitAUTOINC+ae58de0fcb-r0/package$ 

I can't figure out why packagecopy wants to go into '/usr/usr', the kmod recipe itself seems fine.

regards,

Koen

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-08-04 10:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-04 10:49 perform_packagecopy can't handle bindir==base_bindir and errors out Koen Kooi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.