[SCM] BOINC packaging branch, master, updated. debian/7.0.27+dfsg-3-70-g14393c6

Steffen Moeller steffen_moeller at gmx.de
Sat Aug 11 13:04:21 UTC 2012


The following commit has been merged in the master branch:
commit 14393c6ae5e208c2ab7effa77f53016a4973940d
Author: Steffen Moeller <steffen_moeller at gmx.de>
Date:   Sat Aug 11 14:45:03 2012 +0200

    moved control to control.in

diff --git a/debian/README.source b/debian/README.source
index 6591892..6dc0704 100644
--- a/debian/README.source
+++ b/debian/README.source
@@ -1,3 +1,14 @@
+Building client+libs or everything
+==================================
+
+The file debian/control.in is the template the control file to be used.
+If the Package: boinc-server-maker is not commented out, then all the
+%-starting lines will be uncommented, too. Otherwise, those lines are removed
+and only those parts of the source tree be built that upstream tests for
+every release. The server side may be at an unbuildable developmental state
+at times.
+
+
 Modifications to the upstream source
 ====================================
  This package uses the Debian quilt format to manage all modifications
@@ -46,6 +57,8 @@ removal of the build dependencies
  libxcb-util0-dev|libxcb-atom1-dev
 
 
+
+
 Removed non-dfsg upstream files
 ===============================
  The files removed from upstream tag are:
@@ -59,10 +72,3 @@ Removed non-dfsg upstream files
    client/app_stats_mac.cpp
 
 
-Debian packaging VCS
-=====================
- Very recently, the management of the packaging has moved from subversion
- to a git repository. The Wiki pages hold instructions for using git,
- see http://wiki.debian.org/BOINC/Development/GitUsage for details.
- The site also offers further references for the current and future
- contributors - you? Give it a try.
diff --git a/debian/control b/debian/control
index 98eff45..957259f 100644
--- a/debian/control
+++ b/debian/control
@@ -224,49 +224,8 @@ Description: libraries for BOINC's scientific applications
  which utilizes the BOINC infrastructure.
 
 
-#Package: boinc-server-maker
-#Architecture: any
-#Provides: boinc-server
-#Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
-# python, python-mysqldb,
-# mysql-server-5.0 | virtual-mysql-server, apache2 | httpd-cgi,
-# php5, php5-cli, php5-mysql,
-# tcsh, openssl (>= 0.9.8), adduser, libfcgi0ldbl
-#Recommends: libapache2-mod-php5, php5-gd, uuid-runtime,
-# boinc-cgi-stripchart
-#Suggests: boinc-app-examples
-#Description: BOINC server applications and data files
-# The Berkeley Open Infrastructure for Network Computing (BOINC) is a
-# software platform for distributed computing using volunteered computer
-# resources. For every scientific problem its own distinct project-server
-# must be provided. The users only run a common client with project-specific
-# additions (if not self-compiled or available as a Linux distribution's
-# package itself) being downloaded from the server.
-# .
-# This package contains the daemons and tools to create and run BOINC
-# projects.
 
 
-Package: boinc-app-examples
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Recommends: boinc-server-maker
-Description: example binaries for BOINC servers
- The Berkeley Open Infrastructure for Network Computing (BOINC) is a
- software platform for distributed computing using volunteered computer
- resources. For every scientific problem its own distinct project-server
- must be provided. The users only run a common client with project-specific
- additions (if not self-compiled or available as a Linux distribution's
- package itself) being downloaded from the server.
- .
- This package extends the boinc-server-maker package. It features a
- series of small applications that a newly installed environment may
- decide to use for testing purposes. Having them separated has the neat
- side effect that thosee binaries may be retrieved more easily for foreign
- platforms to feed the local servers with.
- .
- The package also features the wrapper application, which is likely
- to find its audience also in real projects.
 
 
 Package: boinc-dbg
diff --git a/debian/control b/debian/control.in
similarity index 84%
copy from debian/control
copy to debian/control.in
index 98eff45..3e0eb33 100644
--- a/debian/control
+++ b/debian/control.in
@@ -224,49 +224,49 @@ Description: libraries for BOINC's scientific applications
  which utilizes the BOINC infrastructure.
 
 
-#Package: boinc-server-maker
-#Architecture: any
-#Provides: boinc-server
-#Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
-# python, python-mysqldb,
-# mysql-server-5.0 | virtual-mysql-server, apache2 | httpd-cgi,
-# php5, php5-cli, php5-mysql,
-# tcsh, openssl (>= 0.9.8), adduser, libfcgi0ldbl
-#Recommends: libapache2-mod-php5, php5-gd, uuid-runtime,
-# boinc-cgi-stripchart
-#Suggests: boinc-app-examples
-#Description: BOINC server applications and data files
-# The Berkeley Open Infrastructure for Network Computing (BOINC) is a
-# software platform for distributed computing using volunteered computer
-# resources. For every scientific problem its own distinct project-server
-# must be provided. The users only run a common client with project-specific
-# additions (if not self-compiled or available as a Linux distribution's
-# package itself) being downloaded from the server.
-# .
-# This package contains the daemons and tools to create and run BOINC
-# projects.
+%Package: boinc-server-maker
+%Architecture: any
+%Provides: boinc-server
+%Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+% python, python-mysqldb,
+% mysql-server-5.0 | virtual-mysql-server, apache2 | httpd-cgi,
+% php5, php5-cli, php5-mysql,
+% tcsh, openssl (>= 0.9.8), adduser, libfcgi0ldbl
+%Recommends: libapache2-mod-php5, php5-gd, uuid-runtime,
+% boinc-cgi-stripchart
+%Suggests: boinc-app-examples
+%Description: BOINC server applications and data files
+% The Berkeley Open Infrastructure for Network Computing (BOINC) is a
+% software platform for distributed computing using volunteered computer
+% resources. For every scientific problem its own distinct project-server
+% must be provided. The users only run a common client with project-specific
+% additions (if not self-compiled or available as a Linux distribution's
+% package itself) being downloaded from the server.
+% .
+% This package contains the daemons and tools to create and run BOINC
+% projects.
 
 
-Package: boinc-app-examples
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Recommends: boinc-server-maker
-Description: example binaries for BOINC servers
- The Berkeley Open Infrastructure for Network Computing (BOINC) is a
- software platform for distributed computing using volunteered computer
- resources. For every scientific problem its own distinct project-server
- must be provided. The users only run a common client with project-specific
- additions (if not self-compiled or available as a Linux distribution's
- package itself) being downloaded from the server.
- .
- This package extends the boinc-server-maker package. It features a
- series of small applications that a newly installed environment may
- decide to use for testing purposes. Having them separated has the neat
- side effect that thosee binaries may be retrieved more easily for foreign
- platforms to feed the local servers with.
- .
- The package also features the wrapper application, which is likely
- to find its audience also in real projects.
+%Package: boinc-app-examples
+%Architecture: any
+%Depends: ${shlibs:Depends}, ${misc:Depends}
+%Recommends: boinc-server-maker
+%Description: example binaries for BOINC servers
+% The Berkeley Open Infrastructure for Network Computing (BOINC) is a
+% software platform for distributed computing using volunteered computer
+% resources. For every scientific problem its own distinct project-server
+% must be provided. The users only run a common client with project-specific
+% additions (if not self-compiled or available as a Linux distribution's
+% package itself) being downloaded from the server.
+% .
+% This package extends the boinc-server-maker package. It features a
+% series of small applications that a newly installed environment may
+% decide to use for testing purposes. Having them separated has the neat
+% side effect that thosee binaries may be retrieved more easily for foreign
+% platforms to feed the local servers with.
+% .
+% The package also features the wrapper application, which is likely
+% to find its audience also in real projects.
 
 
 Package: boinc-dbg
diff --git a/debian/rules b/debian/rules
index bb5761c..912a9e1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -123,10 +123,13 @@ CXXFLAGS += $(DEB_OPT_FLAGS)
 CFLAGS_boinc-client := $(CFLAGS)
 CXXFLAGS_boinc-client := $(CXXFLAGS)
 
-ENABLE_SERVER_TEST := $(shell egrep '^Package:.*boinc-server-maker' debian/control)
+ENABLE_SERVER_TEST := $(shell egrep '^Package:.*boinc-server-maker' debian/control.in)
 ENABLE_SERVER := --disable-server
-ifneq (,$(findstring clang,$(DEB_BUILD_OPTIONS)))
+ifneq (,$(ENABLE_SERVER_TEST))
 ENABLE_SERVER :=--enable-server 
+TMP=$(shell sed -e 's/^%//' debian/control.in > debian/control)
+else
+TMP=$(shell egrep -v '^%' debian/control.in > debian/control)
 endif
 
 # --disable-static
@@ -153,14 +156,24 @@ CFGFLAGS_boinc-client = \
 
 # Default rule
 %:
+	if [ ! -f debian/control ]; then \
+		if egrep -q '^Package:.*boinc-server-maker' debian/control.in; then \
+			sed -e 's/^%//' debian/control.in > debian/control ; \
+		else \
+			egrep -v '^%' debian/control.in > debian/control ; \
+		fi ; \
+	fi
+	
 	dh $@ --parallel --with python2
 
 override_dh_clean:
 	dh_clean
+	rm -rf debian/boinc-app-examples debian/boinc-server-maker
 	find . -name "Makefile" | grep -v samples | xargs -r rm
 	rm -f configure clientscr/boincscr
 	rm -rf py/lib.linux-*-2.*
 	rm -f override_dh_auto_install client_state.xml gui_rpc_auth.cfg
+	rm -f debian/control
 
 # Commands not to execute - empty overrides
 override_dh_auto_test:
@@ -292,22 +305,27 @@ SAMPLES=samples/sleeper/sleeper samples/worker/worker samples/example_app/uc2 sa
 
 override_dh_auto_install: update-boinc-applinks.1
 	$(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+ifneq (,$(ENABLE_SERVER_TEST))
+	echo "I: Installing example scientific applications"
 	mkdir -p $(CURDIR)/debian/tmp/samples
-	cp $(SAMPLES) $(CURDIR)/debian/tmp/samples
-	
-	dh_install
+	cp $(SAMPLES) $(CURDIR)/debian/tmp/samples || echo "W: Could not install samples ($(SAMPLES))"
+endif
 	for i in $(CURDIR)/debian/*/usr/bin ; \
 	do \
 		egrep -l "^#!.*env..*python" $$i/* | xargs -r sed -i '1s%#!.*%#!/usr/bin/python%' ; \
 	done
-	
-	# something for upstream to fix, optional, in case we do not build the server
-	if [ -d $(CURDIR)/debian/boinc-server-maker ]; then \
 	-chmod +x $(CURDIR)/debian/boinc-server-maker/usr/share/boinc-server/sched/transitioner_catchup.php ; \
-	fi
-	
 	touch $@
 
+override_dh_install:
+	# boinc apps are built only together with the server
+	dh_install
+	rm -rf debian/boinc-manager/usr/share/locale/en_US/
+	# delete empty dirs
+	if [ -d debian/boinc-manager/usr/share/locale ] ; then find debian/boinc-manager/usr/share/locale -type d -empty -delete; fi
+	# delete .la files (Closes: #621197)
+	find $(CURDIR)/debian -name "*.la" | xargs -r rm -f
+
 override_dh_strip:
 	dh_strip -a --dbg-package=boinc-dbg
 
@@ -327,7 +345,6 @@ override_dh_fixperms:
 			fi ; \
 		done ; \
 	fi
-
 	# Correct catalog file perms
 	find debian -name "*.mo" -exec chmod 644   {} \;
 	chmod 755 \
@@ -335,14 +352,6 @@ override_dh_fixperms:
 	  debian/boinc-client/usr/share/bug/boinc-client/script \
 	  debian/boinc-manager/usr/share/doc/boinc-manager/examples/run-boincmgr
 
-override_dh_install:
-	dh_install
-	rm -rf debian/boinc-manager/usr/share/locale/en_US/
-	# delete empty dirs
-	if [ -d debian/boinc-manager/usr/share/locale ] ; then find debian/boinc-manager/usr/share/locale -type d -empty -delete; fi
-	# delete .la files (Closes: #621197)
-	find $(CURDIR)/debian -name "*.la" | xargs -r rm -f
-
 override_dh_compress:
 	dh_compress -Xsamples -X.cpp
 

-- 
BOINC packaging



More information about the pkg-boinc-commits mailing list