Page MenuHomeFreeBSD

pkgbasify: Add new utility
Needs ReviewPublic

Authored by des on Mon, Jun 29, 10:56 PM.

Details

Reviewers
bdrewery
op
Summary

The pkgbasify utility converts a system installed from distribution sets
to packaged base by registering, without actually installing, a set of
packages that corresponds to what is already installed.

MFC after: 1 week

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 74405
Build 71288: arc lint + arc unit

Event Timeline

des requested review of this revision.Mon, Jun 29, 10:56 PM
op added a subscriber: op.
op added inline comments.
usr.sbin/pkgbasify/pkgbasify.sh
44–45

what about using pure sed instead of fmt | sed to avoid unnecessary forks?

echo "$@" | sed -E "s|(.{1,${width}}) |\1\n${progname}|g; s|^|${progname}: |"

nevermind, tested and keep as is since RE limitation

bash-3.2$ echo "asdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac   asdadasdadasdasdasdasdadasdasdasdasdlkmfasdfnasdfkadfmlakdsnfsklaf                                sdsdfsd asd as das dasdasdasda s dasd asd asd asd asd asd kfkasbfjkasbdfasbfkasbfkjabsdkjfbjkasbdfakjbfkjhewbfajkhfbahjkefbajkhrebfjhbfakbfhaerhjbfauerfhauerbfhuaerbfhaebfhaebjkvhbbdkjabfkjhvbhakdjfbvajkdhfbvajdkhvbadhjfbvadjhkfvbadjkhfbvadjkhfbvadjhvbadjkhvbadjkhfbvadhjkvbdakjvbjas d" | sed -E "s|(.{1,${width}}) |\1\n${progname}|g; s|^|${progname}: |"
sed: 1: "s|(.{1,351}) |\1\naasda ...": RE error: maximum repetition exceeds 255


bash-3.2$ echo "asdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac   asdadasdadasdasdasdasdadasdasdasdasdlkmfasdfnasdfkadfmlakdsnfsklaf                                sdsdfsd asd as das dasdasdasda s dasd asd asd asd asd asd kfkasbfjkasbdfasbfkasbfkjabsdkjfbjkasbdfakjbfkjhewbfajkhfbahjkefbajkhrebfjhbfakbfhaerhjbfauerfhauerbfhuaerbfhaebfhaebjkvhbbdkjabfkjhvbhakdjfbvajkdhfbvajdkhvbadhjfbvadjhkfvbadjkhfbvadjkhfbvadjhvbadjkhvbadjkhfbvadhjkvbdakjvbjas d" | sed -E "s|(.{1,${width}}) |\1\n${progname}|g; s|^|${progname}: |"
276

set= to new line?
local set=

This revision is now accepted and ready to land.Tue, Jun 30, 6:04 AM
usr.sbin/pkgbasify/pkgbasify.sh
276

whatever for?

usr.sbin/pkgbasify/pkgbasify.sh
276

actually set doesn't need to be local as it's only used in a subshell.

This revision now requires review to proceed.Tue, Jun 30, 8:14 AM
des marked an inline comment as done.Tue, Jun 30, 8:14 AM

Note: in depkgbasify, we should probably a) offer to turn BACKUP_LIBRARIES off again and b) do something about existing backup library packages (tell the user about them, at the very least)