Quellcode durchsuchen

new package: thttpd 2.25b (Tiny HTTP Daemon)

Ralf S. Engelschall vor 21 Jahren
Ursprung
Commit
1a1cb23c7d
5 geänderte Dateien mit 306 neuen und 0 gelöschten Zeilen
  1. 16 0
      thttpd/fsl.thttpd
  2. 61 0
      thttpd/rc.thttpd
  3. 15 0
      thttpd/thttpd.conf
  4. 70 0
      thttpd/thttpd.patch
  5. 144 0
      thttpd/thttpd.spec

+ 16 - 0
thttpd/fsl.thttpd

@@ -0,0 +1,16 @@
+##
+##  fsl.thttpd -- OSSP fsl configuration
+##
+
+ident (thttpd)/.+ q{
+    prefix(
+        prefix="%b %d %H:%M:%S %N <%L> $1[%P]: "
+    )
+    -> {
+        debug: file(
+            path="@l_prefix@/var/thttpd/thttpd.log",
+            perm=0664
+        )
+    }
+};
+

+ 61 - 0
thttpd/rc.thttpd

@@ -0,0 +1,61 @@
+#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
+##
+##  rc.thttpd -- Run-Commands
+##
+
+%config
+    thttpd_enable="$openpkg_rc_def"
+    thttpd_flags=""
+    thttpd_log_prolog="true"
+    thttpd_log_epilog="true"
+    thttpd_log_numfiles="10"
+    thttpd_log_minsize="1M"
+    thttpd_log_complevel="9"
+
+%common
+    thttpd_cfgfile="@l_prefix@/etc/thttpd/thttpd.conf"
+    thttpd_pidfile="@l_prefix@/var/thttpd/thttpd.pid"
+    thttpd_signal () {
+        [ -f $thttpd_pidfile ] && kill -$1 `cat $thttpd_pidfile`
+    }
+
+%status -u @l_susr@ -o
+    thttpd_usable="no"
+    thttpd_active="no"
+    rcService thttpd enable yes && \
+        thttpd_signal 0 && thttpd_active="yes"
+    echo "thttpd_enable=\"$thttpd_enable\""
+    echo "thttpd_usable=\"$thttpd_usable\""
+    echo "thttpd_active=\"$thttpd_active\""
+
+%start -p 100 -u @l_susr@
+    rcService thttpd enable yes || exit 0
+    rcService thttpd active yes && exit 0
+    @l_prefix@/sbin/thttpd -C ${thttpd_cfgfile} ${thttpd_flags}
+
+%stop -p 100 -u @l_susr@
+    rcService thttpd enable yes || exit 0
+    rcService thttpd active no  && exit 0
+    thttpd_signal TERM
+    sleep 2
+    rm -f $thttpd_pidfile >/dev/null 2>&1 || true
+
+%restart -p 100 -u @l_susr@
+    rcService thttpd enable yes || exit 0
+    rcService thttpd active no  && exit 0
+    rc thttpd stop start
+
+%reload -p 100 -u @l_susr@
+    rcService thttpd enable yes || exit 0
+    rcService thttpd active no  && exit 0
+    thttpd_signal HUP
+
+%daily -u @l_susr@
+    rcService thttpd enable yes || exit 0
+    shtool rotate -f \
+        -n ${thttpd_log_numfiles} -s ${thttpd_log_minsize} -d \
+        -z ${thttpd_log_complevel} -m 644 -o @l_rusr@ -g @l_rgrp@ \
+        -P "${thttpd_log_prolog}" \
+        -E "${thttpd_log_epilog} && rc thttpd reload" \
+        @l_prefix@/var/thttpd/thttpd.log
+

+ 15 - 0
thttpd/thttpd.conf

@@ -0,0 +1,15 @@
+##
+##  thttpd.conf
+##
+user=@l_rusr@
+logfile=@l_prefix@/var/thttpd/thttpd.log
+pidfile=@l_prefix@/var/thttpd/thttpd.pid
+port=80
+host=127.0.0.1
+dir=@l_prefix@/pub
+chroot
+#nosymlink
+#novhost
+#nocgipat
+#nothrottles
+#charset=iso-8859-1

+ 70 - 0
thttpd/thttpd.patch

@@ -0,0 +1,70 @@
+Index: Makefile.in
+--- Makefile.in.orig	2002-04-03 04:49:35.000000000 +0200
++++ Makefile.in	2004-05-07 22:43:21.000000000 +0200
+@@ -42,7 +42,7 @@
+ WEBGROUP =	www
+ 
+ # CONFIGURE: Directory for CGI executables.
+-CGIBINDIR =	$(WEBDIR)/cgi-bin
++CGIBINDIR =	$(prefix)/cgi
+ 
+ # You shouldn't need to edit anything below here.
+ 
+@@ -110,11 +110,11 @@
+ 
+ installthis:
+ 	-mkdir -p $(DESTDIR)$(BINDIR)
+-	$(INSTALL) -m 555 -o bin -g bin thttpd $(DESTDIR)$(BINDIR)
++	$(INSTALL) -m 555 thttpd $(DESTDIR)$(BINDIR)
+ 
+ install-man:
+ 	-mkdir -p $(DESTDIR)$(MANDIR)/man8
+-	$(INSTALL) -m 444 -o bin -g bin thttpd.8 $(DESTDIR)$(MANDIR)/man8
++	$(INSTALL) -m 444 thttpd.8 $(DESTDIR)$(MANDIR)/man8
+ 
+ installsubdirs:
+ 	for i in $(SUBDIRS) ; do ( \
+Index: cgi-src/Makefile.in
+--- cgi-src/Makefile.in.orig	2001-11-12 22:52:00.000000000 +0100
++++ cgi-src/Makefile.in	2004-05-07 22:42:40.000000000 +0200
+@@ -27,7 +27,7 @@
+ prefix =	@prefix@
+ exec_prefix =	@exec_prefix@
+ WEBDIR =	$(prefix)/www
+-CGIBINDIR =	$(WEBDIR)/cgi-bin
++CGIBINDIR =	$(prefix)/cgi
+ MANDIR =	@mandir@
+ 
+ CC =		@CC@
+Index: extras/Makefile.in
+--- extras/Makefile.in.orig	2001-11-12 22:52:55.000000000 +0100
++++ extras/Makefile.in	2004-05-07 22:44:32.000000000 +0200
+@@ -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
++	rm -f $(DESTDIR)$(BINDIR)/makeweb $(DESTDIR)$(BINDIR)/htpasswd $(DESTDIR)$(BINDIR)/syslogtocern
++	cp makeweb $(DESTDIR)$(BINDIR)/makeweb
++	cp htpasswd $(DESTDIR)$(BINDIR)/htpasswd
++	cp syslogtocern $(DESTDIR)$(BINDIR)/syslogtocern
++	rm -f $(DESTDIR)$(MANDIR)/man1/makeweb.1
++	cp makeweb.1 $(DESTDIR)$(MANDIR)/man1/makeweb.1
++	rm -f $(DESTDIR)$(MANDIR)/man1/htpasswd.1
++	cp htpasswd.1 $(DESTDIR)$(MANDIR)/man1/htpasswd.1
++	rm -f $(DESTDIR)$(MANDIR)/man8/syslogtocern.8
++	cp syslogtocern.8 $(DESTDIR)$(MANDIR)/man8/syslogtocern.8
+ 
+ clean:
+ 	rm -f $(CLEANFILES)

+ 144 - 0
thttpd/thttpd.spec

@@ -0,0 +1,144 @@
+##
+##  thttpd.spec -- OpenPKG RPM Specification
+##  Copyright (c) 2000-2004 The OpenPKG Project <http://www.openpkg.org/>
+##  Copyright (c) 2000-2004 Ralf S. Engelschall <rse@engelschall.com>
+##  Copyright (c) 2000-2004 Cable & Wireless <http://www.cw.com/>
+##
+##  Permission to use, copy, modify, and distribute this software for
+##  any purpose with or without fee is hereby granted, provided that
+##  the above copyright notice and this permission notice appear in all
+##  copies.
+##
+##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+##  SUCH DAMAGE.
+##
+
+#   package information
+Name:         thttpd
+Summary:      Tiny HTTP Daemon
+URL:          http://www.acme.com/software/thttpd/
+Vendor:       Jef Poskanzer
+Packager:     The OpenPKG Project
+Distribution: OpenPKG
+Class:        EVAL
+Group:        Mail
+License:      MIT-style
+Version:      2.25b
+Release:      20040507
+
+#   package options
+%option       with_fsl  yes
+
+#   list of sources
+Source0:      http://www.acme.com/software/thttpd/thttpd-%{version}.tar.gz
+Source1:      rc.thttpd
+Source2:      fsl.thttpd
+Source3:      thttpd.conf
+Patch0:       thttpd.patch
+
+#   build information
+Prefix:       %{l_prefix}
+BuildRoot:    %{l_buildroot}
+BuildPreReq:  OpenPKG, openpkg >= 20040130
+PreReq:       OpenPKG, openpkg >= 20040130
+%if "%{with_fsl}" == "yes"
+BuildPreReq:  fsl
+PreReq:       fsl
+%endif
+AutoReq:      no
+AutoReqProv:  no
+
+%description
+    thttpd is a simple, small, fast, and secure HTTP server. It doesn't
+    have a lot of special features, but it suffices for most uses of
+    the web, it's about as fast as the best full-featured servers
+    (Apache, NCSA Netscape), and it has one extremely useful feature
+    (URL-traffic-based throttling) that no other server currently has.
+
+%track
+    prog thttpd = {
+        version   = %{version}
+        url       = http://www.acme.com/software/thttpd/
+        regex     = thttpd-(__VER__)\.tar\.gz
+    }
+
+%prep
+    %setup -q
+    %patch -p0
+
+%build
+    #   configure program
+    CC="%{l_cc}" \
+    CFLAGS="%{l_cflags -O}" \
+    CPPFLAGS="%{l_cppflags}" \
+    LDFLAGS="%{l_ldflags} %{l_fsl_ldflags}" \
+    LIBS="%{l_fsl_libs}" \
+    ./configure \
+        --prefix=%{l_prefix}
+
+    #   build program
+    %{l_make} %{l_mflags}
+
+%install
+    #   install program
+    rm -rf $RPM_BUILD_ROOT
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/bin \
+        $RPM_BUILD_ROOT%{l_prefix}/sbin \
+        $RPM_BUILD_ROOT%{l_prefix}/man/man1 \
+        $RPM_BUILD_ROOT%{l_prefix}/man/man8 \
+        $RPM_BUILD_ROOT%{l_prefix}/cgi
+    %{l_make} %{l_mflags} install \
+        DESTDIR=$RPM_BUILD_ROOT
+
+    #   post-adjust and strip-down installation
+    mv  $RPM_BUILD_ROOT%{l_prefix}/sbin/htpasswd \
+        $RPM_BUILD_ROOT%{l_prefix}/bin/htpasswd
+    mv  $RPM_BUILD_ROOT%{l_prefix}/sbin/makeweb \
+        $RPM_BUILD_ROOT%{l_prefix}/bin/makeweb
+    strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true
+
+    #   install default configuration
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/thttpd
+    %{l_shtool} install -c -m 644 %{l_value -s -a} \
+        %{SOURCE thttpd.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/thttpd/
+
+    #   create directory for pid and log files
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/var/thttpd
+
+    #   install run-command script
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
+    %{l_shtool} install -c -m 755 %{l_value -s -a} \
+        %{SOURCE rc.thttpd} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+
+    #   install OSSP fsl configuration
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/fsl
+    %{l_shtool} install -c -m 644 %{l_value -s -a} \
+        %{SOURCE fsl.thttpd} \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/
+
+    #   determine installation files
+    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
+        %{l_files_std} \
+        '%config %{l_prefix}/etc/thttpd/*' \
+        '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/thttpd'
+
+%files -f files
+
+%clean
+    rm -rf $RPM_BUILD_ROOT
+