[Dune] DUNE debianisation

Klaus Schneider klaus.schneider at iup.uni-heidelberg.de
Thu Sep 7 13:31:58 CEST 2006


Dear DUNE community,

I have successfully debianised the dune-common module, i.e. a Debian packages
of dune-common can be built from source by
 debian/rules build
 fakeroot debian/rules binary
The configuration part does not detect lam if it is run with fakeroot, therefore
two commands are required.

Regarding the debianisation of the other DUNE modules, currently the package
build process does not work smoothly because it depends on the possibility that 
a module can be compiled even if all required modules are only available installed
on the system, i.e. the package should be buildable if all required DUNE Debian
packages are installed. For instance, the wmlwrap problem mentioned in my last
email should be resolved. If anybody has a better idea, please let me know.

Best regards
Klaus

diff -Pru dune-common.orig/debian/changelog dune-common/debian/changelog
--- dune-common.orig/debian/changelog	1970-01-01 01:00:00.000000000 +0100
+++ dune-common/debian/changelog	2006-09-07 11:18:10.000000000 +0200
@@ -0,0 +1,6 @@
+dune-common (4702-1) unstable; urgency=low
+
+  * Initial release with Debian support
+
+ -- Klaus Schneider <klaus.schneider at iup.uni-heidelberg.de>  Thu,  7 Sep 2006 11:17:23 +0200
+
diff -Pru dune-common.orig/debian/compat dune-common/debian/compat
--- dune-common.orig/debian/compat	1970-01-01 01:00:00.000000000 +0100
+++ dune-common/debian/compat	2006-09-01 15:28:30.000000000 +0200
@@ -0,0 +1 @@
+5
diff -Pru dune-common.orig/debian/control dune-common/debian/control
--- dune-common.orig/debian/control	1970-01-01 01:00:00.000000000 +0100
+++ dune-common/debian/control	2006-09-04 12:22:43.000000000 +0200
@@ -0,0 +1,45 @@
+Source: dune-common
+Section: science
+Priority: optional
+Maintainer: DUNE project <dune at dune-project.org>
+Build-Depends: debhelper (>= 5), fortran-compiler, autoconf (=> 2.50), automake1.9, libtool, libx11-dev, refblas3-dev, libparmetis-dev, wml, doxygen
+Standards-Version: 3.7.2
+
+Package: dune-common
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Distributed and Unified Numerics Environment, common files
+ DUNE, the Distributed and Unified Numerics Environment is a modular toolbox
+ for solving partial differential equations with grid-based methods.
+ .
+ The main intention is to create slim interfaces allowing an efficient use of
+ legacy and/or new libraries. Using C++ techniques DUNE allows to use very 
+ different implementation of the same concept (i.e. grid, solver, ...) under 
+ a common interface with a very low overhead.
+ .
+ DUNE was desined with flexibility in mind. It supports easy discretization
+ using methods, like Finite Elements, Finite Volume and also Finite 
+ Differences. Through speration of data structures DUNE allows fast Linear 
+ Algebra like provided in the ISTL module, or usage of external libraries 
+ like blas.
+ .
+ This package contains the basic DUNE classes.
+
+Package: dune-common-doc
+Architecture: all
+Description: Documentation for dune-common
+ DUNE, the Distributed and Unified Numerics Environment is a modular toolbox
+ for solving partial differential equations with grid-based methods.
+ .
+ The main intention is to create slim interfaces allowing an efficient use of
+ legacy and/or new libraries. Using C++ techniques DUNE allows to use very 
+ different implementation of the same concept (i.e. grid, solver, ...) under 
+ a common interface with a very low overhead.
+ .
+ DUNE was desined with flexibility in mind. It supports easy discretization
+ using methods, like Finite Elements, Finite Volume and also Finite 
+ Differences. Through speration of data structures DUNE allows fast Linear 
+ Algebra like provided in the ISTL module, or usage of external libraries 
+ like blas.
+ .
+ This package contains the documentation of the basic DUNE classes.
diff -Pru dune-common.orig/debian/copyright dune-common/debian/copyright
--- dune-common.orig/debian/copyright	1970-01-01 01:00:00.000000000 +0100
+++ dune-common/debian/copyright	2006-09-01 15:46:03.000000000 +0200
@@ -0,0 +1,6 @@
+This package was debianized by Klaus Schneider <klaus.schneider at iup.uni-heidelberg.de> on
+Fri,  1 Sep 2006 15:28:23 +0200.
+
+Project Homepage: www.dune-project.org
+
+License: LGPL
diff -Pru dune-common.orig/debian/docs dune-common/debian/docs
--- dune-common.orig/debian/docs	1970-01-01 01:00:00.000000000 +0100
+++ dune-common/debian/docs	2006-09-01 17:05:37.000000000 +0200
@@ -0,0 +1 @@
+TODO
diff -Pru dune-common.orig/debian/dune-common-doc.docs dune-common/debian/dune-common-doc.docs
--- dune-common.orig/debian/dune-common-doc.docs	1970-01-01 01:00:00.000000000 +0100
+++ dune-common/debian/dune-common-doc.docs	2006-09-07 11:20:34.000000000 +0200
@@ -0,0 +1 @@
+TODO
diff -Pru dune-common.orig/debian/dune-common-doc.install dune-common/debian/dune-common-doc.install
--- dune-common.orig/debian/dune-common-doc.install	1970-01-01 01:00:00.000000000 +0100
+++ dune-common/debian/dune-common-doc.install	2006-09-01 17:14:01.000000000 +0200
@@ -0,0 +1,2 @@
+#DOCS#
+usr/share/doc/*
diff -Pru dune-common.orig/debian/dune-common.install dune-common/debian/dune-common.install
--- dune-common.orig/debian/dune-common.install	1970-01-01 01:00:00.000000000 +0100
+++ dune-common/debian/dune-common.install	2006-09-04 10:15:31.000000000 +0200
@@ -0,0 +1,5 @@
+usr/bin
+usr/lib
+usr/include
+usr/share/dune-common
+usr/share/aclocal
diff -Pru dune-common.orig/debian/rules dune-common/debian/rules
--- dune-common.orig/debian/rules	1970-01-01 01:00:00.000000000 +0100
+++ dune-common/debian/rules	2006-09-07 11:10:25.000000000 +0200
@@ -0,0 +1,126 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+#
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+#
+# Modified to make a template file for a multi-binary package with separated
+# build-arch and build-indep targets  by Bill Allombert 2001
+#
+# Modified for DUNE by Klaus Schneider 2006
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+
+configure:
+	./autogen.sh
+#	bin/dunecontrol autogen
+
+config.status: configure
+	dh_testdir
+#	bin/dunecontrol configure \
+	./configure \
+	            --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr \
+	            --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \
+	            --enable-shared CFLAGS="$(CFLAGS)"
+
+
+#Architecture 
+build: build-arch build-indep
+
+build-arch: build-arch-stamp
+build-arch-stamp:  config.status
+	$(MAKE)
+	touch $@
+
+build-indep: build-indep-stamp
+build-indep-stamp:  config.status
+	$(MAKE) doc
+	touch $@
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-arch-stamp build-indep-stamp #CONFIGURE-STAMP#
+	-$(MAKE) clean
+	dh_clean
+
+install: install-indep install-arch
+install-indep:
+	dh_testdir
+	dh_testroot
+	dh_clean -k -i 
+	dh_installdirs -i
+	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+	#INSTALLDOC#
+	dh_install -i --sourcedir=debian/tmp
+
+install-arch:
+	dh_testdir
+	dh_testroot
+	dh_clean -k -s 
+	dh_installdirs -s
+	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+	dh_install -s --sourcedir=debian/tmp
+
+# Must not depend on anything. This is to be called by
+# binary-arch/binary-indep
+# in another 'make' thread.
+binary-common:
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs 
+	dh_installdocs
+	dh_installexamples
+#	dh_installmenu
+#	dh_installdebconf	
+#	dh_installlogrotate	
+#	dh_installemacsen
+#	dh_installpam
+#	dh_installmime
+#	dh_python
+#	dh_installinit
+#	dh_installcron
+#	dh_installinfo
+	dh_installman
+	dh_link
+	dh_strip
+	dh_compress 
+	dh_fixperms
+#	dh_perl
+	dh_makeshlibs
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+# Build architecture independant packages using the common target.
+binary-indep: build-indep install-indep
+	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
+# Build architecture dependant packages using the common target.
+binary-arch: build-arch install-arch
+	$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
+
+binary: binary-arch binary-indep
+.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch 


-- 

Klaus Schneider
Universität Heidelberg
Institut für Umweltphysik
Im Neuenheimer Feld 229
D-69120 Heidelberg
Germany

klaus.schneider at iup.uni-heidelberg.de
Tel.: +49 (0)6221/54-6318
Fax: +49 (0)6221/54-6405
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20060907/bc5c3832/attachment.sig>


More information about the Dune mailing list