initial commit
This commit is contained in:
커밋
131be5e113
4
CONFIG.example
Normal file
4
CONFIG.example
Normal file
@ -0,0 +1,4 @@
|
||||
TARGET_SERVER="hostname"
|
||||
TARGET_PATH="/var/www/somewhere"
|
||||
TARGET_OWNER="nginx"
|
||||
SIGNING_KEY_EMAIL="mail@example.tld"
|
7
README.md
Normal file
7
README.md
Normal file
@ -0,0 +1,7 @@
|
||||
apt repository for quitesimple.org projects
|
||||
===========================================
|
||||
This follows a rather pragmatic approach.
|
||||
|
||||
Some inspiration was taken from https://manuel-io.github.io/blog/2017/07/09/creating-an-apt-repository/, thanks!
|
||||
|
||||
Hosted at https://repo.quitesimple.org/debian/
|
6
build/CHANGELOG_TEMPLATE
Normal file
6
build/CHANGELOG_TEMPLATE
Normal file
@ -0,0 +1,6 @@
|
||||
NAME_PLACEHOLDER (VERSION_PLACEHOLDER) unstable; urgency=medium
|
||||
|
||||
* Generated package for VERSION_PLACEHOLDER.
|
||||
|
||||
-- quitesimple.org repo management department ;-) <repo@quitesimple.org> DATE_PLACEHOLDER
|
||||
|
14
build/adhocify/build
Executable file
14
build/adhocify/build
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
source ../functions.bash
|
||||
if [ $# -ne 1 ] ; then
|
||||
echo "Usage: $0 poolpath" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
set -e
|
||||
|
||||
TAG="_auto_"
|
||||
BUILDDIR=$(mktemp -d)
|
||||
OUTPUT_DIR="$1"
|
||||
|
||||
build_git_repo "$BUILDDIR" "https://gitea.quitesimple.org/crtxcr/adhocify" adhocify "$TAG" "$OUTPUT_DIR"
|
||||
|
1
build/adhocify/debian/adhocify.install
Normal file
1
build/adhocify/debian/adhocify.install
Normal file
@ -0,0 +1 @@
|
||||
adhocify /usr/bin/
|
5
build/adhocify/debian/changelog
Normal file
5
build/adhocify/debian/changelog
Normal file
@ -0,0 +1,5 @@
|
||||
adhocify (1.0) unstable; urgency=medium
|
||||
|
||||
* Initial Release.
|
||||
|
||||
-- quitesimple.org repo management department ;-) <repo@quitesimple.org> Tue, 18 Aug 2020 18:17:03 +0200
|
16
build/adhocify/debian/control
Normal file
16
build/adhocify/debian/control
Normal file
@ -0,0 +1,16 @@
|
||||
Source: adhocify
|
||||
Section: unknown
|
||||
Priority: optional
|
||||
Maintainer: quitesimple.org repo management department ;-) <repo@quitesimple.org>
|
||||
Build-Depends: debhelper-compat (= 12)
|
||||
Standards-Version: 4.4.1
|
||||
Homepage: <https://gitea.quitesimple.org/crtxcr/adhocify>
|
||||
|
||||
Package: adhocify
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: Executes commands upon file system events
|
||||
This tool allows watching filesystem paths for certain events,
|
||||
such as writes, deletions etc. The user specifies commands which
|
||||
should be executed when those events occur. It utilizes the
|
||||
inotify API to do so.
|
8
build/adhocify/debian/rules
Executable file
8
build/adhocify/debian/rules
Executable file
@ -0,0 +1,8 @@
|
||||
#!/usr/bin/make -f
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_build:
|
||||
make release
|
||||
|
||||
override_dh_auto_install:
|
1
build/adhocify/debian/source/format
Normal file
1
build/adhocify/debian/source/format
Normal file
@ -0,0 +1 @@
|
||||
3.0 (native)
|
34
build/functions.bash
Normal file
34
build/functions.bash
Normal file
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
function newest_git_tag()
|
||||
{
|
||||
git tag --sort="-version:refname" | head -n 1
|
||||
}
|
||||
|
||||
function build_git_repo()
|
||||
{
|
||||
BUILDDIR="$1"
|
||||
REPOURL="$2"
|
||||
NAME="$3"
|
||||
VERSION="$4"
|
||||
TARGET_DIR="$5"
|
||||
cp -R debian "$BUILDDIR"
|
||||
cp ../CHANGELOG_TEMPLATE "$BUILDDIR"/debian/changelog
|
||||
cd "$BUILDDIR"
|
||||
git clone "$REPOURL" "$NAME"
|
||||
cd "$NAME"
|
||||
if [ "$VERSION" = "_auto_" ] ; then
|
||||
VERSION=$(newest_git_tag)
|
||||
fi
|
||||
|
||||
git verify-tag "$VERSION"
|
||||
git checkout "$VERSION"
|
||||
mv ../debian/ .
|
||||
VERSION_CHANGELOG=$( echo $VERSION | sed -e 's/v//g')
|
||||
sed -e "s/NAME_PLACEHOLDER/$NAME/g" -i ./debian/changelog
|
||||
sed -e "s/VERSION_PLACEHOLDER/$VERSION_CHANGELOG/g" -i ./debian/changelog
|
||||
DATE_CHANGELOG=$(date -R)
|
||||
sed -e "s/DATE_PLACEHOLDER/$DATE_CHANGELOG/g" -i ./debian/changelog
|
||||
dpkg-buildpackage --no-sign
|
||||
cp -a ../*.deb "$TARGET_DIR"/
|
||||
}
|
4
repo.conf
Normal file
4
repo.conf
Normal file
@ -0,0 +1,4 @@
|
||||
APT::FTPArchive::Release::Codename "default";
|
||||
APT::FTPArchive::Release::Components "main";
|
||||
APT::FTPArchive::Release::Label "quitesimple.org apt repository";
|
||||
APT::FTPArchive::Release::Architectures "amd64";
|
14
update_repo
Executable file
14
update_repo
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
set -u
|
||||
source ./CONFIG
|
||||
mkdir -p repo/dists
|
||||
mkdir -p repo/pool
|
||||
mkdir -p repo/dists/default/main/binary-amd64/
|
||||
cd repo
|
||||
dpkg-scanpackages -a amd64 pool > ./dists/default/main/binary-amd64/Packages
|
||||
cd dists/default/
|
||||
apt-ftparchive -c ../../../repo.conf release . > Release
|
||||
gpg -a --yes --clearsign --output InRelease --local-user "$SIGNING_KEY_EMAIL" --detach-sign Release
|
||||
cd ../../../
|
||||
rsync -aAXPv --delete repo/ "$TARGET_SERVER":"$TARGET_PATH"
|
||||
ssh "$TARGET_SERVER" chown -R "$TARGET_OWNER" "$TARGET_PATH"
|
불러오는 중...
Reference in New Issue
Block a user