From 040df4ac28a1dcc9e0ef747c485b7006f4b677f4 Mon Sep 17 00:00:00 2001 From: Nav Date: Tue, 17 Jan 2023 22:25:39 +0000 Subject: [PATCH] Using playground directories in package generation scripts --- build/packaging/deb/package-deb.sh.in | 36 ++++++++++++++++----------- cmake/Packaging.cmake | 11 ++++---- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/build/packaging/deb/package-deb.sh.in b/build/packaging/deb/package-deb.sh.in index 2154a37f..1f6fde7e 100644 --- a/build/packaging/deb/package-deb.sh.in +++ b/build/packaging/deb/package-deb.sh.in @@ -1,8 +1,9 @@ #!/bin/bash -RELEASE_DIR=@CMAKE_BINARY_DIR@/packaging/tmp/deb; +PLAYGROUND_DIR=@CMAKE_BINARY_DIR@/packaging/deb/playground; +DEBIAN_DIR=${PLAYGROUND_DIR}/DEBIAN BLOOM_INSTALLATION_PREFIX=/opt/bloom/ -BLOOM_INSTALLATION_DIR=${RELEASE_DIR}/${BLOOM_INSTALLATION_PREFIX} +BLOOM_INSTALLATION_DIR=${PLAYGROUND_DIR}/${BLOOM_INSTALLATION_PREFIX} BLOOM_PACKAGE_PATH=@CMAKE_BINARY_DIR@/packaging/@BLOOM_PACKAGE_FILE_NAME@.deb if [ ! -f @CMAKE_BINARY_DIR@/bin/bloom ]; then @@ -10,26 +11,33 @@ if [ ! -f @CMAKE_BINARY_DIR@/bin/bloom ]; then exit 1; fi -echo "Preparing release directory..."; +echo "Preparing playground directory..."; +rm -fr ${PLAYGROUND_DIR}; + +mkdir -p ${PLAYGROUND_DIR}; +mkdir -p ${DEBIAN_DIR}; mkdir -p ${BLOOM_INSTALLATION_DIR}; mkdir -p ${BLOOM_INSTALLATION_DIR}/bin; -mkdir -p ${RELEASE_DIR}/usr/lib/udev/rules.d/; -mkdir -p ${RELEASE_DIR}/usr/bin/; +mkdir -p ${PLAYGROUND_DIR}/usr/lib/udev/rules.d/; +mkdir -p ${PLAYGROUND_DIR}/usr/bin/; + +echo "Copying Debian control file..."; +cp -a @CMAKE_BINARY_DIR@/packaging/deb/control ${DEBIAN_DIR}/; echo "Copying Bloom binary..."; -cp @CMAKE_BINARY_DIR@/bin/bloom ${BLOOM_INSTALLATION_DIR}/bin/; +cp -a @CMAKE_BINARY_DIR@/bin/bloom ${BLOOM_INSTALLATION_DIR}/bin/; echo "Copying resources..."; -cp -R @CMAKE_BINARY_DIR@/resources ${BLOOM_INSTALLATION_DIR}/; -cp -R @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/fonts ${BLOOM_INSTALLATION_DIR}/resources/; +cp -a @CMAKE_BINARY_DIR@/resources ${BLOOM_INSTALLATION_DIR}/; +cp -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/fonts ${BLOOM_INSTALLATION_DIR}/resources/; echo "Copying distributed binaries..."; -cp -R @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/bin/lib ${BLOOM_INSTALLATION_DIR}/; -cp -R @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/bin/plugins ${BLOOM_INSTALLATION_DIR}/; +cp -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/bin/lib ${BLOOM_INSTALLATION_DIR}/; +cp -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/bin/plugins ${BLOOM_INSTALLATION_DIR}/; echo "Copying udev rules..."; -cp -R @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/udevrules/99-bloom.rules ${RELEASE_DIR}/usr/lib/udev/rules.d/; +cp -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/udevrules/99-bloom.rules ${PLAYGROUND_DIR}/usr/lib/udev/rules.d/; echo "Adjusting permissions..."; chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/bin/; @@ -38,10 +46,10 @@ chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/plugins/; chmod u=rwX,g=rX,o=rX -R ${BLOOM_INSTALLATION_DIR}/resources/; -chmod u=rw,g=r,o=r ${RELEASE_DIR}/usr/lib/udev/rules.d/99-bloom.rules; +chmod u=rw,g=r,o=r ${PLAYGROUND_DIR}/usr/lib/udev/rules.d/99-bloom.rules; echo "Creating symbolic link for Bloom binary..." -ln -s -f ${BLOOM_INSTALLATION_PREFIX}./bin/bloom ${RELEASE_DIR}/usr/bin/; +ln -s -f ${BLOOM_INSTALLATION_PREFIX}./bin/bloom ${PLAYGROUND_DIR}/usr/bin/; echo "Building Debian package..."; -dpkg-deb --build ${RELEASE_DIR} ${BLOOM_PACKAGE_PATH}; +dpkg-deb --build ${PLAYGROUND_DIR} ${BLOOM_PACKAGE_PATH}; diff --git a/cmake/Packaging.cmake b/cmake/Packaging.cmake index fed992f9..02146978 100644 --- a/cmake/Packaging.cmake +++ b/cmake/Packaging.cmake @@ -1,18 +1,17 @@ set(BLOOM_PACKAGE_NAME "Bloom") -set(BLOOM_PACKAGE_FILE_NAME "Bloom-${CMAKE_PROJECT_VERSION}-Linux") +set(BLOOM_PACKAGE_FILE_NAME "Bloom-${CMAKE_PROJECT_VERSION}-Linux-x86_64") set(BLOOM_PACKAGE_DESCRIPTION "Debugger for AVR-based embedded systems") set(BLOOM_PACKAGE_CONTACT "Nav Mohammed ") string(TOLOWER ${BLOOM_PACKAGE_NAME} BLOOM_PACKAGE_NAME_LOWER) - -file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/packaging/tmp/deb") -file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/packaging/tmp/rpm") -file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/packaging/tmp/pkgbuild") +file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/packaging/pkgbuild") # Generate the DEB control file and packaging script +file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/packaging/deb") + configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/build/packaging/deb/control.in" - "${CMAKE_BINARY_DIR}/packaging/tmp/deb/DEBIAN/control" + "${CMAKE_BINARY_DIR}/packaging/deb/control" @ONLY )