All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] lighttpd-1.4.72
@ 2023-10-20 11:48 Glenn Strauss
  2023-10-20 11:48 ` [PATCH 1/3] lighttpd: upgrade 1.4.71 -> 1.4.72 Glenn Strauss
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Glenn Strauss @ 2023-10-20 11:48 UTC (permalink / raw
  To: poky; +Cc: Glenn Strauss

From: Glenn Strauss <gstrauss@gluelogic.com>


Glenn Strauss (3):
  lighttpd: upgrade 1.4.71 -> 1.4.72
  lighttpd: update init script
  lighttpd: modernize lighttpd.conf

 .../lighttpd/lighttpd/lighttpd                | 19 +++++++++-
 .../lighttpd/lighttpd/lighttpd.conf           | 38 ++++---------------
 ...{lighttpd_1.4.71.bb => lighttpd_1.4.72.bb} |  2 +-
 3 files changed, 26 insertions(+), 33 deletions(-)
 rename meta/recipes-extended/lighttpd/{lighttpd_1.4.71.bb => lighttpd_1.4.72.bb} (97%)

-- 
2.41.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/3] lighttpd: upgrade 1.4.71 -> 1.4.72
  2023-10-20 11:48 [PATCH 0/3] lighttpd-1.4.72 Glenn Strauss
@ 2023-10-20 11:48 ` Glenn Strauss
  2023-10-20 16:28   ` [poky] " Khem Raj
  2023-10-20 11:48 ` [PATCH 2/3] lighttpd: update init script Glenn Strauss
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Glenn Strauss @ 2023-10-20 11:48 UTC (permalink / raw
  To: poky; +Cc: Glenn Strauss

From: Glenn Strauss <gstrauss@gluelogic.com>

Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
---
 .../lighttpd/{lighttpd_1.4.71.bb => lighttpd_1.4.72.bb}         | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-extended/lighttpd/{lighttpd_1.4.71.bb => lighttpd_1.4.72.bb} (97%)

diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.71.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.72.bb
similarity index 97%
rename from meta/recipes-extended/lighttpd/lighttpd_1.4.71.bb
rename to meta/recipes-extended/lighttpd/lighttpd_1.4.72.bb
index 3959f88b98..87058719f9 100644
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.71.bb
+++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.72.bb
@@ -16,7 +16,7 @@ SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.t
            file://lighttpd \
            "
 
-SRC_URI[sha256sum] = "b8b6915da20396fdc354df3324d5e440169b2e5ea7859e3a775213841325afac"
+SRC_URI[sha256sum] = "f7cade4d69b754a0748c01463c33cd8b456ca9cc03bb09e85a71bcbcd54e55ec"
 
 DEPENDS = "virtual/crypt"
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/3] lighttpd: update init script
  2023-10-20 11:48 [PATCH 0/3] lighttpd-1.4.72 Glenn Strauss
  2023-10-20 11:48 ` [PATCH 1/3] lighttpd: upgrade 1.4.71 -> 1.4.72 Glenn Strauss
@ 2023-10-20 11:48 ` Glenn Strauss
  2023-10-20 11:48 ` [PATCH 3/3] lighttpd: modernize lighttpd.conf Glenn Strauss
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Glenn Strauss @ 2023-10-20 11:48 UTC (permalink / raw
  To: poky; +Cc: Glenn Strauss

From: Glenn Strauss <gstrauss@gluelogic.com>

- add configtest option
- add configtest before starting, restart, reload, force-reload
- change reload,force-reload to use lighttpd graceful restart
  via kill signal USR1

Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
---
 .../lighttpd/lighttpd/lighttpd                | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-extended/lighttpd/lighttpd/lighttpd b/meta/recipes-extended/lighttpd/lighttpd/lighttpd
index 82fbaa523b..f369dce42c 100644
--- a/meta/recipes-extended/lighttpd/lighttpd/lighttpd
+++ b/meta/recipes-extended/lighttpd/lighttpd/lighttpd
@@ -6,9 +6,14 @@ NAME=lighttpd
 DESC="Lighttpd Web Server"
 OPTS="-f /etc/lighttpd/lighttpd.conf"
 
+configtest() {
+	"$DAEMON" $OPTS -tt || exit 1
+}
+
 case "$1" in
   start)
 	echo -n "Starting $DESC: "
+	configtest
 	start-stop-daemon --start -x "$DAEMON" -- $OPTS
 	echo "$NAME."
 	;;
@@ -17,16 +22,26 @@ case "$1" in
 	start-stop-daemon --stop -x "$DAEMON"
 	echo "$NAME."
 	;;
-  restart|force-reload)
+  restart)
 	echo -n "Restarting $DESC: "
+	configtest
 	start-stop-daemon --stop -x "$DAEMON"
 	sleep 1
 	start-stop-daemon --start -x "$DAEMON" -- $OPTS
 	echo "$NAME."
 	;;
+  reload|force-reload)
+	echo -n "Reloading $DESC: "
+	configtest
+	killall -USR1 "${DAEMON##*/}"
+	echo "$NAME."
+	;;
+  configtest)
+	configtest
+	;;
   *)
 	N=/etc/init.d/$NAME
-	echo "Usage: $N {start|stop|restart|force-reload}" >&2
+	echo "Usage: $N {start|stop|restart|reload|force-reload|configtest}" >&2
 	exit 1
 	;;
 esac
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/3] lighttpd: modernize lighttpd.conf
  2023-10-20 11:48 [PATCH 0/3] lighttpd-1.4.72 Glenn Strauss
  2023-10-20 11:48 ` [PATCH 1/3] lighttpd: upgrade 1.4.71 -> 1.4.72 Glenn Strauss
  2023-10-20 11:48 ` [PATCH 2/3] lighttpd: update init script Glenn Strauss
@ 2023-10-20 11:48 ` Glenn Strauss
  2023-10-20 12:08 ` [poky] [PATCH 0/3] lighttpd-1.4.72 Richard Purdie
  2023-10-20 12:18 ` Ross Burton
  4 siblings, 0 replies; 13+ messages in thread
From: Glenn Strauss @ 2023-10-20 11:48 UTC (permalink / raw
  To: poky; +Cc: Glenn Strauss

From: Glenn Strauss <gstrauss@gluelogic.com>

- remove obsolete modules
- replace mod_compress directives with mod_deflate
- do not enable debug.log-request-handling by default
  (should not be enabled *by default* on any production system,
   especially not an embedded system)
- update TLS syntax for modern recommended use
  (separate files for certificate+chain, and private key)
- remove incorrect comment about server.event-handler
  lighttpd defaults correctly to use kqueue on *BSD systems
- remove ancient config which disables range requests for PDF
  (cargo-culted config from ~15 years ago to address problem
   in then-popular PDF client)
- use recommend config file include syntax
  (more efficient and more deterministic include file ordering)

Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
---
 .../lighttpd/lighttpd/lighttpd.conf           | 38 ++++---------------
 1 file changed, 8 insertions(+), 30 deletions(-)

diff --git a/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf b/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
index 6e8402d242..47a6c93349 100644
--- a/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
+++ b/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
@@ -16,8 +16,6 @@ server.modules              = (
 #                               "mod_redirect",
 #                               "mod_alias",
                                 "mod_access",
-#                               "mod_cml",
-#                               "mod_trigger_b4_dl",
 #                               "mod_auth",
 #                               "mod_status",
 #                               "mod_setenv",
@@ -27,11 +25,9 @@ server.modules              = (
 #                               "mod_evhost",
 #                               "mod_userdir",
 #                               "mod_cgi",
-#                               "mod_compress",
 #                               "mod_ssi",
-#                               "mod_usertrack",
 #                               "mod_expire",
-#                               "mod_secdownload",
+#                               "mod_deflate",
 #                               "mod_rrdtool",
 #				"mod_webdav",
                                 "mod_accesslog" )
@@ -47,9 +43,6 @@ server.errorlog             = "/www/logs/lighttpd.error.log"
 index-file.names            = ( "index.php", "index.html",
                                 "index.htm", "default.htm" )
 
-## set the event-handler (read the performance section in the manual)
-# server.event-handler = "freebsd-kqueue" # needed on OS X
-
 # mimetype mapping
 mimetype.assign             = (
   ".pdf"          =>      "application/pdf",
@@ -115,7 +108,6 @@ mimetype.assign             = (
 
 #### accesslog module
 accesslog.filename          = "/www/logs/access.log"
-debug.log-request-handling = "enable"
 
 
 
@@ -127,10 +119,6 @@ debug.log-request-handling = "enable"
 #      of the document-root
 url.access-deny             = ( "~", ".inc" )
 
-$HTTP["url"] =~ "\.pdf$" {
-  server.range-requests = "disable"
-}
-
 ##
 # which extensions should not be handle via static-file transfer
 #
@@ -177,6 +165,7 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
 #dir-listing.activate       = "enable"
 
 ## enable debugging
+#debug.log-request-header-on-error = "enable"
 #debug.log-request-header   = "enable"
 #debug.log-response-header  = "enable"
 #debug.log-request-handling = "enable"
@@ -194,8 +183,9 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
 #server.groupname           = "wwwrun"
 
 #### compress module
-#compress.cache-dir         = "/tmp/lighttpd/cache/compress/"
-#compress.filetype          = ("text/plain", "text/html")
+#deflate.cache-dir          = "/tmp/lighttpd/cache/compress/"
+#deflate.mimetypes          = ("text/plain", "text/html")
+#deflate.allowed-encodings  = ("gzip")
 
 #### proxy module
 ## read proxy.txt for more info
@@ -227,7 +217,8 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
 
 #### SSL engine
 #ssl.engine                 = "enable"
-#ssl.pemfile                = "server.pem"
+#ssl.pemfile                = "/path/to/fullchain.pem"
+#ssl.privkey                = "/path/to/privkey.pem"
 
 #### status module
 #status.status-url          = "/server-status"
@@ -291,19 +282,6 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
 #setenv.add-request-header  = ( "TRAV_ENV" => "mysql://user@host/db" )
 #setenv.add-response-header = ( "X-Secret-Message" => "42" )
 
-## for mod_trigger_b4_dl
-# trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db"
-# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
-# trigger-before-download.trigger-url = "^/trigger/"
-# trigger-before-download.download-url = "^/download/"
-# trigger-before-download.deny-url = "http://127.0.0.1/index.html"
-# trigger-before-download.trigger-timeout = 10
-
-## for mod_cml
-## don't forget to add index.cml to server.indexfiles
-# cml.extension               = ".cml"
-# cml.memcache-hosts          = ( "127.0.0.1:11211" )
-
 #### variable usage:
 ## variable name without "." is auto prefixed by "var." and becomes "var.bar"
 #bar = 1
@@ -328,4 +306,4 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
 #var.a=1
 
 # include other config file fragments from lighttpd.d subdir
-include_shell "find /etc/lighttpd.d -maxdepth 1 -name '*.conf' -exec cat {} \;" 
+include "/etc/lighttpd.d/*.conf"
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [poky] [PATCH 0/3] lighttpd-1.4.72
  2023-10-20 11:48 [PATCH 0/3] lighttpd-1.4.72 Glenn Strauss
                   ` (2 preceding siblings ...)
  2023-10-20 11:48 ` [PATCH 3/3] lighttpd: modernize lighttpd.conf Glenn Strauss
@ 2023-10-20 12:08 ` Richard Purdie
  2023-10-20 12:18 ` Ross Burton
  4 siblings, 0 replies; 13+ messages in thread
From: Richard Purdie @ 2023-10-20 12:08 UTC (permalink / raw
  To: Glenn Strauss, poky; +Cc: Glenn Strauss

On Fri, 2023-10-20 at 07:48 -0400, Glenn Strauss wrote:
> From: Glenn Strauss <gstrauss@gluelogic.com>
> 
> 
> Glenn Strauss (3):
>   lighttpd: upgrade 1.4.71 -> 1.4.72
>   lighttpd: update init script
>   lighttpd: modernize lighttpd.conf
> 
>  .../lighttpd/lighttpd/lighttpd                | 19 +++++++++-
>  .../lighttpd/lighttpd/lighttpd.conf           | 38 ++++---------------
>  ...{lighttpd_1.4.71.bb => lighttpd_1.4.72.bb} |  2 +-
>  3 files changed, 26 insertions(+), 33 deletions(-)
>  rename meta/recipes-extended/lighttpd/{lighttpd_1.4.71.bb => lighttpd_1.4.72.bb} (97%)

At a quick glance the patches look reasonable, thanks. Would you be
able to resend this series to the openembededded-core mailing list
though please? Patches for that component should be sent there.

Cheers,

Richard


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [poky] [PATCH 0/3] lighttpd-1.4.72
  2023-10-20 11:48 [PATCH 0/3] lighttpd-1.4.72 Glenn Strauss
                   ` (3 preceding siblings ...)
  2023-10-20 12:08 ` [poky] [PATCH 0/3] lighttpd-1.4.72 Richard Purdie
@ 2023-10-20 12:18 ` Ross Burton
  2023-10-20 12:54   ` gs-yoctoproject.org
  4 siblings, 1 reply; 13+ messages in thread
From: Ross Burton @ 2023-10-20 12:18 UTC (permalink / raw
  To: gs-yoctoproject.org@gluelogic.com
  Cc: poky@lists.yoctoproject.org, Glenn Strauss

On 20 Oct 2023, at 12:48, Glenn Strauss via lists.yoctoproject.org <gs-yoctoproject.org=gluelogic.com@lists.yoctoproject.org> wrote:
> Glenn Strauss (3):
>  lighttpd: upgrade 1.4.71 -> 1.4.72
>  lighttpd: update init script
>  lighttpd: modernize lighttpd.conf

Poky is a generated repository that doesn’t actually have any patches directly merged into it, so these should be sent to openembedded-core@lists.yoctoproject.org <mailto:openembedded-core@lists.yoctoproject.org>.

However, I was also just looking at the lighttpd recipe.  Specifically I was extracting the sample site from the main package so it’s easier to add in your own site files, basically putting /var/www/pages into lighttpd-site-sample and then recommending that from the main package.  The goal being that in the simple test case the sample site is pulled in, but it’s trivial to package up your own site that conflicts with site-sample.

This worked but then I realised that the config file is fairly tied to the site too.  As - presumably - a lighttpd user, do you have any opinion on where the lighttpd.conf file should be packaged?  I’m leaning towards bundling it with the sample-site but am undecided as to whether that’s actually a good idea.

Thanks,
Ross

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [poky] [PATCH 0/3] lighttpd-1.4.72
  2023-10-20 12:18 ` Ross Burton
@ 2023-10-20 12:54   ` gs-yoctoproject.org
  2023-10-20 13:55     ` Ross Burton
  0 siblings, 1 reply; 13+ messages in thread
From: gs-yoctoproject.org @ 2023-10-20 12:54 UTC (permalink / raw
  To: Ross Burton; +Cc: poky@lists.yoctoproject.org

On Fri, Oct 20, 2023 at 12:18:22PM +0000, Ross Burton wrote:
> On 20 Oct 2023, at 12:48, Glenn Strauss via lists.yoctoproject.org <gs-yoctoproject.org=gluelogic.com@lists.yoctoproject.org> wrote:
> > Glenn Strauss (3):
> >  lighttpd: upgrade 1.4.71 -> 1.4.72
> >  lighttpd: update init script
> >  lighttpd: modernize lighttpd.conf
> 
> Poky is a generated repository that doesn’t actually have any patches directly merged into it, so these should be sent to openembedded-core@lists.yoctoproject.org <mailto:openembedded-core@lists.yoctoproject.org>.

I'll re-send to the openembedded-core list.
Thanks for the pointer, Richard and Ross.

==> Would someone please update the documentation?

https://docs.yoctoproject.org/contributor-guide/submit-changes.html#finding-a-suitable-mailing-list
4.4.3 Finding a Suitable Mailing List
“meta-*” trees: These trees contain Metadata. Use the poky mailing list.

> However, I was also just looking at the lighttpd recipe.  Specifically I was extracting the sample site from the main package so it’s easier to add in your own site files, basically putting /var/www/pages into lighttpd-site-sample and then recommending that from the main package.  The goal being that in the simple test case the sample site is pulled in, but it’s trivial to package up your own site that conflicts with site-sample.

That sounds reasonable to me.
I like the idea of being able to remove the sample site.
I also like the idea of having a sample site to get people started.

> This worked but then I realised that the config file is fairly tied to the site too.  As - presumably - a lighttpd user, do you have any opinion on where the lighttpd.conf file should be packaged?  I’m leaning towards bundling it with the sample-site but am undecided as to whether that’s actually a good idea.

I am a lighttpd developer.  While I have some strong opinions about
packages and how it is done in many different distros, I am less
familiar with yocto specifics and more interested in trying to help
people run the best available version of lighttpd, which is always
the latest stable release.

I'll share my thoughts and hope some people using lighttpd with ptxdist
can add their opinions, too.

Overall, one-size fits all packaging generally makes tradeoffs
for new users, versus scripters, versus dev-ops.  Personally, I
think packagers tend to overcomplicate things trying to please too
many different user types at once.

The smallest lighttpd config is one line:
  server.document-root = "/path/to/test/site"
and lighttpd will by default listen on port 80 and will run as the user
that started lighttpd.  Often, a test site also includes a second line
in the config:
  index-file.names = ("index.html")
and the test site has a single file /path/to/test/site/index.html

I think that is what distros should ship, along with one more line:
  include "/etc/lighttpd/conf.d/*.conf"

Users can then reconfigure the server as they like by dropping files in
/etc/lighttpd/conf.d/*.conf, including overwriting the default document
root with
  server.document-root := "/path/to/default/site"
and disabling index files with
  index-file.names = ()
or reconfiguring with something like
  index-file.names := ("index.html", "index.htm")

The sample site, if a separate package, could add files into
/etc/lighttpd/conf.d/*.conf (or whatever location ptxdist uses)
with the sample site config.

Cheers, Glenn


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 0/3] lighttpd-1.4.72
@ 2023-10-20 13:30 Glenn Strauss
  0 siblings, 0 replies; 13+ messages in thread
From: Glenn Strauss @ 2023-10-20 13:30 UTC (permalink / raw
  To: openembedded-core; +Cc: Glenn Strauss

From: Glenn Strauss <gstrauss@gluelogic.com>


Glenn Strauss (3):
  lighttpd: upgrade 1.4.71 -> 1.4.72
  lighttpd: update init script
  lighttpd: modernize lighttpd.conf

 .../lighttpd/lighttpd/lighttpd                | 19 +++++++++-
 .../lighttpd/lighttpd/lighttpd.conf           | 38 ++++---------------
 ...{lighttpd_1.4.71.bb => lighttpd_1.4.72.bb} |  2 +-
 3 files changed, 26 insertions(+), 33 deletions(-)
 rename meta/recipes-extended/lighttpd/{lighttpd_1.4.71.bb => lighttpd_1.4.72.bb} (97%)

-- 
2.41.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [poky] [PATCH 0/3] lighttpd-1.4.72
  2023-10-20 12:54   ` gs-yoctoproject.org
@ 2023-10-20 13:55     ` Ross Burton
  2023-10-20 15:40       ` gs-yoctoproject.org
                         ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Ross Burton @ 2023-10-20 13:55 UTC (permalink / raw
  To: gs-yoctoproject.org@gluelogic.com; +Cc: poky@lists.yoctoproject.org

On 20 Oct 2023, at 13:54, gs-yoctoproject.org@gluelogic.com wrote:
> 
> On Fri, Oct 20, 2023 at 12:18:22PM +0000, Ross Burton wrote:
>> On 20 Oct 2023, at 12:48, Glenn Strauss via lists.yoctoproject.org <gs-yoctoproject.org=gluelogic.com@lists.yoctoproject.org> wrote:
>>> Glenn Strauss (3):
>>> lighttpd: upgrade 1.4.71 -> 1.4.72
>>> lighttpd: update init script
>>> lighttpd: modernize lighttpd.conf
>> 
>> Poky is a generated repository that doesn’t actually have any patches directly merged into it, so these should be sent to openembedded-core@lists.yoctoproject.org <mailto:openembedded-core@lists.yoctoproject.org>.
> 
> I'll re-send to the openembedded-core list.
> Thanks for the pointer, Richard and Ross.
> 
> ==> Would someone please update the documentation?
> 
> https://docs.yoctoproject.org/contributor-guide/submit-changes.html#finding-a-suitable-mailing-list
> 4.4.3 Finding a Suitable Mailing List
> “meta-*” trees: These trees contain Metadata. Use the poky mailing list.

So we obviously need to make that list a bit clearer.  The relevant line was two above:

    • Core Metadata: Send your patches to the openembedded-core mailing list. For example, a change to anything under the meta or scripts directories should be sent to this mailing list.

A better way to do that would be to just list the top level folders, I’ll send a change.

>> However, I was also just looking at the lighttpd recipe.  Specifically I was extracting the sample site from the main package so it’s easier to add in your own site files, basically putting /var/www/pages into lighttpd-site-sample and then recommending that from the main package.  The goal being that in the simple test case the sample site is pulled in, but it’s trivial to package up your own site that conflicts with site-sample.
> 
> That sounds reasonable to me.
> I like the idea of being able to remove the sample site.
> I also like the idea of having a sample site to get people started.
> 
>> This worked but then I realised that the config file is fairly tied to the site too.  As - presumably - a lighttpd user, do you have any opinion on where the lighttpd.conf file should be packaged?  I’m leaning towards bundling it with the sample-site but am undecided as to whether that’s actually a good idea.
> 
> I am a lighttpd developer.  While I have some strong opinions about
> packages and how it is done in many different distros, I am less
> familiar with yocto specifics and more interested in trying to help
> people run the best available version of lighttpd, which is always
> the latest stable release.
> 
> I'll share my thoughts and hope some people using lighttpd with ptxdist
> can add their opinions, too.
> 
> Overall, one-size fits all packaging generally makes tradeoffs
> for new users, versus scripters, versus dev-ops.  Personally, I
> think packagers tend to overcomplicate things trying to please too
> many different user types at once.
> 
> The smallest lighttpd config is one line:
>  server.document-root = "/path/to/test/site"
> and lighttpd will by default listen on port 80 and will run as the user
> that started lighttpd.  Often, a test site also includes a second line
> in the config:
>  index-file.names = ("index.html")
> and the test site has a single file /path/to/test/site/index.html
> 
> I think that is what distros should ship, along with one more line:
>  include "/etc/lighttpd/conf.d/*.conf"
> 
> Users can then reconfigure the server as they like by dropping files in
> /etc/lighttpd/conf.d/*.conf, including overwriting the default document
> root with
>  server.document-root := "/path/to/default/site"
> and disabling index files with
>  index-file.names = ()
> or reconfiguring with something like
>  index-file.names := ("index.html", "index.htm")
> 
> The sample site, if a separate package, could add files into
> /etc/lighttpd/conf.d/*.conf (or whatever location ptxdist uses)
> with the sample site config.

That’s interesting, thanks.  Our use-case is slightly different in that we encourage people to customise the recipes as needed, whereas on Debian you wouldn’t expect to rebuild lighttpd at all.

A minimal lighttpd.conf which supports fragments sounds ideal.  Would it be sensible to have a truly minimal /etc/lightttd/lighttp.conf in the lighttpd package which sets just document.root/index-file-names, and then move the modernised config file you sent to /etc/lighttpd/conf.d/sample-site.conf as an example?

As a distro maintainer it’s hard to know enough about every package, so it’s good to have an upstream developer to ask questions!

Cheers,
Ross

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [poky] [PATCH 0/3] lighttpd-1.4.72
  2023-10-20 13:55     ` Ross Burton
@ 2023-10-20 15:40       ` gs-yoctoproject.org
  2024-03-14 18:32       ` Martin Jansa
       [not found]       ` <17BCB52E812AFFB8.6435@lists.yoctoproject.org>
  2 siblings, 0 replies; 13+ messages in thread
From: gs-yoctoproject.org @ 2023-10-20 15:40 UTC (permalink / raw
  To: Ross Burton; +Cc: poky@lists.yoctoproject.org

On Fri, Oct 20, 2023 at 01:55:50PM +0000, Ross Burton wrote:
> On 20 Oct 2023, at 13:54, gs-yoctoproject.org@gluelogic.com wrote:
> > 
> > On Fri, Oct 20, 2023 at 12:18:22PM +0000, Ross Burton wrote:
> >> On 20 Oct 2023, at 12:48, Glenn Strauss via lists.yoctoproject.org <gs-yoctoproject.org=gluelogic.com@lists.yoctoproject.org> wrote:
> >>> Glenn Strauss (3):
> >>> lighttpd: upgrade 1.4.71 -> 1.4.72
> >>> lighttpd: update init script
> >>> lighttpd: modernize lighttpd.conf
> >> 
> >> Poky is a generated repository that doesn’t actually have any patches directly merged into it, so these should be sent to openembedded-core@lists.yoctoproject.org <mailto:openembedded-core@lists.yoctoproject.org>.
> > 
> > I'll re-send to the openembedded-core list.
> > Thanks for the pointer, Richard and Ross.
> > 
> > ==> Would someone please update the documentation?
> > 
> > https://docs.yoctoproject.org/contributor-guide/submit-changes.html#finding-a-suitable-mailing-list
> > 4.4.3 Finding a Suitable Mailing List
> > “meta-*” trees: These trees contain Metadata. Use the poky mailing list.
> 
> So we obviously need to make that list a bit clearer.  The relevant line was two above:
> 
>     • Core Metadata: Send your patches to the openembedded-core mailing list. For example, a change to anything under the meta or scripts directories should be sent to this mailing list.
> 
> A better way to do that would be to just list the top level folders, I’ll send a change.

Sorry.  I guess I skimmed that too quickly.  I read the left half of the
page, and not the right half.  Since this is in the section about where
to send patches, maybe list only the openembedded-core mailing list and
add a link to a separate page describing the rest of the lists?



> >> However, I was also just looking at the lighttpd recipe.  Specifically I was extracting the sample site from the main package so it’s easier to add in your own site files, basically putting /var/www/pages into lighttpd-site-sample and then recommending that from the main package.  The goal being that in the simple test case the sample site is pulled in, but it’s trivial to package up your own site that conflicts with site-sample.
> > 
> > That sounds reasonable to me.
> > I like the idea of being able to remove the sample site.
> > I also like the idea of having a sample site to get people started.
> > 
> >> This worked but then I realised that the config file is fairly tied to the site too.  As - presumably - a lighttpd user, do you have any opinion on where the lighttpd.conf file should be packaged?  I’m leaning towards bundling it with the sample-site but am undecided as to whether that’s actually a good idea.
> > 
> > I am a lighttpd developer.  While I have some strong opinions about
> > packages and how it is done in many different distros, I am less
> > familiar with yocto specifics and more interested in trying to help
> > people run the best available version of lighttpd, which is always
> > the latest stable release.
> > 
> > I'll share my thoughts and hope some people using lighttpd with ptxdist
> > can add their opinions, too.
> > 
> > Overall, one-size fits all packaging generally makes tradeoffs
> > for new users, versus scripters, versus dev-ops.  Personally, I
> > think packagers tend to overcomplicate things trying to please too
> > many different user types at once.
> > 
> > The smallest lighttpd config is one line:
> >  server.document-root = "/path/to/test/site"
> > and lighttpd will by default listen on port 80 and will run as the user
> > that started lighttpd.  Often, a test site also includes a second line
> > in the config:
> >  index-file.names = ("index.html")
> > and the test site has a single file /path/to/test/site/index.html
> > 
> > I think that is what distros should ship, along with one more line:
> >  include "/etc/lighttpd/conf.d/*.conf"
> > 
> > Users can then reconfigure the server as they like by dropping files in
> > /etc/lighttpd/conf.d/*.conf, including overwriting the default document
> > root with
> >  server.document-root := "/path/to/default/site"
> > and disabling index files with
> >  index-file.names = ()
> > or reconfiguring with something like
> >  index-file.names := ("index.html", "index.htm")
> > 
> > The sample site, if a separate package, could add files into
> > /etc/lighttpd/conf.d/*.conf (or whatever location ptxdist uses)
> > with the sample site config.
> 
> That’s interesting, thanks.  Our use-case is slightly different in that we encourage people to customise the recipes as needed, whereas on Debian you wouldn’t expect to rebuild lighttpd at all.
> 
> A minimal lighttpd.conf which supports fragments sounds ideal.  Would it be sensible to have a truly minimal /etc/lightttd/lighttp.conf in the lighttpd package which sets just document.root/index-file-names, and then move the modernised config file you sent to /etc/lighttpd/conf.d/sample-site.conf as an example?

I might suggest even less than that.

If openembedded encourages people to customize the recipies, then should
the lighttpd.conf provided with the package not be fully-functional
out-of-the-box?  A simple config of
  include "/etc/lighttpd/conf.d/*.conf"
might be the base, and a separate "sample" package would provide a
single-file site with /usr/share/lighttpd/sample/index.html
and a single-file config in /etc/lighttpd/conf.d/sample.conf which sets
  server.document-root = "/usr/share/lighttpd/sample/"

Once you configure your own site, you can then remove the sample site.

While lighttpd provides configuration directives to override other
settings, I prefer shorter configs rather than a huge mess in
/etc/lighttpd/conf.d/*.conf with competition to overwrite configs.

The lighttpd upstream source code provides some sample configs and
scripts, too, and some distros install these files under
/usr/share/lighttpd for reference.  On embedded systems where disk space
matters, this could be a separate 'doc' package which is optional to
install.

> As a distro maintainer it’s hard to know enough about every package, so it’s good to have an upstream developer to ask questions!

Ask away!  I have questions, too.  Many distros have policies about
changes for backwards compatibility with existing installations.

As we discuss changing the lighttpd recipe, what level of backwards
compatibility is required in changes made to the lighttpd recipe?

lighttpd is a small executable and has a small memory footprint.
However, in embedded systems, sometimes tiny is a requirement.

How much emphasis should be placed on making lighttpd as tiny as
possible?

Doing so may save a few pages of memory, but at the cost of
functionality that people might expect by default.  For example,
lighttpd can save about (12) 4k pages of .text and .data in memory if
support for HTTP/2 is disabled in lighttpd.conf (and mod_h2.so is not
loaded).  However, a typical admin using lighttpd probably desires to
have HTTP/2 support available, and HTTP/2 support is enabled by default
in lighttpd.  Another thing -- and the list does not end here -- is that
lighttpd supports multiple TLS libraries.  On embedded systems, mbedtls
or wolfssl are generally lower-resource choices than openssl or gnutls,
though openssl and gnutls tend to be higher performance (and higher
resource usage).

Cheers, Glenn


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [poky] [PATCH 1/3] lighttpd: upgrade 1.4.71 -> 1.4.72
  2023-10-20 11:48 ` [PATCH 1/3] lighttpd: upgrade 1.4.71 -> 1.4.72 Glenn Strauss
@ 2023-10-20 16:28   ` Khem Raj
  0 siblings, 0 replies; 13+ messages in thread
From: Khem Raj @ 2023-10-20 16:28 UTC (permalink / raw
  To: Glenn Strauss; +Cc: poky, Glenn Strauss

Thanks for the patches, The patches are for core layer and we accept
patches for the core layer on openembedded-core@lists.openembedded.org
mailing list.
so please resend it to this list

On Fri, Oct 20, 2023 at 4:48 AM Glenn Strauss
<gs-yoctoproject.org@gluelogic.com> wrote:
>
> From: Glenn Strauss <gstrauss@gluelogic.com>
>
> Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
> ---
>  .../lighttpd/{lighttpd_1.4.71.bb => lighttpd_1.4.72.bb}         | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>  rename meta/recipes-extended/lighttpd/{lighttpd_1.4.71.bb => lighttpd_1.4.72.bb} (97%)
>
> diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.71.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.72.bb
> similarity index 97%
> rename from meta/recipes-extended/lighttpd/lighttpd_1.4.71.bb
> rename to meta/recipes-extended/lighttpd/lighttpd_1.4.72.bb
> index 3959f88b98..87058719f9 100644
> --- a/meta/recipes-extended/lighttpd/lighttpd_1.4.71.bb
> +++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.72.bb
> @@ -16,7 +16,7 @@ SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.t
>             file://lighttpd \
>             "
>
> -SRC_URI[sha256sum] = "b8b6915da20396fdc354df3324d5e440169b2e5ea7859e3a775213841325afac"
> +SRC_URI[sha256sum] = "f7cade4d69b754a0748c01463c33cd8b456ca9cc03bb09e85a71bcbcd54e55ec"
>
>  DEPENDS = "virtual/crypt"
>
> --
> 2.41.0
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#13184): https://lists.yoctoproject.org/g/poky/message/13184
> Mute This Topic: https://lists.yoctoproject.org/mt/102079186/1997914
> Group Owner: poky+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [poky] [PATCH 0/3] lighttpd-1.4.72
  2023-10-20 13:55     ` Ross Burton
  2023-10-20 15:40       ` gs-yoctoproject.org
@ 2024-03-14 18:32       ` Martin Jansa
       [not found]       ` <17BCB52E812AFFB8.6435@lists.yoctoproject.org>
  2 siblings, 0 replies; 13+ messages in thread
From: Martin Jansa @ 2024-03-14 18:32 UTC (permalink / raw
  To: Ross Burton
  Cc: gs-yoctoproject.org@gluelogic.com, poky@lists.yoctoproject.org

On Fri, Oct 20, 2023 at 3:56 PM Ross Burton <ross.burton@arm.com> wrote:
>
> On 20 Oct 2023, at 13:54, gs-yoctoproject.org@gluelogic.com wrote:
> >
> > On Fri, Oct 20, 2023 at 12:18:22PM +0000, Ross Burton wrote:
> >> On 20 Oct 2023, at 12:48, Glenn Strauss via lists.yoctoproject.org <gs-yoctoproject.org=gluelogic.com@lists.yoctoproject.org> wrote:
> >>> Glenn Strauss (3):
> >>> lighttpd: upgrade 1.4.71 -> 1.4.72
> >>> lighttpd: update init script
> >>> lighttpd: modernize lighttpd.conf
> >>
> >> Poky is a generated repository that doesn’t actually have any patches directly merged into it, so these should be sent to openembedded-core@lists.yoctoproject.org <mailto:openembedded-core@lists.yoctoproject.org>.
> >
> > I'll re-send to the openembedded-core list.
> > Thanks for the pointer, Richard and Ross.
> >
> > ==> Would someone please update the documentation?
> >
> > https://docs.yoctoproject.org/contributor-guide/submit-changes.html#finding-a-suitable-mailing-list
> > 4.4.3 Finding a Suitable Mailing List
> > “meta-*” trees: These trees contain Metadata. Use the poky mailing list.
>
> So we obviously need to make that list a bit clearer.  The relevant line was two above:
>
>     • Core Metadata: Send your patches to the openembedded-core mailing list. For example, a change to anything under the meta or scripts directories should be sent to this mailing list.
>
> A better way to do that would be to just list the top level folders, I’ll send a change.

I just talked with another person confused by '“meta-*” trees', can we
change this to '“meta-*” trees inside poky repository', to make it
more clear that it doesn't apply e.g. to meta-oe?

I guess then poky users still might get confused as add-layer meta-oe
will add meta-oe into poky checkout (which isn't really inside poky
repository) but still confusing.

Or were you thinking about sending a change from '“meta-*” trees' to
'meta-yocto-bsp, meta-poky' and forgot to send that change?

Regards,


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [poky] [PATCH 0/3] lighttpd-1.4.72
       [not found]       ` <17BCB52E812AFFB8.6435@lists.yoctoproject.org>
@ 2024-03-15  9:59         ` Martin Jansa
  0 siblings, 0 replies; 13+ messages in thread
From: Martin Jansa @ 2024-03-15  9:59 UTC (permalink / raw
  To: martin.jansa
  Cc: Ross Burton, gs-yoctoproject.org@gluelogic.com,
	poky@lists.yoctoproject.org

yocto-docs update sent:
https://patchwork.yoctoproject.org/project/docs/patch/20240315094805.2990394-1-martin.jansa@gmail.com/

On Thu, Mar 14, 2024 at 7:32 PM Martin Jansa via
lists.yoctoproject.org <martin.jansa=gmail.com@lists.yoctoproject.org>
wrote:
>
> On Fri, Oct 20, 2023 at 3:56 PM Ross Burton <ross.burton@arm.com> wrote:
> >
> > On 20 Oct 2023, at 13:54, gs-yoctoproject.org@gluelogic.com wrote:
> > >
> > > On Fri, Oct 20, 2023 at 12:18:22PM +0000, Ross Burton wrote:
> > >> On 20 Oct 2023, at 12:48, Glenn Strauss via lists.yoctoproject.org <gs-yoctoproject.org=gluelogic.com@lists.yoctoproject.org> wrote:
> > >>> Glenn Strauss (3):
> > >>> lighttpd: upgrade 1.4.71 -> 1.4.72
> > >>> lighttpd: update init script
> > >>> lighttpd: modernize lighttpd.conf
> > >>
> > >> Poky is a generated repository that doesn’t actually have any patches directly merged into it, so these should be sent to openembedded-core@lists.yoctoproject.org <mailto:openembedded-core@lists.yoctoproject.org>.
> > >
> > > I'll re-send to the openembedded-core list.
> > > Thanks for the pointer, Richard and Ross.
> > >
> > > ==> Would someone please update the documentation?
> > >
> > > https://docs.yoctoproject.org/contributor-guide/submit-changes.html#finding-a-suitable-mailing-list
> > > 4.4.3 Finding a Suitable Mailing List
> > > “meta-*” trees: These trees contain Metadata. Use the poky mailing list.
> >
> > So we obviously need to make that list a bit clearer.  The relevant line was two above:
> >
> >     • Core Metadata: Send your patches to the openembedded-core mailing list. For example, a change to anything under the meta or scripts directories should be sent to this mailing list.
> >
> > A better way to do that would be to just list the top level folders, I’ll send a change.
>
> I just talked with another person confused by '“meta-*” trees', can we
> change this to '“meta-*” trees inside poky repository', to make it
> more clear that it doesn't apply e.g. to meta-oe?
>
> I guess then poky users still might get confused as add-layer meta-oe
> will add meta-oe into poky checkout (which isn't really inside poky
> repository) but still confusing.
>
> Or were you thinking about sending a change from '“meta-*” trees' to
> 'meta-yocto-bsp, meta-poky' and forgot to send that change?
>
> Regards,
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#13310): https://lists.yoctoproject.org/g/poky/message/13310
> Mute This Topic: https://lists.yoctoproject.org/mt/102079185/3617156
> Group Owner: poky+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [martin.jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-03-15  9:59 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-20 11:48 [PATCH 0/3] lighttpd-1.4.72 Glenn Strauss
2023-10-20 11:48 ` [PATCH 1/3] lighttpd: upgrade 1.4.71 -> 1.4.72 Glenn Strauss
2023-10-20 16:28   ` [poky] " Khem Raj
2023-10-20 11:48 ` [PATCH 2/3] lighttpd: update init script Glenn Strauss
2023-10-20 11:48 ` [PATCH 3/3] lighttpd: modernize lighttpd.conf Glenn Strauss
2023-10-20 12:08 ` [poky] [PATCH 0/3] lighttpd-1.4.72 Richard Purdie
2023-10-20 12:18 ` Ross Burton
2023-10-20 12:54   ` gs-yoctoproject.org
2023-10-20 13:55     ` Ross Burton
2023-10-20 15:40       ` gs-yoctoproject.org
2024-03-14 18:32       ` Martin Jansa
     [not found]       ` <17BCB52E812AFFB8.6435@lists.yoctoproject.org>
2024-03-15  9:59         ` Martin Jansa
  -- strict thread matches above, loose matches on Subject: below --
2023-10-20 13:30 Glenn Strauss

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.