Compare commits
12 commits
a3add50d42
...
d4013caab1
Author | SHA1 | Date | |
---|---|---|---|
d4013caab1 | |||
3d2017aea9 | |||
f9e5c532a0 | |||
f5132e9207 | |||
8ccb1ce6c2 | |||
a4fb095c22 | |||
ea1e62729a | |||
344d905e10 | |||
74a5f28f2d | |||
3a38aa7efc | |||
c21f175217 | |||
7953f9f3a7 |
6 changed files with 73 additions and 3 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -7,3 +7,7 @@
|
|||
.vagrant
|
||||
bin
|
||||
lib
|
||||
debian/.debhelper/
|
||||
debian/debhelper-build-stamp
|
||||
debian/mfm
|
||||
debian/mfm.substvars
|
||||
|
|
19
build.sh
Normal file
19
build.sh
Normal file
|
@ -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
|
2
debian/control
vendored
2
debian/control
vendored
|
@ -2,7 +2,7 @@ Source: mfm
|
|||
Section: utils
|
||||
Priority: optional
|
||||
Maintainer: Glenn Y. Rolland <glenux@glenux.net>
|
||||
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
|
||||
|
|
2
debian/files
vendored
Normal file
2
debian/files
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
mfm-dbgsym_0.2.0_amd64.deb debug optional automatic=yes
|
||||
mfm_0.2.0_amd64.deb utils optional
|
22
docker/Dockerfile
Normal file
22
docker/Dockerfile
Normal file
|
@ -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
|
|
@ -94,14 +94,37 @@ module GX
|
|||
exit(1)
|
||||
end
|
||||
|
||||
## PASS 1
|
||||
file_data = File.read(config_path)
|
||||
file_patched = Crinja.render(file_data, {"env" => ENV.to_h})
|
||||
|
||||
file_patched = Crinja.render(
|
||||
file_data,
|
||||
{
|
||||
"env" => ENV.to_h,
|
||||
"mfm" => {
|
||||
"global" => {"mount_point_base" => "" }
|
||||
}
|
||||
}
|
||||
)
|
||||
root = Models::RootConfig.from_yaml(file_patched)
|
||||
|
||||
mount_point_base_safe = root.global.mount_point_base
|
||||
raise Models::InvalidMountpointError.new("Invalid global mount point") if mount_point_base_safe.nil?
|
||||
|
||||
## PASS 2
|
||||
file_patched = Crinja.render(
|
||||
file_data,
|
||||
{
|
||||
"env" => ENV.to_h,
|
||||
"mfm" => {
|
||||
"global" => {"mount_point_base" => mount_point_base_safe }
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
root = Models::RootConfig.from_yaml(file_patched)
|
||||
mount_point_base_safe = root.global.mount_point_base
|
||||
raise Models::InvalidMountpointError.new("Invalid global mount point") if mount_point_base_safe.nil?
|
||||
|
||||
root.filesystems.each do |selected_filesystem|
|
||||
if !selected_filesystem.mount_point?
|
||||
selected_filesystem.mount_point =
|
||||
|
|
Loading…
Add table
Reference in a new issue