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
|
.vagrant
|
||||||
bin
|
bin
|
||||||
lib
|
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
|
Section: utils
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Glenn Y. Rolland <glenux@glenux.net>
|
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
|
Standards-Version: 4.6.0
|
||||||
Homepage: https://code.apps.glenux.net/glenux/mfm
|
Homepage: https://code.apps.glenux.net/glenux/mfm
|
||||||
Vcs-Git: https://code.apps.glenux.net/glenux/mfm.git
|
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)
|
exit(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
## PASS 1
|
||||||
file_data = File.read(config_path)
|
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)
|
root = Models::RootConfig.from_yaml(file_patched)
|
||||||
|
|
||||||
mount_point_base_safe = root.global.mount_point_base
|
mount_point_base_safe = root.global.mount_point_base
|
||||||
raise Models::InvalidMountpointError.new("Invalid global mount point") if mount_point_base_safe.nil?
|
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|
|
root.filesystems.each do |selected_filesystem|
|
||||||
if !selected_filesystem.mount_point?
|
if !selected_filesystem.mount_point?
|
||||||
selected_filesystem.mount_point =
|
selected_filesystem.mount_point =
|
||||||
|
|
Loading…
Add table
Reference in a new issue