Message ID | 20231020114845.100062-1-gs-yoctoproject.org@gluelogic.com (mailing list archive) |
---|---|
Headers | show |
Series | lighttpd-1.4.72 | expand |
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
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
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
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
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
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,
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] > -=-=-=-=-=-=-=-=-=-=-=- >
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%)