package/thttpd: remove package

Despite the last thttpd release 2.29 back in 2018, the package doesn't
build with modern compiler (gcc-15) and Autoconf (newer than 2.13) [1].

Remove TestThttpd from our testsuite.

[1] https://lore.kernel.org/buildroot/20250811203206.1506378-1-romain.naour@smile.fr/

Cc: Julien Olivain <ju.o@free.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
(cherry picked from commit c6b8ddab6e)
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
This commit is contained in:
Romain Naour
2025-08-23 21:49:53 +02:00
committed by Titouan Christophe
parent 02f652cf16
commit ee1c3d3ecf
9 changed files with 9 additions and 150 deletions

View File

@@ -144,6 +144,15 @@ endif
###############################################################################
comment "Legacy options removed in 2025.02.6"
config BR2_PACKAGE_THTTPD
bool "thttpd has been removed"
select BR2_LEGACY
help
thttpd is no longer maintained actively by upstream and has
been removed from Buildroot.
comment "Legacy options removed in 2025.02.5"
config BR2_PACKAGE_LIBCURL_BEARSSL

View File

@@ -1984,7 +1984,6 @@ F: support/testing/tests/package/test_tcl.py
F: support/testing/tests/package/test_tcl/
F: support/testing/tests/package/test_tcpdump.py
F: support/testing/tests/package/test_tesseract_ocr.py
F: support/testing/tests/package/test_thttpd.py
F: support/testing/tests/package/test_trace_cmd.py
F: support/testing/tests/package/test_trace_cmd/
F: support/testing/tests/package/test_tree.py

View File

@@ -2657,7 +2657,6 @@ endif
source "package/tcping/Config.in"
source "package/tcpreplay/Config.in"
source "package/tftpd/Config.in"
source "package/thttpd/Config.in"
source "package/tinc/Config.in"
source "package/tinyproxy/Config.in"
source "package/tinyssh/Config.in"

View File

@@ -1,9 +0,0 @@
config BR2_PACKAGE_THTTPD
bool "thttpd"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_LIBXCRYPT if BR2_TOOLCHAIN_USES_GLIBC
help
thttpd is a simple, small, portable, fast, and secure HTTP
server
http://www.acme.com/software/thttpd/

View File

@@ -1,54 +0,0 @@
#!/bin/sh
DAEMON="thttpd"
PIDFILE="/var/run/$DAEMON.pid"
THTTPD_ARGS="-C /etc/thttpd.conf"
# shellcheck source=/dev/null
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
start() {
printf 'Starting %s: ' "$DAEMON"
# shellcheck disable=SC2086 # we need the word splitting
start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \
-- $THTTPD_ARGS
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
stop() {
printf 'Stopping %s: ' "$DAEMON"
start-stop-daemon -K -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
# thttpd does not remove the pid file on exit
rm -f "$PIDFILE"
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
restart() {
stop
sleep 1
start
}
case "$1" in
start|stop|restart)
"$1";;
reload)
# Restart, since there is no true "reload" feature.
restart;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac

View File

@@ -1,3 +0,0 @@
# Locally calculated
sha256 99c09f47da326b1e7b5295c45549d2b65534dce27c44812cf7eef1441681a397 thttpd-2.29.tar.gz
sha256 be059e6b8219d5bb5480fa6a2864bbb34892f56951d03d08b356bc1fa8c81a01 thttpd.c

View File

@@ -1,46 +0,0 @@
################################################################################
#
# thttpd
#
################################################################################
THTTPD_VERSION = 2.29
THTTPD_SITE = https://acme.com/software/thttpd
THTTPD_LICENSE = BSD-2-Clause
THTTPD_LICENSE_FILES = thttpd.c
THTTPD_CPE_ID_VENDOR = acme
THTTPD_MAKE = $(MAKE1)
ifeq ($(BR2_PACKAGE_LIBXCRYPT),y)
THTTPD_DEPENDENCIES += libxcrypt
endif
define THTTPD_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/thttpd $(TARGET_DIR)/usr/sbin/thttpd
$(INSTALL) -D -m 0755 $(@D)/extras/htpasswd $(TARGET_DIR)/usr/bin/htpasswd
$(INSTALL) -D -m 0755 $(@D)/extras/makeweb $(TARGET_DIR)/usr/bin/makeweb
$(INSTALL) -D -m 0755 $(@D)/extras/syslogtocern $(TARGET_DIR)/usr/bin/syslogtocern
$(INSTALL) -D -m 0755 $(@D)/scripts/thttpd_wrapper $(TARGET_DIR)/usr/sbin/thttpd_wrapper
$(SED) 's:/usr/local/sbin:/usr/sbin:g' -e \
's:/usr/local/www/thttpd_config:/etc/thttpd.conf:g' \
$(TARGET_DIR)/usr/sbin/thttpd_wrapper
$(INSTALL) -d $(TARGET_DIR)/var/www/data
$(INSTALL) -d $(TARGET_DIR)/var/www/logs
echo "dir=/var/www/data" > $(TARGET_DIR)/etc/thttpd.conf
echo 'cgipat=**.cgi' >> $(TARGET_DIR)/etc/thttpd.conf
echo "logfile=/var/www/logs/thttpd_log" >> $(TARGET_DIR)/etc/thttpd.conf
echo "pidfile=/var/run/thttpd.pid" >> $(TARGET_DIR)/etc/thttpd.conf
endef
define THTTPD_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/thttpd/S90thttpd \
$(TARGET_DIR)/etc/init.d/S90thttpd
endef
define THTTPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/thttpd/thttpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/thttpd.service
endef
$(eval $(autotools-package))

View File

@@ -1,10 +0,0 @@
[Unit]
Description=Tiny HTTP Daemon
[Service]
PIDFile=/run/thttpd.pid
ExecStart=/usr/sbin/thttpd -D -C /etc/thttpd.conf
Restart=always
[Install]
WantedBy=multi-user.target

View File

@@ -1,26 +0,0 @@
import os
import infra.basetest
class TestThttpd(infra.basetest.BRTest):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_PACKAGE_THTTPD=y
BR2_TARGET_ROOTFS_CPIO=y
# BR2_TARGET_ROOTFS_TAR is not set
"""
def test_run(self):
cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
self.emulator.boot(arch="armv5",
kernel="builtin",
options=["-initrd", cpio_file])
self.emulator.login()
msg = "Hello Buildroot!"
self.assertRunOk("thttpd -V")
self.assertRunOk(f"echo '{msg}' > /var/www/data/index.html")
self.assertRunOk("wget http://localhost/index.html")
self.assertRunOk(f"grep -F '{msg}' index.html")