Packaging for Debian.
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Fri, 7 Oct 2011 12:52:16 +0000 (12:52 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Fri, 7 Oct 2011 12:52:16 +0000 (12:52 +0000)
org.gridsite.core/project/debian.changelog [new file with mode: 0644]
org.gridsite.core/project/debian.control [new file with mode: 0644]
org.gridsite.core/project/debian.rules [new file with mode: 0644]
org.gridsite.core/src/Makefile
org.gridsite.core/src/make-debian-files [new file with mode: 0644]

diff --git a/org.gridsite.core/project/debian.changelog b/org.gridsite.core/project/debian.changelog
new file mode 100644 (file)
index 0000000..5ac1f3c
--- /dev/null
@@ -0,0 +1,6 @@
+gridsite (${PATCH_VERSION}-`echo ${RELEASE_VERSION}`) unstable; urgency=low
+
+  * Local package
+  * Automatically generated package
+
+ -- EMI CESNET security <emi-lb@metacentrum.cz>  `date '+%a, %m %b %Y %T %z'`
diff --git a/org.gridsite.core/project/debian.control b/org.gridsite.core/project/debian.control
new file mode 100644 (file)
index 0000000..06078ad
--- /dev/null
@@ -0,0 +1,85 @@
+Source: gridsite
+Section: main
+Priority: optional
+Maintainer: EMI CESNET security <emi-lb@metacentrum.cz>
+Build-Depends: debhelper (>= 7.0.50~),
+       apache2-prefork-dev,
+       gsoap,
+       libglobus-gssapi-gsi-dev,
+       libcurl4-openssl-dev,
+       doxygen,
+       libfuse-dev,
+       libxml2,
+       libxml2-dev,
+       libssl-dev
+Standards-Version: 3.9.1
+Homepage: http://gridsite.org
+Vcs-Cvs: :pserver:anonymous@jra1mw.cvs.cern.ch:/cvs/jra1mw/org.gridsite.core
+
+Package: libgridsite${MINOR_VERSION}
+Section: libs
+Architecture: any
+Provides: gridsite
+Depends: \${shlibs:Depends}, \${misc:Depends}
+Description: GridSite libraries and documentation
+ GridSite adds GSI, VOMS and GACL support to Apache 2.0 (mod_gridsite),
+ a library for manipulating these technologies (libgridsite), and CGI
+ programs for interactive management of HTTP(S) servers (gridsite-admin.cgi).
+ This package contains shared libraries and core documentation.
+
+Package: libgridsite-dev
+Section: libdevel
+Architecture: any
+Depends: libgridsite,
+         \${misc:Depends}
+Description: GridSite static libraries and headers
+ Development files for GridSite - .a libraries and .h headers.
+
+Package: gridsite-apache
+Section: httpd
+Architecture: any
+Depends: \${shlibs:Depends}, \${misc:Depends}
+Description: GridSite mod_gridsite module for Apache httpd
+ GridSite Apache module and CGI binaries.
+
+Package: gridsite-commands
+Section: web
+Architecture: any
+Depends: \${shlibs:Depends}, \${misc:Depends}
+Description: HTTP(S) read/write client and other GridSite commands
+ htcp is a client to fetch files or directory listings from remote
+ servers using HTTP or HTTPS, or to put or delete files or directories
+ onto remote servers using HTTPS. htcp is similar to scp(1), but uses
+ HTTP/HTTPS rather than ssh as its transfer protocol.
+
+Package: gridsite-gsexec
+Section: web
+Architecture: any
+Depends: \${shlibs:Depends}, \${misc:Depends}
+Description: gsexec binary for the Apache HTTP server
+ This package includes the /usr/sbin/gsexec binary which can be installed
+ to allow the Apache HTTP server to run CGI programs (and any programs
+ executed by SSI pages) as a user other than the 'apache' user. gsexec
+ is a drop-in replacement for suexec, with extended functionality for use
+ with GridSite and Grid Security credentials.
+
+Package: gridsite-slashgrid
+Section: web
+Architecture: any
+Depends: \${shlibs:Depends}, \${misc:Depends}, libcurl3 (>=7.12.1), fuse-utils
+Description: SlashGrid daemon
+ SlashGrid provides remote virtual filesystems under /grid (\"slash grid\").
+
+Package: gridsite-services
+Section: web
+Architecture: any
+Depends: \${shlibs:Depends}, \${misc:Depends}
+Description: GridSite WS gridsite-delegation.cgi
+ GridSite WS delegation service, gridsite-delegation.cgi
+
+Package: gridsite-service-clients
+Section: web
+Architecture: any
+Depends: \${shlibs:Depends}, \${misc:Depends}
+Description: GridSite WS htproxyput
+ GridSite WS delegation client, htproxyput
diff --git a/org.gridsite.core/project/debian.rules b/org.gridsite.core/project/debian.rules
new file mode 100644 (file)
index 0000000..1f52400
--- /dev/null
@@ -0,0 +1,10 @@
+#! /usr/bin/make -f
+
+override_dh_auto_build:
+       \$(MAKE) -C src prefix=/usr build gridsite-delegation.cgi htproxyput slashgrid
+
+override_dh_auto_install:
+       \$(MAKE) -C src prefix=../debian/tmp/usr RPM_BUILD_ROOT=../debian/tmp install install-ws install-slashgrid
+
+%:
+       dh -Smakefile -Dsrc \$@
index f60aadb..ec0251b 100644 (file)
@@ -516,9 +516,11 @@ install-ws: gridsite-delegation.cgi htproxyput
 dist:
        mkdir -p ../dist/gridsite-$(PATCH_VERSION)/src \
                  ../dist/gridsite-$(PATCH_VERSION)/doc \
-                 ../dist/gridsite-$(PATCH_VERSION)/interface
+                 ../dist/gridsite-$(PATCH_VERSION)/interface \
+                 ../dist/gridsite-$(PATCH_VERSION)/project
        cp -f ../VERSION ../README ../LICENSE ../CHANGES ../INSTALL \
                  ../dist/gridsite-$(PATCH_VERSION)
+       cp -f ../project/debian.* ../dist/gridsite-$(PATCH_VERSION)/project
        if test -f Makefile.inc; then \
                 cp -f Makefile.inc ../dist/gridsite-$(PATCH_VERSION)/src; \
        fi
@@ -527,7 +529,7 @@ dist:
                  htproxyput.c grst_admin.h mod_ssl-private.h \
                  gsexec.c gsexec.h gridsite-copy.c gridsite-storage.c \
                  delegation.h \
-                 roffit make-gridsite-spec \
+                 roffit make-gridsite-spec make-debian-files \
                  Doxyfile doxygen.css doxyheader.html \
                  ../dist/gridsite-$(PATCH_VERSION)/src
        cp -f ../doc/*.html ../doc/*.1 ../doc/*.8 ../doc/*.conf ../doc/*.sh \
@@ -573,6 +575,19 @@ rpm: dist
        $(RPMCMD) --define "_topdir $(MYRPMDIR)" \
                   -ba --buildroot $(MYRPMDIR)/BUILDROOT gridsite.spec
 
+deb: dist
+       rm -Rf $(MYRPMDIR)
+       (mkdir -p $(MYRPMDIR) && \
+        tar -xC $(MYRPMDIR) -f ../gridsite-$(PATCH_VERSION).src.tar.gz && \
+        cd $(MYRPMDIR)/gridsite-$(PATCH_VERSION)/src && \
+        export PATCH_VERSION=$(PATCH_VERSION) && \
+        export MINOR_VERSION=$(MINOR_VERSION) && \
+        export project=$(project) && \
+        export top_srcdir=.. && \
+        ./make-debian-files)
+       (cd $(MYRPMDIR)/gridsite-$(PATCH_VERSION) && \
+       pwd && \
+       dpkg-buildpackage)
 
 wtf: 
        pwd
@@ -582,4 +597,4 @@ wtf:
 #      ls -lR /usr/local/
 #      ls -lR $(GSOAPDIR)
 
-.PHONY: build build-lib apidoc clean install install-lib install-slashgrid install-ws dist htcp-bin rpm wtf
+.PHONY: build build-lib apidoc clean install install-lib install-slashgrid install-ws dist htcp-bin rpm deb wtf
diff --git a/org.gridsite.core/src/make-debian-files b/org.gridsite.core/src/make-debian-files
new file mode 100644 (file)
index 0000000..4caa46c
--- /dev/null
@@ -0,0 +1,138 @@
+#! /bin/sh
+
+process_template() {
+       local res;
+       local tmpl="`cat $1`"
+
+       eval "res=\"$tmpl\""
+       echo "$res"
+}
+
+export LC_TIME=C
+
+for i in top_srcdir MINOR_VERSION PATCH_VERSION RELEASE_VERSION; do
+       eval res="\$$i"
+       if test -z "$res"; then
+               echo "$i not specified"
+               exit 1
+       fi
+done
+
+rm -rf ${top_srcdir}/debian
+mkdir -p ${top_srcdir}/debian/source
+ln -s ../LICENSE ${top_srcdir}/debian/copyright
+
+cd ${top_srcdir}/debian
+process_template ${top_srcdir}/project/debian.control > control
+process_template ${top_srcdir}/project/debian.rules > rules
+process_template ${top_srcdir}/project/debian.changelog > changelog
+chmod +x rules
+echo "7" > compat
+echo "3.0 (native)" > source/format
+
+# apache
+cat > gridsite-apache.install <<EOF
+usr/lib/httpd/modules/mod_gridsite.so
+usr/sbin/real-gridsite-admin.cgi
+usr/sbin/gridsite-copy.cgi
+usr/sbin/gridsite-storage.cgi
+EOF
+cat > gridsite-apache.manpages <<EOF
+doc/mod_gridsite.8
+EOF
+
+# commands
+cat > gridsite-commands.install <<EOF
+usr/bin/htcp
+usr/bin/htls
+usr/bin/htll
+usr/bin/htrm
+usr/bin/htmkdir
+usr/bin/htmv
+usr/bin/htping
+usr/bin/htfind
+usr/bin/urlencode
+usr/bin/findproxyfile
+EOF
+cat > gridsite-commands.manpages <<EOF
+doc/htcp.1
+doc/htrm.1
+doc/htls.1
+doc/htll.1
+doc/htmkdir.1
+doc/htmv.1
+doc/htping.1
+doc/htfind.1
+doc/urlencode.1
+doc/findproxyfile.1
+EOF
+
+# gsexec
+cat > gridsite-gsexec.install <<EOF
+usr/sbin/gsexec
+EOF
+cat > gridsite-gsexec.manpages <<EOF
+doc/gsexec.8
+EOF
+
+# service-clients
+cat > gridsite-service-clients.install <<EOF
+usr/bin/htproxyput
+usr/bin/htproxydestroy
+usr/bin/htproxytime
+usr/bin/htproxyunixtime
+usr/bin/htproxyrenew
+usr/bin/htproxyinfo
+EOF
+cat > gridsite-service-clients.manpages <<EOF
+doc/htproxyput.1
+doc/htproxydestroy.1
+doc/htproxytime.1
+doc/htproxyunixtime.1
+doc/htproxyrenew.1
+doc/htproxyinfo.1
+EOF
+
+# services
+cat > gridsite-services.install <<EOF
+usr/sbin/gridsite-delegation.cgi
+EOF
+cat > gridsite-services.manpages <<EOF
+doc/gridsite-delegation.8
+EOF
+
+# slashgrid
+cat > gridsite-slashgrid.dirs <<EOF
+etc/init.d
+EOF
+cat > gridsite-slashgrid.install <<EOF
+usr/sbin/slashgrid
+etc/rc.d/init.d/slashgrid etc/init.d
+var/spool/slashgrid
+EOF
+cat > gridsite-slashgrid.manpages <<EOF
+doc/slashgrid.8
+EOF
+
+# shared
+cat > libgridsite${MINOR_VERSION}.docs <<EOF
+CHANGES
+README
+VERSION
+doc/*.html
+doc/fuse.spec
+doc/gsoap-devel.spec
+doc/build-apache2.sh
+EOF
+cat > libgridsite${MINOR_VERSION}.install <<EOF
+usr/lib/lib*.so.*
+EOF
+
+# devel
+cat > libgridsite-dev.install <<EOF
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
+EOF
+
+cd - >/dev/null