mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	* DB : Add support for MySQL 8
- Splits commands to create user and grant access on database, the old
statement is no longer supported by MySQL 8.x
- `NO_AUTO_CREATE_USER` is no longer supported by MySQL 8.x so remove
that from db.properties conn parameters
For mysql-server 8.x setup the following changes were added/tested to
make it work with CloudStack in /etc/mysql/mysql.conf.d/mysqld.cnf and
then restart the mysql-server process:
    server_id = 1
    sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION"
    innodb_rollback_on_timeout=1
    innodb_lock_wait_timeout=600
    max_connections=1000
    log-bin=mysql-bin
    binlog-format = 'ROW'
    default-authentication-plugin=mysql_native_password
Notice the last line above, this is to reset the old password based
authentication used by MySQL 5.x.
Developers can set empty password as follows:
    > sudo mysql -u root
    ALTER USER 'root'@'localhost' IDENTIFIED BY '';
In libvirt repository, there are two related commits
2019-08-23 13:13 Daniel P. Berrangé            ● rpm: don't enable socket activation in upgrade if --listen present
2019-08-22 14:52 Daniel P. Berrangé            ● remote: forbid the --listen arg when systemd socket activation
In libvirt.spec.in
        /bin/systemctl mask libvirtd.socket >/dev/null 2>&1 || :
        /bin/systemctl mask libvirtd-ro.socket >/dev/null 2>&1 || :
        /bin/systemctl mask libvirtd-admin.socket >/dev/null 2>&1 || :
        /bin/systemctl mask libvirtd-tls.socket >/dev/null 2>&1 || :
        /bin/systemctl mask libvirtd-tcp.socket >/dev/null 2>&1 || :
Co-authored-by: Wei Zhou <w.zhou@global.leaseweb.com>
Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
		
	
			
		
			
				
	
	
		
			151 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/make -f
 | |
| # -*- makefile -*-
 | |
| VERSION := $(shell grep '<version>' pom.xml | head -2 | tail -1 | cut -d'>' -f2 |cut -d'<' -f1)
 | |
| PACKAGE = $(shell dh_listpackages|head -n 1|cut -d '-' -f 1)
 | |
| SYSCONFDIR = "/etc"
 | |
| DESTDIR = "debian/tmp"
 | |
| 
 | |
| %:
 | |
| 	dh $@ --with systemd
 | |
| 
 | |
| override_dh_auto_configure:
 | |
| 	cp packaging/debian/replace.properties replace.properties.tmp
 | |
| 	echo VERSION=${VERSION} >> replace.properties.tmp
 | |
| 
 | |
| override_dh_auto_build:
 | |
| 	mvn 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)/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 -d -m0755 debian/$(PACKAGE)-agent/lib/systemd/system
 | |
| 	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 -m0644 packaging/systemd/$(PACKAGE)-rolling-maintenance@.service debian/$(PACKAGE)-agent/lib/systemd/system/$(PACKAGE)-rolling-maintenance@.service
 | |
| 
 | |
| 	install -D -m0644 agent/target/transformed/cloudstack-agent.logrotate $(DESTDIR)/$(SYSCONFDIR)/logrotate.d/cloudstack-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-upgrade $(DESTDIR)/usr/bin/cloudstack-agent-upgrade
 | |
| 	install -D agent/target/transformed/cloud-guest-tool $(DESTDIR)/usr/bin/cloudstack-guest-tool
 | |
| 	install -D agent/target/transformed/libvirtqemuhook $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/
 | |
| 	install -D agent/target/transformed/rolling-maintenance $(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/lib
 | |
| 	mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management/setup
 | |
| 	mkdir $(DESTDIR)/var/log/$(PACKAGE)/management
 | |
| 	mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management
 | |
| 	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/classes/META-INF/webapp $(DESTDIR)/usr/share/$(PACKAGE)-management/webapp
 | |
| 	cp server/target/conf/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/
 | |
| 	cp client/target/conf/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/
 | |
| 	cp client/target/cloud-client-ui-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-management/lib/cloudstack-$(VERSION).jar
 | |
| 	cp client/target/lib/*jar $(DESTDIR)/usr/share/$(PACKAGE)-management/lib/
 | |
| 
 | |
| 	# 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)
 | |
| 
 | |
| 	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
 | |
| 	ln -s ../../..$(SYSCONFDIR)/$(PACKAGE)/management $(DESTDIR)/usr/share/$(PACKAGE)-management/conf
 | |
| 	ln -s ../../../var/log/$(PACKAGE)/management $(DESTDIR)/usr/share/$(PACKAGE)-management/logs
 | |
| 
 | |
| 	install -d -m0755 debian/$(PACKAGE)-management/lib/systemd/system
 | |
| 	install -m0644 packaging/systemd/$(PACKAGE)-management.service debian/$(PACKAGE)-management/lib/systemd/system/$(PACKAGE)-management.service
 | |
| 	install -m0644 packaging/systemd/$(PACKAGE)-management.default $(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.3.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 client/target/lib/mysql*jar $(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 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_systemd_enable:
 | |
| 	dh_systemd_enable -pcloudstack-management -pcloudstack-agent -pcloudstack-usage
 | |
| 
 | |
| override_dh_strip_nondeterminism:
 | |
| 	# Disable dh_strip_nondeterminism to speed up the build
 | |
| 
 | |
| override_dh_installdocs:
 | |
| 	dh_installdocs -A tools/whisker/LICENSE tools/whisker/NOTICE INSTALL.md
 |