mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
Debian/Ubuntu APT (#1265)
* APT repository * Run workflows on any branch * Switched to Hyperion GHCR * Fix typo * Rewrite installation steps * Spelling fixed * Typo fix * OSX Icon changed
This commit is contained in:
parent
f98938020a
commit
8dc4ff9a34
82
.github/workflows/apt.json
vendored
Normal file
82
.github/workflows/apt.json
vendored
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"include":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"distribution": "Bionic",
|
||||||
|
"architecture": "amd64",
|
||||||
|
"build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg, libcec4",
|
||||||
|
"description": "Ubuntu 18.04 (Bionic Beaver) (amd64)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"distribution": "Focal",
|
||||||
|
"architecture": "amd64",
|
||||||
|
"build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec4",
|
||||||
|
"description": "Ubuntu 20.04 (Focal Fossa) (amd64)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"distribution": "Groovy",
|
||||||
|
"architecture": "amd64",
|
||||||
|
"build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
|
||||||
|
"description": "Ubuntu 20.10 (Groovy Gorilla) (amd64)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"distribution": "Hirsute",
|
||||||
|
"architecture": "amd64",
|
||||||
|
"build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
|
||||||
|
"description": "Ubuntu 21.04 (Hirsute Hippo) (amd64)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"distribution": "Impish",
|
||||||
|
"architecture": "amd64",
|
||||||
|
"build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
|
||||||
|
"description": "Ubuntu 21.10 (Impish Indri) (amd64)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"distribution": "Stretch",
|
||||||
|
"architecture": "amd64",
|
||||||
|
"build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl1.0-dev, zlib1g-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg0, libcec4",
|
||||||
|
"description": "Debian 9.x (Stretch) (amd64)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"distribution": "Stretch",
|
||||||
|
"architecture": "armhf",
|
||||||
|
"build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl1.0-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg0, libcec4",
|
||||||
|
"description":"Debian 9.x (Stretch) (armhf)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"distribution": "Buster",
|
||||||
|
"architecture": "amd64",
|
||||||
|
"build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec4",
|
||||||
|
"description": "Debian 10.x (Buster) (amd64)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"distribution": "Buster",
|
||||||
|
"architecture": "armhf",
|
||||||
|
"build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl1.0-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec4",
|
||||||
|
"description": "Debian 10.x (Buster) (armhf)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"distribution": "Bullseye",
|
||||||
|
"architecture": "amd64",
|
||||||
|
"build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec6",
|
||||||
|
"description": "Debian 11.x (Bullseye) (amd64)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"distribution": "Bullseye",
|
||||||
|
"architecture": "armhf",
|
||||||
|
"build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl1.0-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
|
||||||
|
"package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec6",
|
||||||
|
"description": "Debian 11.x (Bullseye) (armhf)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
124
.github/workflows/apt.yml
vendored
Normal file
124
.github/workflows/apt.yml
vendored
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
name: Hyperion APT Build
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '**'
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
setup:
|
||||||
|
name: Setup APT build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set APT matrix
|
||||||
|
id: apt-ppa
|
||||||
|
run: |
|
||||||
|
APT=$(echo $(cat .github/workflows/apt.json) | jq --compact-output .)
|
||||||
|
echo "::set-output name=apt::$APT"
|
||||||
|
outputs:
|
||||||
|
apt-matrix: ${{ steps.apt-ppa.outputs.apt }}
|
||||||
|
|
||||||
|
build:
|
||||||
|
name: ${{ matrix.description }}
|
||||||
|
needs: [setup]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix: ${{ fromJson(needs.setup.outputs.apt-matrix) }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Build package
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
tr -d '\n' < version > temp && mv temp version
|
||||||
|
mkdir -p "${GITHUB_WORKSPACE}/deploy"
|
||||||
|
docker run --rm \
|
||||||
|
-v "${GITHUB_WORKSPACE}/deploy:/deploy" \
|
||||||
|
-v "${GITHUB_WORKSPACE}:/source:rw" \
|
||||||
|
ghcr.io/hyperion-project/${{ matrix.architecture }}:$(echo ${{ matrix.distribution }} | tr '[:upper:]' '[:lower:]') \
|
||||||
|
/bin/bash -c "cd /source && \
|
||||||
|
mkdir -p debian/source && echo '3.0 (quilt)' > debian/source/format && \
|
||||||
|
dch --create --distribution $(echo ${{ matrix.distribution }} | tr '[:upper:]' '[:lower:]') --package 'hyperion' -v '$(cat version)~$(echo ${{ matrix.distribution }} | tr '[:upper:]' '[:lower:]')' '${{ github.event.commits[0].message }}' && \
|
||||||
|
cp -fr LICENSE debian/copyright && \
|
||||||
|
sed 's/@BUILD_DEPENDS@/${{ matrix.build-depends }}/g; s/@DEPENDS@/${{ matrix.package-depends }}/g; s/@ARCHITECTURE@/${{ matrix.architecture }}/g' debian/control.in > debian/control && \
|
||||||
|
tar cf ../hyperion_2.0.0.orig.tar . && \
|
||||||
|
xz -9 ../hyperion_2.0.0.orig.tar && \
|
||||||
|
debuild --no-lintian -uc -us && \
|
||||||
|
cp ../hyperion_* /deploy"
|
||||||
|
|
||||||
|
- name: Upload package artifact
|
||||||
|
if: startsWith(github.event.ref, 'refs/tags')
|
||||||
|
uses: actions/upload-artifact@v2.2.4
|
||||||
|
with:
|
||||||
|
path: deploy
|
||||||
|
retention-days: 1
|
||||||
|
|
||||||
|
publish:
|
||||||
|
name: Publish APT packages
|
||||||
|
if: startsWith(github.event.ref, 'refs/tags')
|
||||||
|
needs: [setup, build]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Import GPG key
|
||||||
|
uses: crazy-max/ghaction-import-gpg@v3.1.0
|
||||||
|
with:
|
||||||
|
gpg-private-key: ${{ secrets.APT_GPG }}
|
||||||
|
|
||||||
|
- name: Install reprepro
|
||||||
|
run: sudo apt -y install reprepro
|
||||||
|
|
||||||
|
- name: Make build folders, export public GPG key and copy distributions file
|
||||||
|
run: |
|
||||||
|
mkdir -p apt/{conf,dists,db}
|
||||||
|
gpg --armor --output apt/hyperion.pub.key --export 'admin@hyperion-project.org'
|
||||||
|
cp debian/distributions apt/conf/distributions
|
||||||
|
|
||||||
|
- name: Create initial structure/packages files and symbolic links
|
||||||
|
run: |
|
||||||
|
reprepro -Vb apt createsymlinks
|
||||||
|
reprepro -Vb apt export
|
||||||
|
|
||||||
|
- name: Download artifacts
|
||||||
|
uses: actions/download-artifact@v2.0.10
|
||||||
|
|
||||||
|
- name: Include artifacts into the package source
|
||||||
|
run: |
|
||||||
|
for file in artifact/*.deb; do
|
||||||
|
if [ -f "$file" ]; then
|
||||||
|
dist=${file#*~}
|
||||||
|
dist=${dist%_*}
|
||||||
|
reprepro -Vb apt/ includedeb "$dist" "$file"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Upload packages to APT server
|
||||||
|
uses: SamKirkland/FTP-Deploy-Action@4.0.0
|
||||||
|
with:
|
||||||
|
server: apt.hyperion-project.org
|
||||||
|
username: ${{ secrets.APT_USER }}
|
||||||
|
password: ${{ secrets.APT_PASSWORD }}
|
||||||
|
local-dir: "./apt/"
|
||||||
|
server-dir: "./"
|
||||||
|
|
||||||
|
hyperbian:
|
||||||
|
name: Update HyperBian Release
|
||||||
|
if: startsWith(github.event.ref, 'refs/tags')
|
||||||
|
needs: [setup, build, publish]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
# Dispatch event to build new HyperBian image
|
||||||
|
- name: Dispatch HyperBian build
|
||||||
|
uses: peter-evans/repository-dispatch@v1
|
||||||
|
if: ${{ github.repository_owner == 'hyperion-project'}}
|
||||||
|
with:
|
||||||
|
repository: hyperion-project/HyperBian
|
||||||
|
token: ${{ secrets.HYPERION_BOT_TOKEN }}
|
||||||
|
event-type: hyperion_push
|
5
.github/workflows/push-master.yml
vendored
5
.github/workflows/push-master.yml
vendored
@ -1,9 +1,8 @@
|
|||||||
name: Hyperion CI Build
|
name: Hyperion CI Build
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- 'gh-pages'
|
- '**'
|
||||||
- 'docker-ci'
|
|
||||||
tags:
|
tags:
|
||||||
- '*'
|
- '*'
|
||||||
|
|
||||||
|
17
.github/workflows/release.yml
vendored
17
.github/workflows/release.yml
vendored
@ -1,17 +0,0 @@
|
|||||||
name: Release Actions
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [published]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
hyperbian:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
# Dispatch event to build new HyperBian image
|
|
||||||
- name: Dispatch HyperBian build
|
|
||||||
uses: peter-evans/repository-dispatch@v1
|
|
||||||
if: ${{ github.repository_owner == 'hyperion-project'}}
|
|
||||||
with:
|
|
||||||
repository: hyperion-project/HyperBian
|
|
||||||
token: ${{ secrets.HYPERION_BOT_TOKEN }}
|
|
||||||
event-type: hyperion_push
|
|
@ -25,14 +25,14 @@ if ( CCACHE_FOUND )
|
|||||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
||||||
endif(CCACHE_FOUND)
|
endif(CCACHE_FOUND)
|
||||||
|
|
||||||
if (NOT CMAKE_VERSION VERSION_LESS "3.12")
|
if ("${CMAKE_VERSION}" VERSION_LESS "3.12.0")
|
||||||
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
|
set(Python_ADDITIONAL_VERSIONS 3.5)
|
||||||
if(Python_FOUND)
|
find_package(PythonInterp 3.5 REQUIRED)
|
||||||
|
else()
|
||||||
|
find_package(Python3 3.5 COMPONENTS Interpreter Development REQUIRED)
|
||||||
|
if(Python3_FOUND)
|
||||||
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
|
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
|
||||||
endif()
|
endif()
|
||||||
else()
|
|
||||||
set(Python_ADDITIONAL_VERSIONS 3.5)
|
|
||||||
find_package( PythonInterp 3.5 REQUIRED )
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Set build variables
|
# Set build variables
|
||||||
@ -50,6 +50,7 @@ SET ( DEFAULT_USE_SYSTEM_PROTO_LIBS OFF )
|
|||||||
SET ( DEFAULT_USE_SYSTEM_MBEDTLS_LIBS OFF )
|
SET ( DEFAULT_USE_SYSTEM_MBEDTLS_LIBS OFF )
|
||||||
SET ( DEFAULT_TESTS OFF )
|
SET ( DEFAULT_TESTS OFF )
|
||||||
SET ( DEFAULT_EXPERIMENTAL OFF )
|
SET ( DEFAULT_EXPERIMENTAL OFF )
|
||||||
|
SET ( DEFAULT_DEPLOY_DEPENDENCIES ON )
|
||||||
|
|
||||||
IF ( ${CMAKE_SYSTEM} MATCHES "Linux" )
|
IF ( ${CMAKE_SYSTEM} MATCHES "Linux" )
|
||||||
SET ( DEFAULT_V4L2 ON )
|
SET ( DEFAULT_V4L2 ON )
|
||||||
@ -204,6 +205,9 @@ message(STATUS "ENABLE_PROFILER = ${ENABLE_PROFILER}")
|
|||||||
option(ENABLE_EXPERIMENTAL "Compile experimental features" ${DEFAULT_EXPERIMENTAL})
|
option(ENABLE_EXPERIMENTAL "Compile experimental features" ${DEFAULT_EXPERIMENTAL})
|
||||||
message(STATUS "ENABLE_EXPERIMENTAL = ${ENABLE_EXPERIMENTAL}")
|
message(STATUS "ENABLE_EXPERIMENTAL = ${ENABLE_EXPERIMENTAL}")
|
||||||
|
|
||||||
|
option(ENABLE_DEPLOY_DEPENDENCIES "Deploy with dependencies" ${DEFAULT_DEPLOY_DEPENDENCIES})
|
||||||
|
message(STATUS "ENABLE_DEPLOY_DEPENDENCIES = ${ENABLE_DEPLOY_DEPENDENCIES}")
|
||||||
|
|
||||||
SET ( FLATBUFFERS_INSTALL_BIN_DIR ${CMAKE_BINARY_DIR}/flatbuf )
|
SET ( FLATBUFFERS_INSTALL_BIN_DIR ${CMAKE_BINARY_DIR}/flatbuf )
|
||||||
SET ( FLATBUFFERS_INSTALL_LIB_DIR ${CMAKE_BINARY_DIR}/flatbuf )
|
SET ( FLATBUFFERS_INSTALL_LIB_DIR ${CMAKE_BINARY_DIR}/flatbuf )
|
||||||
|
|
||||||
@ -349,17 +353,19 @@ if (NOT WIN32)
|
|||||||
include (${CMAKE_CURRENT_SOURCE_DIR}/cmake/LDGold.cmake)
|
include (${CMAKE_CURRENT_SOURCE_DIR}/cmake/LDGold.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Don't create new dynamic tags (RUNPATH)
|
if (ENABLE_DEPLOY_DEPENDENCIES)
|
||||||
if (NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
# Don't create new dynamic tags (RUNPATH)
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--disable-new-dtags")
|
if (NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
endif()
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--disable-new-dtags")
|
||||||
|
endif()
|
||||||
|
|
||||||
# setup -rpath to search for shared libs in BINARY/../lib folder
|
# setup -rpath to search for shared libs in BINARY/../lib folder
|
||||||
if (UNIX AND NOT APPLE)
|
if (UNIX AND NOT APPLE)
|
||||||
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
|
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
|
||||||
SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||||
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:$ORIGIN/../lib")
|
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:$ORIGIN/../lib")
|
||||||
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||||
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# add QT5 dependency
|
# add QT5 dependency
|
||||||
|
46
Installation.md
Normal file
46
Installation.md
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
This page contains general installation steps for Hyperion. For Linux please follow the instructions below. For Windows is an installation file available on our [Release page](https://github.com/hyperion-project/hyperion.ng/releases).
|
||||||
|
|
||||||
|
## Linux:
|
||||||
|
On the following operating systems, Hyperion can currently be installed/updated using the method listed below:
|
||||||
|
- Raspbian Stretch/Raspberry Pi OS and later (armhf)
|
||||||
|
- Debian Stretch (9) and later (armhf/x64)
|
||||||
|
- Ubuntu 18.04 and later (x64)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### Install Hyperion:
|
||||||
|
1. Add Hyperion’s official GPG key:
|
||||||
|
```bash
|
||||||
|
wget -qO- https://apt.hyperion-project.org/hyperion.pub.key | sudo apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Add Hyperion-Project to your APT sources:
|
||||||
|
```bash
|
||||||
|
echo "deb https://apt.hyperion-project.org/ stable main" | sudo tee /etc/apt/sources.list.d/hyperion.list
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Update your local package index and install Hyperion:
|
||||||
|
```bash
|
||||||
|
sudo apt-get update && sudo apt-get install hyperion
|
||||||
|
```
|
||||||
|
***
|
||||||
|
|
||||||
|
### Update Hyperion:
|
||||||
|
```bash
|
||||||
|
sudo apt-get install hyperion
|
||||||
|
```
|
||||||
|
***
|
||||||
|
|
||||||
|
### If you want to uninstall Hyperion, use the following commands:
|
||||||
|
1. Remove Hyperion:
|
||||||
|
```bash
|
||||||
|
sudo apt-get --purge autoremove hyperion
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Remove the Hyperion-Project APT source from your system:
|
||||||
|
```bash
|
||||||
|
sudo rm /etc/apt/sources.list.d/hyperion.list
|
||||||
|
```
|
Binary file not shown.
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 11 KiB |
Binary file not shown.
@ -52,6 +52,11 @@ SET ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" )
|
|||||||
SET ( CPACK_PACKAGE_EXECUTABLES "hyperiond;Hyperion" )
|
SET ( CPACK_PACKAGE_EXECUTABLES "hyperiond;Hyperion" )
|
||||||
SET ( CPACK_CREATE_DESKTOP_LINKS "hyperiond;Hyperion" )
|
SET ( CPACK_CREATE_DESKTOP_LINKS "hyperiond;Hyperion" )
|
||||||
|
|
||||||
|
# Append pre-release version to CPACK_PACKAGE_VERSION_PATCH if exists
|
||||||
|
if (NOT "${HYPERION_VERSION_PRE}" STREQUAL "")
|
||||||
|
string(APPEND CPACK_PACKAGE_VERSION_PATCH ${HYPERION_VERSION_PRE})
|
||||||
|
endif()
|
||||||
|
|
||||||
# Define the install prefix path for cpack
|
# Define the install prefix path for cpack
|
||||||
IF ( UNIX )
|
IF ( UNIX )
|
||||||
#SET ( CPACK_PACKAGING_INSTALL_PREFIX "share/hyperion")
|
#SET ( CPACK_PACKAGING_INSTALL_PREFIX "share/hyperion")
|
||||||
|
@ -1,16 +1,30 @@
|
|||||||
function(SetVersionNumber PREFIX VERSION_STRING)
|
function(SetVersionNumber PREFIX VERSION_STRING)
|
||||||
|
|
||||||
STRING(REGEX MATCHALL "[0-9]+|-([A-Za-z0-9_]+)" VERSION_PARTS ${VERSION_STRING} )
|
STRING(REGEX MATCHALL "[0-9]+|-([A-Za-z0-9_.]+)" VERSION_PARTS ${VERSION_STRING} )
|
||||||
LIST( GET VERSION_PARTS 0 VERSION_MAJOR )
|
LIST( LENGTH VERSION_PARTS VERSION_LEN)
|
||||||
LIST( GET VERSION_PARTS 1 VERSION_MINOR )
|
if(${VERSION_LEN} GREATER 0)
|
||||||
LIST( GET VERSION_PARTS 2 VERSION_PATCH )
|
LIST( GET VERSION_PARTS 0 VERSION_MAJOR )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(${VERSION_LEN} GREATER 1)
|
||||||
|
LIST( GET VERSION_PARTS 1 VERSION_MINOR )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(${VERSION_LEN} GREATER 3)
|
||||||
|
LIST( GET VERSION_PARTS 2 VERSION_PATCH )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(${VERSION_LEN} GREATER 3)
|
||||||
|
LIST( GET VERSION_PARTS 3 VERSION_PRE )
|
||||||
|
endif()
|
||||||
|
|
||||||
set(${PREFIX}_VERSION_MAJOR ${VERSION_MAJOR} PARENT_SCOPE)
|
set(${PREFIX}_VERSION_MAJOR ${VERSION_MAJOR} PARENT_SCOPE)
|
||||||
set(${PREFIX}_VERSION_MINOR ${VERSION_MINOR} PARENT_SCOPE)
|
set(${PREFIX}_VERSION_MINOR ${VERSION_MINOR} PARENT_SCOPE)
|
||||||
set(${PREFIX}_VERSION_PATCH ${VERSION_PATCH} PARENT_SCOPE)
|
set(${PREFIX}_VERSION_PATCH ${VERSION_PATCH} PARENT_SCOPE)
|
||||||
|
set(${PREFIX}_VERSION_PRE ${VERSION_PRE} PARENT_SCOPE)
|
||||||
|
|
||||||
#if(NOT VERSION_PRE MATCHES "stable")
|
#if(NOT VERSION_PRE MATCHES "stable")
|
||||||
# set(${PREFIX}_VERSION_PRE ${VERSION_PRE} PARENT_SCOPE)
|
# set(${PREFIX}_VERSION_PRE ${VERSION_PRE} PARENT_SCOPE)
|
||||||
# set( VERSION_PRE_FULL "-${VERSION_PRE}")
|
# set( VERSION_PRE_FULL "-${VERSION_PRE}")
|
||||||
#endif()
|
#endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
12
debian/control.in
vendored
Normal file
12
debian/control.in
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Source: hyperion
|
||||||
|
Section: devel
|
||||||
|
Priority: optional
|
||||||
|
Build-Depends: @BUILD_DEPENDS@
|
||||||
|
Standards-Version: 2.0.0
|
||||||
|
Maintainer: Hyperion Project <admin@hyperion-project.org>
|
||||||
|
Homepage: https://hyperion-project.org/
|
||||||
|
|
||||||
|
Package: hyperion
|
||||||
|
Architecture: @ARCHITECTURE@
|
||||||
|
Depends: @DEPENDS@
|
||||||
|
Description: Hyperion is an opensource Bias or Ambient Lighting implementation which you might know from TV manufactures. It supports many LED devices and video grabbers.
|
66
debian/distributions
vendored
Normal file
66
debian/distributions
vendored
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
Origin: Hyperion-Project
|
||||||
|
Label: apt.hyperion-project.org
|
||||||
|
Codename: bionic
|
||||||
|
Architectures: amd64
|
||||||
|
Components: main
|
||||||
|
Description: Official APT Repository by Hyperion Project
|
||||||
|
SignWith: yes
|
||||||
|
|
||||||
|
Origin: Hyperion-Project
|
||||||
|
Label: apt.hyperion-project.org
|
||||||
|
Codename: focal
|
||||||
|
Architectures: amd64
|
||||||
|
Components: main
|
||||||
|
Description: Official APT Repository by Hyperion Project
|
||||||
|
SignWith: yes
|
||||||
|
|
||||||
|
Origin: Hyperion-Project
|
||||||
|
Label: apt.hyperion-project.org
|
||||||
|
Codename: groovy
|
||||||
|
Architectures: amd64
|
||||||
|
Components: main
|
||||||
|
Description: Official APT Repository by Hyperion Project
|
||||||
|
SignWith: yes
|
||||||
|
|
||||||
|
Origin: Hyperion-Project
|
||||||
|
Label: apt.hyperion-project.org
|
||||||
|
Codename: hirsute
|
||||||
|
Architectures: amd64
|
||||||
|
Components: main
|
||||||
|
Description: Official APT Repository by Hyperion Project
|
||||||
|
SignWith: yes
|
||||||
|
|
||||||
|
Origin: Hyperion-Project
|
||||||
|
Label: apt.hyperion-project.org
|
||||||
|
Codename: impish
|
||||||
|
Architectures: amd64
|
||||||
|
Components: main
|
||||||
|
Description: Official APT Repository by Hyperion Project
|
||||||
|
SignWith: yes
|
||||||
|
|
||||||
|
Origin: Hyperion-Project
|
||||||
|
Label: apt.hyperion-project.org
|
||||||
|
Suite: oldstable
|
||||||
|
Codename: stretch
|
||||||
|
Architectures: armhf amd64
|
||||||
|
Components: main
|
||||||
|
Description: Official APT Repository by Hyperion Project
|
||||||
|
SignWith: yes
|
||||||
|
|
||||||
|
Origin: Hyperion-Project
|
||||||
|
Label: apt.hyperion-project.org
|
||||||
|
Suite: stable
|
||||||
|
Codename: buster
|
||||||
|
Architectures: armhf amd64
|
||||||
|
Components: main
|
||||||
|
Description: Official APT Repository by Hyperion Project
|
||||||
|
SignWith: yes
|
||||||
|
|
||||||
|
Origin: Hyperion-Project
|
||||||
|
Label: apt.hyperion-project.org
|
||||||
|
Suite: unstable
|
||||||
|
Codename: bullseye
|
||||||
|
Architectures: armhf amd64
|
||||||
|
Components: main
|
||||||
|
Description: Official APT Repository by Hyperion Project
|
||||||
|
SignWith: yes
|
31
debian/rules
vendored
Executable file
31
debian/rules
vendored
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
export DH_VERBOSE = 1
|
||||||
|
|
||||||
|
BUILDDIR = build
|
||||||
|
|
||||||
|
build:
|
||||||
|
mkdir $(BUILDDIR);
|
||||||
|
cd $(BUILDDIR); cmake -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../debian/tmp/usr ..
|
||||||
|
make -j4 -C $(BUILDDIR)
|
||||||
|
|
||||||
|
binary: binary-indep binary-arch
|
||||||
|
|
||||||
|
binary-indep:
|
||||||
|
|
||||||
|
binary-arch:
|
||||||
|
cd $(BUILDDIR); cmake -P cmake_install.cmake
|
||||||
|
mkdir debian/tmp/DEBIAN
|
||||||
|
cp cmake/debian/postinst debian/tmp/DEBIAN
|
||||||
|
chmod 0775 debian/tmp/DEBIAN/postinst
|
||||||
|
cp cmake/debian/preinst debian/tmp/DEBIAN
|
||||||
|
chmod 0775 debian/tmp/DEBIAN/preinst
|
||||||
|
cp cmake/debian/prerm debian/tmp/DEBIAN
|
||||||
|
chmod 0775 debian/tmp/DEBIAN/prerm
|
||||||
|
dpkg-gencontrol -phyperion
|
||||||
|
dpkg --build debian/tmp ..
|
||||||
|
rm -rf debian/tmp
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf $(BUILDDIR)
|
||||||
|
|
||||||
|
.PHONY: build binary binary-arch binary-indep clean
|
@ -146,11 +146,13 @@ if(WIN32)
|
|||||||
add_custom_command(TARGET hyperiond POST_BUILD COMMAND ${WINDEPLOYQT_EXECUTABLE} ${WINDEPLOYQT_PARAMS} "$<TARGET_FILE:hyperiond>")
|
add_custom_command(TARGET hyperiond POST_BUILD COMMAND ${WINDEPLOYQT_EXECUTABLE} ${WINDEPLOYQT_PARAMS} "$<TARGET_FILE:hyperiond>")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Deploy all dependencies for package creation (not for OSX)
|
if(ENABLE_DEPLOY_DEPENDENCIES)
|
||||||
include(${CMAKE_SOURCE_DIR}/cmake/Dependencies.cmake)
|
# Deploy all dependencies for package creation (not for OSX)
|
||||||
|
include(${CMAKE_SOURCE_DIR}/cmake/Dependencies.cmake)
|
||||||
|
|
||||||
if (NOT ENABLE_OSX AND NOT WIN32) # Unix
|
if (NOT ENABLE_OSX AND NOT WIN32) # Unix
|
||||||
DeployUnix("hyperiond")
|
DeployUnix("hyperiond")
|
||||||
elseif(WIN32) # Windows
|
elseif(WIN32) # Windows
|
||||||
DeployWindows("hyperiond")
|
DeployWindows("hyperiond")
|
||||||
endif ()
|
endif ()
|
||||||
|
endif(ENABLE_DEPLOY_DEPENDENCIES)
|
||||||
|
Loading…
Reference in New Issue
Block a user