From 63555e179144d4c6ffe537c4efb603e9845d0198 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Fri, 7 Oct 2011 12:52:16 +0000 Subject: [PATCH] Packaging for Debian. --- org.gridsite.core/project/debian.changelog | 6 ++ org.gridsite.core/project/debian.control | 85 ++++++++++++++++++ org.gridsite.core/project/debian.rules | 10 +++ org.gridsite.core/src/Makefile | 21 ++++- org.gridsite.core/src/make-debian-files | 138 +++++++++++++++++++++++++++++ 5 files changed, 257 insertions(+), 3 deletions(-) create mode 100644 org.gridsite.core/project/debian.changelog create mode 100644 org.gridsite.core/project/debian.control create mode 100644 org.gridsite.core/project/debian.rules create mode 100644 org.gridsite.core/src/make-debian-files diff --git a/org.gridsite.core/project/debian.changelog b/org.gridsite.core/project/debian.changelog new file mode 100644 index 0000000..5ac1f3c --- /dev/null +++ b/org.gridsite.core/project/debian.changelog @@ -0,0 +1,6 @@ +gridsite (${PATCH_VERSION}-`echo ${RELEASE_VERSION}`) unstable; urgency=low + + * Local package + * Automatically generated package + + -- EMI CESNET security `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 index 0000000..06078ad --- /dev/null +++ b/org.gridsite.core/project/debian.control @@ -0,0 +1,85 @@ +Source: gridsite +Section: main +Priority: optional +Maintainer: EMI CESNET security +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 index 0000000..1f52400 --- /dev/null +++ b/org.gridsite.core/project/debian.rules @@ -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 \$@ diff --git a/org.gridsite.core/src/Makefile b/org.gridsite.core/src/Makefile index f60aadb..ec0251b 100644 --- a/org.gridsite.core/src/Makefile +++ b/org.gridsite.core/src/Makefile @@ -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 index 0000000..4caa46c --- /dev/null +++ b/org.gridsite.core/src/make-debian-files @@ -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 < gridsite-apache.manpages < gridsite-commands.install < gridsite-commands.manpages < gridsite-gsexec.install < gridsite-gsexec.manpages < gridsite-service-clients.install < gridsite-service-clients.manpages < gridsite-services.install < gridsite-services.manpages < gridsite-slashgrid.dirs < gridsite-slashgrid.install < gridsite-slashgrid.manpages < libgridsite${MINOR_VERSION}.docs < libgridsite${MINOR_VERSION}.install < libgridsite-dev.install </dev/null -- 1.8.2.3