mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Changes
(1) add systemd support in debian/control and debian/rules for 16.04
(2) add python-setuptools in Build-Depends in debian/control
(3) seperate cloudstack-management.service and cloudstack-management.default for CentOS7 and Ubuntu 16.04
(4) add server7-ssl.xml and server7-nonssl.xml in management installation
(5) link /usr/share/cloudstack-management/lib and /usr/share/cloudstack-management/bin to correct path (tomcat6 or tomcat7)
(6) link /etc/cloudstack/management/server.xml to correct file path (server-nonssl.xml or server7-nonssl.xml)
(7) remove *.zip from .gitignore to avoid build error caused by missing /vhds/test.vhd.zip
Instruction
(1) build packages on Ubuntu 16.04: dpkg-buildpackage -uc -us
Output on Ubuntu 16.04:
-rw-r--r-- 1 root root 4090 Feb 17 10:12 cloudstack_4.10.0.0-SNAPSHOT_amd64.changes
-rw-r--r-- 1 root root 1235 Feb 17 09:53 cloudstack_4.10.0.0-SNAPSHOT.dsc
-rw-r--r-- 1 root root 8018248 Feb 17 09:53 cloudstack_4.10.0.0-SNAPSHOT.tar.xz
-rw-r--r-- 1 root root 91868746 Feb 17 10:11 cloudstack-agent_4.10.0.0-SNAPSHOT_all.deb
-rw-r--r-- 1 root root 52882 Feb 17 10:12 cloudstack-cli_4.10.0.0-SNAPSHOT_all.deb
-rw-r--r-- 1 root root 98556216 Feb 17 10:08 cloudstack-common_4.10.0.0-SNAPSHOT_all.deb
-rw-r--r-- 1 root root 52864 Feb 17 10:12 cloudstack-docs_4.10.0.0-SNAPSHOT_all.deb
-rw-r--r-- 1 root root 585434 Feb 17 10:12 cloudstack-integration-tests_4.10.0.0-SNAPSHOT_all.deb
-rw-r--r-- 1 root root 323459934 Feb 17 10:10 cloudstack-management_4.10.0.0-SNAPSHOT_all.deb
-rw-r--r-- 1 root root 442656 Feb 17 10:12 cloudstack-marvin_4.10.0.0-SNAPSHOT_all.deb
-rw-r--r-- 1 root root 87037576 Feb 17 10:12 cloudstack-usage_4.10.0.0-SNAPSHOT_all.deb
(2) setup tomcat6/tomcat7 on management server:
tomcat6: cloudstack-setup-management --tomcat6
tomcat7: cloudstack-setup-management --tomcat7
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
157 lines
8.8 KiB
Makefile
Executable File
157 lines
8.8 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
# -*- makefile -*-
|
|
VERSION := $(shell grep '^ <version>' pom.xml| cut -d'>' -f2 |cut -d'<' -f1)
|
|
PACKAGE = $(shell dh_listpackages|head -n 1|cut -d '-' -f 1)
|
|
SYSCONFDIR = "/etc"
|
|
DESTDIR = "debian/tmp"
|
|
|
|
%:
|
|
dh $@ --with python2,systemd
|
|
|
|
override_dh_auto_configure:
|
|
cp packaging/debian/replace.properties replace.properties.tmp
|
|
echo VERSION=${VERSION} >> replace.properties.tmp
|
|
|
|
override_dh_auto_build:
|
|
mvn -T C1.5 clean package -Psystemvm,developer -Dsystemvm \
|
|
-Dcs.replace.properties=replace.properties.tmp \
|
|
-Dmaven.repo.local=$(HOME)/.m2/repository \
|
|
${ACS_BUILD_OPTS}
|
|
|
|
override_dh_auto_clean:
|
|
dh_auto_clean
|
|
rm -f replace.properties.tmp
|
|
|
|
override_dh_auto_install:
|
|
# Common packages
|
|
mkdir -p $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)
|
|
mkdir -p $(DESTDIR)/$(SYSCONFDIR)/init.d
|
|
mkdir -p $(DESTDIR)/$(SYSCONFDIR)/default
|
|
|
|
mkdir -p $(DESTDIR)/var/cache/$(PACKAGE)
|
|
mkdir -p $(DESTDIR)/var/log/$(PACKAGE)
|
|
mkdir -p $(DESTDIR)/var/lib/$(PACKAGE)
|
|
mkdir -p $(DESTDIR)/usr/bin
|
|
mkdir -p $(DESTDIR)/usr/share
|
|
|
|
# cloudstack-agent
|
|
mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/agent
|
|
mkdir $(DESTDIR)/$(SYSCONFDIR)/profile.d
|
|
mkdir $(DESTDIR)/usr/share/$(PACKAGE)-agent
|
|
mkdir $(DESTDIR)/usr/share/$(PACKAGE)-agent/plugins
|
|
install -D agent/target/cloud-agent-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/$(PACKAGE)-agent.jar
|
|
install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/
|
|
install -D plugins/hypervisors/kvm/target/dependencies/* $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/
|
|
|
|
install -m0755 packaging/debian/$(PACKAGE)-agent.init $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-agent
|
|
install -d -m0755 debian/$(PACKAGE)-agent/lib/systemd/system
|
|
# Fix libvirt service name for Debian/Ubuntu
|
|
sed -i 's/Requires=libvirtd.service/Requires=libvirt-bin.service/g' packaging/systemd/$(PACKAGE)-agent.service
|
|
sed -i 's/After=libvirtd.service/After=libvirt-bin.service/g' packaging/systemd/$(PACKAGE)-agent.service
|
|
install -m0644 packaging/systemd/$(PACKAGE)-agent.service debian/$(PACKAGE)-agent/lib/systemd/system/$(PACKAGE)-agent.service
|
|
install -m0644 packaging/systemd/$(PACKAGE)-agent.default $(DESTDIR)/$(SYSCONFDIR)/default/$(PACKAGE)-agent
|
|
|
|
install -D agent/target/transformed/cloud-setup-agent $(DESTDIR)/usr/bin/cloudstack-setup-agent
|
|
install -D agent/target/transformed/cloud-ssh $(DESTDIR)/usr/bin/cloudstack-ssh
|
|
install -D agent/target/transformed/cloudstack-agent-profile.sh $(DESTDIR)/$(SYSCONFDIR)/profile.d/cloudstack-agent-profile.sh
|
|
install -D agent/target/transformed/cloudstack-agent.logrotate $(DESTDIR)/$(SYSCONFDIR)/logrotate.d/cloudstack-agent
|
|
install -D agent/target/transformed/cloudstack-agent-upgrade $(DESTDIR)/usr/bin/cloudstack-agent-upgrade
|
|
install -D agent/target/transformed/libvirtqemuhook $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/
|
|
install -D agent/target/transformed/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/agent
|
|
|
|
# cloudstack-management
|
|
mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server
|
|
mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management
|
|
mkdir -p $(DESTDIR)/$(SYSCONFDIR)/security/limits.d/
|
|
mkdir -p $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/
|
|
mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management
|
|
mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client
|
|
mkdir $(DESTDIR)/usr/share/$(PACKAGE)-management/setup
|
|
mkdir $(DESTDIR)/var/log/$(PACKAGE)/management
|
|
mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management
|
|
mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management/work
|
|
mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management/temp
|
|
mkdir $(DESTDIR)/var/log/$(PACKAGE)/ipallocator
|
|
mkdir $(DESTDIR)/var/lib/$(PACKAGE)/management
|
|
mkdir $(DESTDIR)/var/lib/$(PACKAGE)/mnt
|
|
cp -r client/target/utilities/scripts/db/* $(DESTDIR)/usr/share/$(PACKAGE)-management/setup/
|
|
cp -r client/target/cloud-client-ui-$(VERSION)/* $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client/
|
|
cp server/target/conf/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/
|
|
cp client/target/conf/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/
|
|
|
|
# nast hack for a couple of configuration files
|
|
mv $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/cloudstack-limits.conf $(DESTDIR)/$(SYSCONFDIR)/security/limits.d/
|
|
mv $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/cloudstack-sudoers $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/$(PACKAGE)
|
|
chmod 0440 $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/$(PACKAGE)
|
|
|
|
ln -s tomcat6-nonssl.conf $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/tomcat6.conf
|
|
install -D packaging/debian/init/cloud-management $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-management
|
|
install -D client/target/utilities/bin/cloud-update-xenserver-licenses $(DESTDIR)/usr/bin/cloudstack-update-xenserver-licenses
|
|
# Remove configuration in /ur/share/cloudstack-management/webapps/client/WEB-INF
|
|
# This should all be in /etc/cloudstack/management
|
|
rm $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client/WEB-INF/classes/*.*
|
|
ln -s ../../..$(SYSCONFDIR)/$(PACKAGE)/management $(DESTDIR)/usr/share/$(PACKAGE)-management/conf
|
|
ln -s ../../../var/log/$(PACKAGE)/management $(DESTDIR)/usr/share/$(PACKAGE)-management/logs
|
|
ln -s ../../../var/cache/$(PACKAGE)/management/temp $(DESTDIR)/usr/share/$(PACKAGE)-management/temp
|
|
ln -s ../../../var/cache/$(PACKAGE)/management/work $(DESTDIR)/usr/share/$(PACKAGE)-management/work
|
|
|
|
install -d -m0755 debian/$(PACKAGE)-management/lib/systemd/system
|
|
install -m0644 packaging/systemd/$(PACKAGE)-management.service.ubuntu debian/$(PACKAGE)-management/lib/systemd/system/$(PACKAGE)-management.service
|
|
install -m0644 packaging/systemd/$(PACKAGE)-management.default.ubuntu $(DESTDIR)/$(SYSCONFDIR)/default/$(PACKAGE)-management
|
|
|
|
# cloudstack-common
|
|
mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-common
|
|
mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
|
|
mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/setup
|
|
mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/lib
|
|
cp -r scripts/installer $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
|
|
cp -r scripts/network $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
|
|
cp -r scripts/storage $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
|
|
cp -r scripts/util $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
|
|
cp -r scripts/vm $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
|
|
install -D client/target/utilities/bin/cloud-migrate-databases $(DESTDIR)/usr/bin/cloudstack-migrate-databases
|
|
install -D client/target/utilities/bin/cloud-set-guest-password $(DESTDIR)/usr/bin/cloudstack-set-guest-password
|
|
install -D client/target/utilities/bin/cloud-set-guest-sshkey $(DESTDIR)/usr/bin/cloudstack-set-guest-sshkey
|
|
install -D client/target/utilities/bin/cloud-setup-databases $(DESTDIR)/usr/bin/cloudstack-setup-databases
|
|
install -D client/target/utilities/bin/cloud-setup-management $(DESTDIR)/usr/bin/cloudstack-setup-management
|
|
install -D client/target/utilities/bin/cloud-setup-encryption $(DESTDIR)/usr/bin/cloudstack-setup-encryption
|
|
install -D client/target/utilities/bin/cloud-sysvmadm $(DESTDIR)/usr/bin/cloudstack-sysvmadm
|
|
install -D systemvm/dist/systemvm.iso $(DESTDIR)/usr/share/$(PACKAGE)-common/vms/systemvm.iso
|
|
# We need jasypt for cloud-install-sys-tmplt, so this is a nasty hack to get it into the right place
|
|
install -D agent/target/dependencies/jasypt-1.9.2.jar $(DESTDIR)/usr/share/$(PACKAGE)-common/lib
|
|
|
|
# cloudstack-python
|
|
mkdir -p $(DESTDIR)/usr/share/pyshared
|
|
cp -r python/lib/cloud* $(DESTDIR)/usr/share/pyshared
|
|
|
|
# cloudstack-usage
|
|
mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage
|
|
mkdir $(DESTDIR)/usr/share/$(PACKAGE)-usage
|
|
mkdir $(DESTDIR)/usr/share/$(PACKAGE)-usage/plugins
|
|
install -D usage/target/cloud-usage-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-usage/lib/$(PACKAGE)-usage.jar
|
|
install -D usage/target/dependencies/* $(DESTDIR)/usr/share/$(PACKAGE)-usage/lib/
|
|
cp usage/target/transformed/db.properties $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage/
|
|
cp usage/target/transformed/log4j-cloud_usage.xml $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage/log4j-cloud.xml
|
|
|
|
install -D -m0755 packaging/debian/$(PACKAGE)-usage.init $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-usage
|
|
install -d -m0755 debian/$(PACKAGE)-usage/lib/systemd/system
|
|
install -m0644 packaging/systemd/$(PACKAGE)-usage.service debian/$(PACKAGE)-usage/lib/systemd/system/$(PACKAGE)-usage.service
|
|
install -m0644 packaging/systemd/$(PACKAGE)-usage.default $(DESTDIR)/$(SYSCONFDIR)/default/$(PACKAGE)-usage
|
|
|
|
# cloudstack-marvin
|
|
mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-marvin
|
|
cp tools/marvin/dist/Marvin-*.tar.gz $(DESTDIR)/usr/share/$(PACKAGE)-marvin/
|
|
|
|
# cloudstack-integration-tests
|
|
mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-integration-tests
|
|
cp -r test/integration/* $(DESTDIR)/usr/share/$(PACKAGE)-integration-tests/
|
|
|
|
override_dh_installinit:
|
|
dh_installinit -pcloudstack-management -pcloudstack-agent -pcloudstack-usage --onlyscripts --no-start
|
|
|
|
override_dh_systemd_enable:
|
|
dh_systemd_enable -pcloudstack-management -pcloudstack-agent -pcloudstack-usage
|
|
|
|
override_dh_installdocs:
|
|
dh_installdocs -A tools/whisker/LICENSE tools/whisker/NOTICE INSTALL.md
|