sh_scripts/check_old_rel_pkgs
2024-06-04 19:52:57 +09:00
..
check_old_rel_pkgs.sh Add a script to check ports still needed to update after major upgrade of base. 2024-06-03 23:57:16 +09:00
check_old_rel_pkgs_quick.sh Add another script which has less functionality but much faster. 2024-06-04 19:52:57 +09:00
README.md Add another script which has less functionality but much faster. 2024-06-04 19:52:57 +09:00

check_old_rel_pkgs[_quick].sh

Description

Small scripts to list ports/pkgs needs updating with base ABI change.
Could be helpful after major release upgrade.

Usage

No command line arguments. Simply run it as a bourne shell script. Quick version has less functionality but much faster.

Output is directed to stdout, so redirect to file if needed.

Quick version

Output format is as follows.

Port origin : arch

Only ABI major version part of arch is checked if it mathes CURVERS below or not, and unmatched ports is listed.

Not flavor aware.

Normal version

Output format is space separated as follows.

origin arch lock removed

Where:

  • origin is the ports/pkgs origin. If any, @flavor is shown.
  • arch is architecture string on pkg database like FreeBSD:14:amd64 where:
    • FreeBSD as operating system
    • 14 as major OS release
    • amd64 as CPU architecture
  • lock is the pkg lock status.
    • FREE for not locked.
    • LOCKED for locked.
  • removed for existence on ports tree.
    • EXISTS for not deleted.
    • DELETED for ports having MOVED entry without any successor.

If CPU architecture is "*", it means the port/pkg is independent from CPU architecture like fonts, documents and/or scripts.

Why FREE and EXISTS is shown?
It's for scripts to handle the output easier. As the output is directed to stdout, you can connect to pipe for further processing, or to file to keep.

As cut -w handles multiple space characters as single, I decided to output verbosely.

Configuring the script

CURVERS

You need to specify current major release here.

13 for 13.[-p] or stable/13, 14 for 14.[-p] or stable/14.

For main branch, you should specify latest stable branch + 1. When stable/14 is the latest, set it as 15.

PORTSDIR

The directory where ports tree to be used exists.

Default is where vanilla FreeBSD expects: /usr/ports

This is not used for quick version.

Sample output line

Quick version

Port editors/vim : FreeBSD:14:amd64

Normal version

editors/vim@console FreeBSD:14:amd64 FREE EXISTS