]> code.ossystems Code Review - openembedded-core.git/commitdiff
apt-native: fix the creation of apt.conf.sample
authorHongxu Jia <hongxu.jia@windriver.com>
Thu, 10 Jan 2013 07:58:10 +0000 (15:58 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 10 Jan 2013 23:44:42 +0000 (23:44 +0000)
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]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/apt/apt-native.inc

index ab89f71c4bd1860907ec9324d33582fffb8f1a45..c7e7e420ba9aa8da9f3c9c03833b0484c085afd7 100644 (file)
@@ -14,17 +14,18 @@ python do_install () {
 
 python do_install_config () {
     indir = os.path.dirname(d.getVar('FILE',1))
-    infile = file(os.path.join(indir, 'files', 'apt.conf'), 'r')
+    infile = file(oe.path.join(indir, 'files', 'apt.conf'), 'r')
     data = infile.read()
     infile.close()
 
     data = d.expand(data)
 
-    outdir = os.path.join(d.getVar('D', True), d.getVar('sysconfdir', True), 'apt')
+    outdir = oe.path.join(d.getVar('D', True), d.getVar('sysconfdir', True), 'apt')
     if not os.path.exists(outdir):
         os.makedirs(outdir)
-        outpath = os.path.join(outdir, 'apt.conf.sample')
 
+    outpath = oe.path.join(outdir, 'apt.conf.sample')
+    if not os.path.exists(outpath):
         outfile = file(outpath, 'w')
         outfile.write(data)
         outfile.close()