Revamped packaging to accomodate headless packages. Also binned some distributed binaries

This commit is contained in:
Nav
2025-02-22 13:26:09 +00:00
parent 00f473eddb
commit e9720ded06
67 changed files with 189 additions and 81 deletions

View File

@@ -1 +0,0 @@
libQt6Core.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6DBus.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6Gui.so.6

View File

@@ -1 +0,0 @@
libQt6Gui.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6Network.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6OpenGL.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6OpenGLWidgets.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6Svg.so.6

View File

@@ -1 +0,0 @@
libQt6Svg.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6SvgWidgets.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6UiTools.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6Widgets.so.6

View File

@@ -1 +0,0 @@
libQt6Widgets.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6XcbQpa.so.6

View File

@@ -1 +0,0 @@
libQt6XcbQpa.so.6.2.4

View File

@@ -1 +0,0 @@
libQt6Xml.so.6

View File

@@ -1 +0,0 @@
libQt6Xml.so.6.2.4

View File

@@ -1 +0,0 @@
libhidapi-libusb.so.0

View File

@@ -1 +1 @@
libhidapi-libusb.so.0.11.2
./libhidapi-libusb.so.0.0.0

Binary file not shown.

View File

@@ -1 +0,0 @@
libprocps.so.6.0.0

View File

@@ -0,0 +1 @@
./libprocps.so.8.0.3

Binary file not shown.

BIN
build/distributed/bin/lib/libstdc++.so.6.0.32 Executable file → Normal file

Binary file not shown.

View File

@@ -0,0 +1 @@
./libusb-1.0.so.0.3.0

Binary file not shown.

View File

@@ -1 +0,0 @@
libxcb-xinput.so.0.1.0

View File

@@ -1 +0,0 @@
libxcb-xinput.so.0.1.0

BIN
build/distributed/bin/lib/libyaml-cpp.so.0.7.0 Executable file → Normal file

Binary file not shown.

View File

@@ -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

View 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

View File

@@ -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/;

View File

@@ -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}/"

View File

@@ -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/;

View 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

View 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};

View 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}/"
}

View 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};

View File

@@ -1,5 +1,13 @@
set(BLOOM_PACKAGE_NAME "Bloom")
set(BLOOM_PACKAGE_FILE_NAME "Bloom-${CMAKE_PROJECT_VERSION}-Linux-x86_64")
if (NOT ${EXCLUDE_INSIGHT})
set(BLOOM_PACKAGE_FILE_NAME "Bloom-${CMAKE_PROJECT_VERSION}-Linux-x86_64")
set(PACKAGING_TEMPLATE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/packaging/full")
else ()
set(BLOOM_PACKAGE_FILE_NAME "Bloom-headless-${CMAKE_PROJECT_VERSION}-Linux-x86_64")
set(PACKAGING_TEMPLATE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/packaging/headless")
endif()
set(BLOOM_PACKAGE_DESCRIPTION "Debugger for AVR-based embedded systems")
set(BLOOM_PACKAGE_CONTACT "Nav Mohammed <support@bloom.oscillate.io>")
@@ -20,13 +28,13 @@ configure_file(
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/packaging/deb")
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/build/packaging/deb/control.in"
"${PACKAGING_TEMPLATE_DIR}/deb/control.in"
"${CMAKE_BINARY_DIR}/packaging/deb/control"
@ONLY
)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/build/packaging/deb/package-deb.sh.in"
"${PACKAGING_TEMPLATE_DIR}/deb/package-deb.sh.in"
"${CMAKE_BINARY_DIR}/packaging/package-deb.sh"
FILE_PERMISSIONS
OWNER_EXECUTE OWNER_READ OWNER_WRITE
@@ -39,13 +47,13 @@ configure_file(
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/packaging/pkgbuild")
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/build/packaging/pkgbuild/PKGBUILD.in"
"${PACKAGING_TEMPLATE_DIR}/pkgbuild/PKGBUILD.in"
"${CMAKE_BINARY_DIR}/packaging/pkgbuild/PKGBUILD"
@ONLY
)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/build/packaging/pkgbuild/package-pkgbuild.sh.in"
"${PACKAGING_TEMPLATE_DIR}/pkgbuild/package-pkgbuild.sh.in"
"${CMAKE_BINARY_DIR}/packaging/package-pkgbuild.sh"
FILE_PERMISSIONS
OWNER_EXECUTE OWNER_READ OWNER_WRITE

View File

@@ -130,10 +130,6 @@ void Application::startup() {
QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true);
#ifndef BLOOM_DEBUG_BUILD
QCoreApplication::addLibraryPath(QString::fromStdString(Services::PathService::applicationDirPath() + "/plugins")),
#endif
#ifndef EXCLUDE_INSIGHT
this->qtApplication = std::make_unique<QApplication>(this->qtApplicationArgc, this->qtApplicationArgv.data());
#else