Files
poky/meta/recipes-devtools/apt/apt-native.inc
Hongxu Jia 78e5426a76 apt-native: fix the creation of apt.conf.sample
1.The file of "apt.conf.sample" is in the outdir, and outdir is assigned
by "os.path.join" with the params of ${D}, ${sysconfdir} and "apt". But
${sysconfdir} is an absolute dir and that let ${D} be discarded.

The following is the help on function os.path.join(a, *p):
     Join two or more pathname components, inserting '/' as needed.
     If any component is an absolute path, all previous path components
     will be discarded.
Use oe.path.join instead which don't have this problem.

2. Create apt.conf.sample if it doesn't exist.

[YOCTO #3677]

(From OE-Core rev: 95a655a853b7cd43163362d72da0c134d4c0ec85)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-10 23:49:39 +00:00

66 lines
2.2 KiB
PHP

require apt.inc
inherit native
DEPENDS += "dpkg-native gettext-native"
PACKAGES = ""
USE_NLS = "yes"
SRC_URI += "file://db_linking_hack.patch"
python do_install () {
bb.build.exec_func('do_install_base', d)
bb.build.exec_func('do_install_config', d)
}
python do_install_config () {
indir = os.path.dirname(d.getVar('FILE',1))
infile = file(oe.path.join(indir, 'files', 'apt.conf'), 'r')
data = infile.read()
infile.close()
data = d.expand(data)
outdir = oe.path.join(d.getVar('D', True), d.getVar('sysconfdir', True), 'apt')
if not os.path.exists(outdir):
os.makedirs(outdir)
outpath = oe.path.join(outdir, 'apt.conf.sample')
if not os.path.exists(outpath):
outfile = file(outpath, 'w')
outfile.write(data)
outfile.close()
}
do_install_base () {
install -d ${D}${bindir}
install -m 0755 bin/apt-cdrom ${D}${bindir}/
install -m 0755 bin/apt-get ${D}${bindir}/
install -m 0755 bin/apt-config ${D}${bindir}/
install -m 0755 bin/apt-cache ${D}${bindir}/
install -m 0755 bin/apt-sortpkgs ${D}${bindir}/
install -m 0755 bin/apt-extracttemplates ${D}${bindir}/
eval `cat environment.mak | grep ^GLIBC_VER | sed -e's, = ,=,'`
eval `cat environment.mak | grep ^LIBSTDCPP_VER | sed -e's, = ,=,'`
oe_libinstall -so -C bin libapt-pkg$GLIBC_VER$LIBSTDCPP_VER ${D}${libdir}/
ln -sf libapt-pkg$GLIBC_VER$LIBSTDCPP_VER.so ${D}${libdir}/libapt-pkg.so
oe_libinstall -so -C bin libapt-inst$GLIBC_VER$LIBSTDCPP_VER ${D}${libdir}/
ln -sf libapt-inst$GLIBC_VER$LIBSTDCPP_VER.so ${D}${libdir}/libapt-inst.so
install -d ${D}${libdir}/apt/methods
install -m 0755 bin/methods/* ${D}${libdir}/apt/methods/
install -d ${D}${libdir}/dpkg/methods/apt
install -m 0644 dselect/desc.apt ${D}${libdir}/dpkg/methods/apt/
install -m 0644 dselect/names ${D}${libdir}/dpkg/methods/apt/
install -m 0755 dselect/install ${D}${libdir}/dpkg/methods/apt/
install -m 0755 dselect/setup ${D}${libdir}/dpkg/methods/apt/
install -m 0755 dselect/update ${D}${libdir}/dpkg/methods/apt/
install -d ${D}${sysconfdir}/apt
install -d ${D}${localstatedir}/lib/apt/lists/partial
install -d ${D}${localstatedir}/cache/apt/archives/partial
install -d ${D}${localstatedir}/log/apt/
}