42deea5be2
Add set -euo pipefail, root checks, safer orphan cleanup, and a help message to fullupgrade. Refresh the README and project notes to match the current scripts and release process.
1.9 KiB
1.9 KiB
fullupgrade
Minimal Bash tools for Arch Linux maintenance and Git release automation.
Overview
This repository contains two small Bash scripts:
fullupgrade: updates an Arch Linux system and performs cleanupmakerelease.sh: mergesdevintomainand creates a release tag
The project is intentionally small and focused on a simple, opinionated workflow.
Requirements
- Bash
pacmanforfullupgradegitformakerelease.sh- root privileges for
fullupgrade - a local Git repository with
devandmainbranches formakerelease.sh
fullupgrade
fullupgrade performs the following steps:
- updates
archlinux-keyring - runs a full system synchronization with
pacman -Syu --noconfirm - removes orphaned packages if any are found
- cleans the pacman cache with
pacman -Sc --noconfirm
Usage
sudo ./fullupgrade
Notes
- The script must be run as
root. - It does not ask for confirmation.
- It can remove packages and clean the package cache, so review the output carefully.
makerelease.sh
makerelease.sh automates a simple Git release workflow:
- checks that the current branch is
dev - switches to
main - merges
devintomain - pushes
main - creates an annotated tag using the provided version and message
- pushes tags
- switches back to
dev
Usage
./makerelease.sh VERSION "Release message"
Example
./makerelease.sh 1.2.0 "Release 1.2.0"
Notes
- Run the script from a clean, local Git repository.
- Make sure the
devbranch contains the changes you want to release. - The script may fail if Git state is unexpected or if a tag already exists.
Status
This repository is intentionally minimal. fullupgrade is hardened with set -euo pipefail, while makerelease.sh may still need additional validation and safeguards.
License
GPLv3