Move Debian package builder to main repo

pull/842/head
Frédéric Guillot 4 years ago committed by Frédéric Guillot
parent 578cd8b24b
commit 73d73dc61e
  1. 3
      .gitignore
  2. 23
      Makefile
  3. 13
      packaging/debian/Dockerfile
  4. 30
      packaging/debian/build.sh
  5. 1
      packaging/debian/compat
  6. 12
      packaging/debian/control
  7. 3
      packaging/debian/copyright
  8. 1
      packaging/debian/miniflux.manpages
  9. 14
      packaging/debian/miniflux.postinst
  10. 18
      packaging/debian/rules

3
.gitignore vendored

@ -1,3 +1,4 @@
miniflux-*
miniflux
*.rpm
*.rpm
*.deb

@ -6,6 +6,7 @@ BUILD_DATE := `date +%FT%T%z`
LD_FLAGS := "-s -w -X 'miniflux.app/version.Version=$(VERSION)' -X 'miniflux.app/version.Commit=$(COMMIT)' -X 'miniflux.app/version.BuildDate=$(BUILD_DATE)'"
PKG_LIST := $(shell go list ./... | grep -v /vendor/)
DB_URL := postgres://postgres:postgres@localhost/miniflux_test?sslmode=disable
DEB_IMG_ARCH := amd64
export PGPASSWORD := postgres
@ -35,7 +36,9 @@ export PGPASSWORD := postgres
clean-integration-test \
docker-image \
docker-images \
rpm
rpm \
debian \
debian-packages
generate:
@ go generate
@ -95,7 +98,7 @@ run: generate
@ LOG_DATE_TIME=1 go run main.go -debug
clean:
@ rm -f $(APP)-* $(APP) $(APP)*.rpm
@ rm -f $(APP)-* $(APP) $(APP)*.rpm $(APP)*.deb
test:
go test -cover -race -count=1 ./...
@ -135,5 +138,19 @@ rpm: clean
-f packaging/rpm/Dockerfile \
.
@ docker run --rm \
-v ${PWD}:/root/rpmbuild/RPMS/x86_64/ miniflux-rpm-builder \
-v ${PWD}:/root/rpmbuild/RPMS/x86_64 miniflux-rpm-builder \
rpmbuild -bb --define "_miniflux_version $(VERSION)" /root/rpmbuild/SPECS/miniflux.spec
debian:
@ docker build \
--build-arg BASE_IMAGE_ARCH=$(DEB_IMG_ARCH) \
-t $(DEB_IMG_ARCH)/miniflux-deb-builder \
-f packaging/debian/Dockerfile \
.
@ docker run --rm \
-v ${PWD}:/pkg $(DEB_IMG_ARCH)/miniflux-deb-builder
debian-packages: clean
$(MAKE) debian DEB_IMG_ARCH=amd64
$(MAKE) debian DEB_IMG_ARCH=arm64v8
$(MAKE) debian DEB_IMG_ARCH=arm32v7

@ -0,0 +1,13 @@
ARG BASE_IMAGE_ARCH="amd64"
FROM ${BASE_IMAGE_ARCH}/golang:buster AS build
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -q && \
apt-get install -y -qq build-essential devscripts dh-make dh-systemd && \
mkdir -p /build/debian
ADD . /src
CMD ["/src/packaging/debian/build.sh"]

@ -0,0 +1,30 @@
#!/bin/sh
PKG_ARCH=`dpkg --print-architecture`
PKG_DATE=`date -R`
PKG_VERSION=`cd /src && git describe --abbrev=0`
echo "PKG_VERSION=$PKG_VERSION"
echo "PKG_ARCH=$PKG_ARCH"
echo "PKG_DATE=$PKG_DATE"
cd /src && \
make miniflux && \
mkdir -p /build/debian && \
cd /build && \
cp /src/miniflux /build/ && \
cp /src/miniflux.1 /build/ && \
cp /src/LICENSE /build/ && \
cp /src/packaging/miniflux.conf /build/ && \
cp /src/packaging/systemd/miniflux.service /build/debian/ && \
cp /src/packaging/debian/compat /build/debian/compat && \
cp /src/packaging/debian/copyright /build/debian/copyright && \
cp /src/packaging/debian/miniflux.manpages /build/debian/miniflux.manpages && \
cp /src/packaging/debian/rules /build/debian/rules && \
echo "miniflux ($PKG_VERSION) experimental; urgency=low" > /build/debian/changelog && \
echo " * Miniflux version $PKG_VERSION" >> /build/debian/changelog && \
echo " -- Frédéric Guillot <f@miniflux.net> $PKG_DATE" >> /build/debian/changelog && \
sed "s/__PKG_ARCH__/${PKG_ARCH}/g" /src/packaging/debian/control > /build/debian/control && \
dpkg-buildpackage -us -uc -b && \
lintian --check --color always ../*.deb && \
cp ../*.deb /pkg/

@ -0,0 +1,12 @@
Source: miniflux
Maintainer: Frédéric Guillot <f@miniflux.net>
Build-Depends: debhelper (>= 9), dh-systemd
Package: miniflux
Architecture: __PKG_ARCH__
Section: web
Priority: optional
Description: Minimalist Feed Reader
Miniflux is a minimalist and opinionated feed reader
Homepage: https://miniflux.app
Depends: ${misc:Depends}, ${shlibs:Depends}, adduser

@ -0,0 +1,3 @@
Files: *
Copyright: 2017-2020 Frédéric Guillot
License: Apache

@ -0,0 +1 @@
miniflux.1

@ -0,0 +1,14 @@
#!/bin/sh
set -e
case "$1" in
configure)
adduser --system --disabled-password --disabled-login --home /var/empty \
--no-create-home --quiet --force-badname --group miniflux
;;
esac
#DEBHELPER#
exit 0

@ -0,0 +1,18 @@
#!/usr/bin/make -f
DESTDIR=debian/miniflux
%:
dh $@ --with=systemd
override_dh_auto_clean:
override_dh_auto_test:
override_dh_auto_build:
override_dh_auto_install:
mkdir -p $(DESTDIR)/etc
mkdir -p $(DESTDIR)/usr/bin
cp miniflux.conf $(DESTDIR)/etc/miniflux.conf
cp miniflux $(DESTDIR)/usr/bin/miniflux
override_dh_installinit:
dh_installinit --noscripts
Loading…
Cancel
Save