diff --git a/.SRCINFO b/.SRCINFO index 6804354..f0868a2 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = caddy-balki pkgdesc = Fast web server with automatic HTTPS - pkgver = 2.11.2 + pkgver = 2.11.4 pkgrel = 1 url = https://github.com/caddyserver/caddy arch = x86_64 @@ -13,23 +13,24 @@ pkgbase = caddy-balki conflicts = caddy options = !lto backup = etc/caddy/Caddyfile - source = git+https://github.com/caddyserver/caddy.git#tag=v2.11.2 - source = caddy-dist::git+https://github.com/caddyserver/dist.git#tag=v2.11.2 + source = git+https://github.com/caddyserver/caddy.git#tag=v2.11.4 + source = caddy-dist::git+https://github.com/caddyserver/dist.git#tag=v2.11.4 source = caddy.service source = caddy-api.service source = caddy.tmpfiles source = caddy.sysusers source = Caddyfile source = use-data-dir-for-autosave.patch - source = override-main-module-version.patch - sha512sums = 05965d0ac5ac3eb9e9de5b1c3c95ca30ee982cae806fffc099463b5634f2eb5f52f6ae020a28c53da6556fa3a2b599dce0d0da5b00ee49a685c432f9a2e57f6a - sha512sums = fe9a2badd9d385aed0f5e625d99eaf4fa67862e076c4fd7b28a26984aaaae7310887759d3a4a97a128fffb7dc4b266717d902b234e19643b0c2d818849d165e3 + source = caddy-disable-executable-altering-commands.patch::https://src.fedoraproject.org/rpms/caddy/raw/rawhide/f/0001-Disable-commands-that-can-alter-the-binary.patch + validpgpkeys = 29D0817A67156E4F25DC24782A349DD577D586A5 + sha512sums = 43f5f0a48ec97be1a4ab7a1f0beca32c373134066611d2caacb935dd6865f3c367b0092a90021ca8d6c6629baab5b3d7c21898a6772573e30c52621310ba586c + sha512sums = 053b0a8d5311c8e0c6e40786b87e73e2e1205757cff3aa8aff6d22fad8cceb4f9acff7b66e5a29ab1ea624085dd41140c92693b887fd9a890e97a479e1f846fb sha512sums = e6cdf5f81af01d0a6290ef9503d0bd90244684a6305e5638f079c234b2bc6454688daea3ea9d1b6a6f00eeba0375e9c4372e64c5cb49b5d1206384d2a7201273 sha512sums = 6c9d5dce22f1f0f4e222d4adeccd93c486b3be2ac221a7f8a58933b22ce91fe3da8ad38e6db7212846e4ab6336ebc058df16215a43636b965dfed469b3aaa2f6 sha512sums = 55ee8d3f8b14f9adddc7a1026addcea4f85b4bae4cd512fd4da2a5e8adaae4b6fd0f486d2e3847f75518f4710a897b4fca84e48ee15700b968bad762125c4742 - sha512sums = c893d88fec89e37da6596030c8dce7103e7e575371e8542a24d2a0741e877358d85219f2d8ade9d6aa0f515efe1156a4badd9fef5f65f553a5b0c72330c4728f + sha512sums = b24ff0fc8df05ac92ba6860ce1b9975ecce48492b08c1b03545e7b20d2956f130cdee215fc78c751f9ab4869008e2b9bf7f861311fe16c8f5a85a42e347337c6 sha512sums = 4be1ed23e6600d8072c7f4fabd2bd926708502a55d84ae4f62aff9885c7b8e45ad0554503d0fc796338577adfca9e467c468a82ba56ffd69e4ec2778d69bc198 sha512sums = 563d6b45e91fc584fb5a27caaa382f59c140cb0a1b28b8d8faced4f7c7cad86d8671eb6ac10056f41518a842c8f606130d7e0c71df2b731d5eb0b4c868ea5d41 - sha512sums = 0fedec714604566fb0da995cdfb2dd2cb8f3995bfa1d6c2e9a38ddd1da11634c3e37f2da381f715df4fc9ebd9653c3aa4806de47ae5094ea1fc19b7f5b795a30 + sha512sums = 42384fa3314e367c4d7ac3e07af66cf7000f68b6d6354183c5ee1579bd46ea6a29edfa84f9cdf5084d99d74af50ea5b14e3979d38ff806232756991bcac2e8db pkgname = caddy-balki diff --git a/PKGBUILD b/PKGBUILD index 7c70297..f7878c6 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,5 +1,6 @@ # Maintainer: Levente Polyak # Maintainer: Christian Rebischke +# Maintainer: Carl Smedstad # Contributor: Wei Congrui < crvv.mail at gmail dot com > # Contributor: Carl George < arch at cgtx dot us > # Contributor: Eric Engeström @@ -10,11 +11,11 @@ pkgname=caddy-balki _pkgname=caddy provides=(caddy) conflicts=(caddy) -pkgver=2.11.2 +pkgver=2.11.4 pkgrel=1 pkgdesc='Fast web server with automatic HTTPS' -url='https://github.com/caddyserver/caddy' arch=(x86_64) +url='https://github.com/caddyserver/caddy' license=(Apache-2.0) depends=( glibc @@ -24,67 +25,73 @@ makedepends=( git go ) -backup=( - etc/caddy/Caddyfile -) +backup=(etc/caddy/Caddyfile) options=(!lto) -source=("git+https://github.com/caddyserver/caddy.git#tag=v${pkgver}" - caddy-dist::"git+https://github.com/caddyserver/dist.git#tag=v${pkgver}" - caddy.service - caddy-api.service - caddy.tmpfiles - caddy.sysusers - Caddyfile - use-data-dir-for-autosave.patch - override-main-module-version.patch) -sha512sums=('05965d0ac5ac3eb9e9de5b1c3c95ca30ee982cae806fffc099463b5634f2eb5f52f6ae020a28c53da6556fa3a2b599dce0d0da5b00ee49a685c432f9a2e57f6a' - 'fe9a2badd9d385aed0f5e625d99eaf4fa67862e076c4fd7b28a26984aaaae7310887759d3a4a97a128fffb7dc4b266717d902b234e19643b0c2d818849d165e3' +source=( + "git+https://github.com/caddyserver/caddy.git#tag=v${pkgver}" + "caddy-dist::git+https://github.com/caddyserver/dist.git#tag=v${pkgver}" + caddy.service + caddy-api.service + caddy.tmpfiles + caddy.sysusers + Caddyfile + use-data-dir-for-autosave.patch + "$_pkgname-disable-executable-altering-commands.patch::https://src.fedoraproject.org/rpms/caddy/raw/rawhide/f/0001-Disable-commands-that-can-alter-the-binary.patch" +) +sha512sums=('43f5f0a48ec97be1a4ab7a1f0beca32c373134066611d2caacb935dd6865f3c367b0092a90021ca8d6c6629baab5b3d7c21898a6772573e30c52621310ba586c' + '053b0a8d5311c8e0c6e40786b87e73e2e1205757cff3aa8aff6d22fad8cceb4f9acff7b66e5a29ab1ea624085dd41140c92693b887fd9a890e97a479e1f846fb' 'e6cdf5f81af01d0a6290ef9503d0bd90244684a6305e5638f079c234b2bc6454688daea3ea9d1b6a6f00eeba0375e9c4372e64c5cb49b5d1206384d2a7201273' '6c9d5dce22f1f0f4e222d4adeccd93c486b3be2ac221a7f8a58933b22ce91fe3da8ad38e6db7212846e4ab6336ebc058df16215a43636b965dfed469b3aaa2f6' '55ee8d3f8b14f9adddc7a1026addcea4f85b4bae4cd512fd4da2a5e8adaae4b6fd0f486d2e3847f75518f4710a897b4fca84e48ee15700b968bad762125c4742' - 'c893d88fec89e37da6596030c8dce7103e7e575371e8542a24d2a0741e877358d85219f2d8ade9d6aa0f515efe1156a4badd9fef5f65f553a5b0c72330c4728f' + 'b24ff0fc8df05ac92ba6860ce1b9975ecce48492b08c1b03545e7b20d2956f130cdee215fc78c751f9ab4869008e2b9bf7f861311fe16c8f5a85a42e347337c6' '4be1ed23e6600d8072c7f4fabd2bd926708502a55d84ae4f62aff9885c7b8e45ad0554503d0fc796338577adfca9e467c468a82ba56ffd69e4ec2778d69bc198' '563d6b45e91fc584fb5a27caaa382f59c140cb0a1b28b8d8faced4f7c7cad86d8671eb6ac10056f41518a842c8f606130d7e0c71df2b731d5eb0b4c868ea5d41' - '0fedec714604566fb0da995cdfb2dd2cb8f3995bfa1d6c2e9a38ddd1da11634c3e37f2da381f715df4fc9ebd9653c3aa4806de47ae5094ea1fc19b7f5b795a30') -# validpgpkeys=( -# 29D0817A67156E4F25DC24782A349DD577D586A5 # Matthew Holt -# ) + '42384fa3314e367c4d7ac3e07af66cf7000f68b6d6354183c5ee1579bd46ea6a29edfa84f9cdf5084d99d74af50ea5b14e3979d38ff806232756991bcac2e8db') +validpgpkeys=( + 29D0817A67156E4F25DC24782A349DD577D586A5 # Matthew Holt +) prepare() { - cd "${_pkgname}" + # welcome page + sed 's|/var/www/html|/srv/http|g' -i caddy-dist/welcome/index.html + + cd ${_pkgname} sed -i '/plug in Caddy modules here/a _ "github.com/caddy-dns/cloudflare"' cmd/caddy/main.go sed -i '/plug in Caddy modules here/a _ "github.com/dulli/caddy-wol"' cmd/caddy/main.go go mod tidy - - # welcome page - cp ../caddy-dist/welcome/index.html . - sed 's|/var/www/html|/srv/http|g' -i index.html # do not write in /etc - patch -Np1 < "${srcdir}/use-data-dir-for-autosave.patch" - # fix version identifier if not built from a module - patch -Np1 < "${srcdir}/override-main-module-version.patch" - sed 's|"unknown"|"v'"${pkgver}"'"|g' -i caddy.go + patch -Np1 < ../use-data-dir-for-autosave.patch + # disable commands that bypass the package manager + patch -Np1 < ../$_pkgname-disable-executable-altering-commands.patch + + GOFLAGS="-mod=readonly" go mod vendor -v } build() { - cd "${_pkgname}/cmd/caddy/" - export CGO_LDFLAGS="${LDFLAGS}" - export CGO_CPPFLAGS="${CPPFLAGS}" - export CGO_CFLAGS="${CFLAGS}" - export CGO_CXXFLAGS="${CXXFLAGS}" - export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" - go build . + cd ${_pkgname} + export CGO_LDFLAGS=${LDFLAGS} + export CGO_CPPFLAGS=${CPPFLAGS} + export CGO_CFLAGS=${CFLAGS} + export CGO_CXXFLAGS=${CXXFLAGS} + export GOFLAGS="-buildmode=pie -mod=vendor -modcacherw -buildvcs=false" + export GOPATH="$srcdir" + + local ld_flags=" \ + -X github.com/caddyserver/caddy/v2.CustomVersion=v${pkgver} \ + -compressdwarf=false \ + -linkmode=external \ + " + go build -v -ldflags "$ld_flags" -o build/caddy ./cmd/caddy for i in zsh bash fish; do - ./caddy completion $i >caddy.$i + ./build/caddy completion $i > caddy.$i done } check() { - # Disabled for now, because of failing tests - cd "${_pkgname}" - go test ./... - version=$(./cmd/caddy/caddy version) + cd ${_pkgname} + go test -short ./... + version=$(./build/caddy version) echo "Caddy version: ${version}" if [[ $version != v$pkgver ]]; then exit 1 @@ -92,21 +99,20 @@ check() { } package() { - cd "${_pkgname}" - install -Dm 755 cmd/caddy/caddy -t "${pkgdir}/usr/bin" + install -vDm 644 -t "${pkgdir}/usr/share/caddy" caddy-dist/welcome/index.html - install -Dm 644 "${srcdir}/caddy.service" "${srcdir}/caddy-api.service" -t "${pkgdir}/usr/lib/systemd/system" - install -Dm 644 "${srcdir}/caddy.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/caddy.conf" - install -Dm 644 "${srcdir}/caddy.sysusers" "${pkgdir}/usr/lib/sysusers.d/caddy.conf" + install -vDm 644 -t "${pkgdir}/usr/lib/systemd/system" caddy.service caddy-api.service + install -vDm 644 caddy.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/caddy.conf" + install -vDm 644 caddy.sysusers "${pkgdir}/usr/lib/sysusers.d/caddy.conf" - install -Dm 644 "${srcdir}/Caddyfile" -t "${pkgdir}/etc/caddy" - install -d "${pkgdir}/etc/caddy/conf.d" + install -vDm 644 -t "${pkgdir}/etc/caddy" Caddyfile + install -vd "${pkgdir}/etc/caddy/conf.d" - install -Dm 644 index.html "${pkgdir}/usr/share/caddy/index.html" + install -vDm 644 caddy/caddy.zsh "${pkgdir}/usr/share/zsh/site-functions/_caddy" + install -vDm 644 caddy/caddy.bash "${pkgdir}/usr/share/bash-completion/completions/caddy" + install -vDm 644 caddy/caddy.fish "${pkgdir}/usr/share/fish/vendor_completions.d/caddy.fish" - install -Dm 644 "${srcdir}/caddy/cmd/caddy/caddy.zsh" "${pkgdir}/usr/share/zsh/site-functions/_caddy" - install -Dm 644 "${srcdir}/caddy/cmd/caddy/caddy.bash" "${pkgdir}/usr/share/bash-completion/completions/caddy" - install -Dm 644 "${srcdir}/caddy/cmd/caddy/caddy.fish" -t "${pkgdir}/usr/share/fish/vendor_completions.d" + install -vDm 755 -t "${pkgdir}/usr/bin" ${_pkgname}/build/caddy } # vim: ts=2 sw=2 et: diff --git a/REUSE.toml b/REUSE.toml index 9d6574b..691a945 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -18,7 +18,6 @@ path = [ "*.desktop", "*.hook", "Caddyfile", - "override-main-module-version.patch", "use-data-dir-for-autosave.patch", ] SPDX-FileCopyrightText = "Arch Linux contributors" diff --git a/caddy.sysusers b/caddy.sysusers index 6fb5633..fcbf251 100644 --- a/caddy.sysusers +++ b/caddy.sysusers @@ -1 +1 @@ -u caddy - "caddy daemon" /var/lib/caddy +u! caddy - "Caddy web server" /var/lib/caddy diff --git a/override-main-module-version.patch b/override-main-module-version.patch deleted file mode 100644 index e364293..0000000 --- a/override-main-module-version.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- a/caddy.go~ 2022-10-02 18:58:35.059343203 +0200 -+++ b/caddy.go 2022-10-02 18:58:21.125992368 +0200 -@@ -875,39 +875,7 @@ - } - - if full == "" { -- var vcsRevision string -- var vcsTime time.Time -- var vcsModified bool -- for _, setting := range bi.Settings { -- switch setting.Key { -- case "vcs.revision": -- vcsRevision = setting.Value -- case "vcs.time": -- vcsTime, _ = time.Parse(time.RFC3339, setting.Value) -- case "vcs.modified": -- vcsModified, _ = strconv.ParseBool(setting.Value) -- } -- } -- -- if vcsRevision != "" { -- var modified string -- if vcsModified { -- modified = "+modified" -- } -- full = fmt.Sprintf("%s%s (%s)", vcsRevision, modified, vcsTime.Format(time.RFC822)) -- simple = vcsRevision -- -- // use short checksum for simple, if hex-only -- if _, err := hex.DecodeString(simple); err == nil { -- simple = simple[:8] -- } -- -- // append date to simple since it can be convenient -- // to know the commit date as part of the version -- if !vcsTime.IsZero() { -- simple += "-" + vcsTime.Format("20060102") -- } -- } -+ full = "unknown" - } - - if simple == "" || simple == "(devel)" {