aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSlack Coder <slackcoder@server.ky>2025-05-08 14:10:17 -0500
committerSlack Coder <slackcoder@server.ky>2025-05-19 16:43:12 -0500
commit8e3b05f4600bf7007c83ad904592c03109fa79ab (patch)
treee8c3b6f4baf879ca2bf029f2b02c7423fcb408b5
parent7071186e1efe2b96cfb4555aa38570bfd5ba1049 (diff)
downloadmirror-8e3b05f4600bf7007c83ad904592c03109fa79ab.tar.xz
Add Debian source package to contrib
-rw-r--r--contrib/debian/debian/changelog5
-rw-r--r--contrib/debian/debian/control25
-rw-r--r--contrib/debian/debian/copyright0
-rw-r--r--contrib/debian/debian/mirror.dirs2
-rw-r--r--contrib/debian/debian/mirror.install2
-rw-r--r--contrib/debian/debian/mirror.service (renamed from contrib/systemd/mirror.service)4
-rw-r--r--contrib/debian/debian/mirror.sysuser1
-rwxr-xr-xcontrib/debian/debian/rules9
-rw-r--r--contrib/debian/debian/source/format1
-rwxr-xr-xcontrib/debian/make-package.sh44
-rw-r--r--contrib/slackbuild/mirror.SlackBuild3
-rw-r--r--contrib/systemd/mirror.sysusers1
-rw-r--r--internal/service/git.go4
13 files changed, 95 insertions, 6 deletions
diff --git a/contrib/debian/debian/changelog b/contrib/debian/debian/changelog
new file mode 100644
index 0000000..4822adc
--- /dev/null
+++ b/contrib/debian/debian/changelog
@@ -0,0 +1,5 @@
+mirror (#VERSION#) UNRELEASED; urgency=medium
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Slack Coder <slackcoder@server.ky> Fri, 09 May 2025 19:56:32 +0000
diff --git a/contrib/debian/debian/control b/contrib/debian/debian/control
new file mode 100644
index 0000000..d567095
--- /dev/null
+++ b/contrib/debian/debian/control
@@ -0,0 +1,25 @@
+Source: mirror
+Section: golang
+Priority: optional
+Maintainer: Slack Coder <slackcoder@server.ky>
+Rules-Requires-Root: no
+Build-Depends:
+ debhelper-compat (= 13),
+ dh-exec,
+ dh-sequence-golang,
+ dh-sysuser,
+ golang-any,
+Standards-Version: 0.0.3
+Homepage: https://git.server.ky/slackcoder/mirror
+Vcs-Browser: https://git.server.ky/slackcoder/mirror
+
+Package: mirror
+Section: golang
+Architecture: amd64
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+ git,
+ gnupg,
+ rsync,
+Description: Mirror project assets and source code.
diff --git a/contrib/debian/debian/copyright b/contrib/debian/debian/copyright
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/debian/debian/copyright
diff --git a/contrib/debian/debian/mirror.dirs b/contrib/debian/debian/mirror.dirs
new file mode 100644
index 0000000..49ada42
--- /dev/null
+++ b/contrib/debian/debian/mirror.dirs
@@ -0,0 +1,2 @@
+etc/mirror
+etc/mirror/conf.d
diff --git a/contrib/debian/debian/mirror.install b/contrib/debian/debian/mirror.install
new file mode 100644
index 0000000..7793afb
--- /dev/null
+++ b/contrib/debian/debian/mirror.install
@@ -0,0 +1,2 @@
+#_build/bin/mirror usr/sbin
+contrib/slackbuild/mirror.toml etc/mirror
diff --git a/contrib/systemd/mirror.service b/contrib/debian/debian/mirror.service
index 5ccfbd0..bec90cf 100644
--- a/contrib/systemd/mirror.service
+++ b/contrib/debian/debian/mirror.service
@@ -6,7 +6,9 @@ Wants=network-online.target
[Service]
Type=simple
-ExecStart=/usr/local/bin/mirror
+User=mirror
+Group=mirror
+ExecStart=/usr/bin/mirror
ExecStop=/bin/kill -TERM $MAINPID
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
diff --git a/contrib/debian/debian/mirror.sysuser b/contrib/debian/debian/mirror.sysuser
new file mode 100644
index 0000000..8f2e606
--- /dev/null
+++ b/contrib/debian/debian/mirror.sysuser
@@ -0,0 +1 @@
+mirror
diff --git a/contrib/debian/debian/rules b/contrib/debian/debian/rules
new file mode 100755
index 0000000..b94b4c1
--- /dev/null
+++ b/contrib/debian/debian/rules
@@ -0,0 +1,9 @@
+#!/usr/bin/make -f
+
+export DH_GOPKG := git.server.ky/slackcoder/mirror
+
+%:
+ dh $@ --with sysuser --builddir=_build --buildsystem=golang
+
+# Don't run strip
+override_dh_strip:
diff --git a/contrib/debian/debian/source/format b/contrib/debian/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/contrib/debian/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/contrib/debian/make-package.sh b/contrib/debian/make-package.sh
new file mode 100755
index 0000000..31f7146
--- /dev/null
+++ b/contrib/debian/make-package.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+#
+# Created using the tutorial
+# https://john-tucker.medium.com/debian-packaging-by-example-118c18f5dbfe And
+# this confusing one -> https://wiki.debian.org/Packaging/Intro
+#
+# Define expected version when running.
+#
+# VERSION=0.0.4 ./make-package.sh
+#
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=mirror
+PROJECT_PATH="$(realpath ./../..)"
+VERSION="${VERSION:-#VERSION#}"
+
+TMP="${TMP:-/tmp/debian}"
+PKG="$TMP/package-$PRGNAM"
+OUTPUT="${OUTPUT:-/tmp}"
+
+set -e
+
+#
+# Prepare what the debian build tools run on from these files.
+#
+rm -fr "$PKG"
+mkdir -p "$TMP" "$PKG" "$OUTPUT"
+cd "$TMP"
+rm -fr "$PRGNAM-$VERSION"
+cp -R "$PROJECT_PATH" "$PRGNAM-$VERSION"
+cd "$PRGNAM-$VERSION"
+cp -r . "$PKG"
+#cp contrib/debian/Makefile "$PKG"
+tar -C .. -f "$PKG/${PRGNAM}_${VERSION}.orig.tar.gz" -c "${PRGNAM}-${VERSION}"
+cp -r contrib/debian/debian "$PKG"
+sed -i "s/#VERSION#/${VERSION}/g" "$PKG/debian/changelog"
+
+#
+# Make the deliverable using Debian's tools.
+#
+cd "$PKG"
+debuild -b -uc -us
+mv ../mirror_*.deb "$OUTPUT"
diff --git a/contrib/slackbuild/mirror.SlackBuild b/contrib/slackbuild/mirror.SlackBuild
index fb1b92e..9824238 100644
--- a/contrib/slackbuild/mirror.SlackBuild
+++ b/contrib/slackbuild/mirror.SlackBuild
@@ -2,9 +2,8 @@
cd $(dirname $0) ; CWD=$(pwd)
-GIT_COMMIT=$(git rev-parse --short HEAD)
PRGNAM=mirror
-VERSION=${VERSION:-$GIT_COMMIT}
+VERSION=${VERSION:-#VERSION#}
BUILD=${BUILD:-1}
TAG=${TAG:-_slackcoder}
PKGTYPE=${PKGTYPE:-txz}
diff --git a/contrib/systemd/mirror.sysusers b/contrib/systemd/mirror.sysusers
deleted file mode 100644
index 830c5c8..0000000
--- a/contrib/systemd/mirror.sysusers
+++ /dev/null
@@ -1 +0,0 @@
-u mirror - "mirror service" - -
diff --git a/internal/service/git.go b/internal/service/git.go
index 830f602..cee8866 100644
--- a/internal/service/git.go
+++ b/internal/service/git.go
@@ -111,12 +111,12 @@ func MirrorGit(dst *internal.URL, src *internal.URL, description string) error {
}
// Git mirrors are not good places for mirrored assets.
- cmd = exec.Command("git", "config", "set", "cgit.snapshots", "none")
+ cmd = exec.Command("git", "config", "--file", "config", "--add", "cgit.snapshots", "none")
cmd.Dir = dst.Path
err = cmd.Run()
if err != nil {
err = mapExecError(err)
- return fmt.Errorf("disabling cgit snapshots: %s", err)
+ return fmt.Errorf("setting git configuration cgit.snapshot to 'none': %s", err)
}
}