|
Added
Link Here
|
| 1 |
#!/bin/sh |
| 2 |
# |
| 3 |
# MAINTAINER: yuri@FreeBSD.org |
| 4 |
|
| 5 |
PORT="$1" |
| 6 |
|
| 7 |
set -e |
| 8 |
set -o pipefail |
| 9 |
|
| 10 |
## |
| 11 |
## add-port-to-category-makefile.sh: adds a new port to {category}/Makefile |
| 12 |
## |
| 13 |
|
| 14 |
|
| 15 |
# sanity checks |
| 16 |
[ -z "$PORT" ] && echo "this command requires the <port> argument" && exit 1 |
| 17 |
(echo "$PORT" | grep -q "/") && echo "port's name can't contain slash" && exit 1 |
| 18 |
! [ -f Makefile ] && echo "no Makefile found, are you in the ports tree?" && exit 1 |
| 19 |
! grep -q "^ SUBDIR += " Makefile && echo "this command can only be run from the ports tree category directory" && exit 1 |
| 20 |
! grep -q "^\\.include <bsd\\.port\\.subdir\\.mk>$" Makefile && echo "this command can only be run from the ports tree category directory" && exit 1 |
| 21 |
! [ -d "$PORT" ] && echo "the '$PORT' directory is missing" && exit 1 |
| 22 |
! [ -f "$PORT/Makefile" ] && echo "'$PORT/Makefile' is missing" && exit 1 |
| 23 |
grep -q "^ SUBDIR += $PORT$" Makefile && echo "port '$PORT' is already added" && exit 1 |
| 24 |
|
| 25 |
|
| 26 |
# add port to Makefile |
| 27 |
/usr/bin/awk ' |
| 28 |
BEGIN { |
| 29 |
done = 0 |
| 30 |
seen = 0 |
| 31 |
str = " SUBDIR += '$PORT'" |
| 32 |
} |
| 33 |
/^ SUBDIR \+= / { |
| 34 |
if (!done && str < $0) { |
| 35 |
print str |
| 36 |
done = 1 |
| 37 |
} |
| 38 |
print $0; |
| 39 |
seen = seen + 1 |
| 40 |
} |
| 41 |
!/^ SUBDIR \+= / { |
| 42 |
if (seen > 0 && !done) { |
| 43 |
print str |
| 44 |
done = 1 |
| 45 |
} |
| 46 |
print $0 |
| 47 |
}' < Makefile > Makefile.new && |
| 48 |
/bin/mv Makefile.new Makefile |