Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alexlnkp/paclogger

An ALPM (Pacman) hook that logs all of the updates and downgrades every day.
https://github.com/alexlnkp/paclogger

archlinux logging pacman

Last synced: about 2 months ago
JSON representation

An ALPM (Pacman) hook that logs all of the updates and downgrades every day.

Awesome Lists containing this project

README

        

PacLogger

A Pacman hook that logs all of the updates and downgrades every day.
Why? Well, because I have terrible memory and alawys forget what I upgraded. Sometimes other stuff breaks and You want to know the cause precisely.

This hook is available on AUR! https://aur.archlinux.org/packages/paclogger
You can manually clone the PKGBUILD and use `makepkg`, or you could use AUR helpers, like `yay` or `paru`.

################ Preparation ################
1a. Build and install `hanickadot/compile-time-regular-expressions`
1b. Use PKGBUILD: https://aur.archlinux.org/ctre.git
1c. Use AUR-helper [`yay -S ctre` || `paru -S ctre`]
#############################################

############## Getting started ##############
1. Clone the repository
2. Enter the cloned repository
3. To just build: use `./autobuild` or `cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release`
4. To build and install: use `./autobuild -i` or `cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build`
#############################################

################## How-to ###################
1. Build. Use `-DPACLOGGER_UPDATES_LOG=/your/path/paclogger.log` if you wish to change the log location.
2. Install
3. ???
4. Profit!
#############################################

################### Logs ####################
Default log location is `$ENV{HOME}/.cache/paclogger.log`. To change that, refer to "How-to".

The new logs are appended to the end of the existing log file, if the file doesn't exist, it will be created.
NOTE: the PacLogger will NOT clean the log files itself.
However, the functionality to remove logs that are `older than...` is planned.

The log files are saved in format this format:
#############################################

╌╌╌╌╌╌2024-05-24╌╌╌╌╌╌

┌Upgraded:
├────sqlite (3.45.3-1 -> 3.46.0-1)
├────linux (6.8.9.arch1-2 -> 6.9.1.arch1-2)
├────linux-headers (6.8.9.arch1-2 -> 6.9.1.arch1-2)
└────lib32-sqlite (3.45.3-1 -> 3.46.0-1)

┌Downgraded:
├────linux (6.9.1.arch1-2 -> 6.8.9.arch1-2)
└────linux-headers (6.9.1.arch1-2 -> 6.8.9.arch1-2)

╌╌╌╌╌╌2024-05-25╌╌╌╌╌╌

┌Upgraded:
├────linux (6.8.9.arch1-2 -> 6.9.1.arch1-2)
└────linux-headers (6.8.9.arch1-2 -> 6.9.1.arch1-2)

#############################################