Skip to contentSkip to conversation

acl: Make it compatible with externalsrc

PATCH In review Peter Kjellerstedt 2 participants 7 messages Sep 24, 2018 – Oct 10, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 acl: Make it compatible with externalsrc

Make the subdir fetch path for configure.ac relative. This avoids the following error after having done devtool modify acl:

ERROR: acl-2.2.52-r0 do_unpack: Unpack failure for URL:
'file://configure.ac;subdir=.../builds/qemux86-64/workspace/sources/acl'. subdir argument isn't a subdirectory of unpack root .../builds/qemux86-64/tmp/work/core2-64-poky-linux/acl/2.2.52-r0

---
 meta/recipes-support/attr/acl_2.2.52.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-support/attr/acl_2.2.52.bb +1 -1
index 8f3dc45cf7..8b89de9b42 100644
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \
 DEPENDS = "attr"
 
 SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.src.tar.gz \
-           file://configure.ac;subdir=${S} \
+           file://configure.ac;subdir=${BP} \
            file://run-ptest \
            file://acl-fix-the-order-of-expected-output-of-getfacl.patch \
            file://test-fix-insufficient-quoting-of.patch \
Signature · 1 line
2.12.0
#1 lore raw

PATCH 2/3 lsof: Make it compatible with externalsrc

Make the unpack task do nothing if externalsrc is in use. This avoids the following error after having done devtool modify lsof:

ERROR: lsof-4.91-r0 do_unpack: Unpack failure for URL:
'file://.../builds/qemux86-64/tmp/work/core2-64-poky-linux/lsof/4.91-r0/lsof_4.91/lsof_4.91_src.tar'. Unpack command PATH="..." tar x --no-same-owner -f .../builds/qemux86-64/tmp/work/core2-64-poky-linux/lsof/4.91-r0/lsof_4.91/lsof_4.91_src.tar failed with return value 2

---
 meta/recipes-extended/lsof/lsof_4.91.bb | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)
meta/recipes-extended/lsof/lsof_4.91.bb +11 -12
index 0128de4a6e..b3adfd57af 100644
@@ -23,18 +23,17 @@ LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar"
 S = "${WORKDIR}/lsof_${PV}_src"
 
 python do_unpack () {
-    # temporarily change S for unpack
-    # of lsof_${PV}
-    s = d.getVar('S', False)
-    d.setVar('S', '${WORKDIR}/lsof_${PV}')
-    bb.build.exec_func('base_do_unpack', d)
-    # temporarily change SRC_URI for unpack
-    # of lsof_${PV}_src
-    src_uri = d.getVar('SRC_URI', False)
-    d.setVar('SRC_URI', '${LOCALSRC}')
-    d.setVar('S', s)
-    bb.build.exec_func('base_do_unpack', d)
-    d.setVar('SRC_URI', src_uri)
+    if not bb.data.inherits_class('externalsrc', d) or not d.getVar('EXTERNALSRC'):
+        # temporarily change S for unpack of lsof_${PV}
+        s = d.getVar('S', False)
+        d.setVar('S', '${WORKDIR}/lsof_${PV}')
+        bb.build.exec_func('base_do_unpack', d)
+        # temporarily change SRC_URI for unpack of lsof_${PV}_src
+        src_uri = d.getVar('SRC_URI', False)
+        d.setVar('SRC_URI', '${LOCALSRC}')
+        d.setVar('S', s)
+        bb.build.exec_func('base_do_unpack', d)
+        d.setVar('SRC_URI', src_uri)
 }
 
 export LSOF_INCLUDE = "${STAGING_INCDIR}"
Signature · 1 line
2.12.0
#2 lore raw

PATCH 3/3 libxml2: Make it compatible with externalsrc

In reply to Peter Kjellerstedt

Fetch the test tar ball to a subdirectory in ${S}. This avoids the following error after having done devtool modify libxml2:

| DEBUG: Executing shell function do_configure
| find: ‘.../build/tmp/work/mips32r2el-nf-poky-linux/libxml2/2.9.4-r0/xmlconf/’: No such file or directory

---
 meta/recipes-core/libxml/libxml2_2.9.8.bb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
meta/recipes-core/libxml/libxml2_2.9.8.bb +3 -3
index f01cb2cd34..4ec03c6d15 100644
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://Copyright;md5=2044417e2e5006b65a8b9067b683fcf1 \
 DEPENDS = "zlib virtual/libiconv"
 
 SRC_URI = "http://www.xmlsoft.org/sources/libxml2-${PV}.tar.gz;name=libtar \
-           http://www.w3.org/XML/Test/xmlts20080827.tar.gz;name=testtar \
+           http://www.w3.org/XML/Test/xmlts20080827.tar.gz;subdir=${BP};name=testtar \
            file://libxml-64bit.patch \
            file://runtest.patch \
            file://run-ptest \
@@ -76,7 +76,7 @@ FILES_${PN}-python += "${PYTHON_SITEPACKAGES_DIR}"
 
 do_configure_prepend () {
 	# executables take longer to package: these should not be executable
-	find ${WORKDIR}/xmlconf/ -type f -exec chmod -x {} \+
+	find ${S}/xmlconf/ -type f -exec chmod -x {} \+
 }
 
 do_compile_ptest() {
@@ -84,7 +84,7 @@ do_compile_ptest() {
 }
 
 do_install_ptest () {
-	cp -r ${WORKDIR}/xmlconf ${D}${PTEST_PATH}
+	cp -r ${S}/xmlconf ${D}${PTEST_PATH}
 	if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then
 		sed -i -e 's|^\(PYTHON = \).*|\1${USRBINPATH}/${PYTHON_PN}|' \
 		    ${D}${PTEST_PATH}/python/tests/Makefile
Signature · 1 line
2.12.0
#3 lore raw
In reply to Peter Kjellerstedt
Quoted 28 lines · Peter Kjellerstedt

Make the subdir fetch path for configure.ac relative. This avoids the following error after having done devtool modify acl:

ERROR: acl-2.2.52-r0 do_unpack: Unpack failure for URL:
'file://configure.ac;subdir=.../builds/qemux86- 64/workspace/sources/acl'.
subdir argument isn't a subdirectory of unpack root .../builds/qemux86-64/tmp/work/core2-64-poky-linux/acl/2.2.52-r0

---
 meta/recipes-support/attr/acl_2.2.52.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes- renamed from meta/recipes-support/attr/acl_2.2.52.bb +0 -0

support/attr/acl_2.2.52.bb
index 8f3dc45cf7..8b89de9b42 100644

meta/recipes-support/attr/acl_2.2.52.bb +1 -1
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70e
 d2b4d48995b790403217a249 \
 DEPENDS = "attr"
 
 SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.src.tar.gz \
-           file://configure.ac;subdir=${S} \
+           file://configure.ac;subdir=${BP} \
            file://run-ptest \
            file://acl-fix-the-order-of-expected-output-of-
Quoted 2 lines
getfacl.patch \
            file://test-fix-insufficient-quoting-of.patch \

This isn't making sense to me. Doesn't externalsrc set ${S} to the external source location?

Also, doesn't it remove the do_unpack task?

Cheers,

Richard

#4 lore raw
Quoted 33 lines

-----Original Message-----
From: [email protected] <openembedded- [email protected]> On Behalf Of Richard Purdie
Sent: den 25 september 2018 10:13
To: Peter Kjellerstedt <[email protected]>; openembedded- [email protected]
Subject: Re: [OE-core] [PATCH 1/3] acl: Make it compatible with externalsrc

Quoted 23 lines · Peter Kjellerstedt

Make the subdir fetch path for configure.ac relative. This avoids the following error after having done devtool modify acl:

ERROR: acl-2.2.52-r0 do_unpack: Unpack failure for URL:
'file://configure.ac;subdir=.../builds/qemux86- 64/workspace/sources/acl'.
subdir argument isn't a subdirectory of unpack root .../builds/qemux86-64/tmp/work/core2-64-poky-linux/acl/2.2.52-r0

---
 meta/recipes-support/attr/acl_2.2.52.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes- renamed from meta/recipes-support/attr/acl_2.2.52.bb +0 -0

support/attr/acl_2.2.52.bb
index 8f3dc45cf7..8b89de9b42 100644

meta/recipes-support/attr/acl_2.2.52.bb +0 -0
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70e
 d2b4d48995b790403217a249 \
 DEPENDS = "attr"
 
Quoted 9 lines
Quoted 6 lines
meta/recipes-support/attr/acl_2.2.52.bb +1 -1
 SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.src.tar.gz \
-           file://configure.ac;subdir=${S} \
+           file://configure.ac;subdir=${BP} \
            file://run-ptest \
            file://acl-fix-the-order-of-expected-output-of-getfacl.patch \
            file://test-fix-insufficient-quoting-of.patch \

This isn't making sense to me. Doesn't externalsrc set ${S} to the external source location?

Yes, it does, but it does not change ${WORKDIR}. So when it tries to unpack to the absolute path ${S}, which is outside ${WORKDIR} when externalsrc is in use, then the above error occurs. Using a relative path avoids the problem.

Quoted 1 line

Also, doesn't it remove the do_unpack task?

No, it keeps the task but removes everything except file:// URLs and URLs with type=kmeta from the SRC_URI. This is also why I had to check for externalsrc in the do_unpack task of lsof.

Quoted 3 lines

Cheers,

Richard

//Peter

#5 lore raw

*ping*

//Peter

Quoted 78 lines

-----Original Message-----
From: [email protected] <openembedded- [email protected]> On Behalf Of Peter Kjellerstedt
Sent: den 25 september 2018 11:17
To: Richard Purdie <[email protected]>; openembedded- [email protected]
Subject: Re: [OE-core] [PATCH 1/3] acl: Make it compatible with externalsrc

Quoted 11 lines

-----Original Message-----
From: [email protected] <openembedded- [email protected]> On Behalf Of Richard Purdie
Sent: den 25 september 2018 10:13
To: Peter Kjellerstedt <[email protected]>; openembedded- [email protected]
Subject: Re: [OE-core] [PATCH 1/3] acl: Make it compatible with externalsrc

Quoted 1 line · Peter Kjellerstedt

Make the subdir fetch path for configure.ac relative. This avoids

the

Quoted 8 lines
Quoted 8 lines

following error after having done devtool modify acl:

ERROR: acl-2.2.52-r0 do_unpack: Unpack failure for URL:
'file://configure.ac;subdir=.../builds/qemux86- 64/workspace/sources/acl'.
subdir argument isn't a subdirectory of unpack root .../builds/qemux86-64/tmp/work/core2-64-poky-linux/acl/2.2.52-r0

Quoted 6 lines

Review

Quoted 6 lines
---
 meta/recipes-support/attr/acl_2.2.52.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
(quoted diff) +0 -0

b/meta/recipes-

Quoted 5 lines

meta/recipes-support/attr/acl_2.2.52.bb LIC_FILES_CHKSUM =

Quoted 5 lines

support/attr/acl_2.2.52.bb
index 8f3dc45cf7..8b89de9b42 100644

meta/recipes-support/attr/acl_2.2.52.bb +0 -0
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM =

"file://doc/COPYING;md5=c781d70e

Quoted 8 lines

meta/recipes-support/attr/acl_2.2.52.bb LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \

Quoted 8 lines
meta/recipes-support/attr/acl_2.2.52.bb +1 -1
 d2b4d48995b790403217a249 \
 DEPENDS = "attr"
 
 SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.src.tar.gz \
-           file://configure.ac;subdir=${S} \
+           file://configure.ac;subdir=${BP} \
            file://run-ptest \
            file://acl-fix-the-order-of-expected-output-of-

getfacl.patch \

Quoted 4 lines
Quoted 1 line
            file://test-fix-insufficient-quoting-of.patch \

This isn't making sense to me. Doesn't externalsrc set ${S} to the external source location?

Yes, it does, but it does not change ${WORKDIR}. So when it tries to unpack to the absolute path ${S}, which is outside ${WORKDIR} when externalsrc is in use, then the above error occurs. Using a relative path avoids the problem.

Quoted 1 line

Also, doesn't it remove the do_unpack task?

No, it keeps the task but removes everything except file:// URLs and URLs with type=kmeta from the SRC_URI. This is also why I had to check for externalsrc in the do_unpack task of lsof.

Quoted 3 lines

Cheers,

Richard

//Peter

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#6 lore raw

Except for the questions asked and answered below, is there anything else preventing these three patches from being merged?

//Peter

Quoted 76 lines

-----Original Message-----
From: [email protected] <openembedded- [email protected]> On Behalf Of Peter Kjellerstedt
Sent: den 2 oktober 2018 12:26
To: Richard Purdie <[email protected]>; openembedded- [email protected]
Subject: Re: [OE-core] [PATCH 1/3] acl: Make it compatible with externalsrc

*ping*

//Peter

Quoted 63 lines

-----Original Message-----
From: [email protected] <openembedded- [email protected]> On Behalf Of Peter Kjellerstedt
Sent: den 25 september 2018 11:17
To: Richard Purdie <[email protected]>; [email protected]
Subject: Re: [OE-core] [PATCH 1/3] acl: Make it compatible with externalsrc

Quoted 30 lines

-----Original Message-----
From: [email protected] <openembedded- [email protected]> On Behalf Of Richard Purdie
Sent: den 25 september 2018 10:13
To: Peter Kjellerstedt <[email protected]>; openembedded- [email protected]
Subject: Re: [OE-core] [PATCH 1/3] acl: Make it compatible with externalsrc

Quoted 20 lines · Peter Kjellerstedt

Make the subdir fetch path for configure.ac relative. This avoids the following error after having done devtool modify acl:

ERROR: acl-2.2.52-r0 do_unpack: Unpack failure for URL:
'file://configure.ac;subdir=.../builds/qemux86-64/workspace/sources/acl'. subdir argument isn't a subdirectory of unpack root .../builds/qemux86-64/tmp/work/core2-64-poky-linux/acl/2.2.52-r0

---
 meta/recipes-support/attr/acl_2.2.52.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-support/attr/acl_2.2.52.bb +0 -0
index 8f3dc45cf7..8b89de9b42 100644
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \
 DEPENDS = "attr"
 
Quoted 9 lines

meta/recipes-support/attr/acl_2.2.52.bb LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \ · line 17

Quoted 6 lines
meta/recipes-support/attr/acl_2.2.52.bb +1 -1
 SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.src.tar.gz \
-           file://configure.ac;subdir=${S} \
+           file://configure.ac;subdir=${BP} \
            file://run-ptest \
            file://acl-fix-the-order-of-expected-output-of-getfacl.patch \
            file://test-fix-insufficient-quoting-of.patch \

This isn't making sense to me. Doesn't externalsrc set ${S} to the external source location?

Yes, it does, but it does not change ${WORKDIR}. So when it tries to unpack to the absolute path ${S}, which is outside ${WORKDIR} when externalsrc is in use, then the above error occurs. Using a relative path avoids the problem.

Quoted 1 line

Also, doesn't it remove the do_unpack task?

No, it keeps the task but removes everything except file:// URLs and URLs with type=kmeta from the SRC_URI. This is also why I had to check for externalsrc in the do_unpack task of lsof.

Quoted 3 lines

Cheers,

Richard

//Peter