On 01/06/2013 12:43 AM, Hongxu Jia wrote:
The file of apt.conf.sample is kept in 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 is not allowed by "os.path.join".

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.

So remove "/" in ${sysconfdir} to create "apt.conf.sample" if it doesn't
exist, not by the existance of prefix dir.

[YOCTO #3677]

Signed-off-by: Hongxu Jia <hongxu....@windriver.com>
---
  meta/recipes-devtools/apt/apt-native.inc |    7 +++++--
  1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/apt/apt-native.inc 
b/meta/recipes-devtools/apt/apt-native.inc
index ab89f71..0de159a 100644
--- a/meta/recipes-devtools/apt/apt-native.inc
+++ b/meta/recipes-devtools/apt/apt-native.inc
@@ -20,14 +20,17 @@ python do_install_config () {

      data = d.expand(data)

-    outdir = os.path.join(d.getVar('D', True), d.getVar('sysconfdir', True), 
'apt')
+    # os.path.join does not allow sysconfdir to be a absolute dir
+    outdir = os.path.join(d.getVar('D', True), d.getVar('sysconfdir', 
True)[1:], 'apt')
      if not os.path.exists(outdir):
          os.makedirs(outdir)
-        outpath = os.path.join(outdir, 'apt.conf.sample')

+    outpath = os.path.join(outdir, 'apt.conf.sample')
+    if not os.path.exists(outpath):
          outfile = file(outpath, 'w')
          outfile.write(data)
          outfile.close()
+        bb.note("create %s" %outpath)
Do we need to keep this debug message around?

Sau!

  }

  do_install_base () {


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to