diff --git a/.gitignore b/.gitignore index ccd3fc2..94614b7 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,7 @@ .vagrant bin lib +debian/.debhelper/ +debian/debhelper-build-stamp +debian/mfm +debian/mfm.substvars diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..66dd04f --- /dev/null +++ b/build.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +# References: +# - https://www.debian.org/doc/manuals/maint-guide/build.en.html for base principles +# - https://www.patreon.com/posts/building-debian-23177439 for debuild output dir +# +set -ue + +mkdir -p _build || true + +docker build -t debbuilder --file docker/Dockerfile . +docker run -it -v "$(pwd):/app" -v "$(pwd)/_build:/_build" debbuilder \ + sh -c "ARTIFACTS_DIR=/app/_build debuild --preserve-envvar=ARTIFACTS_DIR -us -uc --buildinfo-option=-u/app/_build --changes-option=-u/app/_build" \ + || docker run -it -v "$(pwd):/app" debbuilder + +# dpkg-buildpackage -us -uc +# debuild +# git-buildpackage +echo SUCCESS diff --git a/debian/control b/debian/control index d2f499a..9e38787 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: mfm Section: utils Priority: optional Maintainer: Glenn Y. Rolland -Build-Depends: debhelper-compat (= 13), crystal, shards, make +Build-Depends: debhelper-compat (= 13), crystal, shards, make, libyaml-dev Standards-Version: 4.6.0 Homepage: https://code.apps.glenux.net/glenux/mfm Vcs-Git: https://code.apps.glenux.net/glenux/mfm.git diff --git a/debian/files b/debian/files new file mode 100644 index 0000000..7cef515 --- /dev/null +++ b/debian/files @@ -0,0 +1,2 @@ +mfm-dbgsym_0.2.0_amd64.deb debug optional automatic=yes +mfm_0.2.0_amd64.deb utils optional diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..b3bbda2 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,22 @@ +FROM debian:trixie + +RUN set -ex \ + && sed -i \ + -e 's/Types: deb/Types: deb deb-src/g' \ + /etc/apt/sources.list.d/debian.sources \ + && apt-get update \ + && apt-get install -y --no-install-recommends \ + build-essential \ + cdbs \ + devscripts \ + equivs \ + fakeroot \ + crystal \ + shards \ + git-buildpackage \ + libyaml-dev \ + libxml2-dev \ + && apt-get clean \ + && rm -rf /tmp/* /var/tmp/* + +WORKDIR /app