Skip to content

Commit

Permalink
Improvements and bug fixes to Armbian user-space services (#6840)
Browse files Browse the repository at this point in the history
* Add a list of BASH shell aliases and merge them with ohmyZSH aliases
* Add command armbian-upgrade to the BSP which executes update + upgrade
* Display armbian-upgrade only if there are upgrades
* Generate empty folder where will store data. This doesn't exists at early start
* Move armbian-install to /usr/bin and autoexecute sudo
  • Loading branch information
igorpecovnik authored Nov 18, 2024
1 parent 8b215c4 commit 6148907
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 8 deletions.
3 changes: 3 additions & 0 deletions lib/functions/compilation/packages/armbian-zsh-deb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,9 @@ compile_armbian-zsh() {
# define default plugins
sed -i 's/^plugins=.*/plugins=(evalcache git git-extras debian tmux screen history extract colorize web-search docker)/' "${tmp_dir}/${armbian_zsh_dir}"/etc/skel/.zshrc

# add collection of Armbian BASH aliases also to ZSH. They are compatible
cat "${SRC}"/packages/bsp/common/etc/skel/.bash_aliases >> "${tmp_dir}/${armbian_zsh_dir}"/etc/skel/.zshrc

chmod 755 "${tmp_dir}/${armbian_zsh_dir}"/DEBIAN/postinst

dpkg_deb_build "${tmp_dir}/${armbian_zsh_dir}" "armbian-zsh"
Expand Down
14 changes: 6 additions & 8 deletions lib/functions/rootfs/distro-agnostic.sh
Original file line number Diff line number Diff line change
Expand Up @@ -99,16 +99,14 @@ function install_distribution_agnostic() {
echo -e "${VENDOR} ${IMAGE_VERSION:-"${REVISION}"} ${RELEASE^} \\l \n" > "${SDCARD}"/etc/issue
echo "${VENDOR} ${IMAGE_VERSION:-"${REVISION}"} ${RELEASE^}" > "${SDCARD}"/etc/issue.net

# PRETTY_NAME changing in os-release is now done in armbian-base-files directly.
# Copy SKEL bashrc and profile to root user
cp "${SDCARD}"/etc/skel/.bashrc "${SDCARD}"/root/
cp "${SDCARD}"/etc/skel/.profile "${SDCARD}"/root/

# enable few bash aliases enabled in Ubuntu by default to make it even
sed "s/#alias ll='ls -l'/alias ll='ls -l'/" -i "${SDCARD}"/etc/skel/.bashrc
sed "s/#alias la='ls -A'/alias la='ls -A'/" -i "${SDCARD}"/etc/skel/.bashrc
sed "s/#alias l='ls -CF'/alias l='ls -CF'/" -i "${SDCARD}"/etc/skel/.bashrc
# root user is already there. Copy bashrc there as well
cp "${SDCARD}"/etc/skel/.bashrc "${SDCARD}"/root
# Copy systemwide alieases to root user too
cp "${SRC}"/packages/bsp/common/etc/skel/.bash_aliases "${SDCARD}"/root/

# display welcome message at first root login @TODO: what reads this?
# display welcome message at first root login which is ready by /usr/sbin/armbian/armbian-firstlogin
touch "${SDCARD}"/root/.not_logged_in_yet

if [[ ${DESKTOP_AUTOLOGIN} == yes ]]; then
Expand Down
6 changes: 6 additions & 0 deletions packages/bsp/common/etc/skel/.bash_aliases
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# BASH or ZSH shell alieases
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
alias kernel="uname -r | sed 's/[1-9]\+[0-9]*\.[0-9]\+\.[0-9]\+-//' | sed 's/[1-9]\+[0-9]*\.[0-9]*\-rc[0-9]\+-//'"
alias showip='ip -4 addr show scope global | grep inet | awk "{print $2}" | cut -d"/" -f1 | sed "s/ inet //g" | paste -s -d, -'
4 changes: 4 additions & 0 deletions packages/bsp/common/etc/update-motd.d/41-commands
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ MOTD_DISABLE=""

[[ -f /etc/default/armbian-motd ]] && . /etc/default/armbian-motd

# read upgrade count to show upgrade command
[[ -f /var/cache/apt/archives/updates.number ]] && . /var/cache/apt/archives/updates.number

for f in $MOTD_DISABLE; do
[[ $f == $THIS_SCRIPT ]] && exit 0
done
Expand All @@ -22,6 +25,7 @@ done
# condition can be fairly complex
list=(
"Configuration","","armbian-config","true"
"Upgrade","","armbian-upgrade","[[ \"${NUM_UPDATES}\" -gt 0 ]]"
"Monitoring","","htop","true"
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
# $4 = :space: separated list of all MTD device names
# Note: MTD char device names are passed in format device_name:partition_label - e.g.: mtd0:SPL

trap "exit" INT TERM
[[ $EUID != 0 ]] && exec sudo "$0" "$@"

[[ -f /usr/lib/u-boot/platform_install.sh ]] && source /usr/lib/u-boot/platform_install.sh

# ORIGINAL_SCRIPT_NAME: Must be either armbian-install or nand-sata-install
Expand Down
8 changes: 8 additions & 0 deletions packages/bsp/common/usr/bin/armbian-upgrade
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
trap "exit" INT TERM
[[ $EUID != 0 ]] && exec sudo "$0" "$@"
apt update
apt -y upgrade
apt clean
apt -y autoremove
exit 0
3 changes: 3 additions & 0 deletions packages/bsp/common/usr/lib/armbian/armbian-apt-updates
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ fi
myfile="/var/cache/apt/archives/updates.number"
myfiles="/var/cache/apt/archives/updates.list"
# create folder as it doesn't exists at start to prevent erroring
mkdir -p "/var/cache/apt/archives/"
# update procedure
DISTRO=$(lsb_release -c | cut -d ":" -f 2 | tr -d '[:space:]') && DISTRO=${DISTRO,,}
Expand Down

0 comments on commit 6148907

Please sign in to comment.