Page MenuHomeFreeBSD

pkgbasify: Add new utility
Needs ReviewPublic

Authored by des on Mon, Jun 29, 10:56 PM.
Tags
None
Referenced Files
F163492768: D57956.diff
Thu, Jul 23, 6:39 PM
F163394797: D57956.diff
Wed, Jul 22, 8:01 PM
Unknown Object (File)
Tue, Jul 21, 12:59 AM
Unknown Object (File)
Sun, Jul 19, 5:27 AM
Unknown Object (File)
Sat, Jul 18, 8:43 AM
Unknown Object (File)
Thu, Jul 16, 8:59 PM
Unknown Object (File)
Thu, Jul 16, 3:27 AM
Unknown Object (File)
Fri, Jul 10, 11:20 PM
Subscribers

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 74769
Build 71652: 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)

how is this related to the pkgbaseify that was linked off a foundation blog?
The code looks clean, but I don't know if it's correct.

In D57956#1334635, @imp wrote:

how is this related to the pkgbaseify that was linked off a foundation blog?

Not related at all.