-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmkmnfst
executable file
·40 lines (36 loc) · 974 Bytes
/
mkmnfst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh
# Basic MANIFEST file generator for building pkg-create(8) packages
# https://github.com/pageflt/freebsd-mkmnfst
#
# Example usage:
# $ ./mkmnfst tmux bash vim-tiny > my_metapackage
# ...(edit my_metapackage and replace the placeholder strings)...
# $ pkg create -M ./my_metapackage
die() {
echo $1 && exit 1
}
# Basic sanity checks
which -s pkg || die "It appears that pkg(8) is missing. Aborting."
[ "$#" -ge 1 ] || die "Usage: $0 [PACKAGES]"
# Generate a minimal valid MANIFEST
cat <<EOF
name: FIXME
version: FIXME
origin: FIXME
comment: FIXME
www: FIXME
maintainer: FIXME
prefix: /usr/local
desc: <<EOD
FIXME
EOD
deps: {
EOF
for PKG in $@; do
ORIGIN=$(echo $(pkg search -e -S name -Q full $PKG | grep Origin | cut -d: -f2))
VERSION=$(echo $(pkg search -e -S name -Q full $PKG | grep Version | cut -d: -f2))
if [ ! -z $ORIGIN ] && [ ! -z $VERSION ]; then
echo " $PKG: {origin: $ORIGIN, version: $VERSION},"
fi
done
echo "}"