Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
lighttpd: update to 1.4.45 (add new modules) #4126
add new modules to build, add restart() to lighttpd.init, file-glob includes in lighttpd.conf
Signed-off-by: Glenn Strauss firstname.lastname@example.org
Description: add new modules to build, add restart() to lighttpd.init, file-glob includes in lighttpd.conf
hnyman left a comment
The commit title is wrong. This commit does not update the version to 1.4.45. Please edit the title to reflect the contents of the commit.
You also need to edit the commit message. You explain the changes in the discussion that does not get stored into the git log, but say nothing in the commit message. Please move the detailed explanations into the commit message.
Force-pushed updated patch.
Thanks for the feedback!
A few things from testing the most recent commit:
@hnyman, judging the new commit message is a bit subjective. If you do not like it, would you mind providing a replacement?
I had to further modify the Makefile to get it to build the modules I select and not build the modules I do not select using "make menuconfig". I pushed my fixes to https://github.com/MikePetullo/packages/blob/lighttpd/net/lighttpd/Makefile. Can you bring these changes back to your proposed merge after reviewing them?
I have not yet tracked down the cause of the two following items:
Building the Kerberos module seems broken:
checking for kerberos5... yes
Does the Kerberos built on OpenWrt lack a feature needed by lighttpd?
Building the LDAP module seems broken:
OpenWrt-libtool: compile: mips-openwrt-linux-musl-gcc -DHAVE_CONFIG_H -DHAVE_VERSION_H -DLIBRARY_DIR="/usr/lib/lighttpd" -DSBIN_DIR="/usr/sbin" -I. -I.. -I/home/mike/Source/openwrt/openwrt/staging_dir/target-mips_34kc_musl-1.1.14/usr/include -I/home/mike/Source/openwrt/openwrt/staging_dir/target-mips_34kc_musl-1.1.14/include -I/home/mike/Source/openwrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.14/usr/include -I/home/mike/Source/openwrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.14/include/fortify -I/home/mike/Source/openwrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.14/include -D_REENTRANT -D__EXTENSIONS__ -I/home/mike/Source/openwrt/openwrt/staging_dir/target-mips_34kc_musl-1.1.14/usr/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap /home/mike/Source/openwrt/openwrt/build_dir/target-mips_34kc_musl-1.1.14/lighttpd-1.4.45:lighttpd-1.4.45 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -Wall -W -Wshadow -pedantic -std=gnu99 -MT mod_authn_ldap.lo -MD -MP -MF .deps/mod_authn_ldap.Tpo -c mod_authn_ldap.c -fPIC -DPIC -o .libs/mod_authn_ldap.o
I force-pushed an update with @MikePetullo suggested changes. Additionally, i changed the spelling of dependencies in the Makefile for mod_authn_gssapi and mod_authn_ldap so that those modules build. I commented out geoip and memcached from the Makefile since it does not appear that devel/lib packages are available on openwrt. Everything else builds -- everything that shows in make menuconfig (as available modules for lighttpd) now can build successfully when selected.
I think this is finally ready for merge. Thanks, both, for all of your help.
There was forum discussion that some of plugins had not been properly built for 1.4.45-2 for the 17.01 release: https://forum.lede-project.org/t/is-it-possible-to-downgrade-some-package/2911
I backported this 1.4.45-3 update to the 17.01 branch to see if that helps. Although all plugins build successfully in my own buildhost, the LEDE buildbot fails to build the authn_gssapi module with the same krb5 errors that MikePetullo got above. (But LEDE master buildbot for LEDE master builds thethe same plugin ok)
I think that I will disable the new authn_gssapi module for 17.01 to see if that is the only problem for buildbot.
But there is likely some underlying library path detection problem in the configure script or something like that. That may also surface at the 15.05 build.
Yep. But note that that the failure message comes from the previous 1.4.45-2 package in the 17.01 branch.
I did not disable the new modules in 1.4.45-3 due to the gssapi/krb5 errors, but instead I rolled back the update to 1.4.45-3 in 17.01 so that there is again the "original" 1.4.45-2 Makefile. Apparently the trigger_b4_dl module has been failing since February in 17.01 and that seems to cause also the modules that are alphabeticallly after that to be left unbuilt (userdir, usertrack and webdav have been compiled successfully last time in early February in the 17.01 buildbot).
Yep, the simple option might be to just disable trigger_b4_dl in 1.4.45-2 in 17.01 branch and see if the missing three modules will then build ok. We can try that. (EDIT: I pushed this change to Github)
Other option might be to upgrade again to 1.4.45-3, but to disable the gssapi authn and possibly other some other plugins, too. trigger_b4_dl has changed dependencies in 1.4.45-3, so a fix for trigger_b4_dl might be there.
Okay. That's a good starting point.
Yes, my changes to net/lighttpd/Makefile in 1.4.45-3 attempted to fix various dependency issues, including trigger_b4_dl. I am not sure why mod_authn_gssapi fails to build in LEDE 17.01 since it built for you and me (on master). I'll try to reproduce it when I have a chance.
In the meantime, if 1.4.45-2 with trigger_b4_dl succeeds in LEDE 17.01, then the next step would be 1.4.45-3 with trigger_b4_dl enabled, but authn_gssapi disabled, so that any other issues can be identified.
When trigger_b4_dl module is disabled, all other modules seem to build now in 17.01 with 1.4.45-2.
This kind of problems may be rather complex to find. One typical reason is due to buildbot building all packages and all libraries. A package's configure script may find some functionality (that is not in your or my test builds) and activates/toggles some feature option. The error may also be in krb5, as the error seems to indicate that krb5 is found but does not contain all needed functionality.
Note that the error happened also for MikePetullo , but he may be using some ancient toolchain (based on musl-1.1.14 that has been deprecated in Openwrt in August 2016 and in LEDE in July 2016).