1
0
Fork 0
mirror of https://github.com/eosswedenorg/antelope-keygen synced 2026-06-17 03:50:03 +02:00

remove scripts/generate_deb.sh.in and implement in CMakeModules/package.cmake instead.

This commit is contained in:
Henrik Hautakoski 2020-02-26 18:12:35 +01:00
parent 062ce45798
commit 7a95dd035e
3 changed files with 36 additions and 62 deletions

View file

@ -18,11 +18,34 @@ endif()
# --------------------------------
if (UNIX) # Only include in bash environments.
# Hack to set the right permissions :)
configure_file(scripts/generate_deb.sh.in ${PROJECT_BINARY_DIR}/tmp/generate_deb.sh @ONLY)
file(COPY ${PROJECT_BINARY_DIR}/tmp/generate_deb.sh DESTINATION ${PROJECT_BINARY_DIR}
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
execute_process(
COMMAND lsb_release -rs
OUTPUT_VARIABLE UBUNTU_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# Debian uses different names for 32 and 64 bit.
if (PACKAGE_PLATFORM EQUAL "x86")
set( PACKAGE_DEB_PLATFORM "i386" )
else()
set( PACKAGE_DEB_PLATFORM "amd64" )
endif()
set( PACKAGE_DEB_RELEASE 1 CACHE STRING "Debian package release number")
set( PACKAGE_DEB_VERSION ${PACKAGE_VERSION}-${PACKAGE_DEB_RELEASE} )
set( PACKAGE_DEB_FILENAME ${PACKAGE_NAME}_${PACKAGE_DEB_VERSION}-ubuntu-${UBUNTU_VERSION}_${PACKAGE_DEB_PLATFORM}.deb )
set( DEB_ROOT "debroot" )
configure_file(debian_control.in ${DEB_ROOT}/DEBIAN/control @ONLY)
add_custom_target(package_deb
COMMAND ${CMAKE_COMMAND} --install . --prefix "${DEB_ROOT}${CMAKE_INSTALL_PREFIX}"
COMMAND fakeroot dpkg-deb --build ${DEB_ROOT} ${PACKAGE_DEB_FILENAME} > /dev/null
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
add_dependencies(package_deb ${PROGRAM_EXE})
endif (UNIX)
# --------------------------------

9
debian_control.in Normal file
View file

@ -0,0 +1,9 @@
Package: @PACKAGE_NAME@
Version: @PACKAGE_DEB_VERSION@
Description: @PACKAGE_DESCRIPTION@
Section: misc
Priority: optional
Architecture: @PACKAGE_DEB_PLATFORM@
Homepage: @PACKAGE_HOMEPAGE_URL@
Maintainer: @PACKAGE_MAINTAINER@
Depends: libssl1.1, libc6

View file

@ -1,58 +0,0 @@
#!/usr/bin/env bash
BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
PACKAGE_NAME="@PACKAGE_NAME@"
PACKAGE_VERSION="@PACKAGE_VERSION@"
PACKAGE_PREFIX=$(echo "@CMAKE_INSTALL_PREFIX@" | sed -E 's~^/~~')
PACKAGE_BINDIR="@CMAKE_INSTALL_BINDIR@"
PACKAGE_SHAREDIR="@CMAKE_INSTALL_DATADIR@/@CMAKE_PROJECT_NAME@"
PACKAGE_MANDIR="@CMAKE_INSTALL_MANDIR@"
PACKAGE_TMPDIR="tmp/debroot"
if [[ -f /etc/upstream-release/lsb-release ]]; then
source /etc/upstream-release/lsb-release
elif [[ -f /etc/lsb-release ]]; then
source /etc/lsb-release
else
echo "ERROR: could not determine debian release."
exit 1
fi
DISTRIB_ID=$(echo $DISTRIB_ID | tr '[:upper:]' '[:lower:]')
# Default to 1 if no release is set.
if [[ -z $RELEASE ]]; then
RELEASE="1"
fi
PACKAGE_FULLNAME="${PACKAGE_NAME}_${PACKAGE_VERSION}-${RELEASE}-${DISTRIB_ID}-${DISTRIB_RELEASE}_amd64"
rm -fr ${BASE_DIR}/${PACKAGE_TMPDIR}
# Create debian files.
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/DEBIAN
echo "Package: ${PACKAGE_NAME}
Version: ${PACKAGE_VERSION}-${RELEASE}
Section: misc
Priority: optional
Architecture: amd64
Homepage: @PACKAGE_HOMEPAGE_URL@
Maintainer: @PACKAGE_MAINTAINER@
Description: @PACKAGE_DESCRIPTION@
Depends: libssl1.1, libc6" &> ${BASE_DIR}/${PACKAGE_TMPDIR}/DEBIAN/control
cat ${BASE_DIR}/${PACKAGE_TMPDIR}/DEBIAN/control
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_PREFIX}/${PACKAGE_BINDIR}
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_PREFIX}/${PACKAGE_SHAREDIR}
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_PREFIX}/${PACKAGE_MANDIR}
cp ${BASE_DIR}/${PACKAGE_NAME} ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_PREFIX}/${PACKAGE_BINDIR}/${PACKAGE_NAME}
cp -r ${BASE_DIR}/man1 ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_PREFIX}/${PACKAGE_MANDIR}
for file in README.md LICENSE LICENSE.bitcoin ; do
cp ${BASE_DIR}/../${file} ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_PREFIX}/${PACKAGE_SHAREDIR}
done
fakeroot dpkg-deb --build ${BASE_DIR}/${PACKAGE_TMPDIR} ${BASE_DIR}/${PACKAGE_FULLNAME}.deb