debian: Initial work to get the Debian packaging working again

Right now it isn't working yet, but this is the way it should start working
like the RPM package building is.

This commit is to clean up the rules file a bit and lay the groundwork for
the Debian packaging
This commit is contained in:
Wido den Hollander 2012-11-06 12:02:39 +01:00
parent 36e7a7884e
commit a24ec2bdcc
2 changed files with 91 additions and 77 deletions

104
debian/rules vendored
View File

@ -16,77 +16,55 @@ export DH_VERBOSE=1
# This has to be exported to make some magic below work. # This has to be exported to make some magic below work.
export DH_OPTIONS export DH_OPTIONS
configure: configure-stamp configure: configure-stamp
configure-stamp: configure-stamp:
dh_testdir dh_testdir
# Add here commands to configure the package. cp packaging/debian/replace.properties build/replace.properties
./waf configure --prefix=/usr --libdir=/usr/lib --bindir=/usr/bin --javadir=/usr/share/java --sharedstatedir=/var/lib --localstatedir=/var --sysconfdir=/etc --mandir=/usr/share/man --libexecdir=/usr/bin --with-tomcat=/usr/share/tomcat6 --tomcat-user=cloud --fast echo VERSION=$VERSION >> build/replace.properties
./waf showconfig
touch configure-stamp touch configure-stamp
#Architecture
# build: build-arch build-indep
build: build-arch build: build-arch
build-arch: build-arch-stamp build-arch: build-arch-stamp
build-arch-stamp: configure-stamp build-arch-stamp: configure-stamp
mvn package -Dsystemvm
# Add here commands to compile the arch part of the package.
./waf build
touch $@ touch $@
# build-indep: build-indep-stamp
# build-indep-stamp: configure-stamp
#
# # Add here commands to compile the indep part of the package.
# #$(MAKE) doc
# touch $@
#
clean: clean:
dh_testdir dh_testdir
dh_testroot dh_testroot
rm -f build-arch-stamp build-indep-stamp configure-stamp rm -f build-arch-stamp build-indep-stamp configure-stamp
# Add here commands to clean up after the build process.
./waf distclean
dh_clean dh_clean
install: install-arch install:
# install: install-indep install-arch
# install-indep:
# dh_testdir
# dh_testroot
# dh_prep -i
# dh_installdirs -i
#
# # Add here commands to install the indep part of the package into
# # debian/<package>-doc.
# #INSTALLDOC#
#
# dh_install -i
install-arch:
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_prep -s dh_prep -s
mkdir -p debian/tmp/usr/bin
mkdir -p debian/tmp/usr/share/cloud/management
mkdir -p debian/tmp/var/log/cloud
mkdir debian/tmp/var/log/cloud/managament
mkdir debian/tmp/var/log/cloud/awsapi
mkdir debian/tmp/var/log/cloud/agent
mkdir debian/tmp/var/log/cloud/ipallocator
mkdir debian/tmp/var/log/cloud/usage
mkdir -p debian/tmp/etc/cloud
mkdir debian/tmp/etc/cloud/agent
mkdir debian/tmp/etc/cloud/server
mkdir debian/tmp/etc/cloud/management
mkdir debian/tmp/etc/cloud/usage
mkdir -p debian/tmp/var/cache/cloud
mkdir debian/tmp/var/cache/cloud/management
mkdir -p debian/tmp/usr/share/cloud
mkdir debian/tmp/usr/share/cloud/setup
mkdir -p debian/tmp/usr/share/cloud/management/webapps/client
cp -r client/target/utilities/scripts/db/* debian/tmp/usr/share/cloud/setup/
cp -r client/target/cloud-client-ui-4.1.0-SNAPSHOT/* debian/tmp/usr/share/cloud/management/webapps/client/
dh_installdirs -s dh_installdirs -s
# Add here commands to install the arch part of the package into
# debian/tmp.
# we put the build number again here, otherwise state checking will cause an almost-full recompile
./waf install --destdir=$(CURDIR)/debian/tmp install --nochown --build-number=$(BUILDNUMBER)
dh_install -s dh_install -s
# Must not depend on anything. This is to be called by
# binary-arch/binary-indep binary: binary-common
# in another 'make' thread.
binary-common: binary-common:
dh_testdir dh_testdir
dh_testroot dh_testroot
@ -95,39 +73,13 @@ binary-common:
dh_installdocs DISCLAIMER dh_installdocs DISCLAIMER
dh_installdocs NOTICE dh_installdocs NOTICE
dh_installdocs INSTALL.md dh_installdocs INSTALL.md
# 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_installman
dh_link dh_link
dh_strip dh_strip
dh_compress dh_compress
dh_fixperms dh_fixperms
# dh_perl
dh_makeshlibs dh_makeshlibs
dh_installdeb dh_installdeb
# dh_shlibdeps
dh_gencontrol dh_gencontrol
dh_md5sums dh_md5sums
mkdir -p ./artifacts/debs dh_builddeb
dh_builddeb --destdir=$(CURDIR)/artifacts/debs
# 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
binary: binary-arch
# .PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure
.PHONY: build clean binary-arch binary install install-arch configure

View File

@ -0,0 +1,62 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
DBUSER=cloud
DBPW=cloud
DBROOTPW=
MSLOG=vmops.log
APISERVERLOG=api.log
DBHOST=localhost
MSMNTDIR=/mnt
COMPONENTS-SPEC=components-premium.xml
AWSAPILOG=awsapi.log
REMOTEHOST=localhost
AGENTCLASSPATH=
AGENTLOG=/var/log/cloud/agent/agent.log
AGENTLOGDIR=/var/log/cloud/agent/
AGENTSYSCONFDIR=/etc/cloud/agent
APISERVERLOG=/var/log/cloud/management/apilog.log
AWSAPILOG=/var/log/cloud/awsapi/awsapi.log
BINDIR=/usr/bin
COMMONLIBDIR=/usr/share/java
CONFIGUREVARS=
DEPSCLASSPATH=
DOCDIR=
IPALOCATORLOG=/var/log/cloud/management/ipallocator.log
JAVADIR=/usr/share/java
LIBEXECDIR=/usr/libexec
LOCKDIR=/var/lock
MSCLASSPATH=
MSCONF=/etc/cloud/management
MSENVIRON=/usr/share/cloud/management
MSLOG=/var/log/cloud/management/management-server.log
MSLOGDIR=/var/log/cloud/management/
MSMNTDIR=/var/lib/cloud/mnt
MSUSER=cloud
PIDDIR=/var/run
PLUGINJAVADIR=
PREMIUMJAVADIR=
PYTHONDIR=/usr/lib/python2.6/site-packages/
SERVERSYSCONFDIR=/etc/cloud/server
SETUPDATADIR=/usr/share/cloud/setup
SYSCONFDIR=/etc
SYSTEMCLASSPATH=
SYSTEMJARS=
USAGECLASSPATH=
USAGELOG=/var/log/cloud/usage
USAGESYSCONFDIR=/etc/cloud/usage
PACKAGE=cloud