Skip to content
Snippets Groups Projects
Commit 73d73dc6 authored by Frédéric Guillot's avatar Frédéric Guillot Committed by Frédéric Guillot
Browse files

Move Debian package builder to main repo

parent 578cd8b2
No related branches found
No related tags found
No related merge requests found
miniflux-* miniflux-*
miniflux miniflux
*.rpm *.rpm
\ No newline at end of file *.deb
...@@ -6,6 +6,7 @@ BUILD_DATE := `date +%FT%T%z` ...@@ -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)'" 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/) PKG_LIST := $(shell go list ./... | grep -v /vendor/)
DB_URL := postgres://postgres:postgres@localhost/miniflux_test?sslmode=disable DB_URL := postgres://postgres:postgres@localhost/miniflux_test?sslmode=disable
DEB_IMG_ARCH := amd64
export PGPASSWORD := postgres export PGPASSWORD := postgres
...@@ -35,7 +36,9 @@ export PGPASSWORD := postgres ...@@ -35,7 +36,9 @@ export PGPASSWORD := postgres
clean-integration-test \ clean-integration-test \
docker-image \ docker-image \
docker-images \ docker-images \
rpm rpm \
debian \
debian-packages
generate: generate:
@ go generate @ go generate
...@@ -95,7 +98,7 @@ run: generate ...@@ -95,7 +98,7 @@ run: generate
@ LOG_DATE_TIME=1 go run main.go -debug @ LOG_DATE_TIME=1 go run main.go -debug
clean: clean:
@ rm -f $(APP)-* $(APP) $(APP)*.rpm @ rm -f $(APP)-* $(APP) $(APP)*.rpm $(APP)*.deb
test: test:
go test -cover -race -count=1 ./... go test -cover -race -count=1 ./...
...@@ -135,5 +138,19 @@ rpm: clean ...@@ -135,5 +138,19 @@ rpm: clean
-f packaging/rpm/Dockerfile \ -f packaging/rpm/Dockerfile \
. .
@ docker run --rm \ @ 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 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
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"]
#!/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/
9
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
Files: *
Copyright: 2017-2020 Frédéric Guillot
License: Apache
\ No newline at end of file
miniflux.1
\ No newline at end of file
#!/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
#!/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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment