* [RFC PATCH 0/2] debianize: Use dh_installsystemd @ 2024-02-01 13:07 Quirin Gylstorff 2024-02-01 13:07 ` [RFC PATCH 1/2] debianize: use dh_installsystemd to automatically add systemd service Quirin Gylstorff ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Quirin Gylstorff @ 2024-02-01 13:07 UTC (permalink / raw) To: isar-users From: Quirin Gylstorff <quirin.gylstorff@siemens.com> This series adds the variable DEBIAN_SYSTEMD_SERVICE which defines a systemd file to automatically be added to the debian folder and automatically installed by using `dh_installsystemd`. Quirin Gylstorff (2): debianize: use dh_installsystemd to automatically add systemd service meta/recipe-support: Use DEBIAN_SYSTEMD_SERVICE variable meta/classes/debianize.bbclass | 15 +++++++++++++++ meta/recipes-support/enable-fsck/enable-fsck.bb | 6 ++---- meta/recipes-support/enable-fsck/files/postinst | 3 --- .../expand-on-first-boot_1.4.bb | 7 ++----- .../expand-on-first-boot/files/postinst | 3 --- .../sshd-regen-keys/sshd-regen-keys_0.4.bb | 1 + 6 files changed, 20 insertions(+), 15 deletions(-) delete mode 100644 meta/recipes-support/enable-fsck/files/postinst delete mode 100644 meta/recipes-support/expand-on-first-boot/files/postinst -- 2.43.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [RFC PATCH 1/2] debianize: use dh_installsystemd to automatically add systemd service 2024-02-01 13:07 [RFC PATCH 0/2] debianize: Use dh_installsystemd Quirin Gylstorff @ 2024-02-01 13:07 ` Quirin Gylstorff 2024-02-01 13:07 ` [RFC PATCH 2/2] meta/recipe-support: Use DEBIAN_SYSTEMD_SERVICE variable Quirin Gylstorff 2024-02-01 15:16 ` [RFC PATCH 0/2] debianize: Use dh_installsystemd MOESSBAUER, Felix 2 siblings, 0 replies; 7+ messages in thread From: Quirin Gylstorff @ 2024-02-01 13:07 UTC (permalink / raw) To: isar-users From: Quirin Gylstorff <quirin.gylstorff@siemens.com> Copy the file in `DEBIAN_SYSTEMD_SERVICE` to the folder if it has the same name as the debian package. This will use dh_installsystemd. Debian detects any of the following files in the debian folder they are installed into usr/lib/systemd/system/ in the package build directory: - package.mount - package.path - package@.path - package.service - package@.service - package.socket - package@.socket - package.target - package@.target - package.timer - package@.timer Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> --- meta/classes/debianize.bbclass | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/meta/classes/debianize.bbclass b/meta/classes/debianize.bbclass index 7de98673..5015d52c 100644 --- a/meta/classes/debianize.bbclass +++ b/meta/classes/debianize.bbclass @@ -11,6 +11,7 @@ DEBIAN_DEPENDS ??= "" DEBIAN_CONFLICTS ??= "" DEBIAN_MULTI_ARCH ??= "no" DEBIAN_COMPAT ??= "10" +DEBIAN_SYSTEMD_SERVICE ??= "" DESCRIPTION ??= "must not be empty" MAINTAINER ??= "Unknown maintainer <unknown@example.com>" @@ -116,12 +117,26 @@ deb_debianize() { # contains an entry with CHANGELOG_V deb_add_changelog + # copy service files to debian folder + # this will automatically enable the service + service_installed="" + if [ -n "${DEBIAN_SYSTEMD_SERVICE}" ]; then + service_name=$(echo ${DEBIAN_SYSTEMD_SERVICE} | awk -F. '{print $1}') + if [ "$service_name" = "${BPN}" ] && [ -f ${WORKDIR}/${DEBIAN_SYSTEMD_SERVICE} ]; then + install -v -m 644 ${WORKDIR}/${DEBIAN_SYSTEMD_SERVICE} ${S}/debian/ + fi + service_installed="true" + fi + # copy all hooks from WORKDIR into debian/, hooks are not generated for t in pre post do for a in inst rm do if [ -f ${WORKDIR}/${t}${a} ]; then + if [ "$service_installed" = "true" ]; then + bbwarn "systemd service '${BPN}.service' exists and is added automacially to the debian folder." + fi install -v -m 755 ${WORKDIR}/${t}${a} \ ${S}/debian/${t}${a} fi -- 2.43.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [RFC PATCH 2/2] meta/recipe-support: Use DEBIAN_SYSTEMD_SERVICE variable 2024-02-01 13:07 [RFC PATCH 0/2] debianize: Use dh_installsystemd Quirin Gylstorff 2024-02-01 13:07 ` [RFC PATCH 1/2] debianize: use dh_installsystemd to automatically add systemd service Quirin Gylstorff @ 2024-02-01 13:07 ` Quirin Gylstorff 2024-02-01 15:16 ` [RFC PATCH 0/2] debianize: Use dh_installsystemd MOESSBAUER, Felix 2 siblings, 0 replies; 7+ messages in thread From: Quirin Gylstorff @ 2024-02-01 13:07 UTC (permalink / raw) To: isar-users From: Quirin Gylstorff <quirin.gylstorff@siemens.com> Change recipes to use the new DEBIAN_SYSTEMD_SERVICE variable. Also add comment to sshd-regen-keys to explain usage of the old mechanism. Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> --- meta/recipes-support/enable-fsck/enable-fsck.bb | 6 ++---- meta/recipes-support/enable-fsck/files/postinst | 3 --- .../expand-on-first-boot/expand-on-first-boot_1.4.bb | 7 ++----- meta/recipes-support/expand-on-first-boot/files/postinst | 3 --- .../recipes-support/sshd-regen-keys/sshd-regen-keys_0.4.bb | 1 + 5 files changed, 5 insertions(+), 15 deletions(-) delete mode 100644 meta/recipes-support/enable-fsck/files/postinst delete mode 100644 meta/recipes-support/expand-on-first-boot/files/postinst diff --git a/meta/recipes-support/enable-fsck/enable-fsck.bb b/meta/recipes-support/enable-fsck/enable-fsck.bb index 0413f79d..b68d8f76 100644 --- a/meta/recipes-support/enable-fsck/enable-fsck.bb +++ b/meta/recipes-support/enable-fsck/enable-fsck.bb @@ -10,16 +10,14 @@ inherit dpkg-raw DESCRIPTION = "This service enables fsck on first boot" DEBIAN_DEPENDS = "systemd, sed, mount, initramfs-tools" +DEBIAN_SYSTEMD_SERVICE = "enable-fsck.service" SRC_URI = " \ file://enable-fsck.service \ file://enable-fsck.sh \ - file://postinst" + " do_install() { - install -d -m 755 ${D}/lib/systemd/system - install -m 644 ${WORKDIR}/enable-fsck.service ${D}/lib/systemd/system/ - install -d -m 755 ${D}/usr/share/enable-fsck install -m 755 ${WORKDIR}/enable-fsck.sh ${D}/usr/share/enable-fsck/ } diff --git a/meta/recipes-support/enable-fsck/files/postinst b/meta/recipes-support/enable-fsck/files/postinst deleted file mode 100644 index 1c4c3bdb..00000000 --- a/meta/recipes-support/enable-fsck/files/postinst +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -systemctl enable enable-fsck.service diff --git a/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.4.bb b/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.4.bb index 0996000c..a24d1e9c 100644 --- a/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.4.bb +++ b/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.4.bb @@ -11,16 +11,13 @@ DESCRIPTION = "This service grows the last partition to the full medium during f MAINTAINER = "isar-users <isar-users@googlegroups.com>" DEBIAN_DEPENDS = "systemd, sed, grep, coreutils, mount, e2fsprogs, fdisk (>=2.29.2-3) | util-linux (<2.29.2-3), util-linux" +DEBIAN_SYSTEMD_SERVICE = "expand-on-first-boot.service" SRC_URI = " \ file://expand-on-first-boot.service \ file://expand-last-partition.sh \ - file://postinst" - + " do_install() { - install -d -m 755 ${D}/lib/systemd/system - install -m 644 ${WORKDIR}/expand-on-first-boot.service ${D}/lib/systemd/system/ - install -d -m 755 ${D}/usr/share/expand-on-first-boot install -m 755 ${WORKDIR}/expand-last-partition.sh ${D}/usr/share/expand-on-first-boot/ } diff --git a/meta/recipes-support/expand-on-first-boot/files/postinst b/meta/recipes-support/expand-on-first-boot/files/postinst deleted file mode 100644 index a190b01a..00000000 --- a/meta/recipes-support/expand-on-first-boot/files/postinst +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -systemctl enable expand-on-first-boot.service diff --git a/meta/recipes-support/sshd-regen-keys/sshd-regen-keys_0.4.bb b/meta/recipes-support/sshd-regen-keys/sshd-regen-keys_0.4.bb index 9ce1d8d8..b6d60814 100644 --- a/meta/recipes-support/sshd-regen-keys/sshd-regen-keys_0.4.bb +++ b/meta/recipes-support/sshd-regen-keys/sshd-regen-keys_0.4.bb @@ -5,6 +5,7 @@ DESCRIPTION = "Systemd service to regenerate sshd keys" MAINTAINER = "isar-users <isar-users@googlegroups.com>" DEBIAN_DEPENDS = "openssh-server, systemd" +# postinst also removes exiting ssh keys SRC_URI = "file://postinst \ file://sshd-regen-keys.service" -- 2.43.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH 0/2] debianize: Use dh_installsystemd 2024-02-01 13:07 [RFC PATCH 0/2] debianize: Use dh_installsystemd Quirin Gylstorff 2024-02-01 13:07 ` [RFC PATCH 1/2] debianize: use dh_installsystemd to automatically add systemd service Quirin Gylstorff 2024-02-01 13:07 ` [RFC PATCH 2/2] meta/recipe-support: Use DEBIAN_SYSTEMD_SERVICE variable Quirin Gylstorff @ 2024-02-01 15:16 ` MOESSBAUER, Felix 2024-02-01 15:48 ` Gylstorff Quirin 2 siblings, 1 reply; 7+ messages in thread From: MOESSBAUER, Felix @ 2024-02-01 15:16 UTC (permalink / raw) To: quirin.gylstorff, isar-users On Thu, 2024-02-01 at 14:07 +0100, 'Quirin Gylstorff' via isar-users wrote: > From: Quirin Gylstorff <quirin.gylstorff@siemens.com> > > This series adds the variable DEBIAN_SYSTEMD_SERVICE which defines > a systemd file to automatically be added to the debian folder and > automatically installed by using `dh_installsystemd`. Hi, do we really need that interface? Usually you just copy these files into the debian folder in do_prepare_build. That's it. There are also more files which get picked up by the debhelpers. Best regards, Felix > > Quirin Gylstorff (2): > debianize: use dh_installsystemd to automatically add systemd > service > meta/recipe-support: Use DEBIAN_SYSTEMD_SERVICE variable > > meta/classes/debianize.bbclass | 15 > +++++++++++++++ > meta/recipes-support/enable-fsck/enable-fsck.bb | 6 ++---- > meta/recipes-support/enable-fsck/files/postinst | 3 --- > .../expand-on-first-boot_1.4.bb | 7 ++----- > .../expand-on-first-boot/files/postinst | 3 --- > .../sshd-regen-keys/sshd-regen-keys_0.4.bb | 1 + > 6 files changed, 20 insertions(+), 15 deletions(-) > delete mode 100644 meta/recipes-support/enable-fsck/files/postinst > delete mode 100644 meta/recipes-support/expand-on-first- > boot/files/postinst > > -- > 2.43.0 > -- Siemens AG, Technology Linux Expert Center ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH 0/2] debianize: Use dh_installsystemd 2024-02-01 15:16 ` [RFC PATCH 0/2] debianize: Use dh_installsystemd MOESSBAUER, Felix @ 2024-02-01 15:48 ` Gylstorff Quirin 2024-02-01 15:52 ` Anton Mikanovich 2024-02-15 8:42 ` MOESSBAUER, Felix 0 siblings, 2 replies; 7+ messages in thread From: Gylstorff Quirin @ 2024-02-01 15:48 UTC (permalink / raw) To: Moessbauer, Felix (T CED OES-DE), isar-users On 2/1/24 16:16, Moessbauer, Felix (T CED OES-DE) wrote: > On Thu, 2024-02-01 at 14:07 +0100, 'Quirin Gylstorff' via isar-users > wrote: >> From: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> >> This series adds the variable DEBIAN_SYSTEMD_SERVICE which defines >> a systemd file to automatically be added to the debian folder and >> automatically installed by using `dh_installsystemd`. > > Hi, do we really need that interface? > > Usually you just copy these files into the debian folder in > do_prepare_build. That's it. > > There are also more files which get picked up by the debhelpers. We have multiple location and files where the do_install pattern is used: ``` file://postinst" " do_install() { install -d -m 755 ${D}/lib/systemd/system install -m 644 ${WORKDIR}/enable-fsck.service ${D}/lib/systemd/system/ ``` If the the do_prepare_build pattern is sufficient we can also change all service: ``` do_prepare_build:append() { install -m 644 ${WORKDIR}/enable-fsck.service ${S}/debian } ``` Quirin > > Best regards, > Felix > >> >> Quirin Gylstorff (2): >> debianize: use dh_installsystemd to automatically add systemd >> service >> meta/recipe-support: Use DEBIAN_SYSTEMD_SERVICE variable >> >> meta/classes/debianize.bbclass | 15 >> +++++++++++++++ >> meta/recipes-support/enable-fsck/enable-fsck.bb | 6 ++---- >> meta/recipes-support/enable-fsck/files/postinst | 3 --- >> .../expand-on-first-boot_1.4.bb | 7 ++----- >> .../expand-on-first-boot/files/postinst | 3 --- >> .../sshd-regen-keys/sshd-regen-keys_0.4.bb | 1 + >> 6 files changed, 20 insertions(+), 15 deletions(-) >> delete mode 100644 meta/recipes-support/enable-fsck/files/postinst >> delete mode 100644 meta/recipes-support/expand-on-first- >> boot/files/postinst >> >> -- >> 2.43.0 >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH 0/2] debianize: Use dh_installsystemd 2024-02-01 15:48 ` Gylstorff Quirin @ 2024-02-01 15:52 ` Anton Mikanovich 2024-02-15 8:42 ` MOESSBAUER, Felix 1 sibling, 0 replies; 7+ messages in thread From: Anton Mikanovich @ 2024-02-01 15:52 UTC (permalink / raw) To: Gylstorff Quirin, Moessbauer, Felix (T CED OES-DE), isar-users 01/02/2024 17:48, 'Gylstorff Quirin' via isar-users wrote: > > We have multiple location and files where the do_install pattern is > used: > ``` > file://postinst" > " > > do_install() { > install -d -m 755 ${D}/lib/systemd/system > install -m 644 ${WORKDIR}/enable-fsck.service > ${D}/lib/systemd/system/ > ``` > > If the the do_prepare_build pattern is sufficient we can also change > all service: > > ``` > do_prepare_build:append() { > install -m 644 ${WORKDIR}/enable-fsck.service ${S}/debian > > } > ``` > > Quirin > I hope the same can be done by subdir=debian in SRC_URI, not sure about dpkg-raw recipes. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH 0/2] debianize: Use dh_installsystemd 2024-02-01 15:48 ` Gylstorff Quirin 2024-02-01 15:52 ` Anton Mikanovich @ 2024-02-15 8:42 ` MOESSBAUER, Felix 1 sibling, 0 replies; 7+ messages in thread From: MOESSBAUER, Felix @ 2024-02-15 8:42 UTC (permalink / raw) To: quirin.gylstorff, isar-users On Thu, 2024-02-01 at 16:48 +0100, Gylstorff Quirin wrote: > > > On 2/1/24 16:16, Moessbauer, Felix (T CED OES-DE) wrote: > > On Thu, 2024-02-01 at 14:07 +0100, 'Quirin Gylstorff' via isar- > > users > > wrote: > > > From: Quirin Gylstorff <quirin.gylstorff@siemens.com> > > > > > > This series adds the variable DEBIAN_SYSTEMD_SERVICE which > > > defines > > > a systemd file to automatically be added to the debian folder and > > > automatically installed by using `dh_installsystemd`. > > > > Hi, do we really need that interface? > > > > Usually you just copy these files into the debian folder in > > do_prepare_build. That's it. > > > > There are also more files which get picked up by the debhelpers. > > We have multiple location and files where the do_install pattern is > used: > ``` > file://postinst" > " > > do_install() { > install -d -m 755 ${D}/lib/systemd/system > install -m 644 ${WORKDIR}/enable-fsck.service > ${D}/lib/systemd/system/ > ``` > > If the the do_prepare_build pattern is sufficient we can also change > all > service: > > ``` > do_prepare_build:append() { > install -m 644 ${WORKDIR}/enable-fsck.service ${S}/debian > > } This in principle is a good pattern, but is prone to rebuild errors as ${S}/debian is not cleaned beforehand. Unfortunately we cannot always add do_prepare_build[cleandirs] += "${S}/debian", as this runs after the do_unpack which might already place files there. Maybe just add this line to the respective recipes? Felix > ``` > > Quirin > > > > Best regards, > > Felix > > > > > > > > Quirin Gylstorff (2): > > > debianize: use dh_installsystemd to automatically add systemd > > > service > > > meta/recipe-support: Use DEBIAN_SYSTEMD_SERVICE variable > > > > > > meta/classes/debianize.bbclass | 15 > > > +++++++++++++++ > > > meta/recipes-support/enable-fsck/enable-fsck.bb | 6 ++---- > > > meta/recipes-support/enable-fsck/files/postinst | 3 --- > > > .../expand-on-first-boot_1.4.bb | 7 ++----- > > > .../expand-on-first-boot/files/postinst | 3 --- > > > .../sshd-regen-keys/sshd-regen-keys_0.4.bb | 1 + > > > 6 files changed, 20 insertions(+), 15 deletions(-) > > > delete mode 100644 meta/recipes-support/enable- > > > fsck/files/postinst > > > delete mode 100644 meta/recipes-support/expand-on-first- > > > boot/files/postinst > > > > > > -- > > > 2.43.0 > > > > > -- Siemens AG, Technology Linux Expert Center ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-02-15 8:43 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-02-01 13:07 [RFC PATCH 0/2] debianize: Use dh_installsystemd Quirin Gylstorff 2024-02-01 13:07 ` [RFC PATCH 1/2] debianize: use dh_installsystemd to automatically add systemd service Quirin Gylstorff 2024-02-01 13:07 ` [RFC PATCH 2/2] meta/recipe-support: Use DEBIAN_SYSTEMD_SERVICE variable Quirin Gylstorff 2024-02-01 15:16 ` [RFC PATCH 0/2] debianize: Use dh_installsystemd MOESSBAUER, Felix 2024-02-01 15:48 ` Gylstorff Quirin 2024-02-01 15:52 ` Anton Mikanovich 2024-02-15 8:42 ` MOESSBAUER, Felix
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox