From 57ef794864fbdb758d6410f13abc80a2efc2cbbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?xzvf=20=28P=C3=A9ter=20Bohner=29?= Date: Sat, 22 Jan 2022 11:56:11 +0100 Subject: [PATCH 1/4] Add packaging for Debian based distributions. This commit adds a script (`create-deb-pkg.sh`), which creates a deb package containing the fastfetch and flashfetch executables as well as the bash-completion file. The script must be executed in an environment, where `dpkg-deb` is present (a debian based environment). Because Deb versioning is not compatible with fastfetch version strings, it is adapted to the format: `0:1$FF_VERSION-0`. --- packaging/deb/control-template | 13 +++++++++++++ packaging/deb/create-deb-pkg.sh | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 packaging/deb/control-template create mode 100755 packaging/deb/create-deb-pkg.sh diff --git a/packaging/deb/control-template b/packaging/deb/control-template new file mode 100644 index 000000000..c0a92a103 --- /dev/null +++ b/packaging/deb/control-template @@ -0,0 +1,13 @@ +Package: fastfetch +Version: +Section: utils +Priority: extra +Architecture: amd64 +Maintainer: peter@bohner.me +Homepage: https://github.com/LinusDierheimer/fastfetch +Installed-Size: 410K +Description: A fast alternative to neofetch + fastfetch is a neofetch-like tool for fetching system information and + displaying them in a pretty way. It is written in c to achieve much better + performance, in return only Linux and Android are supported. It also uses + mechanisms like multithreading and caching to finish as fast as possible. diff --git a/packaging/deb/create-deb-pkg.sh b/packaging/deb/create-deb-pkg.sh new file mode 100755 index 000000000..5a159a4b7 --- /dev/null +++ b/packaging/deb/create-deb-pkg.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +cd "$(dirname "$0")" +echo "cleanup" +rm -rf ./build ./fastfetch fastfetch.deb + +echo "building fastfetch" +mkdir build +cd build +cmake ../../.. +cmake --build . -j$(nproc) + +echo "generating package contents" +# deb versions must start with a number, hence the 1 added before the rXXX +version="0:1$(./fastfetch --version | cut -d ' ' -f2)-0" +echo "Using package version: $version" +cd .. + +mkdir -p fastfetch/DEBIAN +sed "s//$version/g" control-template > fastfetch/DEBIAN/control + +mkdir -p fastfetch/usr/bin +cp build/fastfetch fastfetch/usr/bin/ +cp build/flashfetch fastfetch/usr/bin/ +mkdir -p fastfetch/usr/share/bash-completion/completions +cp ../../completions/bash fastfetch/usr/share/bash-completion/completions/fastfetch + +echo "building package" +dpkg-deb --build fastfetch +echo "package built." +echo "cleaning up" +rm -rf build fastfetch From 65dc9bb16670455df0fe3e31022d648ffa60db9a Mon Sep 17 00:00:00 2001 From: xzvf Date: Sat, 22 Jan 2022 12:34:45 +0100 Subject: [PATCH 2/4] Remove flashfetch target, and fix 2 shellcheck warnings --- packaging/deb/create-deb-pkg.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packaging/deb/create-deb-pkg.sh b/packaging/deb/create-deb-pkg.sh index 5a159a4b7..fce84df01 100755 --- a/packaging/deb/create-deb-pkg.sh +++ b/packaging/deb/create-deb-pkg.sh @@ -1,14 +1,14 @@ #!/bin/sh -cd "$(dirname "$0")" +cd "$(dirname "$0")" || exit echo "cleanup" rm -rf ./build ./fastfetch fastfetch.deb echo "building fastfetch" mkdir build -cd build +cd build || exit cmake ../../.. -cmake --build . -j$(nproc) +cmake --build . --target fastfetch "-j$(nproc)" echo "generating package contents" # deb versions must start with a number, hence the 1 added before the rXXX @@ -21,7 +21,6 @@ sed "s//$version/g" control-template > fastfetch/DEBIAN/control mkdir -p fastfetch/usr/bin cp build/fastfetch fastfetch/usr/bin/ -cp build/flashfetch fastfetch/usr/bin/ mkdir -p fastfetch/usr/share/bash-completion/completions cp ../../completions/bash fastfetch/usr/share/bash-completion/completions/fastfetch From 7a7eac9edd2da3cee10f5609d16d34a76d0b3c65 Mon Sep 17 00:00:00 2001 From: xzvf Date: Sat, 22 Jan 2022 12:40:10 +0100 Subject: [PATCH 3/4] Copy presets to /usr/share/fastfetch/presets --- packaging/deb/create-deb-pkg.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packaging/deb/create-deb-pkg.sh b/packaging/deb/create-deb-pkg.sh index fce84df01..8a6121794 100755 --- a/packaging/deb/create-deb-pkg.sh +++ b/packaging/deb/create-deb-pkg.sh @@ -23,6 +23,8 @@ mkdir -p fastfetch/usr/bin cp build/fastfetch fastfetch/usr/bin/ mkdir -p fastfetch/usr/share/bash-completion/completions cp ../../completions/bash fastfetch/usr/share/bash-completion/completions/fastfetch +mkdir -p fastfetch/usr/share/fastfetch/ +cp -r ../../presets fastfetch/usr/share/fastfetch/ echo "building package" dpkg-deb --build fastfetch From 8f466735a8f2dbf9e06dccaef0b961cd8fbf604c Mon Sep 17 00:00:00 2001 From: xzvf Date: Sat, 22 Jan 2022 12:40:58 +0100 Subject: [PATCH 4/4] Add .deb file and deb-package build directory to .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index d2a2da19d..9eaede018 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ cscope.* tags fastfetch.kdev4 +**/*.deb +packaging/deb/fastfetch