From: Matthias Kruk Date: Mon, 14 Feb 2022 06:45:08 +0000 (+0900) Subject: debian: Debianify foundry sources X-Git-Url: https://git.corax.cc/?a=commitdiff_plain;h=2f430242c5eb1ccd397b7ebe4c42d4d42d4dbd94;p=foundry debian: Debianify foundry sources The foundry source tree does not include control files for building Debian packages, making it impossible to build with foundry. This commit adds Debian control files, allowing foundry to be built with foundry. --- diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..e0c60d6 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +foundry (0.1-1) stable; urgency=medium + + * Initial release + + -- Matthias Kruk Mon, 14 Feb 2022 12:31:41 +0900 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..fe27545 --- /dev/null +++ b/debian/control @@ -0,0 +1,14 @@ +Source: foundry +Priority: optional +Maintainer: Matthias Kruk +Build-Depends: debhelper (>= 9), adduser (>= 3.11), make, coreutils, findutils, grep, sed +Standards-Version: 3.9.8 +Section: shells +Homepage: https://m10k.eu/foundry.html + +Package: foundry +Section: shells +Architecture: all +Depends: bash (>= 4.0), toolbox (>= 0.3.3), curl, grep, coreutils, git, jq, dpkg-dev, dpkg-sig, reprepro +Description: Distributed package build system + Foundry is a distributed build system for Debian packages \ No newline at end of file diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..35a1fa4 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,28 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: toolbox +Source: https://m10k.eu/toolbox + +Files: * +Copyright: 2021 Matthias Kruk +License: GPL-3.0+ + +Files: debian/* +Copyright: 2021 Matthias Kruk +License: GPL-3.0+ + +License: GPL-3.0+ + 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 3 of the License, or + (at your option) any later version. + . + This package 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 + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". diff --git a/debian/postinst b/debian/postinst new file mode 100755 index 0000000..a5211b9 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,41 @@ +#!/bin/sh + +stat_override() { + file="$1" + user="$2" + group="$3" + mode="$4" + + if ! dpkg-statoverride --list "$file" >/dev/null 2>&1; then + if ! dpkg-statoverride --update --add "$user" "$group" "$mode" "$file"; then + return 1 + fi + fi + + return 0 +} + +main() { + action="$1" + + # only add groups and stat overrides when installing + if [ "$action" != "configure" ]; then + return 0 + fi + + # If a group exists, there is a chance that the user + # has customized directory ownership and permissions, + # so we don't change it. + + if addgroup --system foundry; then + stat_override /var/lib/foundry root foundry 0770 + stat_override /var/lib/foundry/contexts root foundry 0770 + fi + + return 0 +} + +{ + main "$@" + exit "$?" +} diff --git a/debian/postrm b/debian/postrm new file mode 100755 index 0000000..d8b3e98 --- /dev/null +++ b/debian/postrm @@ -0,0 +1,34 @@ +#!/bin/sh + +remove_override() { + file="$1" + + if dpkg-statoverride --list "$file" >/dev/null 2>&1; then + if ! dpkg-statoverride --remove "$file"; then + return 1 + fi + fi + + return 0 +} + +main() { + action="$1" + + # don't remove stat overrides if not uninstalling + if [ "$action" != "remove" ]; then + return 0 + fi + + remove_override /var/lib/foundry/contexts + remove_override /var/lib/foundry + + delgroup --system foundry + + return 0 +} + +{ + main "$@" + exit "$?" +} diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..e1c367c --- /dev/null +++ b/debian/rules @@ -0,0 +1,25 @@ +#!/usr/bin/make -f +# See debhelper(7) (uncomment to enable) +# output every command that modifies files on the build system. +#export DH_VERBOSE = 1 + + +# see FEATURE AREAS in dpkg-buildflags(1) +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +# see ENVIRONMENT in dpkg-buildflags(1) +# package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + + +%: + dh $@ + + +# dh_make generated override targets +# This is example for Cmake (See https://bugs.debian.org/641051 ) +#override_dh_auto_configure: +# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) +