mirror of
				https://github.com/hyperion-project/hyperion.ng.git
				synced 2025-03-01 10:33:28 +00: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:
		
							
								
								
									
										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 | ||||
| on: | ||||
|   push: | ||||
|     branches-ignore: | ||||
|       - 'gh-pages' | ||||
|       - 'docker-ci' | ||||
|     branches: | ||||
|       - '**' | ||||
|     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) | ||||
| endif(CCACHE_FOUND) | ||||
|  | ||||
| if (NOT CMAKE_VERSION VERSION_LESS "3.12") | ||||
| 	find_package(Python3 COMPONENTS Interpreter Development REQUIRED) | ||||
| 	if(Python_FOUND) | ||||
| if ("${CMAKE_VERSION}" VERSION_LESS "3.12.0") | ||||
| 	set(Python_ADDITIONAL_VERSIONS 3.5) | ||||
| 	find_package(PythonInterp 3.5 REQUIRED) | ||||
| else() | ||||
| 	find_package(Python3 3.5 COMPONENTS Interpreter Development REQUIRED) | ||||
| 	if(Python3_FOUND) | ||||
| 		set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) | ||||
| 	endif() | ||||
| else() | ||||
| 	set(Python_ADDITIONAL_VERSIONS 3.5) | ||||
| 	find_package( PythonInterp 3.5 REQUIRED ) | ||||
| endif() | ||||
|  | ||||
| # Set build variables | ||||
| @@ -50,6 +50,7 @@ SET ( DEFAULT_USE_SYSTEM_PROTO_LIBS       OFF ) | ||||
| SET ( DEFAULT_USE_SYSTEM_MBEDTLS_LIBS     OFF ) | ||||
| SET ( DEFAULT_TESTS                       OFF ) | ||||
| SET ( DEFAULT_EXPERIMENTAL                OFF ) | ||||
| SET ( DEFAULT_DEPLOY_DEPENDENCIES         ON  ) | ||||
|  | ||||
| IF ( ${CMAKE_SYSTEM} MATCHES "Linux" ) | ||||
| 	SET ( DEFAULT_V4L2        ON ) | ||||
| @@ -204,6 +205,9 @@ message(STATUS "ENABLE_PROFILER = ${ENABLE_PROFILER}") | ||||
| option(ENABLE_EXPERIMENTAL "Compile experimental features" ${DEFAULT_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_LIB_DIR ${CMAKE_BINARY_DIR}/flatbuf ) | ||||
|  | ||||
| @@ -349,17 +353,19 @@ if (NOT WIN32) | ||||
| 	include (${CMAKE_CURRENT_SOURCE_DIR}/cmake/LDGold.cmake) | ||||
| endif() | ||||
|  | ||||
| # Don't create new dynamic tags (RUNPATH) | ||||
| if (NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC") | ||||
| 	set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--disable-new-dtags") | ||||
| endif() | ||||
| if (ENABLE_DEPLOY_DEPENDENCIES) | ||||
| 	# Don't create new dynamic tags (RUNPATH) | ||||
| 	if (NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC") | ||||
| 		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 | ||||
| if (UNIX AND NOT APPLE) | ||||
| 	SET(CMAKE_SKIP_BUILD_RPATH FALSE) | ||||
| 	SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) | ||||
| 	SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:$ORIGIN/../lib") | ||||
| 	SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) | ||||
| 	# setup -rpath to search for shared libs in BINARY/../lib folder | ||||
| 	if (UNIX AND NOT APPLE) | ||||
| 		SET(CMAKE_SKIP_BUILD_RPATH FALSE) | ||||
| 		SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) | ||||
| 		SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:$ORIGIN/../lib") | ||||
| 		SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) | ||||
| 	endif () | ||||
| endif () | ||||
|  | ||||
| # 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_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 | ||||
| IF ( UNIX ) | ||||
| 	#SET ( CPACK_PACKAGING_INSTALL_PREFIX "share/hyperion") | ||||
|   | ||||
| @@ -1,16 +1,30 @@ | ||||
| function(SetVersionNumber PREFIX VERSION_STRING) | ||||
|  | ||||
|   STRING(REGEX MATCHALL "[0-9]+|-([A-Za-z0-9_]+)" VERSION_PARTS ${VERSION_STRING} ) | ||||
|   LIST( GET VERSION_PARTS 0 VERSION_MAJOR ) | ||||
|   LIST( GET VERSION_PARTS 1 VERSION_MINOR ) | ||||
|   LIST( GET VERSION_PARTS 2 VERSION_PATCH ) | ||||
|   STRING(REGEX MATCHALL "[0-9]+|-([A-Za-z0-9_.]+)" VERSION_PARTS ${VERSION_STRING} ) | ||||
|   LIST( LENGTH VERSION_PARTS VERSION_LEN) | ||||
|   if(${VERSION_LEN} GREATER 0) | ||||
|     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_MINOR ${VERSION_MINOR} PARENT_SCOPE) | ||||
|   set(${PREFIX}_VERSION_PATCH ${VERSION_PATCH} PARENT_SCOPE) | ||||
|   set(${PREFIX}_VERSION_PRE   ${VERSION_PRE}   PARENT_SCOPE) | ||||
|  | ||||
|   #if(NOT VERSION_PRE MATCHES "stable") | ||||
|   #  set(${PREFIX}_VERSION_PRE   ${VERSION_PRE}   PARENT_SCOPE) | ||||
|   #  set( VERSION_PRE_FULL "-${VERSION_PRE}") | ||||
|   #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>") | ||||
| endif() | ||||
|  | ||||
| # Deploy all dependencies for package creation (not for OSX) | ||||
| include(${CMAKE_SOURCE_DIR}/cmake/Dependencies.cmake) | ||||
| if(ENABLE_DEPLOY_DEPENDENCIES) | ||||
| 	# Deploy all dependencies for package creation (not for OSX) | ||||
| 	include(${CMAKE_SOURCE_DIR}/cmake/Dependencies.cmake) | ||||
|  | ||||
| if (NOT ENABLE_OSX AND NOT WIN32) # Unix | ||||
| 	DeployUnix("hyperiond") | ||||
| elseif(WIN32) # Windows | ||||
| 	DeployWindows("hyperiond") | ||||
| endif () | ||||
| 	if (NOT ENABLE_OSX AND NOT WIN32) # Unix | ||||
| 		DeployUnix("hyperiond") | ||||
| 	elseif(WIN32) # Windows | ||||
| 		DeployWindows("hyperiond") | ||||
| 	endif () | ||||
| endif(ENABLE_DEPLOY_DEPENDENCIES) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user