Skip to contentSkip to conversation

libarchive: set CLEANBROKEN

PATCH In review Robert Yang 3 participants 7 messages Mar 25, 2015 – May 5, 2015

lore
Share & tools
lore
#0 lore raw

cover libarchive: set CLEANBROKEN

The following changes since commit d3fcfe346b3472170641d9194243c4bbe06b8585:

systemd: fix firmware path to match linux-firmware (2015-03-23 11:27:13 +0000)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib rbt/libarchive
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/libarchive

Robert Yang (1):
libarchive: set CLEANBROKEN

 .../libarchive/libarchive_3.1.2.bb                 |    2 ++
 1 file changed, 2 insertions(+)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/1 libarchive: set CLEANBROKEN

Errors when rebuild:
checking for xml2-config... /path/to/tmp/sysroots/qemux86-64/usr/bin/crossscripts/xml2-config checking for xmlInitParser in -lxml2... no
configure: error: in `/path/to/tmp/work/core2-64-poky-linux/libarchive/3.1.2-r0/libarchive-3.1.2':
configure: error: Missing xml2 library

---
 .../libarchive/libarchive_3.1.2.bb                 |    2 ++
 1 file changed, 2 insertions(+)
meta/recipes-extended/libarchive/libarchive_3.1.2.bb +2 -0
index 96e2d50..2ac8c5e 100644
@@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b4e3ffd607d6686c6cb2f63394370841"
 
 DEPENDS = "e2fsprogs-native"
 
+CLEANBROKEN = "1"
+
 PACKAGECONFIG ?= "libxml2 zlib bz2"
 
 PACKAGECONFIG_append_class-target = "\
Signature · 1 line
1.7.9.5
#2 lore raw
Quoted 16 lines · Robert Yang

Errors when rebuild:
checking for xml2-config... /path/to/tmp/sysroots/qemux86-64/usr/bin/crossscripts/xml2-config checking for xmlInitParser in -lxml2... no
configure: error: in `/path/to/tmp/work/core2-64-poky-linux/libarchive/3.1.2-r0/libarchive-3.1.2':
configure: error: Missing xml2 library

---
 .../libarchive/libarchive_3.1.2.bb                 |    2 ++
 1 file changed, 2 insertions(+)
meta/recipes-extended/libarchive/libarchive_3.1.2.bb +0 -0
index 96e2d50..2ac8c5e 100644

meta/recipes-extended/libarchive/libarchive_3.1.2.bb LIC_FILES_CHKSUM = "file://COPYING;md5=b4e3ffd607d6686c6cb2f63394370841" · line 14

Quoted 8 lines
meta/recipes-extended/libarchive/libarchive_3.1.2.bb +2 -0
@@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b4e3ffd607d6686c6cb2f63394370841"
 
 DEPENDS = "e2fsprogs-native"
 
+CLEANBROKEN = "1"
+
 PACKAGECONFIG ?= "libxml2 zlib bz2"
 
 PACKAGECONFIG_append_class-target = "\

I just looked into this I will explain why this worries me. We patch libarchive to remove the reference to xml2-config in SRC_URI. For this error to appear, the patch must have been removed.

The question is therefore why does it get removed and why isn't that an error? Does the CVE patch get removed too?

FWIW, "bitbake libarchive -c configure -f" does not reproduce the error and the clean broken is therefore a workaround/hack.

Actually, I just found what does break it is "bitbake libarchive -C unpack". Why? Running "make clean" triggers configure to run again since after unpack, the configure timestamp is more recent that config.status.

So to fix this, we just need to touch config.status (if it exists) before running make clean. We should probably do this in the autotools class.

Cheers,

Richard

#3 lore raw
Quoted 36 lines · Richard Purdie
Quoted 16 lines · Robert Yang

Errors when rebuild:
checking for xml2-config... /path/to/tmp/sysroots/qemux86-64/usr/bin/crossscripts/xml2-config checking for xmlInitParser in -lxml2... no
configure: error: in `/path/to/tmp/work/core2-64-poky-linux/libarchive/3.1.2-r0/libarchive-3.1.2':
configure: error: Missing xml2 library

---
  .../libarchive/libarchive_3.1.2.bb                 |    2 ++
  1 file changed, 2 insertions(+)
meta/recipes-extended/libarchive/libarchive_3.1.2.bb +0 -0
index 96e2d50..2ac8c5e 100644

meta/recipes-extended/libarchive/libarchive_3.1.2.bb LIC_FILES_CHKSUM = "file://COPYING;md5=b4e3ffd607d6686c6cb2f63394370841" · line 14

Quoted 8 lines
meta/recipes-extended/libarchive/libarchive_3.1.2.bb +2 -0
@@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b4e3ffd607d6686c6cb2f63394370841"
 
  DEPENDS = "e2fsprogs-native"
 
+CLEANBROKEN = "1"
+
  PACKAGECONFIG ?= "libxml2 zlib bz2"
 
  PACKAGECONFIG_append_class-target = "\

I just looked into this I will explain why this worries me. We patch libarchive to remove the reference to xml2-config in SRC_URI. For this error to appear, the patch must have been removed.

The question is therefore why does it get removed and why isn't that an error? Does the CVE patch get removed too?

FWIW, "bitbake libarchive -c configure -f" does not reproduce the error and the clean broken is therefore a workaround/hack.

Quoted 7 lines

Actually, I just found what does break it is "bitbake libarchive -C unpack". Why? Running "make clean" triggers configure to run again since after unpack, the configure timestamp is more recent that config.status.

So to fix this, we just need to touch config.status (if it exists) before running make clean. We should probably do this in the autotools class.

Thanks, I will do more investigations on it.

// Robert

Quoted 9 lines

Cheers,

Richard

#4 lore raw
In reply to Richard Purdie
Quoted 36 lines · Richard Purdie
Quoted 16 lines · Robert Yang

Errors when rebuild:
checking for xml2-config... /path/to/tmp/sysroots/qemux86-64/usr/bin/crossscripts/xml2-config checking for xmlInitParser in -lxml2... no
configure: error: in `/path/to/tmp/work/core2-64-poky-linux/libarchive/3.1.2-r0/libarchive-3.1.2':
configure: error: Missing xml2 library

---
  .../libarchive/libarchive_3.1.2.bb                 |    2 ++
  1 file changed, 2 insertions(+)
meta/recipes-extended/libarchive/libarchive_3.1.2.bb +0 -0
index 96e2d50..2ac8c5e 100644

meta/recipes-extended/libarchive/libarchive_3.1.2.bb LIC_FILES_CHKSUM = "file://COPYING;md5=b4e3ffd607d6686c6cb2f63394370841" · line 14

Quoted 8 lines
meta/recipes-extended/libarchive/libarchive_3.1.2.bb +2 -0
@@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b4e3ffd607d6686c6cb2f63394370841"
 
  DEPENDS = "e2fsprogs-native"
 
+CLEANBROKEN = "1"
+
  PACKAGECONFIG ?= "libxml2 zlib bz2"
 
  PACKAGECONFIG_append_class-target = "\

I just looked into this I will explain why this worries me. We patch libarchive to remove the reference to xml2-config in SRC_URI. For this error to appear, the patch must have been removed.

The question is therefore why does it get removed and why isn't that an error? Does the CVE patch get removed too?

FWIW, "bitbake libarchive -c configure -f" does not reproduce the error and the clean broken is therefore a workaround/hack.

Quoted 7 lines

Actually, I just found what does break it is "bitbake libarchive -C unpack". Why? Running "make clean" triggers configure to run again since after unpack, the configure timestamp is more recent that config.status.

So to fix this, we just need to touch config.status (if it exists) before running make clean. We should probably do this in the autotools class.

Hi RP,

When the error happens, more than one do_patch and do_configure runs nearly at the same time:

$ ls -lt ../temp/log.do_patch* --full-time
lrwxrwxrwx 1 lyang1 users   17 2015-04-29 19:43:45.654157649 -0700 ../temp/log.do_patch -> log.do_patch.9045
-rw-r--r-- 1 lyang1 users 2867 2015-04-29 19:43:45.614157776 -0700 ../temp/log.do_patch.22016
-rw-r--r-- 1 lyang1 users 4324 2015-04-29 19:43:45.386158500 -0700 ../temp/log.do_patch.9045
-rw-r--r-- 1 lyang1 users 2867 2015-04-29 19:43:45.378158526 -0700 ../temp/log.do_patch.13113
$ ls -lt ../temp/log.do_configure* --full-time
-rw-r--r-- 1 lyang1 users 15114 2015-04-29 19:43:45.670157600 -0700 ../temp/log.do_configure.30582
lrwxrwxrwx 1 lyang1 users    22 2015-04-29 19:43:45.630157725 -0700 ../temp/log.do_configure -> log.do_configure.30582
-rw-r--r-- 1 lyang1 users 16397 2015-04-29 19:43:45.626157739 -0700 ../temp/log.do_configure.22478
-rw-r--r-- 1 lyang1 users 27431 2015-04-29 19:43:45.614157776 -0700 ../temp/log.do_configure.8960
-rw-r--r-- 1 lyang1 users 25954 2015-04-29 19:43:45.502158132 -0700 ../temp/log.do_configure.15184
-rw-r--r-- 1 lyang1 users 25014 2015-04-29 19:43:45.434158347 -0700 ../temp/log.do_configure.1545
-rw-r--r-- 1 lyang1 users 16396 2015-04-29 19:43:45.294158792 -0700 ../temp/log.do_configure.9513

do you have any suggestions, please ?

// Robert

Quoted 9 lines

Cheers,

Richard

#5 lore raw
In reply to Robert Yang
Quoted 8 lines · Robert Yang

Errors when rebuild:
checking for xml2-config... /path/to/tmp/sysroots/qemux86-64/usr/bin/crossscripts/xml2-config checking for xmlInitParser in -lxml2... no
configure: error: in `/path/to/tmp/work/core2-64-poky-linux/libarchive/3.1.2-r0/libarchive-3.1.2':
configure: error: Missing xml2 library

I haven't managed to fix autotools.bbclass but I have just submitted a patch to let libarchive use autotools (not -brokensep).

Ross

#6 lore raw
In reply to Robert Yang

ping.

// Robert

Quoted 15 lines · Robert Yang

The following changes since commit d3fcfe346b3472170641d9194243c4bbe06b8585:

systemd: fix firmware path to match linux-firmware (2015-03-23 11:27:13 +0000)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib rbt/libarchive
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/libarchive

Robert Yang (1):
libarchive: set CLEANBROKEN

  .../libarchive/libarchive_3.1.2.bb                 |    2 ++
  1 file changed, 2 insertions(+)