public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH 1/3] buildprocess: Add extra metadata to meta-* files
Date: Tue, 18 May 2021 12:12:42 +0100	[thread overview]
Message-ID: <42D21B8F-2906-48DA-938E-675496F0340B@ipfire.org> (raw)
In-Reply-To: <1ebb78d666cedb709676c724fa3c52afd5ecd42c.camel@disroot.org>

[-- Attachment #1: Type: text/plain, Size: 6453 bytes --]

Hello,

> On 14 May 2021, at 21:16, Robin Roevens <robin.roevens(a)disroot.org> wrote:
> 
> Hi
> 
> Michael Tremer schreef op vr 14-05-2021 om 13:23 [+0100]:
>> Hello,
>> 
>>> On 23 Apr 2021, at 17:15, Robin Roevens <robin.roevens(a)disroot.org>
>>> wrote:
>>> 
>>> * Introduce SUMMARY and INITSCRIPTS macro's in LFS-makefiles.
>>> * Add a Summary and InitScripts field to the meta-* addon files
>>>  containing the value's of those macro's.
>>> * Replace the INSTALL_INITSCRIPT makefile macro by a new
>>>  INSTALL_INITSCRIPTS macro/method that will install all initscripts
>>>  defined in the new INITSCRIPTS macro.
>>> * Adapt libvirt and zabbix_agentd pak as examples of how to use
>>> this.
>>> 
>>> Signed-off-by: Robin Roevens <robin.roevens(a)disroot.org>
>>> ---
>>> lfs/Config        | 8 ++++++--
>>> lfs/libvirt       | 6 ++++--
>>> lfs/zabbix_agentd | 5 ++++-
>>> src/pakfire/meta  | 2 ++
>>> 4 files changed, 16 insertions(+), 5 deletions(-)
>>> 
>>> diff --git a/lfs/Config b/lfs/Config
>>> index eadbbc408..61d6f0c82 100644
>>> --- a/lfs/Config
>>> +++ b/lfs/Config
>>> @@ -299,15 +299,19 @@ define PAK
>>>         # Create meta file
>>>         sed \
>>>                 -e "s/NAME/$(PROG)/g" \
>>> +               -e "s/SUMMARY/$(SUMMARY)/g" \
>>>                 -e "s/VER/$(VER)/g" \
>>>                 -e "s/RELEASE/$(PAK_VER)/g" \
>>>                 -e "s/DEPS/$(DEPS)/g" \
>>>                 -e "s/SIZE/$$(stat --format=%s
>>> /install/packages/$(PROG)-$(VER)-$(PAK_VER).ipfire)/g" \
>>> +               -e "s/INITSCRIPTS/$(INITSCRIPTS)/g" \
>>>           < /usr/src/src/pakfire/meta > /install/packages/meta-
>>> $(PROG)
>>> endef
>>> 
>>> -define INSTALL_INITSCRIPT
>>> -       install -m 754 -v $(DIR_SRC)/src/initscripts/packages/$(1) 
>>> /etc/rc.d/init.d/$(1)
>>> +define INSTALL_INITSCRIPTS
>>> +       for initscript in $(INITSCRIPTS); do \
>>> +               install -m 754 -v
>>> $(DIR_SRC)/src/initscripts/packages/$$initscript 
>>> /etc/rc.d/init.d/$$initscript; \
>>> +       done
>>> endef
>> 
>> This won’t abort any more if there install command failed. The exit
>> code is ignored and the loop will continue with its next iteration.
>> 
>> You could add “|| exit 1” after the install command. There should be
>> plenty of examples in the code where this has been used.
>> 
> 
> Good point. will add that.
> 
>>> ifeq "$(BUILD_ARCH)" "$(filter $(BUILD_ARCH),aarch64 riscv64)"
>>> diff --git a/lfs/libvirt b/lfs/libvirt
>>> index 28a95d317..be5d3db3a 100644
>>> --- a/lfs/libvirt
>>> +++ b/lfs/libvirt
>>> @@ -25,6 +25,7 @@
>>> include Config
>>> 
>>> VER        = 6.5.0
>>> +SUMMARY           = Server side daemon and supporting files for
>>> libvirt
>>> 
>>> THISAPP    = libvirt-$(VER)
>>> DL_FILE    = $(THISAPP).tar.xz
>>> @@ -37,6 +38,8 @@ PAK_VER    = 25
>>> 
>>> DEPS       = ebtables libpciaccess libtirpc libyajl ncat qemu
>>> 
>>> +INITSCRIPTS= libvirtd virtlogd
>>> +
>>> ###################################################################
>>> ############
>>> # Top-level Rules
>>> ###################################################################
>>> ############
>>> @@ -121,8 +124,7 @@ $(TARGET) : $(patsubst
>>> %,$(DIR_DL)/%,$(objects))
>>>         cd $(DIR_APP)/build_libvirt && make install
>>> 
>>>         #install initscripts
>>> -       $(call INSTALL_INITSCRIPT,libvirtd)
>>> -       $(call INSTALL_INITSCRIPT,virtlogd)
>>> +       @$(INSTALL_INITSCRIPTS)
>>>         mv /usr/libexec/libvirt-guests.sh /etc/rc.d/init.d/libvirt-
>>> guests
>>> 
>>>         # Backup
>>> diff --git a/lfs/zabbix_agentd b/lfs/zabbix_agentd
>>> index c69643a54..a72fe024b 100644
>>> --- a/lfs/zabbix_agentd
>>> +++ b/lfs/zabbix_agentd
>>> @@ -25,6 +25,7 @@
>>> include Config
>>> 
>>> VER        = 4.2.6
>>> +SUMMARY    = Zabbix Agent
>>> 
>>> THISAPP    = zabbix-$(VER)
>>> DL_FILE    = $(THISAPP).tar.gz
>>> @@ -35,6 +36,8 @@ PROG       = zabbix_agentd
>>> PAK_VER    = 4
>>> DEPS       =
>>> 
>>> +INITSCRIPTS= zabbix_agentd
>>> +
>>> ###################################################################
>>> ############
>>> # Top-level Rules
>>> ###################################################################
>>> ############
>>> @@ -106,7 +109,7 @@ $(TARGET) : $(patsubst
>>> %,$(DIR_DL)/%,$(objects))
>>>         chown zabbix.zabbix /var/run/zabbix
>>> 
>>>         # Install initscripts
>>> -       $(call INSTALL_INITSCRIPT,zabbix_agentd)
>>> +       @$(INSTALL_INITSCRIPTS)
>>> 
>>>         # Install sudoers include file
>>>         install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/sudoers \
>>> diff --git a/src/pakfire/meta b/src/pakfire/meta
>>> index d97b2a0fa..849b9cd6c 100644
>>> --- a/src/pakfire/meta
>>> +++ b/src/pakfire/meta
>>> @@ -1,6 +1,8 @@
>>> Name: NAME
>>> +Summary: SUMMARY
>>> ProgVersion: VER
>>> Release: RELEASE
>>> Size: SIZE
>>> Dependencies: DEPS
>>> File: NAME-VER-RELEASE.ipfire
>>> +InitScripts: INITSCRIPTS
>>> -- 
>>> 2.31.1
>> 
>> Also, what happens with all the other files that used to call
>> “INSTALL_INITSCRIPT”?
>> 
> 
> What other files call INSTALL_INITSCRIPT ? Is it not only called from
> the lfs files?
> The intention is of course, in the final patch-set to adapt all lfs
> files to use the INITSCRIPTS variable and call INSTALL_INITSCIPTS
> instead of individual calls to INSTALL_INITSCRIPT. But I did not yet
> want to do this, since my idea could also be shot down or drastically
> adapted, making that work obsolete. (already proven by my new
> SERVICES/INITSCRIPTS proposal in my previous mail). SO I currently only
> included 2 examples (zabbix_agentd and libvirt) of the changes to the
> lfs files involved.
> If that is what you meant ?

Okay, that wasn’t clear to me, but this is what I was referring to.

INSTALL_INITSCRIPTS is called 56 times and you want to change it, all those files would need to be changed, too.

However, let’s sort out Jonatan’s point first and see what a good solution would be.

Best,
-Michael

> 
> Regards
> Robin
> 
>> -Michael
>> 
>>> -- 
>>> Dit bericht is gescanned op virussen en andere gevaarlijke
>>> inhoud door MailScanner en lijkt schoon te zijn.
>>> 
>> 
>> 
> 
> 
> -- 
> Dit bericht is gescanned op virussen en andere gevaarlijke
> inhoud door MailScanner en lijkt schoon te zijn.


  reply	other threads:[~2021-05-18 11:12 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-23 16:15 [PATCH 0/3] Pakfile metadata enhancements Robin Roevens
2021-04-23 16:15 ` [PATCH 1/3] buildprocess: Add extra metadata to meta-* files Robin Roevens
2021-05-12 18:49   ` Jonatan Schlag
2021-05-14 12:24     ` Michael Tremer
2021-05-14 20:07       ` Robin Roevens
2021-05-18 15:09         ` Michael Tremer
2021-05-24 20:23           ` Robin Roevens
2021-06-06 18:41             ` Robin Roevens
2021-06-10 11:27               ` Michael Tremer
2021-06-17 22:28                 ` Robin Roevens
2021-06-18  8:32                   ` Michael Tremer
2021-06-10 11:24             ` Michael Tremer
2021-05-14 12:23   ` Michael Tremer
2021-05-14 20:16     ` Robin Roevens
2021-05-18 11:12       ` Michael Tremer [this message]
2021-04-23 16:15 ` [PATCH 2/3] pakfire: add 'info <pak(s)>' option Robin Roevens
2021-05-13  8:02   ` Jonatan Schlag
2021-05-13 19:11     ` Robin Roevens
2021-05-14 12:19       ` Michael Tremer
2021-05-14 20:24         ` Robin Roevens
2021-05-25 11:22           ` Michael Tremer
2021-04-23 16:15 ` [PATCH 3/3] services.cgi: use new Pakfire::pakinfo function Robin Roevens
2021-05-11 19:30 ` group call for review/opinions/idea's (was: [PATCH 0/3] Pakfile metadata enhancements) Robin Roevens
2021-05-12 18:45 ` [PATCH 0/3] Pakfile metadata enhancements Jonatan Schlag
2021-05-12 22:31   ` Robin Roevens
2021-05-15 12:10     ` Adolf Belka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42D21B8F-2906-48DA-938E-675496F0340B@ipfire.org \
    --to=michael.tremer@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox