Skip to content

Commit 4855416

Browse files
authored
fix: fix armbian-release file error (#241)
To get mainsail release shown in moonraker we need that 'hacky' solution --------- Signed-off-by: Stephan Wendel <[email protected]>
1 parent 55b253e commit 4855416

File tree

2 files changed

+21
-30
lines changed

2 files changed

+21
-30
lines changed

src/modules/armbian/start_chroot_script

+6-28
Original file line numberDiff line numberDiff line change
@@ -73,38 +73,16 @@ if [[ -f "/root/.not_logged_in_yet" ]]; then
7373
fi
7474
## END Step 4
7575

76-
## Step 5: Move armbian-release to display mainsailos-release
77-
### Substep 1: Move armbian-release
78-
if [[ -f "/etc/armbian-release" ]]; then
79-
echo_green "Armbian release file found! moving to: 'armbian-release-info.txt'"
80-
mv /etc/armbian-release /etc/armbian-release-info.txt
81-
else
82-
echo_red "Armbian release file not found! [SKIPPED]"
83-
fi
84-
### END Substep 1
85-
### Substep 2: patch Armbian scripts to new file location
86-
echo_green "Patching armbian scripts (release file path) ..."
87-
pushd "/usr/lib/armbian" &> /dev/null || exit 1
88-
files=()
89-
while IFS='' read -r line; do
90-
files+=("${line}")
91-
done < <(grep -R "/etc/armbian-release" -- * | cut -d":" -f1)
92-
for f in "${files[@]}"; do
93-
sed -i "s|/etc/armbian-release|/etc/armbian-release-info.txt|g" "${f}"
94-
done
95-
popd &> /dev/null || exit 1
96-
## END Step 5
97-
98-
## Step 6: Patch dynamic motd
76+
## Step 5: Patch dynamic motd
9977
echo_green "Patch dynamic motd ..."
10078
unpack /filesystem/root /
10179
chmod +x /etc/update-motd.d/*
10280
if [[ -f "/etc/default/armbian-motd" ]]; then
10381
sed -i 's/MOTD_DISABLE=""/MOTD_DISABLE="header"/' /etc/default/armbian-motd
10482
fi
105-
## END Step 6
83+
## END Step 5
10684

107-
## Step 7: Enable SPI interface by default
85+
## Step 6: Enable SPI interface by default
10886
echo_green "Enable SPI interface on Orange Pi SBC's ..."
10987

11088
### Substep 1: Copy default config to backup file
@@ -129,9 +107,9 @@ echo "spi-dev" >> "${ARMBIAN_MODULES_FILE}"
129107
### END Substep 3
130108

131109
echo_green "Enable SPI interface on Orange Pi SBC's ... DONE!"
132-
## END Step 7
110+
## END Step 6
133111

134-
## Step 8: Remove unattended-upgrades
112+
## Step 7: Remove unattended-upgrades
135113
echo_green "Remove 'unattended-upgrades' service ..."
136114
sudo apt-get remove --purge --yes unattended-upgrades
137-
## END Step 8
115+
## END Step 7

src/modules/mainsailos/start_chroot_script

+15-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,21 @@ function get_parent {
3333
echo "${DIST_NAME} release ${DIST_VERSION} ($(get_parent))" > /etc/"${DIST_NAME,,}"-release
3434
## END Step 1
3535

36-
## Step 2: Install CANBoot Dependency
36+
## Step 2: Fake release file
37+
### NOTE: Turns out that the 'distro' python package,
38+
### which is used by moonraker, uses the first file after sorting.
39+
### Therefore we need a hacky solution, because armbian relies, on upgrades
40+
### on the original armbian-release file.
41+
### To get around that, we simple symlink mainsailos-release to
42+
### aaaa-release, which is directly read by moonraker.
43+
if [[ -f "/etc/armbian-release" ]]; then
44+
echo_green "Apply release file workaround ..."
45+
ln -s /etc/"${DIST_NAME,,}"-release /etc/aaaa-release
46+
fi
47+
## END Step 2
48+
49+
## Step 3: Install CANBoot Dependency
3750
apt-get update --allow-releaseinfo-change
3851
# shellcheck disable=SC2086
3952
check_install_pkgs ${MAINSAILOS_DEPS}
40-
## END Step 2
53+
## END Step 3

0 commit comments

Comments
 (0)