diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/thttpd | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/thttpd')
-rw-r--r-- | recipes/thttpd/files/acinclude.m4 | 188 | ||||
-rw-r--r-- | recipes/thttpd/files/htpasswd_shared.diff | 11 | ||||
-rw-r--r-- | recipes/thttpd/files/init | 47 | ||||
-rw-r--r-- | recipes/thttpd/files/install.patch | 87 | ||||
-rw-r--r-- | recipes/thttpd/thttpd_2.25b.bb | 34 |
5 files changed, 367 insertions, 0 deletions
diff --git a/recipes/thttpd/files/acinclude.m4 b/recipes/thttpd/files/acinclude.m4 new file mode 100644 index 0000000000..56e4bcb89e --- /dev/null +++ b/recipes/thttpd/files/acinclude.m4 @@ -0,0 +1,188 @@ +dnl +dnl Improved version of AC_CHECK_LIB +dnl +dnl Thanks to John Hawkinson (jhawk@mit.edu) +dnl +dnl usage: +dnl +dnl AC_LBL_CHECK_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, +dnl ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]]) +dnl +dnl results: +dnl +dnl LIBS +dnl + +define(AC_LBL_CHECK_LIB, +[AC_MSG_CHECKING([for $2 in -l$1]) +dnl Use a cache variable name containing both the library and function name, +dnl because the test really is for library $1 defining function $2, not +dnl just for library $1. Separate tests with the same $1 and different $2's +dnl may have different results. +ac_lib_var=`echo $1['_']$2['_']$5 | sed 'y%./+- %__p__%'` +AC_CACHE_VAL(ac_cv_lbl_lib_$ac_lib_var, +[ac_save_LIBS="$LIBS" +LIBS="-l$1 $5 $LIBS" +AC_TRY_LINK(dnl +ifelse([$2], [main], , dnl Avoid conflicting decl of main. +[/* Override any gcc2 internal prototype to avoid an error. */ +]AC_LANG_CASE(c++, [#ifdef __cplusplus +extern "C" +#endif +])dnl +[/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $2(); +]), + [$2()], + eval "ac_cv_lbl_lib_$ac_lib_var=yes", + eval "ac_cv_lbl_lib_$ac_lib_var=no") +LIBS="$ac_save_LIBS" +])dnl +if eval "test \"`echo '$ac_cv_lbl_lib_'$ac_lib_var`\" = yes"; then + AC_MSG_RESULT(yes) + ifelse([$3], , +[changequote(, )dnl + ac_tr_lib=HAVE_LIB`echo $1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` +changequote([, ])dnl + AC_DEFINE_UNQUOTED($ac_tr_lib) + LIBS="-l$1 $LIBS" +], [$3]) +else + AC_MSG_RESULT(no) +ifelse([$4], , , [$4 +])dnl +fi +]) + +dnl +dnl AC_LBL_LIBRARY_NET +dnl +dnl This test is for network applications that need socket() and +dnl gethostbyname() -ish functions. Under Solaris, those applications +dnl need to link with "-lsocket -lnsl". Under IRIX, they need to link +dnl with "-lnsl" but should *not* link with "-lsocket" because +dnl libsocket.a breaks a number of things (for instance: +dnl gethostbyname() under IRIX 5.2, and snoop sockets under most +dnl versions of IRIX). +dnl +dnl Unfortunately, many application developers are not aware of this, +dnl and mistakenly write tests that cause -lsocket to be used under +dnl IRIX. It is also easy to write tests that cause -lnsl to be used +dnl under operating systems where neither are necessary (or useful), +dnl such as SunOS 4.1.4, which uses -lnsl for TLI. +dnl +dnl This test exists so that every application developer does not test +dnl this in a different, and subtly broken fashion. + +dnl It has been argued that this test should be broken up into two +dnl seperate tests, one for the resolver libraries, and one for the +dnl libraries necessary for using Sockets API. Unfortunately, the two +dnl are carefully intertwined and allowing the autoconf user to use +dnl them independantly potentially results in unfortunate ordering +dnl dependancies -- as such, such component macros would have to +dnl carefully use indirection and be aware if the other components were +dnl executed. Since other autoconf macros do not go to this trouble, +dnl and almost no applications use sockets without the resolver, this +dnl complexity has not been implemented. +dnl +dnl The check for libresolv is in case you are attempting to link +dnl statically and happen to have a libresolv.a lying around (and no +dnl libnsl.a). +dnl +AC_DEFUN([AC_LBL_LIBRARY_NET], [ + # Most operating systems have gethostbyname() in the default searched + # libraries (i.e. libc): + AC_CHECK_FUNC(gethostbyname, , + # Some OSes (eg. Solaris) place it in libnsl: + AC_LBL_CHECK_LIB(nsl, gethostbyname, , + # Some strange OSes (SINIX) have it in libsocket: + AC_LBL_CHECK_LIB(socket, gethostbyname, , + # Unfortunately libsocket sometimes depends on libnsl. + # AC_CHECK_LIB's API is essentially broken so the + # following ugliness is necessary: + AC_LBL_CHECK_LIB(socket, gethostbyname, + LIBS="-lsocket -lnsl $LIBS", + AC_CHECK_LIB(resolv, gethostbyname), + -lnsl)))) + AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket, , + AC_LBL_CHECK_LIB(socket, socket, LIBS="-lsocket -lnsl $LIBS", , + -lnsl))) + # DLPI needs putmsg under HPUX so test for -lstr while we're at it + AC_CHECK_LIB(str, putmsg) + ]) + +dnl +dnl Checks to see if struct tm has the BSD tm_gmtoff member +dnl +dnl usage: +dnl +dnl AC_ACME_TM_GMTOFF +dnl +dnl results: +dnl +dnl HAVE_TM_GMTOFF (defined) +dnl +AC_DEFUN([AC_ACME_TM_GMTOFF], + [AC_MSG_CHECKING(if struct tm has tm_gmtoff member) + AC_CACHE_VAL(ac_cv_acme_tm_has_tm_gmtoff, + AC_TRY_COMPILE([ +# include <sys/types.h> +# include <time.h>], + [u_int i = sizeof(((struct tm *)0)->tm_gmtoff)], + ac_cv_acme_tm_has_tm_gmtoff=yes, + ac_cv_acme_tm_has_tm_gmtoff=no)) + AC_MSG_RESULT($ac_cv_acme_tm_has_tm_gmtoff) + if test $ac_cv_acme_tm_has_tm_gmtoff = yes ; then + AC_DEFINE(HAVE_TM_GMTOFF) + fi]) + +dnl +dnl Checks to see if int64_t exists +dnl +dnl usage: +dnl +dnl AC_ACME_INT64T +dnl +dnl results: +dnl +dnl HAVE_INT64T (defined) +dnl +AC_DEFUN([AC_ACME_INT64T], + [AC_MSG_CHECKING(if int64_t exists) + AC_CACHE_VAL(ac_cv_acme_int64_t, + AC_TRY_COMPILE([ +# include <sys/types.h>], + [int64_t i64], + ac_cv_acme_int64_t=yes, + ac_cv_acme_int64_t=no)) + AC_MSG_RESULT($ac_cv_acme_int64_t) + if test $ac_cv_acme_int64_t = yes ; then + AC_DEFINE(HAVE_INT64T) + fi]) + +dnl +dnl Checks to see if socklen_t exists +dnl +dnl usage: +dnl +dnl AC_ACME_SOCKLENT +dnl +dnl results: +dnl +dnl HAVE_SOCKLENT (defined) +dnl +AC_DEFUN([AC_ACME_SOCKLENT], + [AC_MSG_CHECKING(if socklen_t exists) + AC_CACHE_VAL(ac_cv_acme_socklen_t, + AC_TRY_COMPILE([ +# include <sys/types.h> +# include <sys/socket.h>], + [socklen_t slen], + ac_cv_acme_socklen_t=yes, + ac_cv_acme_socklen_t=no)) + AC_MSG_RESULT($ac_cv_acme_socklen_t) + if test $ac_cv_acme_socklen_t = yes ; then + AC_DEFINE(HAVE_SOCKLENT) + fi]) diff --git a/recipes/thttpd/files/htpasswd_shared.diff b/recipes/thttpd/files/htpasswd_shared.diff new file mode 100644 index 0000000000..7ee2cd27dc --- /dev/null +++ b/recipes/thttpd/files/htpasswd_shared.diff @@ -0,0 +1,11 @@ +--- thttpd-2.25b/extras/Makefile.in.orig 2007-03-17 22:30:47.356393000 +0100 ++++ thttpd-2.25b/extras/Makefile.in 2007-03-17 22:31:34.566393000 +0100 +@@ -36,7 +36,7 @@ + DEFS = @DEFS@ + INCLS = -I.. + CFLAGS = $(CCOPT) $(DEFS) $(INCLS) +-STATICFLAG = @V_STATICFLAG@ ++STATICFLAG = + LDFLAGS = @LDFLAGS@ + LIBS = @LIBS@ + NETLIBS = @V_NETLIBS@ diff --git a/recipes/thttpd/files/init b/recipes/thttpd/files/init new file mode 100644 index 0000000000..df6d64842c --- /dev/null +++ b/recipes/thttpd/files/init @@ -0,0 +1,47 @@ +#! /bin/sh +# +# This is an init script for openembedded +# Copy it to /etc/init.d/thttpd and type +# > update-rc.d thttpd defaults 60 +# + + +thttpd=/usr/sbin/thttpd +test -x "$thttpd" || exit 0 + + +case "$1" in + start) + echo -n "Starting thttpd" + start-stop-daemon --start --quiet --exec $thttpd -- -d @@SRVDIR + echo "." + ;; + stop) + echo -n "Stopping thttpd" + start-stop-daemon --stop --quiet --exec $thttpd + echo "." + ;; + reload|force-reload) + start-stop-daemon --stop --quiet --signal 1 --exec $thttpd + ;; + restart) + echo -n "Stopping thttpd" + start-stop-daemon --stop --quiet --exec $thttpd -- -d @@SRVDIR + echo "." + echo -n "Waiting for thttpd to die off" + for i in 1 2 3 ; + do + sleep 1 + echo -n "." + done + echo "" + echo -n "Starting thttpd" + start-stop-daemon --start --quiet --exec $thttpd -- -d @@SRVDIR + echo "." + ;; + *) + echo "Usage: /etc/init.d/thttpd {start|stop|reload|restart|force-reload}" + exit 1 +esac + +exit 0 diff --git a/recipes/thttpd/files/install.patch b/recipes/thttpd/files/install.patch new file mode 100644 index 0000000000..cdf92a982e --- /dev/null +++ b/recipes/thttpd/files/install.patch @@ -0,0 +1,87 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- thttpd-2.25b/Makefile.in~install.patch ++++ thttpd-2.25b/Makefile.in +@@ -27,6 +27,7 @@ + # Various configurable paths (remember to edit Makefile.in, not Makefile) + + # Top level hierarchy. ++DESTDIR = + prefix = @prefix@ + exec_prefix = @exec_prefix@ + # Pathname of directory to install the binary. +@@ -110,11 +111,11 @@ + + installthis: + -mkdir -p $(DESTDIR)$(BINDIR) +- $(INSTALL) -m 555 -o bin -g bin thttpd $(DESTDIR)$(BINDIR) ++ $(INSTALL) -m 755 thttpd $(DESTDIR)$(BINDIR) + + install-man: + -mkdir -p $(DESTDIR)$(MANDIR)/man8 +- $(INSTALL) -m 444 -o bin -g bin thttpd.8 $(DESTDIR)$(MANDIR)/man8 ++ $(INSTALL) -m 644 thttpd.8 $(DESTDIR)$(MANDIR)/man8 + + installsubdirs: + for i in $(SUBDIRS) ; do ( \ +--- thttpd-2.25b/extras/Makefile.in~install.patch ++++ thttpd-2.25b/extras/Makefile.in +@@ -66,18 +66,16 @@ + + + install: all +- rm -f $(BINDIR)/makeweb $(BINDIR)/htpasswd $(BINDIR)/syslogtocern +- cp makeweb $(BINDIR)/makeweb +- chgrp $(WEBGROUP) $(BINDIR)/makeweb +- chmod 2755 $(BINDIR)/makeweb +- cp htpasswd $(BINDIR)/htpasswd +- cp syslogtocern $(BINDIR)/syslogtocern +- rm -f $(MANDIR)/man1/makeweb.1 +- cp makeweb.1 $(MANDIR)/man1/makeweb.1 +- rm -f $(MANDIR)/man1/htpasswd.1 +- cp htpasswd.1 $(MANDIR)/man1/htpasswd.1 +- rm -f $(MANDIR)/man8/syslogtocern.8 +- cp syslogtocern.8 $(MANDIR)/man8/syslogtocern.8 ++ install -d $(DESTDIR)$(BINDIR) ++# install -g $(WEBGROUP) -m 2755 makeweb $(DESTDIR)$(BINDIR)/makeweb ++ install -m 2755 makeweb $(DESTDIR)$(BINDIR)/makeweb ++ install -m 0755 htpasswd $(DESTDIR)$(BINDIR)/htpasswd ++ install -m 0755 syslogtocern $(DESTDIR)$(BINDIR)/syslogtocern ++ install -d $(DESTDIR)$(MANDIR)/man1 \ ++ $(DESTDIR)$(MANDIR)/man8 ++ install -m 0644 makeweb.1 $(DESTDIR)$(MANDIR)/man1/makeweb.1 ++ install -m 0644 htpasswd.1 $(DESTDIR)$(MANDIR)/man1/htpasswd.1 ++ install -m 0644 syslogtocern.8 $(DESTDIR)$(MANDIR)/man8/syslogtocern.8 + + clean: + rm -f $(CLEANFILES) +--- thttpd-2.25b/cgi-src/Makefile.in~install.patch ++++ thttpd-2.25b/cgi-src/Makefile.in +@@ -67,17 +67,13 @@ + cd .. ; $(MAKE) $(MFLAGS) strerror.o + + install: all +- -mkdir -p $(CGIBINDIR) +- rm -f $(CGIBINDIR)/redirect +- cp redirect $(CGIBINDIR)/redirect +- rm -f $(MANDIR)/man8/redirect.8 +- cp redirect.8 $(MANDIR)/man8/redirect.8 +- rm -f $(CGIBINDIR)/ssi +- cp ssi $(CGIBINDIR)/ssi +- rm -f $(MANDIR)/man8/ssi.8 +- cp ssi.8 $(MANDIR)/man8/ssi.8 +- rm -f $(CGIBINDIR)/phf +- cp phf $(CGIBINDIR)/phf ++ install -d $(DESTDIR)$(CGIBINDIR) ++ install -m 0755 redirect $(DESTDIR)$(CGIBINDIR)/redirect ++ install -d $(DESTDIR)$(MANDIR)/man8 ++ install -m 0644 redirect.8 $(DESTDIR)$(MANDIR)/man8/redirect.8 ++ install -m 0755 ssi $(DESTDIR)$(CGIBINDIR)/ssi ++ install -m 0644 ssi.8 $(DESTDIR)$(MANDIR)/man8/ssi.8 ++ install -m 0755 phf $(DESTDIR)$(CGIBINDIR)/phf + + clean: + rm -f $(CLEANFILES) diff --git a/recipes/thttpd/thttpd_2.25b.bb b/recipes/thttpd/thttpd_2.25b.bb new file mode 100644 index 0000000000..c1ec7e73b9 --- /dev/null +++ b/recipes/thttpd/thttpd_2.25b.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "A simple, small, portable, fast, and secure HTTP server." +LICENSE = "BSD" +HOMEPAGE = "http://www.acme.com/software/thttpd/" +PR ="r7" + +SRC_URI = "http://www.acme.com/software/thttpd/thttpd-2.25b.tar.gz \ + file://install.patch;patch=1 \ + file://acinclude.m4 \ + file://init \ + file://htpasswd_shared.diff;patch=1" +S = "${WORKDIR}/thttpd-${PV}" + +PARALLEL_MAKE = "" + +INITSCRIPT_NAME = "thttpd" +INITSCRIPT_PARAMS = "defaults" + +inherit autotools update-rc.d + +EXTRA_OEMAKE += "'WEBDIR=${servicedir}/www'" +FILES_${PN}-dbg_append = " ${servicedir}/www/cgi-bin/.debug" +FILES_${PN}_append = " ${servicedir}" + +do_configure () { + install -m 0644 ${WORKDIR}/acinclude.m4 ${S}/ + autotools_do_configure +} + +do_install_append () { + install -d "${D}${sysconfdir}/init.d" + cat ${WORKDIR}/init | sed -e 's,@@SRVDIR,${servicedir}/www,g' > ${WORKDIR}/thttpd + install -c -m 755 ${WORKDIR}/thttpd ${D}${sysconfdir}/init.d/thttpd +} + |