Patchwork [meta-oe,v4] add nostromo webserver

login
register
mail settings
Submitter Eric BENARD
Date Dec. 4, 2011, 8:30 p.m.
Message ID <1323030626-564-1-git-send-email-eric@eukrea.com>
Download mbox | patch
Permalink /patch/16161/
State Accepted
Commit 4a00432856fe8bb074506f9968fb8b7d4edbd597
Headers show

Comments

Eric BENARD - Dec. 4, 2011, 8:30 p.m.
this recipe was imported from OE-classic and upgraded to latest
version

Signed-off-by: Eric Bénard <eric@eukrea.com>
---
 ...ile-add-possibility-to-override-variables.patch |  141 ++++++++++++++++++++
 .../recipes-extended/nostromo/files/nhttpd.conf    |   55 ++++++++
 meta-oe/recipes-extended/nostromo/files/nostromo   |   34 +++++
 meta-oe/recipes-extended/nostromo/files/volatiles  |    2 +
 .../recipes-extended/nostromo/nostromo_1.9.5.bb    |   51 +++++++
 5 files changed, 283 insertions(+), 0 deletions(-)
 create mode 100644 meta-oe/recipes-extended/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch
 create mode 100644 meta-oe/recipes-extended/nostromo/files/nhttpd.conf
 create mode 100644 meta-oe/recipes-extended/nostromo/files/nostromo
 create mode 100644 meta-oe/recipes-extended/nostromo/files/volatiles
 create mode 100644 meta-oe/recipes-extended/nostromo/nostromo_1.9.5.bb
Paul Menzel - Dec. 5, 2011, 7:25 a.m.
Dear Eric,


Am Sonntag, den 04.12.2011, 21:30 +0100 schrieb Eric Bénard:
> this recipe was imported from OE-classic and upgraded to latest
> version

could you add the version number to the commit summary? That would be
great. Also the OE-classic commit SHA sum would be useful.

> Signed-off-by: Eric Bénard <eric@eukrea.com>
> ---
>  ...ile-add-possibility-to-override-variables.patch |  141 ++++++++++++++++++++
>  .../recipes-extended/nostromo/files/nhttpd.conf    |   55 ++++++++
>  meta-oe/recipes-extended/nostromo/files/nostromo   |   34 +++++
>  meta-oe/recipes-extended/nostromo/files/volatiles  |    2 +
>  .../recipes-extended/nostromo/nostromo_1.9.5.bb    |   51 +++++++
>  5 files changed, 283 insertions(+), 0 deletions(-)
>  create mode 100644 meta-oe/recipes-extended/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch
>  create mode 100644 meta-oe/recipes-extended/nostromo/files/nhttpd.conf
>  create mode 100644 meta-oe/recipes-extended/nostromo/files/nostromo
>  create mode 100644 meta-oe/recipes-extended/nostromo/files/volatiles
>  create mode 100644 meta-oe/recipes-extended/nostromo/nostromo_1.9.5.bb

[…]


Thanks,

Paul
Eric BENARD - Dec. 5, 2011, 9:07 a.m.
Hi Paul,

Le 05/12/2011 08:25, Paul Menzel a écrit :
> Am Sonntag, den 04.12.2011, 21:30 +0100 schrieb Eric Bénard:
>> this recipe was imported from OE-classic and upgraded to latest
>> version
>
> could you add the version number to the commit summary? That would be
> great. Also the OE-classic commit SHA sum would be useful.
>
useful for what ?
in case someone wants details on this recipe in OE-classic he can simply do :
cd recipes/nostromo
git log
and he gets all the details.

Eric
Paul Menzel - Dec. 6, 2011, 2:31 p.m.
Dear Eric,


Am Montag, den 05.12.2011, 10:07 +0100 schrieb Eric Bénard:

> Le 05/12/2011 08:25, Paul Menzel a écrit :
> > Am Sonntag, den 04.12.2011, 21:30 +0100 schrieb Eric Bénard:
> >> this recipe was imported from OE-classic and upgraded to latest
> >> version
> >
> > could you add the version number to the commit summary? That would be
> > great. Also the OE-classic commit SHA sum would be useful.
>
> useful for what ?

an as precise as possible commit summary is useful especially when
viewing commit logs with one line.

> in case someone wants details on this recipe in OE-classic he can simply do :
> cd recipes/nostromo
> git log
> and he gets all the details.

You assume everybody has a checkout of OE-classic. And besides that it
is required by the the (OE-core) guidelines [1].


Thanks,

Paul


[1] http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Eric BENARD - Dec. 6, 2011, 2:59 p.m.
Hi Paul,

Le 06/12/2011 15:31, Paul Menzel a écrit :
> Am Montag, den 05.12.2011, 10:07 +0100 schrieb Eric Bénard:
>> Le 05/12/2011 08:25, Paul Menzel a écrit :
>>> could you add the version number to the commit summary? That would be
>>> great. Also the OE-classic commit SHA sum would be useful.
>>
>> useful for what ?
>
> an as precise as possible commit summary is useful especially when
> viewing commit logs with one line.
>
And you manage to see the sha sum in a one line commit ?
Here my screen is not large enough.

>> in case someone wants details on this recipe in OE-classic he can simply do :
>> cd recipes/nostromo
>> git log
>> and he gets all the details.
>
> You assume everybody has a checkout of OE-classic.
Without a checkout of oe-classic, the sum of the initial commit is even more 
useless (unles you have time to spend to search for the commit using a web 
browser).

> And besides that it is required by the the (OE-core) guidelines [1].
>
here we are talking of meta-openembedded and not oe-core so this rule doesn't 
seems to apply as you can see in a03a4083df90184fc1083b2f01952a50cfa51bca or 
in 09105b947abe5142dc21095664e0fca8fa0d4163

Eric

Patch

diff --git a/meta-oe/recipes-extended/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch b/meta-oe/recipes-extended/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch
new file mode 100644
index 0000000..7cf011b
--- /dev/null
+++ b/meta-oe/recipes-extended/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch
@@ -0,0 +1,141 @@ 
+From 7fa0d31ec5c0be9dca84a03851b2d44f61527ec8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
+Date: Sun, 4 Dec 2011 16:01:04 +0100
+Subject: [PATCH] GNUmakefile: add possibility to override variables
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+this is useful for cross compilation
+
+Signed-off-by: Eric Bénard <eric@eukrea.com>
+---
+Upstream-Status: Inappropriate [embedded specific]
+ src/libbsd/GNUmakefile |   10 +++++-----
+ src/libmy/GNUmakefile  |   26 +++++++++++++-------------
+ src/nhttpd/GNUmakefile |   12 ++++++------
+ src/tools/GNUmakefile  |    8 ++++----
+ 4 files changed, 28 insertions(+), 28 deletions(-)
+
+diff --git a/src/libbsd/GNUmakefile b/src/libbsd/GNUmakefile
+index e2d01a3..b034bc6 100644
+--- a/src/libbsd/GNUmakefile
++++ b/src/libbsd/GNUmakefile
+@@ -1,12 +1,12 @@
+-CCFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes -c
++CFLAGS := -O2 -pipe -Wall -Werror -Wstrict-prototypes -c
+ 
+ libbsd.a:	strlcpy.o strlcat.o
+-		ar -r libbsd.a strlcpy.o strlcat.o
+-		ranlib libbsd.a
++		$(AR) -r libbsd.a strlcpy.o strlcat.o
++		$(RANLIB) libbsd.a
+ 
+ strlcpy.o:	strlcpy.c
+-		cc ${CCFLAGS} strlcpy.c
++		$(CC) $(CFLAGS) strlcpy.c
+ strlcat.o:	strlcat.c
+-		cc ${CCFLAGS} strlcat.c
++		$(CC) $(CFLAGS) strlcat.c
+ clean:
+ 		rm -f libbsd.a *.o
+diff --git a/src/libmy/GNUmakefile b/src/libmy/GNUmakefile
+index ce90dd9..891ffea 100644
+--- a/src/libmy/GNUmakefile
++++ b/src/libmy/GNUmakefile
+@@ -1,30 +1,30 @@
+-CCFLAGS = -O2 -Wall -Werror -Wstrict-prototypes -c
++CFLAGS := -O2 -Wall -Werror -Wstrict-prototypes -c
+ 
+ libmy.a:	strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o
+-		ar -r libmy.a strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o
+-		ranlib libmy.a
++		$(AR) -r libmy.a strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o
++		$(RANLIB) libmy.a
+ 
+ strcutl.o:	strcutl.c
+-		cc ${CCFLAGS} strcutl.c
++		$(CC) $(CFLAGS) strcutl.c
+ strcutw.o:	strcutw.c
+-		cc ${CCFLAGS} strcutw.c
++		$(CC) $(CFLAGS) strcutw.c
+ strcuts.o:	strcuts.c
+-		cc ${CCFLAGS} strcuts.c
++		$(CC) $(CFLAGS) strcuts.c
+ strcuti.o:	strcuti.c
+-		cc ${CCFLAGS} strcuti.c
++		$(CC) $(CFLAGS) strcuti.c
+ strcutf.o:	strcutf.c
+-		cc ${CCFLAGS} strcutf.c
++		$(CC) $(CFLAGS) strcutf.c
+ strlower.o:	strlower.c
+-		cc ${CCFLAGS} strlower.c
++		$(CC) $(CFLAGS) strlower.c
+ strb64d.o:	strb64d.c
+-		cc ${CCFLAGS} strb64d.c
++		$(CC) $(CFLAGS) strb64d.c
+ 
+ flog.o:		flog.c
+-		cc ${CCFLAGS} flog.c
++		$(CC) $(CFLAGS) flog.c
+ flogd.o:	flogd.c
+-		cc ${CCFLAGS} flogd.c
++		$(CC) $(CFLAGS) flogd.c
+ fparse.o:	fparse.c
+-		cc ${CCFLAGS} fparse.c
++		$(CC) $(CFLAGS) fparse.c
+ 
+ clean:
+ 		rm -f libmy.a *.o
+diff --git a/src/nhttpd/GNUmakefile b/src/nhttpd/GNUmakefile
+index f6d12de..9524911 100644
+--- a/src/nhttpd/GNUmakefile
++++ b/src/nhttpd/GNUmakefile
+@@ -1,18 +1,18 @@
+-CCFLAGS = -O2 -pipe -Wall -Wstrict-prototypes -c
++CFLAGS := -O2 -pipe -Wall -Wstrict-prototypes -c
+ 
+ nhttpd:	main.o http.o sys.o
+-	cc -L../libmy -L../libbsd -o nhttpd main.o http.o sys.o -lmy -lbsd -lssl -lcrypt
+-	strip nhttpd
++	$(CC) -L../libmy -L../libbsd -o nhttpd main.o http.o sys.o -lmy -lbsd -lssl -lcrypt
++#	$(STRIP) nhttpd
+ 	nroff -Tascii -c -mandoc nhttpd.8 > nhttpd.cat8
+ 
+ main.o:	main.c
+-	cc ${CCFLAGS} main.c
++	$(CC) $(CFLAGS) main.c
+ 
+ http.o:	http.c
+-	cc ${CCFLAGS} http.c
++	$(CC) $(CFLAGS) http.c
+ 
+ sys.o:	sys.c
+-	cc ${CCFLAGS} sys.c
++	$(CC) $(CFLAGS) sys.c
+ 
+ clean:
+ 	rm -f nhttpd nhttpd.cat8 *.o
+diff --git a/src/tools/GNUmakefile b/src/tools/GNUmakefile
+index 15bea61..663ddb5 100644
+--- a/src/tools/GNUmakefile
++++ b/src/tools/GNUmakefile
+@@ -1,11 +1,11 @@
+-CCFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes -c
++CCFLAGS := -O2 -pipe -Wall -Werror -Wstrict-prototypes
+ 
+ crypt:		crypt.o
+-		cc -o crypt crypt.o -lcrypt
+-		strip crypt
++		$(CC) $(CFLAGS) -o crypt crypt.o -lcrypt
++#		$(STRIP) crypt
+ 
+ crypt.o:	crypt.c
+-		cc ${CCFLAGS} crypt.c
++		$(CC) $(CFLAGS) -c crypt.c
+ 
+ clean:
+ 		rm -f crypt *.o
+-- 
+1.7.6.4
+
diff --git a/meta-oe/recipes-extended/nostromo/files/nhttpd.conf b/meta-oe/recipes-extended/nostromo/files/nhttpd.conf
new file mode 100644
index 0000000..6674bb6
--- /dev/null
+++ b/meta-oe/recipes-extended/nostromo/files/nhttpd.conf
@@ -0,0 +1,55 @@ 
+# MAIN [MANDATORY]
+
+servername		localhost
+#servername		www.nazgul.ch:8080
+serverlisten		*
+#serverlisten		81.221.21.250 127.0.0.1 ::1
+serveradmin		webmaster@localhost
+serverroot		/var/nostromo
+servermimes		/var/nostromo/conf/mimes
+docroot			/var/nostromo/htdocs
+docindex		index.html
+
+# LOGS [OPTIONAL]
+
+logpid			/var/run/nostromo/nhttpd.pid
+#logaccess		/var/log/nostromo/access_log
+
+# SETUID [RECOMMENDED]
+
+user			www-data
+
+# BASIC AUTHENTICATION [OPTIONAL]
+
+#htaccess		.htaccess
+#htpasswd		/var/nostromo/conf/.htpasswd
+#htpasswd		+bsdauth
+#htpasswd		+bsdauthnossl
+
+# SSL [OPTIONAL]
+
+#sslport		443
+#sslcert		/etc/ssl/server.crt
+#sslcertkey		/etc/ssl/server.key
+
+# CUSTOM RESPONSES [OPTIONAL]
+#
+# The custom responses are searched in the corresponding document root.
+
+#custom_401		custom_401.html
+#custom_403		custom_403.html
+#custom_404		custom_404.html
+
+# ALIASES [OPTIONAL]
+
+/icons			/var/nostromo/icons
+
+# VIRTUAL HOSTS [OPTIONAL]
+
+#www.rahel.ch		/var/nostromo/htdocs/www.rahel.ch
+#www.rahel.ch:8080	/var/nostromo/htdocs/www.rahel.ch
+
+# HOMEDIRS [OPTIONAL]
+
+#homedirs		/home
+#homedirs_public	public_www
diff --git a/meta-oe/recipes-extended/nostromo/files/nostromo b/meta-oe/recipes-extended/nostromo/files/nostromo
new file mode 100644
index 0000000..8a28868
--- /dev/null
+++ b/meta-oe/recipes-extended/nostromo/files/nostromo
@@ -0,0 +1,34 @@ 
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=nhttpd
+NAME=nhttpd
+DESC="Nostromo Web Server"
+OPTS="-c /etc/nhttpd.conf"
+
+case "$1" in
+  start)
+	echo -n "Starting $DESC: "
+	start-stop-daemon --start -x "$DAEMON" -- $OPTS
+	echo "$NAME."
+	;;
+  stop)
+	echo -n "Stopping $DESC: "
+	start-stop-daemon --stop -x "$DAEMON"
+	echo "$NAME."
+	;;
+  restart|force-reload)
+	echo -n "Restarting $DESC: "
+	start-stop-daemon --stop -x "$DAEMON"
+	sleep 1
+	start-stop-daemon --start -x "$DAEMON" -- $OPTS
+	echo "$NAME."
+	;;
+  *)
+	N=/etc/init.d/$NAME
+	echo "Usage: $N {start|stop|restart|force-reload}" >&2
+	exit 1
+	;;
+esac
+
+exit 0
diff --git a/meta-oe/recipes-extended/nostromo/files/volatiles b/meta-oe/recipes-extended/nostromo/files/volatiles
new file mode 100644
index 0000000..4092496
--- /dev/null
+++ b/meta-oe/recipes-extended/nostromo/files/volatiles
@@ -0,0 +1,2 @@ 
+d www-data www-data 0775 /var/run/nostromo none
+d www-data www-data 0775 /var/log/nostromo none
diff --git a/meta-oe/recipes-extended/nostromo/nostromo_1.9.5.bb b/meta-oe/recipes-extended/nostromo/nostromo_1.9.5.bb
new file mode 100644
index 0000000..a368887
--- /dev/null
+++ b/meta-oe/recipes-extended/nostromo/nostromo_1.9.5.bb
@@ -0,0 +1,51 @@ 
+HOMEPAGE = "http://www.nazgul.ch/dev_nostromo.html"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://src/nhttpd/main.c;beginline=2;endline=14;md5=e5ec3fa723b29b7d59d205afd8d36938"
+
+SRC_URI = "http://www.nazgul.ch/dev/${PN}-${PV}.tar.gz \
+           file://0001-GNUmakefile-add-possibility-to-override-variables.patch \
+           file://nhttpd.conf \
+           file://volatiles \
+           file://nostromo \
+           "
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+DEPENDS = "openssl"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "nostromo"
+INITSCRIPT_PARAMS = "defaults 70"
+
+do_compile() {
+    oe_runmake
+}
+
+do_install() {
+    install -d ${D}/${sbindir}
+    install -m 0755 src/nhttpd/nhttpd ${D}/${sbindir}/nhttpd
+    install -m 0755 src/tools/crypt ${D}/${sbindir}/crypt
+    install -d ${D}/${mandir}/man8
+    install -m 0444 src/nhttpd/nhttpd.8 ${D}/${mandir}/man8/nhttpd.8
+    install -d ${D}${localstatedir}/nostromo/conf
+    install -d ${D}${localstatedir}/nostromo/htdocs/cgi-bin
+    install -d ${D}${localstatedir}/nostromo/icons
+    install -d ${D}${localstatedir}/log/nostromo
+    install -d ${D}${localstatedir}/run/nostromo
+    install -d ${D}${sysconfdir}/init.d
+    install -m 0644 conf/mimes ${D}${localstatedir}/nostromo/conf/mimes
+    install -m 0644 ${WORKDIR}/nhttpd.conf ${D}${sysconfdir}
+    install -m 0755 ${WORKDIR}/nostromo ${D}${sysconfdir}/init.d
+    install -c -D -m 644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/nostromo
+    install -m 0644 htdocs/index.html ${D}${localstatedir}/nostromo/htdocs/index.html
+    install -m 0644 htdocs/nostromo.gif ${D}${localstatedir}/nostromo/htdocs/nostromo.gif
+    install -m 0644 icons/dir.gif ${D}${localstatedir}/nostromo/icons/dir.gif
+    install -m 0644 icons/file.gif ${D}${localstatedir}/nostromo/icons/file.gif
+    chown -R www-data:www-data ${D}/${localstatedir}/nostromo ${D}/${localstatedir}/log/nostromo ${D}/${localstatedir}/run/nostromo
+}
+
+SRC_URI[md5sum] = "dc6cfd6b5aae04c370c7f818fa7bde55"
+SRC_URI[sha256sum] = "5f62578285e02449406b46cf06a7888fe3dc4a90bedf58cc18523bad62f6b914"
+
+CONFFILES_${PN} += "/var/nostromo/conf/mimes ${sysconfdir}/nhttpd.conf"