• Stars
    star
    200
  • Rank 188,799 (Top 4 %)
  • Language
    Shell
  • License
    ISC License
  • Created over 5 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Detects which Arch Linux packages need to be rebuilt

rebuild-detector

This tool helps you find Arch Linux packages that were built against older versions of dependencies and therefore need to be rebuilt to function properly.

Supported checks:

  • ldd: An executable is linked against a non-existent shared library
  • python: A package was built against an older Python version
  • perl: A package was built against an older Perl version
  • ruby: A package was built against an older Ruby version
  • haskell: A package was built against an older Haskell version

Installation

pacman -S rebuild-detector

Usage

Run checkrebuild to see which packages need to be rebuilt. If you see no output, it means there is nothing to rebuild.

Use verbose mode checkrebuild -v to get a bit more information about why these packages are flagged.

By default only packages from local repos (file://) are checked, if you want to include additional repos, use -i flag like so: checkrebuild -i repo1 -i repo2

What do I do if a package is flagged?

First things first, run checkrebuild -v to see exactly why the package is flagged.

If a package is missing a .so file, this means the binary is linked against a library that is not present on your computer. It can happen for two reasons:

  1. You are missing a dependency entirely
  2. The binary is linked against an older version of the installed dependency

The first case cannot be solved by rebuilding the package. Sometimes it can be fixed by installing a missing dependency, but especially if a binary was built by someone else (typical for -bin packages) there is nothing you can do.

The second case happens when a package was not flagged in the past, but is suddenly flagged after an update. In this case, checkrebuild -v might show that the missing library is e.g. *-7.so but you currently have *-8.so installed on your computer. This is the case rebuild-detector was built for: rebuild the flagged package and the error should be gone.

If you cannot fix the package, the only thing you can do is to ignore it altogether, i.e. next time run checkrebuild | grep -v broken-pkg.

Pacman hook

A pacman hook is included in the distribution as well. For performance reasons, the ldd check is only executed against direct dependencies of the packages that are being updated in this pacman transaction.

More Repositories

1

dotfiles

Configuration for Arch Linux, Hyprland, kitty, kakoune, zsh and more + scripted installation guide
Shell
817
star
2

wluma

Automatic brightness adjustment based on screen contents and ALS
Rust
555
star
3

yubikey-touch-detector

A tool to detect when your YubiKey is waiting for a touch (to send notification or display a visual indicator on the screen)
Go
384
star
4

lightline-ale

ALE indicator for the lightline vim plugin
Vim Script
246
star
5

arch-secure-boot

UEFI Secure Boot for Arch Linux + btrfs snapshot recovery
Shell
111
star
6

browser-fingerprint-protector

Prevents browser fingerprinting by spoofing your plugins, languages and user agent
JavaScript
71
star
7

docker-arch-build-aur

Build AUR packages (useful for building *-bin packages via Travis / Shippable)
Shell
28
star
8

snap-pac-grub

Pacman hook to update GRUB entries for grub-btrfs after snap-pac made snapshots
Makefile
20
star
9

wl-clipboard-manager

Clipboard manager for Wayland
Shell
16
star
10

cerebro-pass

Cerebro plugin for pass.
JavaScript
14
star
11

restclient.kak

HTTP REST client for Kakoune
KakouneScript
10
star
12

dmenu-term

dmenu as a terminal with fuzzy filter
Shell
9
star
13

lightline-trailing-whitespace

A trailing whitespace component for the lightline vim plugin
Vim Script
7
star
14

docker-joypixels-fonts-build

Build EmojiOne font files (today only Android / Linux)
Python
3
star
15

pkgbuilds

Shell
3
star
16

update-ipsets

Dockerfile
2
star
17

pkgbuild-brave-vaapi

Shell
2
star
18

container-tab-flow

Firefox extension: stay within the current container when closing a tab
JavaScript
1
star
19

maximbaz.github.io

HTML
1
star
20

iptables-exporter

Rust
1
star
21

LegoRobot

Managing LEGO robot via Bluetooth
C#
1
star
22

emacs-smart-home-end

Enables easy navigation with `Home' and `End' keys across wrapped lines (in Visual Line Mode).
Emacs Lisp
1
star
23

helm-echoip

Shell
1
star