diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3de1d34c..6621cc12 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,11 +34,14 @@ build_linux_32: image: i386/ubuntu:bionic stage: build script: - - ./scripts/build-appimage-32.sh + - export $(dpkg-architecture) + - ./scripts/build-appimage.sh artifacts: paths: - OpenRGB-i386.AppImage + - 60-openrgb.rules + - README.md expire_in: 30 days #-----------------------------------------------------------------------# @@ -49,11 +52,14 @@ build_linux_64: image: ubuntu:bionic stage: build script: + - export $(dpkg-architecture) - ./scripts/build-appimage.sh artifacts: paths: - OpenRGB-x86_64.AppImage + - 60-openrgb.rules + - README.md expire_in: 30 days #-----------------------------------------------------------------------# @@ -65,7 +71,6 @@ build_linux_deb32: stage: build script: - apt install -y debhelper - - export $( dpkg-architecture -s --target-arch i386; ) - dpkg-architecture -l - dpkg-buildpackage --target-arch i386 -us -B - rm -v ../openrgb-dbgsym*.ddeb diff --git a/OpenRGB.pro b/OpenRGB.pro index 75a2199f..0b308bb9 100644 --- a/OpenRGB.pro +++ b/OpenRGB.pro @@ -634,6 +634,8 @@ win32:contains(QMAKE_TARGET.arch, x86) { # Linux-specific Configuration # #-----------------------------------------------------------------------------------------------# unix:!macx { + TARGET = $$lower($$TARGET) + INCLUDEPATH += \ Controllers/FaustusController \ Controllers/LinuxLEDController \ diff --git a/debian/copyright b/debian/copyright index e69de29b..e5346e01 100644 --- a/debian/copyright +++ b/debian/copyright @@ -0,0 +1,51 @@ + This package was debianized by Adam Honse on + 3rd December 2020. + + The current Debian maintainer is Chris M + + It was downloaded from: https://gitlab.com/CalcProgrammer1/OpenRGB + + Upstream Authors: Adam Honse, Chris M, Dmitry K + +License: GPL-2+ + Copyright: 2019 - Present Adam Honse + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License with + the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL; + if not, write to the Free Software Foundation, Inc., 59 Temple Place, + Suite 330, Boston, MA 02111-1307 USA + + On Debian systems, the complete text of the GNU General Public + License, version 2, can be found in /usr/share/common-licenses/GPL-2. + +License: GPL-2+ + The Files in ./* are Copyright 2019 - Present Adam Honse + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + On Debian systems, the complete text of the GNU Lesser General Public + License, can be found in /usr/share/common-licenses/LGPL. + + The Debian packaging is (C) 2006, Chris M and + is licensed under the GPL, see above. diff --git a/qt/OpenRGB.desktop b/qt/OpenRGB.desktop index b4a0f86a..bd71a38a 100644 --- a/qt/OpenRGB.desktop +++ b/qt/OpenRGB.desktop @@ -3,7 +3,7 @@ Type=Application Encoding=UTF-8 Name=OpenRGB Comment=Control RGB lighting -Exec=OpenRGB +Exec=openrgb Icon=OpenRGB Terminal=false Categories=Utility; diff --git a/scripts/AppImage.patch b/scripts/AppImage.patch new file mode 100644 index 00000000..045d6682 --- /dev/null +++ b/scripts/AppImage.patch @@ -0,0 +1,28 @@ + + +diff --git a/OpenRGB.pro b/OpenRGB.pro +index 0b308bb9..75a2199f 100644 +--- a/OpenRGB.pro ++++ b/OpenRGB.pro +@@ -634,8 +634,6 @@ win32:contains(QMAKE_TARGET.arch, x86) { + # Linux-specific Configuration # + #-----------------------------------------------------------------------------------------------# + unix:!macx { +- TARGET = $$lower($$TARGET) +- + INCLUDEPATH += \ + Controllers/FaustusController \ + Controllers/LinuxLEDController \ +diff --git a/qt/OpenRGB.desktop b/qt/OpenRGB.desktop +index bd71a38a..b4a0f86a 100644 +--- a/qt/OpenRGB.desktop ++++ b/qt/OpenRGB.desktop +@@ -3,7 +3,7 @@ Type=Application + Encoding=UTF-8 + Name=OpenRGB + Comment=Control RGB lighting +-Exec=openrgb ++Exec=OpenRGB + Icon=OpenRGB + Terminal=false + Categories=Utility; diff --git a/scripts/build-appimage-32.sh b/scripts/build-appimage-32.sh deleted file mode 100755 index 27514582..00000000 --- a/scripts/build-appimage-32.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash - -#-----------------------------------------------------------------------# -# OpenRGB AppImage 32-bit Build Script # -#-----------------------------------------------------------------------# - -set -x -set -e - -#-----------------------------------------------------------------------# -# Build in a temporary directory to keep the system clean # -# Use RAM disk if possible (if available and not building on a CI # -# system like Travis) # -#-----------------------------------------------------------------------# -if [ "$CI" == "" ] && [ -d /dev/shm ]; then - TEMP_BASE=/dev/shm -else - TEMP_BASE=/tmp -fi - -BUILD_DIR=$(mktemp -d -p "$TEMP_BASE" appimage-build-XXXXXX) - -#-----------------------------------------------------------------------# -# Make sure to clean up build dir, even if errors occur # -#-----------------------------------------------------------------------# -cleanup () { - if [ -d "$BUILD_DIR" ]; then - rm -rf "$BUILD_DIR" - fi -} -trap cleanup EXIT - -#-----------------------------------------------------------------------# -# Store repo root as variable # -#-----------------------------------------------------------------------# -REPO_ROOT=$(readlink -f $(dirname $(dirname $0))) -OLD_CWD=$(readlink -f .) - -#-----------------------------------------------------------------------# -# Switch to build dir # -#-----------------------------------------------------------------------# -pushd "$BUILD_DIR" - -#-----------------------------------------------------------------------# -# Configure build files with qmake # -# we need to explicitly set the install prefix, as qmake's default is # -# /usr/local for some reason... # -#-----------------------------------------------------------------------# -qmake "$REPO_ROOT" - -#-----------------------------------------------------------------------# -# Build project and install files into AppDir # -#-----------------------------------------------------------------------# -make -j$(nproc) -make install INSTALL_ROOT=AppDir - -#-----------------------------------------------------------------------# -# Make them executable # -#-----------------------------------------------------------------------# -chmod +x "$REPO_ROOT"/scripts/tools/linuxdeploy*.AppImage - -#-----------------------------------------------------------------------# -# Make sure Qt plugin finds QML sources so it can deploy the imported # -# files # -#-----------------------------------------------------------------------# -export QML_SOURCES_PATHS="$REPO_ROOT"/src - -"$REPO_ROOT"/scripts/tools//linuxdeploy-i386.AppImage --appimage-extract-and-run --appdir AppDir -e OpenRGB -i "$REPO_ROOT"/qt/OpenRGB.png -d "$REPO_ROOT"/qt/OpenRGB.desktop -"$REPO_ROOT"/scripts/tools//linuxdeploy-plugin-qt-i386.AppImage --appimage-extract-and-run --appdir AppDir -"$REPO_ROOT"/scripts/tools//linuxdeploy-i386.AppImage --appimage-extract-and-run --appdir AppDir --output appimage - -#-----------------------------------------------------------------------# -# Move built AppImage back into original CWD # -#-----------------------------------------------------------------------# -mv OpenRGB*.AppImage "$OLD_CWD" - diff --git a/scripts/build-appimage.sh b/scripts/build-appimage.sh index 01906055..4a3129cd 100755 --- a/scripts/build-appimage.sh +++ b/scripts/build-appimage.sh @@ -17,9 +17,27 @@ if [ "$CI" == "" ] && [ -d /dev/shm ]; then else TEMP_BASE=/tmp fi - BUILD_DIR=$(mktemp -d -p "$TEMP_BASE" appimage-build-XXXXXX) +#-----------------------------------------------------------------------# +# This checks the Architecture of the system to work out if we're # +# building on i386 or x86_64 and saves for later use # +#-----------------------------------------------------------------------# + +if [ ${DEB_HOST_ARCH:0:1} == ${DEB_HOST_GNU_CPU:0:1} ]; then + ARCH="$DEB_HOST_ARCH" +else + ARCH="$DEB_HOST_GNU_CPU" +fi +echo Inputs: "$DEB_HOST_ARCH" "$DEB_HOST_GNU_CPU" +echo Calculated: "$ARCH" + +#-----------------------------------------------------------------------# +# Small fixes for CamelCase vs lowercase # +#-----------------------------------------------------------------------# +TARGET=OpenRGB +patch -p1 -i scripts/AppImage.patch + #-----------------------------------------------------------------------# # Make sure to clean up build dir, even if errors occur # #-----------------------------------------------------------------------# @@ -51,7 +69,7 @@ qmake "$REPO_ROOT" #-----------------------------------------------------------------------# # Build project and install files into AppDir # #-----------------------------------------------------------------------# -make -j$(nproc) +make -j$(nproc) TARGET="$TARGET" make install INSTALL_ROOT=AppDir #-----------------------------------------------------------------------# @@ -65,12 +83,12 @@ chmod +x "$REPO_ROOT"/scripts/tools/linuxdeploy*.AppImage #-----------------------------------------------------------------------# export QML_SOURCES_PATHS="$REPO_ROOT"/src -"$REPO_ROOT"/scripts/tools/linuxdeploy-x86_64.AppImage --appimage-extract-and-run --appdir AppDir -e OpenRGB -i "$REPO_ROOT"/qt/OpenRGB.png -d "$REPO_ROOT"/qt/OpenRGB.desktop -"$REPO_ROOT"/scripts/tools/linuxdeploy-plugin-qt-x86_64.AppImage --appimage-extract-and-run --appdir AppDir -"$REPO_ROOT"/scripts/tools/linuxdeploy-x86_64.AppImage --appimage-extract-and-run --appdir AppDir --output appimage +"$REPO_ROOT"/scripts/tools/linuxdeploy-"$ARCH".AppImage --appimage-extract-and-run --appdir AppDir -e "$TARGET" -i "$REPO_ROOT"/qt/OpenRGB.png -d "$REPO_ROOT"/qt/OpenRGB.desktop +"$REPO_ROOT"/scripts/tools/linuxdeploy-plugin-qt-"$ARCH".AppImage --appimage-extract-and-run --appdir AppDir +"$REPO_ROOT"/scripts/tools/linuxdeploy-"$ARCH".AppImage --appimage-extract-and-run --appdir AppDir --output appimage #-----------------------------------------------------------------------# # Move built AppImage back into original CWD # #-----------------------------------------------------------------------# -mv OpenRGB*.AppImage "$OLD_CWD" +mv -v "$TARGET"*.AppImage "$OLD_CWD"