Revamped packaging to accomodate headless packages. Also binned some distributed binaries
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
Package: @BLOOM_PACKAGE_NAME_LOWER@
|
||||
Version: @CMAKE_PROJECT_VERSION@
|
||||
Architecture: amd64
|
||||
Description: @BLOOM_PACKAGE_DESCRIPTION@
|
||||
Section: devel
|
||||
Priority: optional
|
||||
Homepage: @CMAKE_PROJECT_HOMEPAGE_URL@
|
||||
Maintainer: @BLOOM_PACKAGE_CONTACT@
|
||||
Depends: libc6 (>= 2.18),
|
||||
libgtk3-nocsd0,
|
||||
libglx0,
|
||||
libgl1,
|
||||
libopengl0 (>= 1.0.0),
|
||||
libgcc-s1 | libgcc1 (>= 1:4.2),
|
||||
libudev1 (>= 183),
|
||||
zlib1g (>= 1:1.1.4),
|
||||
libsystemd0,
|
||||
libfontconfig1 (>= 2.11.94),
|
||||
libx11-6,
|
||||
libxcb-icccm4 (>= 0.4.1),
|
||||
libxcb-image0 (>= 0.2.1),
|
||||
libxcb-keysyms1 (>= 0.4.0),
|
||||
libxkbcommon-x11-0 (>= 0.5.0),
|
||||
libxkbcommon0 (>= 0.5.0),
|
||||
libpng16-16,
|
||||
libfreetype6 (>= 2.6),
|
||||
libglvnd0,
|
||||
libzstd1,
|
||||
liblz4-1,
|
||||
libxcb1
|
||||
20
build/packaging/full/deb/control.in
Normal file
20
build/packaging/full/deb/control.in
Normal file
@@ -0,0 +1,20 @@
|
||||
Package: @BLOOM_PACKAGE_NAME_LOWER@
|
||||
Version: @CMAKE_PROJECT_VERSION@
|
||||
Architecture: amd64
|
||||
Description: @BLOOM_PACKAGE_DESCRIPTION@
|
||||
Section: devel
|
||||
Priority: optional
|
||||
Homepage: @CMAKE_PROJECT_HOMEPAGE_URL@
|
||||
Maintainer: @BLOOM_PACKAGE_CONTACT@
|
||||
Depends: libc6 (>= 2.18),
|
||||
libudev1 (>= 183),
|
||||
libgcc1 (>= 1:4.2),
|
||||
libsystemd0,
|
||||
libqt6core6,
|
||||
libqt6network6,
|
||||
libqt6xml6,
|
||||
qt6-qpa-plugins,
|
||||
libqt6gui6,
|
||||
libqt6widgets6,
|
||||
libqt6uitools6,
|
||||
libqt6svg6
|
||||
@@ -37,7 +37,6 @@ cp -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/fonts ${BLOOM_INSTALLATION_DI
|
||||
|
||||
echo "Copying distributed binaries...";
|
||||
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 -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/udevrules/99-bloom.rules ${PLAYGROUND_DIR}/lib/udev/rules.d/;
|
||||
@@ -45,7 +44,6 @@ cp -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/udevrules/99-bloom.rules ${PL
|
||||
echo "Adjusting permissions...";
|
||||
chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/bin/;
|
||||
chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/lib/;
|
||||
chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/plugins/;
|
||||
|
||||
chmod u=rwX,g=rX,o=rX -R ${BLOOM_INSTALLATION_DIR}/resources/;
|
||||
|
||||
@@ -8,24 +8,11 @@ license=('LGPLv3')
|
||||
|
||||
package(){
|
||||
depends=(
|
||||
'fontconfig>=2.11.94'
|
||||
'freetype2>=2.6'
|
||||
'gcc-libs>=13.2.0'
|
||||
'glibc>=2.18'
|
||||
'libgl'
|
||||
'libglvnd'
|
||||
'libpng'
|
||||
'libx11'
|
||||
'libxcb'
|
||||
'libxext'
|
||||
'libxkbcommon>=0.5.0'
|
||||
'libxkbcommon-x11>=0.5.0'
|
||||
'libxrender'
|
||||
'xcb-util-image>=0.2.1'
|
||||
'xcb-util-keysyms>=0.4.0'
|
||||
'xcb-util-renderutil'
|
||||
'xcb-util-wm>=0.4.1'
|
||||
'zlib>=1.1.4'
|
||||
'qt6-base'
|
||||
'qt6-tools'
|
||||
'qt6-svg'
|
||||
)
|
||||
|
||||
mkdir -p "${pkgdir}/"
|
||||
@@ -37,7 +37,6 @@ cp -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/fonts ${BLOOM_INSTALLATION_DI
|
||||
|
||||
echo "Copying distributed binaries...";
|
||||
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}/;
|
||||
|
||||
# We don't ship libstdc++ shared objects in Arch packages - the package manager will install the one we need
|
||||
rm -f ${BLOOM_INSTALLATION_DIR}/lib/libstdc++.so.*;
|
||||
@@ -48,7 +47,6 @@ cp -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/udevrules/99-bloom.rules ${BU
|
||||
echo "Adjusting permissions...";
|
||||
chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/bin/;
|
||||
chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/lib/;
|
||||
chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/plugins/;
|
||||
|
||||
chmod u=rwX,g=rX,o=rX -R ${BLOOM_INSTALLATION_DIR}/resources/;
|
||||
|
||||
16
build/packaging/headless/deb/control.in
Normal file
16
build/packaging/headless/deb/control.in
Normal file
@@ -0,0 +1,16 @@
|
||||
Package: @BLOOM_PACKAGE_NAME_LOWER@
|
||||
Version: @CMAKE_PROJECT_VERSION@
|
||||
Architecture: amd64
|
||||
Description: @BLOOM_PACKAGE_DESCRIPTION@
|
||||
Section: devel
|
||||
Priority: optional
|
||||
Homepage: @CMAKE_PROJECT_HOMEPAGE_URL@
|
||||
Maintainer: @BLOOM_PACKAGE_CONTACT@
|
||||
Depends: libc6 (>= 2.18),
|
||||
libudev1 (>= 183),
|
||||
libgcc1 (>= 1:4.2),
|
||||
libsystemd0,
|
||||
libudev1 (>= 183),
|
||||
libqt6core6,
|
||||
libqt6network6,
|
||||
libqt6xml6
|
||||
56
build/packaging/headless/deb/package-deb.sh.in
Normal file
56
build/packaging/headless/deb/package-deb.sh.in
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/bin/sh
|
||||
|
||||
PLAYGROUND_DIR=@CMAKE_BINARY_DIR@/packaging/deb/playground;
|
||||
DEBIAN_DIR=${PLAYGROUND_DIR}/DEBIAN
|
||||
BLOOM_INSTALLATION_PREFIX=@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
|
||||
echo "Build files not found. Did you forget to build?"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
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 ${PLAYGROUND_DIR}/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 -a @CMAKE_BINARY_DIR@/bin/bloom ${BLOOM_INSTALLATION_DIR}/bin/;
|
||||
|
||||
echo "Copying Bloom invocation script...";
|
||||
cp -a @CMAKE_BINARY_DIR@/packaging/bloom.sh ${BLOOM_INSTALLATION_DIR}/bin/;
|
||||
|
||||
echo "Copying 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 -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/bin/lib ${BLOOM_INSTALLATION_DIR}/;
|
||||
|
||||
echo "Copying udev rules...";
|
||||
cp -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/udevrules/99-bloom.rules ${PLAYGROUND_DIR}/lib/udev/rules.d/;
|
||||
|
||||
echo "Adjusting permissions...";
|
||||
chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/bin/;
|
||||
chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/lib/;
|
||||
|
||||
chmod u=rwX,g=rX,o=rX -R ${BLOOM_INSTALLATION_DIR}/resources/;
|
||||
|
||||
chmod u=rw,g=r,o=r ${PLAYGROUND_DIR}/lib/udev/rules.d/99-bloom.rules;
|
||||
|
||||
echo "Creating symbolic link for Bloom's invocation script..."
|
||||
ln -s -f ${BLOOM_INSTALLATION_PREFIX}./bin/bloom.sh ${PLAYGROUND_DIR}/usr/bin/bloom;
|
||||
|
||||
echo "Building Debian package...";
|
||||
dpkg-deb --build ${PLAYGROUND_DIR} ${BLOOM_PACKAGE_PATH};
|
||||
18
build/packaging/headless/pkgbuild/PKGBUILD.in
Normal file
18
build/packaging/headless/pkgbuild/PKGBUILD.in
Normal file
@@ -0,0 +1,18 @@
|
||||
pkgname=@BLOOM_PACKAGE_NAME_LOWER@
|
||||
pkgver=@CMAKE_PROJECT_VERSION@
|
||||
pkgrel=1
|
||||
pkgdesc="@BLOOM_PACKAGE_DESCRIPTION@"
|
||||
arch=('i686' 'x86_64')
|
||||
url="@CMAKE_PROJECT_HOMEPAGE_URL@"
|
||||
license=('LGPLv3')
|
||||
|
||||
package(){
|
||||
depends=(
|
||||
'gcc-libs>=13.2.0'
|
||||
'glibc>=2.18'
|
||||
'qt6-tools'
|
||||
)
|
||||
|
||||
mkdir -p "${pkgdir}/"
|
||||
cp -R @CMAKE_BINARY_DIR@/packaging/pkgbuild/playground/build_root/* "${pkgdir}/"
|
||||
}
|
||||
61
build/packaging/headless/pkgbuild/package-pkgbuild.sh.in
Normal file
61
build/packaging/headless/pkgbuild/package-pkgbuild.sh.in
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/bin/sh
|
||||
|
||||
PLAYGROUND_DIR=@CMAKE_BINARY_DIR@/packaging/pkgbuild/playground;
|
||||
BUILD_ROOT_DIR=${PLAYGROUND_DIR}/build_root
|
||||
BLOOM_INSTALLATION_PREFIX=@BLOOM_INSTALLATION_PREFIX@/
|
||||
BLOOM_INSTALLATION_DIR=${BUILD_ROOT_DIR}/${BLOOM_INSTALLATION_PREFIX}
|
||||
BLOOM_PACKAGE_PATH=@CMAKE_BINARY_DIR@/packaging/@BLOOM_PACKAGE_FILE_NAME@.pkg.tar.gz
|
||||
|
||||
if [ ! -f @CMAKE_BINARY_DIR@/bin/bloom ]; then
|
||||
echo "Build files not found. Did you forget to build?"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
echo "Preparing playground directory...";
|
||||
rm -fr ${PLAYGROUND_DIR};
|
||||
|
||||
mkdir -p ${PLAYGROUND_DIR};
|
||||
mkdir -p ${BUILD_ROOT_DIR};
|
||||
mkdir -p ${BLOOM_INSTALLATION_DIR};
|
||||
mkdir -p ${BLOOM_INSTALLATION_DIR}/bin;
|
||||
|
||||
mkdir -p ${BUILD_ROOT_DIR}/usr/lib/udev/rules.d/;
|
||||
mkdir -p ${BUILD_ROOT_DIR}/usr/bin/;
|
||||
|
||||
echo "Copying PKGBUILD control file...";
|
||||
cp -a @CMAKE_BINARY_DIR@/packaging/pkgbuild/PKGBUILD ${PLAYGROUND_DIR}/;
|
||||
|
||||
echo "Copying Bloom binary...";
|
||||
cp -a @CMAKE_BINARY_DIR@/bin/bloom ${BLOOM_INSTALLATION_DIR}/bin/;
|
||||
|
||||
echo "Copying Bloom invocation script...";
|
||||
cp -a @CMAKE_BINARY_DIR@/packaging/bloom.sh ${BLOOM_INSTALLATION_DIR}/bin/;
|
||||
|
||||
echo "Copying 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 -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/bin/lib ${BLOOM_INSTALLATION_DIR}/;
|
||||
|
||||
# We don't ship libstdc++ shared objects in Arch packages - the package manager will install the one we need
|
||||
rm -f ${BLOOM_INSTALLATION_DIR}/lib/libstdc++.so.*;
|
||||
|
||||
echo "Copying udev rules...";
|
||||
cp -a @CMAKE_CURRENT_SOURCE_DIR@/build/distributed/udevrules/99-bloom.rules ${BUILD_ROOT_DIR}/usr/lib/udev/rules.d/;
|
||||
|
||||
echo "Adjusting permissions...";
|
||||
chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/bin/;
|
||||
chmod u=rwx,g=rx,o=rx -R ${BLOOM_INSTALLATION_DIR}/lib/;
|
||||
|
||||
chmod u=rwX,g=rX,o=rX -R ${BLOOM_INSTALLATION_DIR}/resources/;
|
||||
|
||||
chmod u=rw,g=r,o=r ${BUILD_ROOT_DIR}/usr/lib/udev/rules.d/99-bloom.rules;
|
||||
|
||||
echo "Creating symbolic link for Bloom's invocation script..."
|
||||
ln -s -f ${BLOOM_INSTALLATION_PREFIX}./bin/bloom.sh ${BUILD_ROOT_DIR}/usr/bin/bloom;
|
||||
|
||||
echo "Building Arch package...";
|
||||
cd ${PLAYGROUND_DIR};
|
||||
makepkg;
|
||||
mv ./@BLOOM_PACKAGE_NAME_LOWER@-@CMAKE_PROJECT_VERSION@-1-x86_64.pkg.tar.gz ${BLOOM_PACKAGE_PATH};
|
||||
Reference in New Issue
Block a user