diff mbox series

[meta-swupdate] Fix for WORKDIR/UNPACKDIR

Message ID CAAs-_kbubW5a97TtyFs+k8B7HF4EV_MiJ48pYP0P7jNffHy4eQ@mail.gmail.com
State Superseded
Headers show
Series [meta-swupdate] Fix for WORKDIR/UNPACKDIR | expand

Commit Message

Anders Gnistrup June 4, 2024, 8:51 a.m. UTC
I got an error "Using S = ${WORKDIR} is no longer supported" and it seems
that the patch below fixes the problem. I have tested it on an arm target.
This is a first "best gees" but I am not an expert in yocto (yet)


commit f98380479c9018f89e9a25f8d9fab14ef6324440 (HEAD -> master)
Author: Anders Gnistrup <agn@trackman.com>
Date:   Tue Jun 4 10:39:59 2024 +0200

    Start WORKDIR -> UNPACKDIR transition

    Introduced in meta-openembedded to make it more clear whar the origin
    of files is.

     (cd ${S} && cml1_do_configure)
@@ -271,34 +271,34 @@ do_install () {
     fi

     install -d ${D}${sysconfdir}/init.d
-    install -m 755 ${WORKDIR}/swupdate ${D}${sysconfdir}/init.d
+    install -m 755 ${UNPACKDIR}/swupdate ${D}${sysconfdir}/init.d
     sed -i -e "s|/usr/lib/|${libdir}/|" ${D}${sysconfdir}/init.d/swupdate

     # shell based configuration loader allows to place code snippets into
this folder
     install -d ${D}${libdir}/swupdate/conf.d
-    install -m 755 ${WORKDIR}/swupdate.sh ${D}${libdir}/swupdate
+    install -m 755 ${UNPACKDIR}/swupdate.sh ${D}${libdir}/swupdate
     sed -i 's#@LIBDIR@#${libdir}#g' ${D}${libdir}/swupdate/swupdate.sh
     if ${SWUPDATE_MONGOOSE}; then
-        install -m 644 ${WORKDIR}/10-mongoose-args
${D}${libdir}/swupdate/conf.d/
+        install -m 644 ${UNPACKDIR}/10-mongoose-args
${D}${libdir}/swupdate/conf.d/
     fi
     install -d ${D}${systemd_unitdir}/system
-    install -m 644 ${WORKDIR}/swupdate.service
${D}${systemd_system_unitdir}
+    install -m 644 ${UNPACKDIR}/swupdate.service
${D}${systemd_system_unitdir}
     sed -i 's#@LIBDIR@#${libdir}#'
${D}${systemd_system_unitdir}/swupdate.service
-    install -m 644 ${WORKDIR}/swupdate.socket.tmpl
${D}${systemd_system_unitdir}/swupdate.socket
+    install -m 644 ${UNPACKDIR}/swupdate.socket.tmpl
${D}${systemd_system_unitdir}/swupdate.socket
     sed -e "s,@@SWUPDATE_SOCKET_CTRL_PATH@@,${SWUPDATE_SOCKET_CTRL_PATH},g"
\
         -e "s,@@SWUPDATE_SOCKET_PROGRESS_PATH@@,${SWUPDATE_SOCKET_PROGRESS_PATH},g"
\
         -i ${D}${systemd_system_unitdir}/swupdate.socket
-    install -m 644 ${WORKDIR}/swupdate-usb@.service
${D}${systemd_system_unitdir}
-    install -m 644 ${WORKDIR}/swupdate-progress.service
${D}${systemd_system_unitdir}
+    install -m 644 ${UNPACKDIR}/swupdate-usb@.service
${D}${systemd_system_unitdir}
+    install -m 644 ${UNPACKDIR}/swupdate-progress.service
${D}${systemd_system_unitdir}

     if
${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
         install -d ${D}${nonarch_libdir}/tmpfiles.d
-        install -m 0644 ${WORKDIR}/tmpfiles-swupdate.conf
${D}${nonarch_libdir}/tmpfiles.d/swupdate.conf
+        install -m 0644 ${UNPACKDIR}/tmpfiles-swupdate.conf
${D}${nonarch_libdir}/tmpfiles.d/swupdate.conf
         install -d ${D}${sysconfdir}/udev/rules.d
-        install -m 0644 ${WORKDIR}/swupdate-usb.rules
${D}${sysconfdir}/udev/rules.d/
+        install -m 0644 ${UNPACKDIR}/swupdate-usb.rules
${D}${sysconfdir}/udev/rules.d/
     else
         # in case of systemd there is a service file, for sysv init we
need to start it as well
-        install -m 0644 ${WORKDIR}/90-start-progress
${D}${libdir}/swupdate/conf.d/
+        install -m 0644 ${UNPACKDIR}/90-start-progress
${D}${libdir}/swupdate/conf.d/
     fi
 }

Comments

Stefano Babic June 4, 2024, 10:06 a.m. UTC | #1
Hi Andreas,

On 04.06.24 10:51, Anders Gnistrup wrote:
> I got an error "Using S = ${WORKDIR} is no longer supported" and it
> seems that the patch below fixes the problem. I have tested it on an arm
> target.
> This is a first "best gees" but I am not an expert in yocto (yet)
>
>
> commit f98380479c9018f89e9a25f8d9fab14ef6324440 (HEAD -> master)
> Author: Anders Gnistrup <agn@trackman.com <mailto:agn@trackman.com>>
> Date:   Tue Jun 4 10:39:59 2024 +0200
>
>      Start WORKDIR -> UNPACKDIR transition
>
>      Introduced in meta-openembedded to make it more clear whar the origin
>      of files is.
>

Geoff sent patch a couple of days ago:

https://patchwork.ozlabs.org/project/swupdate/patch/20240602183155.3201625-1-geoffrey.parker@arthrex.com/

I have applied to -master as it seems it is becoming urgent.

Best regards,
Stefano Babic

> diff --git
> a/recipes-core/initscripts-swupdate/initscripts-swupdate-usb.bb
> <http://initscripts-swupdate-usb.bb>
> b/recipes-core/initscripts-swupdate/initscripts-swupdate-usb.bb
> <http://initscripts-swupdate-usb.bb>
> index 7918dfa..091ebc6 100644
> --- a/recipes-core/initscripts-swupdate/initscripts-swupdate-usb.bb
> <http://initscripts-swupdate-usb.bb>
> +++ b/recipes-core/initscripts-swupdate/initscripts-swupdate-usb.bb
> <http://initscripts-swupdate-usb.bb>
> @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM =
> "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
>
>   SRC_URI = "file://rcS.swupdate \
>   SRC_URI = "file://rcS.swupdate \
>          "
> -
> -S = "${WORKDIR}"
> +S = "${WORKDIR}/sources"
> +UNPACKDIR = "${S}"
>
>   inherit allarch update-alternatives
>
> diff --git a/recipes-support/swupdate/swupdate.inc
> b/recipes-support/swupdate/swupdate.inc
> index 188c25c..d9be55f 100644
> --- a/recipes-support/swupdate/swupdate.inc
> +++ b/recipes-support/swupdate/swupdate.inc
> @@ -245,11 +245,11 @@ python () {
>   }
>
>   do_configure () {
> -    cat > ${WORKDIR}/.config <<HEREDOC
> +    cat > ${UNPACKDIR}/.config <<HEREDOC
>   CONFIG_EXTRA_CFLAGS="${CFLAGS}"
>   CONFIG_EXTRA_LDFLAGS="${LDFLAGS}"
>   HEREDOC
> -    cat ${WORKDIR}/defconfig >> ${WORKDIR}/.config
> +    cat ${UNPACKDIR}/defconfig >> ${WORKDIR}/.config
>
>       merge_config.sh -O ${B} -m ${WORKDIR}/.config ${@"
> ".join(find_cfgs(d))}
>       (cd ${S} && cml1_do_configure)
> @@ -271,34 +271,34 @@ do_install () {
>       fi
>
>       install -d ${D}${sysconfdir}/init.d
> -    install -m 755 ${WORKDIR}/swupdate ${D}${sysconfdir}/init.d
> +    install -m 755 ${UNPACKDIR}/swupdate ${D}${sysconfdir}/init.d
>       sed -i -e "s|/usr/lib/|${libdir}/|" ${D}${sysconfdir}/init.d/swupdate
>
>       # shell based configuration loader allows to place code snippets
> into this folder
>       install -d ${D}${libdir}/swupdate/conf.d
> -    install -m 755 ${WORKDIR}/swupdate.sh ${D}${libdir}/swupdate
> +    install -m 755 ${UNPACKDIR}/swupdate.sh ${D}${libdir}/swupdate
>       sed -i 's#@LIBDIR@#${libdir}#g' ${D}${libdir}/swupdate/swupdate.sh
>       if ${SWUPDATE_MONGOOSE}; then
> -        install -m 644 ${WORKDIR}/10-mongoose-args
> ${D}${libdir}/swupdate/conf.d/
> +        install -m 644 ${UNPACKDIR}/10-mongoose-args
> ${D}${libdir}/swupdate/conf.d/
>       fi
>       install -d ${D}${systemd_unitdir}/system
> -    install -m 644 ${WORKDIR}/swupdate.service
> ${D}${systemd_system_unitdir}
> +    install -m 644 ${UNPACKDIR}/swupdate.service
> ${D}${systemd_system_unitdir}
>       sed -i 's#@LIBDIR@#${libdir}#'
> ${D}${systemd_system_unitdir}/swupdate.service
> -    install -m 644 ${WORKDIR}/swupdate.socket.tmpl
> ${D}${systemd_system_unitdir}/swupdate.socket
> +    install -m 644 ${UNPACKDIR}/swupdate.socket.tmpl
> ${D}${systemd_system_unitdir}/swupdate.socket
>       sed -e
> "s,@@SWUPDATE_SOCKET_CTRL_PATH@@,${SWUPDATE_SOCKET_CTRL_PATH},g" \
>           -e
> "s,@@SWUPDATE_SOCKET_PROGRESS_PATH@@,${SWUPDATE_SOCKET_PROGRESS_PATH},g" \
>           -i ${D}${systemd_system_unitdir}/swupdate.socket
> -    install -m 644 ${WORKDIR}/swupdate-usb@.service
> ${D}${systemd_system_unitdir}
> -    install -m 644 ${WORKDIR}/swupdate-progress.service
> ${D}${systemd_system_unitdir}
> +    install -m 644 ${UNPACKDIR}/swupdate-usb@.service
> ${D}${systemd_system_unitdir}
> +    install -m 644 ${UNPACKDIR}/swupdate-progress.service
> ${D}${systemd_system_unitdir}
>
>       if
> ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
>           install -d ${D}${nonarch_libdir}/tmpfiles.d
> -        install -m 0644 ${WORKDIR}/tmpfiles-swupdate.conf
> ${D}${nonarch_libdir}/tmpfiles.d/swupdate.conf
> +        install -m 0644 ${UNPACKDIR}/tmpfiles-swupdate.conf
> ${D}${nonarch_libdir}/tmpfiles.d/swupdate.conf
>           install -d ${D}${sysconfdir}/udev/rules.d
> -        install -m 0644 ${WORKDIR}/swupdate-usb.rules
> ${D}${sysconfdir}/udev/rules.d/
> +        install -m 0644 ${UNPACKDIR}/swupdate-usb.rules
> ${D}${sysconfdir}/udev/rules.d/
>       else
>           # in case of systemd there is a service file, for sysv init we
> need to start it as well
> -        install -m 0644 ${WORKDIR}/90-start-progress
> ${D}${libdir}/swupdate/conf.d/
> +        install -m 0644 ${UNPACKDIR}/90-start-progress
> ${D}${libdir}/swupdate/conf.d/
>       fi
>   }
>
> --
> You received this message because you are subscribed to the Google
> Groups "swupdate" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to swupdate+unsubscribe@googlegroups.com
> <mailto:swupdate+unsubscribe@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/swupdate/CAAs-_kbubW5a97TtyFs%2Bk8B7HF4EV_MiJ48pYP0P7jNffHy4eQ%40mail.gmail.com <https://groups.google.com/d/msgid/swupdate/CAAs-_kbubW5a97TtyFs%2Bk8B7HF4EV_MiJ48pYP0P7jNffHy4eQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
Fabio Estevam June 4, 2024, 11:15 a.m. UTC | #2
Hi Stefano,

On Tue, Jun 4, 2024 at 7:06 AM Stefano Babic <stefano.babic@swupdate.org> wrote:

> Geoff sent patch a couple of days ago:
>
> https://patchwork.ozlabs.org/project/swupdate/patch/20240602183155.3201625-1-geoffrey.parker@arthrex.com/
>
> I have applied to -master as it seems it is becoming urgent.

I get the warning running scarthgap with swupdate 2013.12.1 as well:

WARNING: swupdate-2023.12.1-r0 do_package_qa: QA Issue: File
/usr/bin/swupdate in package swupdate contains reference to TMPDIR
[buildpaths]

Please apply it to scarthgap too.

Thanks
Stefano Babic June 4, 2024, 11:57 a.m. UTC | #3
On 04.06.24 13:15, Fabio Estevam wrote:
> Hi Stefano,
>
> On Tue, Jun 4, 2024 at 7:06 AM Stefano Babic <stefano.babic@swupdate.org> wrote:
>
>> Geoff sent patch a couple of days ago:
>>
>> https://patchwork.ozlabs.org/project/swupdate/patch/20240602183155.3201625-1-geoffrey.parker@arthrex.com/
>>
>> I have applied to -master as it seems it is becoming urgent.
>
> I get the warning running scarthgap with swupdate 2013.12.1 as well:
>
> WARNING: swupdate-2023.12.1-r0 do_package_qa: QA Issue: File
> /usr/bin/swupdate in package swupdate contains reference to TMPDIR
> [buildpaths]
>
> Please apply it to scarthgap too.
>
> Thanks
>

Thanks for pointing out, I have applied it.

Best regards,
Stefano
diff mbox series

Patch

diff --git a/recipes-core/initscripts-swupdate/initscripts-swupdate-usb.bb
b/recipes-core/initscripts-swupdate/initscripts-swupdate-usb.bb
index 7918dfa..091ebc6 100644
--- a/recipes-core/initscripts-swupdate/initscripts-swupdate-usb.bb
+++ b/recipes-core/initscripts-swupdate/initscripts-swupdate-usb.bb
@@ -6,8 +6,8 @@  LIC_FILES_CHKSUM =
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda

 SRC_URI = "file://rcS.swupdate \
 SRC_URI = "file://rcS.swupdate \
        "
-
-S = "${WORKDIR}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"

 inherit allarch update-alternatives

diff --git a/recipes-support/swupdate/swupdate.inc
b/recipes-support/swupdate/swupdate.inc
index 188c25c..d9be55f 100644
--- a/recipes-support/swupdate/swupdate.inc
+++ b/recipes-support/swupdate/swupdate.inc
@@ -245,11 +245,11 @@  python () {
 }

 do_configure () {
-    cat > ${WORKDIR}/.config <<HEREDOC
+    cat > ${UNPACKDIR}/.config <<HEREDOC
 CONFIG_EXTRA_CFLAGS="${CFLAGS}"
 CONFIG_EXTRA_LDFLAGS="${LDFLAGS}"
 HEREDOC
-    cat ${WORKDIR}/defconfig >> ${WORKDIR}/.config
+    cat ${UNPACKDIR}/defconfig >> ${WORKDIR}/.config

     merge_config.sh -O ${B} -m ${WORKDIR}/.config ${@"
".join(find_cfgs(d))}