From: Giulio Benetti <giulio.benetti@benettiengineering.com>
To: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <bernd@kuhls.net>,
Giulio Benetti <giulio.benetti+tekvox@benettiengineering.com>,
James Autry <jautry@tekvox.com>,
Matthew Maron <matthewm@tekvox.com>,
buildroot@buildroot.org, Jim Reinhart <jimr@tekvox.com>
Subject: Re: [Buildroot] [PATCH v4] package/apache: add option BR2_PACKAGE_APACHE_DAEMON
Date: Fri, 22 Sep 2023 23:09:50 +0200 [thread overview]
Message-ID: <88324aaa-6893-41fc-968a-d762097cd8a3@benettiengineering.com> (raw)
In-Reply-To: <20230921205637.GN512384@scaer>
Hi Yann, All,
On 21/09/23 22:56, Yann E. MORIN wrote:
> Giulio, All,
>
> You sent your v4 while I was writing my review of v3, so you could not
> have adressed my comments. Concurrency in computers is really hard, but
> is even harder with humans! ;-)
>
> This is however a good opportunity to add what I forgot...
>
> On 2023-09-21 22:32 +0200, Giulio Benetti spake thusly:
>> From: Giulio Benetti <giulio.benetti+tekvox@benettiengineering.com>
>>
>> With option BR2_PACKAGE_APACHE_DAEMON disabled only htdigest and htpasswd
>> are built and installed. By default BR2_PACKAGE_APACHE_DAEMON is enabled
>> and entire apache daemon is built. This is useful for Mongoose credentials
>> handling.
>
> Your commit log must not describe the commit; it must explain it. Start
> with the problem you have, and then explain how you fixed it. E.g.:
>
> package/apache: add option to disable server
>
> Other packages (e.g. mongoose) can use htdigest and htpasswd, but
> those are only available with apache.
>
> We don't want to build the whole apache server just for those tools,
> so we add an option to disable the server; it is enabled by default
> for legacy purposes (so that existing (def)configs still work).
>
> (adapt the following:)
>
> However, there is not way to tell the apache buildsystem to only
> build those two tools, so we have to provide custom build and
> install commands; they are statically linked against the apache
> internal helper libs, so we have nothing to install besides those
> two executables.
>
> About that last part: if --disable-http et al. really do the job, then
> it is moot, of course: adapt it appropriately.
Thanks a lot for commit log suggestion!
Going to send V5(and wait a bit :-))
Best regards
--
Giulio Benetti
CEO&CTO@Benetti Engineering sas
> Regards,
> Yann E. MORIN.
>
>> Cc: Jim Reinhart <jimr@tekvox.com>
>> Cc: James Autry <jautry@tekvox.com>
>> Cc: Matthew Maron <matthewm@tekvox.com>
>> Signed-off-by: Giulio Benetti <giulio.benetti+tekvox@benettiengineering.com>
>> ---
>> V1->V2:
>> * Hide "External Apache modules" if BR2_PACKAGE_APACHE_UTILS_ONLY is enabled
>> V2->V3:
>> as suggested by Arnout:
>> * change negative option BR2_PACKAGE_APACHE_UTILS_ONLY to BR2_PACKAGE_APACHE_DAEMON
>> * set a common APACHE_CONF_OPTS and only add specific options for
>> BR2_PACKAGE_APACHE_DAEMON enabled or not
>> V3->V4:
>> * drop --with-static-* options as suggested by Arnout
>> ---
>> package/Config.in | 2 +-
>> package/apache/Config.in | 9 +++++++++
>> package/apache/apache.mk | 20 +++++++++++++++++---
>> 3 files changed, 27 insertions(+), 4 deletions(-)
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index cc99be39fb..cd7fe056b8 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -2279,7 +2279,7 @@ menu "Networking applications"
>> source "package/alfred/Config.in"
>> source "package/aoetools/Config.in"
>> source "package/apache/Config.in"
>> -if BR2_PACKAGE_APACHE
>> +if BR2_PACKAGE_APACHE_DAEMON
>> menu "External Apache modules"
>> source "package/modsecurity2/Config.in"
>> endmenu
>> diff --git a/package/apache/Config.in b/package/apache/Config.in
>> index 270296bce4..5e9e4c5f9d 100644
>> --- a/package/apache/Config.in
>> +++ b/package/apache/Config.in
>> @@ -17,6 +17,14 @@ config BR2_PACKAGE_APACHE
>>
>> if BR2_PACKAGE_APACHE
>>
>> +config BR2_PACKAGE_APACHE_DAEMON
>> + bool "apache-daemon"
>> + default y
>> + help
>> + Provide entire Apache daemon, otherwise only htdigest and htpasswd
>> + will be built and installed.
>> +
>> +if BR2_PACKAGE_APACHE_DAEMON
>> choice
>> prompt "Multi-Processing Module (MPM)"
>> default BR2_PACKAGE_APACHE_MPM_WORKER
>> @@ -40,6 +48,7 @@ config BR2_PACKAGE_APACHE_MPM_WORKER
>> Implements a hybrid multi-threaded multi-process web server
>>
>> endchoice
>> +endif
>>
>> endif
>>
>> diff --git a/package/apache/apache.mk b/package/apache/apache.mk
>> index 320a6ad20e..994842b455 100644
>> --- a/package/apache/apache.mk
>> +++ b/package/apache/apache.mk
>> @@ -12,8 +12,6 @@ APACHE_LICENSE_FILES = LICENSE
>> APACHE_CPE_ID_VENDOR = apache
>> APACHE_CPE_ID_PRODUCT = http_server
>> APACHE_SELINUX_MODULES = apache
>> -# Needed for mod_php
>> -APACHE_INSTALL_STAGING = YES
>> # We have a patch touching configure.in and Makefile.in,
>> # so we need to autoreconf:
>> APACHE_AUTORECONF = YES
>> @@ -32,10 +30,16 @@ APACHE_MPM = worker
>> endif
>>
>> APACHE_CONF_OPTS = \
>> - --sysconfdir=/etc/apache2 \
>> --with-apr=$(STAGING_DIR)/usr \
>> --with-apr-util=$(STAGING_DIR)/usr \
>> --with-pcre=$(STAGING_DIR)/usr/bin/pcre2-config \
>> +
>> +ifeq ($(BR2_PACKAGE_APACHE_DAEMON),y)
>> +# Needed for mod_php
>> +APACHE_INSTALL_STAGING = YES
>> +
>> +APACHE_CONF_OPTS += \
>> + --sysconfdir=/etc/apache2 \
>> --enable-http \
>> --enable-dbd \
>> --enable-proxy \
>> @@ -121,5 +125,15 @@ define APACHE_INSTALL_INIT_SYSTEMD
>> $(INSTALL) -D -m 644 package/apache/apache.service \
>> $(TARGET_DIR)/usr/lib/systemd/system/apache.service
>> endef
>> +else
>> +define APACHE_BUILD_CMDS
>> + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/support htdigest htpasswd
>> +endef
>> +
>> +define APACHE_INSTALL_TARGET_CMDS
>> + $(INSTALL) -m 0755 -D $(@D)/support/htdigest $(TARGET_DIR)/usr/bin/htdigest
>> + $(INSTALL) -m 0755 -D $(@D)/support/htpasswd $(TARGET_DIR)/usr/bin/htpasswd
>> +endef
>> +endif
>>
>> $(eval $(autotools-package))
>> --
>> 2.34.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2023-09-22 21:09 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-21 20:32 [Buildroot] [PATCH v4] package/apache: add option BR2_PACKAGE_APACHE_DAEMON Giulio Benetti
2023-09-21 20:56 ` Yann E. MORIN
2023-09-22 21:09 ` Giulio Benetti [this message]
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=88324aaa-6893-41fc-968a-d762097cd8a3@benettiengineering.com \
--to=giulio.benetti@benettiengineering.com \
--cc=bernd@kuhls.net \
--cc=buildroot@buildroot.org \
--cc=giulio.benetti+tekvox@benettiengineering.com \
--cc=jautry@tekvox.com \
--cc=jimr@tekvox.com \
--cc=matthewm@tekvox.com \
--cc=yann.morin.1998@free.fr \
/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