From 12e050a766746bf80f34d4659d47049c0bbdd7be Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Fri, 15 Jun 2007 14:41:35 +0000 Subject: * simplified use of PATH-variables to only the top-level set, all the others will cease to be settable by the user soon * adjusted builddebianpackage accordingly (and did a cleanup along the way) Felix: please review, I hope I didn't mess it up... git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1167 95ad53e4-c205-0410-b2fa-d234c58c8868 --- Makefile | 128 ++++++++++++++++++++++++++------------------------------------- 1 file changed, 52 insertions(+), 76 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 8de12953..51bc7295 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,6 @@ # # (c) 2006, 2007 - OpenSLX GmbH -DESTDIR = / # enforce the use of bash (/bin/sh might be a link to incomplete shells) SHELL = /bin/bash @@ -24,15 +23,9 @@ endif ifeq ($(SLX_BASE_PATH),) SLX_BASE_PATH = /opt/openslx endif -ifeq ($(SLX_BIN_PATH),) - SLX_BIN_PATH = ${SLX_BASE_PATH}/bin -endif -ifeq ($(SLX_SHARE_PATH),) - SLX_SHARE_PATH = ${SLX_BASE_PATH}/share -endif -ifeq ($(SLX_VMWARE_PATH),) - SLX_VMWARE_PATH = ${SLX_BASE_PATH}/vmware -endif +SLX_BIN_PATH = ${SLX_BASE_PATH}/bin +SLX_SHARE_PATH = ${SLX_BASE_PATH}/share +SLX_VMWARE_PATH = ${SLX_BASE_PATH}/vmware ifeq ($(SLX_PRIVATE_PATH),) SLX_PRIVATE_PATH = /var/opt/openslx @@ -41,12 +34,8 @@ endif ifeq ($(SLX_PUBLIC_PATH),) SLX_PUBLIC_PATH = /srv/openslx endif -ifeq ($(SLX_EXPORT_PATH),) - SLX_EXPORT_PATH = ${SLX_PUBLIC_PATH}/export -endif -ifeq ($(SLX_TFTPBOOT_PATH),) - SLX_TFTPBOOT_PATH = ${SLX_PUBLIC_PATH}/tftpboot -endif +SLX_EXPORT_PATH = ${SLX_PUBLIC_PATH}/export +SLX_TFTPBOOT_PATH = ${SLX_PUBLIC_PATH}/tftpboot ifeq ($(SLX_TEMP_PATH),) SLX_TEMP_PATH = /tmp @@ -55,8 +44,6 @@ endif ifeq ($(SLX_INSTALL_LOG),) SLX_INSTALL_LOG = install.log endif -#When adding new directory variables above, consider to add them to the -#packaging tool for .deb packages too. tarball: @OPENSLX_VERSION_SVNREV=$$( svnversion); \ @@ -149,106 +136,94 @@ supported."; \ echo $${DEFAULT_DB_TYPE} >DEFAULT-DB-TYPE; \ fi; \ echo "Installing OpenSLX project files"; \ - mkdir -p $(DESTDIR)$(SLX_CONFIG_PATH) \ - -p $(DESTDIR)$(SLX_BASE_PATH)/lib \ - -p $(DESTDIR)$(SLX_BIN_PATH) \ - -p $(DESTDIR)$(SLX_SHARE_PATH)/templates \ - -p $(DESTDIR)$(SLX_SHARE_PATH)/initramfs \ - -p $(DESTDIR)$(SLX_SHARE_PATH)/busybox \ - -p $(DESTDIR)$(SLX_SHARE_PATH)/squashfs \ - -p $(DESTDIR)$(SLX_PRIVATE_PATH)/config/default/initramfs \ - -p $(DESTDIR)$(SLX_PRIVATE_PATH)/config/default/rootfs \ - -p $(DESTDIR)$(SLX_PRIVATE_PATH)/db \ - -p $(DESTDIR)$(SLX_PRIVATE_PATH)/stage1 \ - -p $(DESTDIR)$(SLX_PUBLIC_PATH) \ - -p $(DESTDIR)$(SLX_TFTPBOOT_PATH) \ - -p $(DESTDIR)$(SLX_SHARE_PATH)/themes; \ - for dir in $(USR_BIN_PATH); do \ - test -d $(DESTDIR)$${dir} || \ - mkdir -p $(DESTDIR)$${dir}; \ - done; + mkdir -p $(SLX_BUILD_PATH)$(SLX_CONFIG_PATH) \ + -p $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/lib \ + -p $(SLX_BUILD_PATH)$(SLX_BIN_PATH) \ + -p $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/templates \ + -p $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/initramfs \ + -p $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/busybox \ + -p $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/squashfs \ + -p $(SLX_BUILD_PATH)$(SLX_PRIVATE_PATH)/config/default/initramfs \ + -p $(SLX_BUILD_PATH)$(SLX_PRIVATE_PATH)/config/default/rootfs \ + -p $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/themes \ + -p $(SLX_BUILD_PATH)${USR_BIN_PATH}; @ # copy license - @cp COPYING $(DESTDIR)$(SLX_BASE_PATH)/; + @cp COPYING $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/; - @ # copy initramfs generator scripts (and inject SLX_CONFIG_PATH, SLX_SHARE_PATH on the way): - @cp ./initramfs/mkdxsinitrd $(DESTDIR)$(SLX_BIN_PATH)/; \ + @ # copy initramfs generator scripts (and inject SLX_CONFIG_PATH, SLX_BASE_PATH on the way): + @cp ./initramfs/mkdxsinitrd $(SLX_BUILD_PATH)$(SLX_BIN_PATH)/; \ sed -e "s,@@@SLX_CONFIG_PATH@@@,$(SLX_CONFIG_PATH)," \ - -e "s,@@@SLX_SHARE_PATH@@@,$(SLX_SHARE_PATH)," \ - -i $(DESTDIR)$(SLX_BIN_PATH)/mkdxsinitrd; + -e "s,@@@SLX_BASE_PATH@@@,$(SLX_BASE_PATH)," \ + -i $(SLX_BUILD_PATH)$(SLX_BIN_PATH)/mkdxsinitrd; @ # copy all PERL-scripts and their required modules: - @cp bin/slx* $(DESTDIR)$(SLX_BIN_PATH)/; \ - cp config-db/slx* $(DESTDIR)$(SLX_BIN_PATH)/; \ - cp installer/slx* $(DESTDIR)$(SLX_BIN_PATH)/; \ + @cp bin/slx* $(SLX_BUILD_PATH)$(SLX_BIN_PATH)/; \ + cp config-db/slx* $(SLX_BUILD_PATH)$(SLX_BIN_PATH)/; \ + cp installer/slx* $(SLX_BUILD_PATH)$(SLX_BIN_PATH)/; \ tar --exclude=.svn -cp -C lib OpenSLX \ - | tar -xp -C $(DESTDIR)$(SLX_BASE_PATH)/lib; \ + | tar -xp -C $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/lib; \ tar --exclude=.svn --exclude *.example \ -cp -C lib distro-info \ - | tar -xp -C $(DESTDIR)$(SLX_SHARE_PATH); \ + | tar -xp -C $(SLX_BUILD_PATH)$(SLX_SHARE_PATH); \ tar --exclude=.svn --exclude prereqfiles --exclude trusted-package-keys/* \ -cp -C lib distro-info \ - | tar -xp -C $(DESTDIR)$(SLX_CONFIG_PATH); \ + | tar -xp -C $(SLX_BUILD_PATH)$(SLX_CONFIG_PATH); \ tar --exclude=.svn -cp -C config-db OpenSLX \ - | tar -xp -C $(DESTDIR)$(SLX_BASE_PATH)/lib; \ + | tar -xp -C $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/lib; \ tar --exclude=.svn -cp -C installer OpenSLX \ - | tar -xp -C $(DESTDIR)$(SLX_BASE_PATH)/lib; \ + | tar -xp -C $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/lib; \ @ # link all binaries & scripts into user-path: - @ln -sf $(SLX_BIN_PATH)/slx* $(DESTDIR)$(USR_BIN_PATH)/; \ - ln -sf $(SLX_BIN_PATH)/mkdxsinitrd $(DESTDIR)$(USR_BIN_PATH)/; \ + @ln -sf $(SLX_BIN_PATH)/slx* $(SLX_BUILD_PATH)$(USR_BIN_PATH)/; \ + ln -sf $(SLX_BIN_PATH)/mkdxsinitrd $(SLX_BUILD_PATH)$(USR_BIN_PATH)/; \ @ # copy shareable data: @cd initramfs/initrd-stuff; tar --exclude=.svn -cp * | \ - tar -xp -C $(DESTDIR)$(SLX_SHARE_PATH)/initramfs; cd ../..; \ + tar -xp -C $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/initramfs; cd ../..; \ tar --exclude=.svn -cp -C initramfs distro-specs | \ - tar -xp -C $(DESTDIR)$(SLX_SHARE_PATH); \ + tar -xp -C $(SLX_BUILD_PATH)$(SLX_SHARE_PATH); \ cp -p config-db/PXE-template.example \ - $(DESTDIR)$(SLX_CONFIG_PATH)/; \ + $(SLX_BUILD_PATH)$(SLX_CONFIG_PATH)/; \ cp -a installer/default_files/machine-setup.default \ - $(DESTDIR)$(SLX_SHARE_PATH)/templates/; \ + $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/templates/; \ cp -a installer/default_files/hwdata/{pcitable.local,Cards.local} \ - $(DESTDIR)$(SLX_SHARE_PATH)/templates/; \ + $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/templates/; \ tar --exclude=.svn -cp -C installer/default_files tftpboot | \ - tar -xp -C $(DESTDIR)$(SLX_SHARE_PATH); \ + tar -xp -C $(SLX_BUILD_PATH)$(SLX_SHARE_PATH); \ cd theming; tar --exclude=.svn -cp * | \ - tar -xp -C $(DESTDIR)$(SLX_SHARE_PATH)/themes; cd ..; \ + tar -xp -C $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/themes; cd ..; \ cp -pP tools/busybox{,.links,.x86_64,.i586} \ - $(DESTDIR)$(SLX_SHARE_PATH)/busybox/; \ - cp -p tools/mksquashfs $(DESTDIR)$(SLX_SHARE_PATH)/squashfs/; \ + $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/busybox/; \ + cp -p tools/mksquashfs $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/squashfs/; \ @ # create pre-/postinit scripts for us in initramfs: @echo -e "#!/bin/sh\n#\n# This script allows the local admin to \ extend the\n# capabilities at the beginning of the initramfs (stage3). \ The toolset is rather\n# restricted and you have to keep in mind that \ stage4 rootfs has the\n# prefix '/mnt'." \ - > $(DESTDIR)$(SLX_PRIVATE_PATH)/config/default/initramfs/preinit.local; \ + > $(SLX_BUILD_PATH)$(SLX_PRIVATE_PATH)/config/default/initramfs/preinit.local; \ echo -e "#!/bin/sh\n#\n# This script allows the local admin to \ extend the\n# capabilities at the end of the initramfs (stage3). The \ toolset is rather\n# restricted and you have to keep in mind that stage4 \ rootfs has the\n# prefix '/mnt'. But you might use some special slx \ functions via\n# inclusion: '. /etc/functions' ..." \ - > $(DESTDIR)$(SLX_PRIVATE_PATH)/config/default/initramfs/postinit.local; \ - chmod u+x $(DESTDIR)$(SLX_PRIVATE_PATH)/config/default/initramfs/*init.local; \ + > $(SLX_BUILD_PATH)$(SLX_PRIVATE_PATH)/config/default/initramfs/postinit.local; \ + chmod u+x $(SLX_BUILD_PATH)$(SLX_PRIVATE_PATH)/config/default/initramfs/*init.local; \ @ # create complete default settings and empty local settings file: @echo -e "# default setup for OpenSLX-installation\ \nSLX_BASE_PATH=${SLX_BASE_PATH}\ -\nSLX_BIN_PATH=${SLX_BIN_PATH}\ \nSLX_CONFIG_PATH=${SLX_CONFIG_PATH}\ -\nSLX_EXPORT_PATH=${SLX_EXPORT_PATH}\ \nSLX_PRIVATE_PATH=${SLX_PRIVATE_PATH}\ \nSLX_PUBLIC_PATH=${SLX_PUBLIC_PATH}\ -\nSLX_SHARE_PATH=${SLX_SHARE_PATH}\ -\nSLX_TEMP_PATH=${SLX_TEMP_PATH}\ -\nSLX_TFTPBOOT_PATH=${SLX_TFTPBOOT_PATH}\ -\nSLX_VMWARE_PATH=${SLX_VMWARE_PATH}\n" \ - > $(DESTDIR)$(SLX_SHARE_PATH)/settings.default; \ - test -e $(DESTDIR)$(SLX_CONFIG_PATH)/settings || \ +\nSLX_TEMP_PATH=${SLX_TEMP_PATH}\n" \ + > $(SLX_BUILD_PATH)$(SLX_SHARE_PATH)/settings.default; \ + test -e $(SLX_BUILD_PATH)$(SLX_CONFIG_PATH)/settings || \ echo -e "# Local setup for OpenSLX (overrides default settings).\ \n#\n# Please look at $(SLX_SHARE_PATH)/settings.default and the docs to learn\ \n# about the available options.\n" \ - > $(DESTDIR)$(SLX_CONFIG_PATH)/settings; \ + > $(SLX_BUILD_PATH)$(SLX_CONFIG_PATH)/settings; \ @ # create slxversion script: @if test -e REVISION; then \ @@ -261,9 +236,9 @@ functions via\n# inclusion: '. /etc/functions' ..." \ OPENSLX_SVN_SNAPSHOT="1"; \ . ./VERSIONS; \ echo -e "#! /bin/sh\n\necho $${OPENSLX_VERSION_STRING}" \ - > $(DESTDIR)${SLX_BIN_PATH}/slxversion; \ - chmod a+x $(DESTDIR)${SLX_BIN_PATH}/slxversion; \ - ln -sf $(SLX_BIN_PATH)/slxversion $(DESTDIR)$(USR_BIN_PATH)/; \ + > $(SLX_BUILD_PATH)${SLX_BIN_PATH}/slxversion; \ + chmod a+x $(SLX_BUILD_PATH)${SLX_BIN_PATH}/slxversion; \ + ln -sf $(SLX_BIN_PATH)/slxversion $(SLX_BUILD_PATH)$(USR_BIN_PATH)/; \ @ # set default db-type: @DEFAULT_DB_TYPE=$$(cat DEFAULT-DB-TYPE); \ @@ -282,9 +257,10 @@ vmware_install: uninstall: @echo "Uninstalling openslx.org project files but keeping configs \ and stage1" - @echo "files in $(SLX_PRIVATE_PATH) (please remove manually)" + @echo "files in $(SLX_CONFIG_PATH) (please remove manually)" @rm -rf $(SLX_BASE_PATH) @rm -rf $(SLX_PUBLIC_PATH) + @echo "files in $(SLX_PRIVATE_PATH) (please remove manually)" @rm -f $(USR_BIN_PATH)/slx* @rm -f $(USR_BIN_PATH)/mkdxsinitrd -- cgit v1.2.3-55-g7522