diff options
-rw-r--r-- | .SRCINFO | 28 | ||||
-rw-r--r-- | .gitignore | 12 | ||||
-rw-r--r-- | Caddyfile | 4 | ||||
-rw-r--r-- | PKGBUILD | 61 | ||||
-rw-r--r-- | caddy.install | 18 | ||||
-rw-r--r-- | caddy.service | 23 | ||||
-rw-r--r-- | caddy.tmpfiles | 1 | ||||
-rw-r--r-- | enable-dnsproviders.patch | 25 | ||||
-rw-r--r-- | index.html | 23 |
9 files changed, 155 insertions, 40 deletions
@@ -1,7 +1,9 @@ +# Generated by mksrcinfo v8 +# Thu May 18 16:54:06 UTC 2017 pkgbase = caddy - pkgdesc = A configurable, general-purpose HTTP/2 web server for any platform + pkgdesc = HTTP/2 web server with automatic HTTPS pkgver = 0.10.2 - pkgrel = 1 + pkgrel = 2 url = https://caddyserver.com install = caddy.install arch = i686 @@ -11,13 +13,21 @@ pkgbase = caddy license = Apache makedepends = go>=1.8.1 makedepends = git - conflicts = caddy-all-features - conflicts = caddy-git - conflicts = caddy-full-bin - source = git+https://github.com/mholt/caddy#tag=v0.10.2 - source = systemd-unit-file.patch - md5sums = SKIP - md5sums = 07575b06cc76cf5e0287d6c28f05eb05 + backup = etc/caddy/Caddyfile + source = https://github.com/mholt/caddy/archive/v0.10.2/caddy-0.10.2.tar.gz + source = https://caddyserver.com/resources/images/brand/caddy-at-your-service-white.svg + source = index.html + source = caddy.service + source = caddy.tmpfiles + source = Caddyfile + source = enable-dnsproviders.patch + sha256sums = f7040977df1570274a98f1d58581f8efe63b346822312719913f7c8dbcf59184 + sha256sums = e679dd79fd92dc351fc190c7af529c73e3896986aaa6b7c0ae01e561398d6b85 + sha256sums = 6db7aec45e95bbbf770ce4d120a60d8e4992d2262a8ebf668521179279aa5ae7 + sha256sums = c1d4d1f295177f0963583b7ad29e04afdf9f39f9e916be6135868a327fb37ef4 + sha256sums = bd4d912d083be176727882ccc1bbe577a27cc160db09238e5edc05ba458aebce + sha256sums = 4e30255be85d3b4f138860f61264aea3960d8873955d3a96eb8e39f1baf9aa65 + sha256sums = 158c9a0f4327384c244846badc5295eab2a4cf16c354a3669fc0cce1c34e4a91 pkgname = caddy diff --git a/.gitignore b/.gitignore index 9b8b451e90e1..5e10a13ad4e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,12 @@ -*.pkg.* +# sources *.tar.gz +*.svg + +# build logs +*-build.log +*-namcap.log +*-package*.log +*-prepare.log + +# packages +*.pkg.tar.xz diff --git a/Caddyfile b/Caddyfile new file mode 100644 index 000000000000..10de8e20e6c0 --- /dev/null +++ b/Caddyfile @@ -0,0 +1,4 @@ +*:80 { + gzip + root /usr/share/caddy +} @@ -1,40 +1,53 @@ +_provider=github +_tld=com +_project=mholt +_repo=caddy +_import="$_provider.$_tld/$_project/$_repo" + pkgname=caddy pkgver=0.10.2 -pkgrel=1 -pkgdesc='A configurable, general-purpose HTTP/2 web server for any platform' +pkgrel=2 +pkgdesc='HTTP/2 web server with automatic HTTPS' arch=('i686' 'x86_64' 'armv7h' 'aarch64') url='https://caddyserver.com' license=('Apache') +backup=('etc/caddy/Caddyfile') install='caddy.install' makedepends=('go>=1.8.1' 'git') -conflicts=('caddy-all-features' 'caddy-git' 'caddy-full-bin') - -gopkgname='github.com/mholt/caddy' -source=("git+https://github.com/mholt/caddy#tag=v$pkgver" - "systemd-unit-file.patch") -md5sums=('SKIP' - '07575b06cc76cf5e0287d6c28f05eb05') +source=("https://$_import/archive/v$pkgver/$_repo-$pkgver.tar.gz" + 'https://caddyserver.com/resources/images/brand/caddy-at-your-service-white.svg' + 'index.html' + 'caddy.service' + 'caddy.tmpfiles' + 'Caddyfile' + 'enable-dnsproviders.patch') +sha256sums=('f7040977df1570274a98f1d58581f8efe63b346822312719913f7c8dbcf59184' + 'e679dd79fd92dc351fc190c7af529c73e3896986aaa6b7c0ae01e561398d6b85' + '6db7aec45e95bbbf770ce4d120a60d8e4992d2262a8ebf668521179279aa5ae7' + 'c1d4d1f295177f0963583b7ad29e04afdf9f39f9e916be6135868a327fb37ef4' + 'bd4d912d083be176727882ccc1bbe577a27cc160db09238e5edc05ba458aebce' + '4e30255be85d3b4f138860f61264aea3960d8873955d3a96eb8e39f1baf9aa65' + '158c9a0f4327384c244846badc5295eab2a4cf16c354a3669fc0cce1c34e4a91') prepare() { - cd $srcdir - patch -Np1 < systemd-unit-file.patch - export GOPATH="$srcdir/build" - rm -rf "$GOPATH/src/$gopkgname" - mkdir -p "$GOPATH/src/$gopkgname" - mv -Tv "$srcdir/caddy" "$GOPATH/src/$gopkgname" - echo 'download dependencies' - go get -d $gopkgname/... + cd $_repo-$pkgver + patch -p1 < ../enable-dnsproviders.patch + mkdir -p src/$_provider.$_tld/$_project + ln -s ../../.. src/$_import } build() { - export GOPATH="$srcdir/build" - cd $srcdir/build/src/$gopkgname/caddy - echo 'compile' - bash build.bash + cd $_repo-$pkgver + export GOPATH=$(pwd) + go get -v -d ./src/$_import/... + go build -v -o ../caddy -ldflags "-X $_import/caddy/caddymain.gitTag=v$pkgver" $_import/caddy } package() { - builddir="$srcdir/build/src/github.com/mholt/caddy" - install -Dm755 "$builddir/caddy/caddy" "${pkgdir}/usr/bin/caddy" - install -Dm644 "$builddir/dist/init/linux-systemd/caddy.service" "${pkgdir}/usr/lib/systemd/system/caddy.service" + install --verbose -D --mode 0755 caddy "$pkgdir/usr/bin/caddy" + install --verbose -D --mode 0644 caddy.service "$pkgdir/usr/lib/systemd/system/caddy.service" + install --verbose -D --mode 0644 caddy.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/caddy.conf" + install --verbose -D --mode 0644 Caddyfile "$pkgdir/etc/caddy/Caddyfile" + install --verbose -D --mode 0644 index.html "$pkgdir/usr/share/caddy/index.html" + install --verbose -D --mode 0644 caddy-at-your-service-white.svg "$pkgdir/usr/share/caddy/caddy-at-your-service-white.svg" } diff --git a/caddy.install b/caddy.install index 94fd46d64239..d6fc74974b93 100644 --- a/caddy.install +++ b/caddy.install @@ -1,11 +1,17 @@ post_install() { - getent passwd www-data || useradd --system -s /usr/bin/nologin -d / -U www-data - - mkdir -p /etc/ssl/caddy - chmod 770 /etc/ssl/caddy - chown www-data:www-data /etc/ssl/caddy + systemctl --quiet daemon-reload + systemctl --quiet preset caddy.service } post_upgrade() { - post_install + systemctl --quiet daemon-reload + systemctl --quiet try-restart caddy.service +} + +pre_remove() { + systemctl --quiet --no-reload disable --now caddy.service +} + +post_remove() { + systemctl --quiet daemon-reload } diff --git a/caddy.service b/caddy.service new file mode 100644 index 000000000000..cb67b1e9880e --- /dev/null +++ b/caddy.service @@ -0,0 +1,23 @@ +[Unit] +Description=Caddy HTTP/2 web server +Documentation=https://caddyserver.com/docs +After=network.target + +[Service] +User=http +Group=http +Environment=CADDYPATH=/var/lib/caddy +EnvironmentFile=-/etc/caddy/Envfile +ExecStart=/usr/bin/caddy -log stdout -agree -conf /etc/caddy/Caddyfile -root /tmp +ExecReload=/usr/bin/kill -USR1 $MAINPID +LimitNOFILE=1048576 +LimitNPROC=64 +PrivateTmp=true +PrivateDevices=true +ProtectHome=true +ProtectSystem=strict +ReadWriteDirectories=/var/lib/caddy +AmbientCapabilities=CAP_NET_BIND_SERVICE + +[Install] +WantedBy=multi-user.target diff --git a/caddy.tmpfiles b/caddy.tmpfiles new file mode 100644 index 000000000000..4c84d6d86d6e --- /dev/null +++ b/caddy.tmpfiles @@ -0,0 +1 @@ +d /var/lib/caddy 0750 http http diff --git a/enable-dnsproviders.patch b/enable-dnsproviders.patch new file mode 100644 index 000000000000..8b97eb92ed96 --- /dev/null +++ b/enable-dnsproviders.patch @@ -0,0 +1,25 @@ +diff -Naurp a/caddy/caddymain/run.go b/caddy/caddymain/run.go +--- a/caddy/caddymain/run.go 2017-05-02 13:02:28.000000000 -0500 ++++ b/caddy/caddymain/run.go 2017-05-15 20:56:53.736272531 -0500 +@@ -21,6 +21,21 @@ import ( + + "github.com/mholt/caddy/caddytls" + // This is where other plugins get plugged in (imported) ++ _ "github.com/caddyserver/dnsproviders/cloudflare" ++ _ "github.com/caddyserver/dnsproviders/digitalocean" ++ _ "github.com/caddyserver/dnsproviders/dnsimple" ++ _ "github.com/caddyserver/dnsproviders/dnspod" ++ _ "github.com/caddyserver/dnsproviders/dyn" ++ _ "github.com/caddyserver/dnsproviders/exoscale" ++ _ "github.com/caddyserver/dnsproviders/gandi" ++ _ "github.com/caddyserver/dnsproviders/googlecloud" ++ _ "github.com/caddyserver/dnsproviders/linode" ++ _ "github.com/caddyserver/dnsproviders/namecheap" ++ _ "github.com/caddyserver/dnsproviders/ovh" ++ _ "github.com/caddyserver/dnsproviders/rackspace" ++ _ "github.com/caddyserver/dnsproviders/rfc2136" ++ _ "github.com/caddyserver/dnsproviders/route53" ++ _ "github.com/caddyserver/dnsproviders/vultr" + ) + + func init() { diff --git a/index.html b/index.html new file mode 100644 index 000000000000..e11cda6cf81f --- /dev/null +++ b/index.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <title>Caddy at your service</title> + <style> + body { + background: #333; + } + a { + position: absolute; + top: 50%; + left: 50%; + margin-right: -50%; + transform: translate(-50%, -50%); + } + </style> + </head> + <body> + <a href="https://caddyserver.com/docs"> + <img src="caddy-at-your-service-white.svg" width="500"> + </a> + </body> +</html> |