Giter Site home page Giter Site logo

pacman-hooks's Introduction

Pacman hooks

Build status AUR version License

Some useful Arch Linux Pacman hooks.

Hooks

check-broken-packages

This checks for packages with broken (non satisfied) dynamic library dependencies. This can happen if you have installled package A from the AUR, which depends on B from the official repositories, and B gets updated, but the packager of A does not bump its pkgrel. In most case you simply need to rebuild A.

This is roughly equivalent to the following Bash code:

IFS='
'
for aur_package in $(pacman -Qmm | cut -d ' ' -f 1); do
  for package_file in $(pacman -Ql ${aur_package} | cut -d ' ' -f 2); do
    if [ -f ${package_file} -a -x ${package_file} ]; then
      ldd_output=$(ldd ${package_file} 2> /dev/null)
      if [ $? -eq 0 ]; then
        for line in $(echo ${ldd_output} | grep -F '=> not found'); do
          echo "Missing depency for file ${package_file} from package ${aur_package}: ${line}"
        done
      fi
    fi
  done
done

However it is written in Rust and uses a thread pool for much faster processing (runs in ~1.3s on my machine with ~90 AUR packages, compared to ~14s for the above Bash code).

The hook also detects:

  • broken Python packages that were build for an older Python major version
  • broken Systemd links for enabled services in /etc/systemd/{user,system}/*.target.*.

pacdiff

Automatically run pacdiff after an upgrade to review pacnew files.

reflector

Selects fastest package mirror, when the pacman-mirrorlist package is upgraded. See https://wiki.archlinux.org/index.php/Reflector#Pacman_hook

sync

Syncs / and /boot partitions when packages are installed, upgraded or removed.

xmonad-recompile

Automatically run xmonad --recompile for each user in the system after xmonad or any of its dependencies is updated.

Installation

Install via the AUR packages:

This was previously contained in a single package pacman-hooks-desbma-git, however this is against the AUR guidelines so each hook is now available in a separate package.

License

GPLv3

pacman-hooks's People

Contributors

desbma avatar thiagowfx avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.