blob: a69b1923a5714df0e12ee8d033c53c6d017a65c2 (
plain)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
--- ports.in 2004-03-07 21:55:24.000000000 +0100
+++ ports.in 2016-04-27 22:41:06.030194539 +0200
@@ -21,7 +21,50 @@
#
VERSION="#VERSION#"
PORTS_DIR="/usr/ports"
+PATCHES_DIR="/usr/patches"
+
+post_update_hooks() {
+ (
+ . $file
+ case $(basename $driver) in
+ httpup)
+ CURRENT_DIR=${ROOT_DIR#$PORTS_DIR}
+ ;;
+ rsync)
+ CURRENT_DIR=${destination#$PORTS_DIR}
+ ;;
+ git)
+ CURRENT_DIR=/$NAME
+ ;;
+ *)
+ echo "$COMMAND: unknown driver '$(basename $driver)'"
+ exit 1
+ esac
+ [ -d $PATCHES_DIR$CURRENT_DIR ] || exit 0
+ for PATCH_PORT in $PATCHES_DIR$CURRENT_DIR/*
+ do
+ [ -d $PATCH_PORT ] || continue
+ [ -d $PORTS_DIR${PATCH_PORT#$PATCHES_DIR} ] || continue
+ cd $PORTS_DIR${PATCH_PORT#$PATCHES_DIR}
+ for DATEI in $(find $PATCH_PORT \( -name ".*" -prune -false \) -o \( -type f -not -name ".*" \) )
+ do
+ case $DATEI in
+ *.patch)
+ patch -p0 -i $DATEI
+ ;;
+ *.new)
+ cp $DATEI $(basename $DATEI .new)
+ md5sum $(basename $DATEI .new) >> .md5sum
+ ;;
+ *)
+ echo "$COMMAND: patch file '$DATEI' has unknown extension"
+ exit 1
+ esac
+ done
+ done
+ ) || exit $?
+}
check_ports_dir() {
if [ ! -d "$PORTS_DIR" ]; then
@@ -53,6 +96,7 @@
file=/etc/ports/$collection.$suffix
if [ -f $file ]; then
$driver $file
+ post_update_hooks $driver $file
fi
fi
done
@@ -67,6 +111,7 @@
suffix=`basename $driver`
for file in /etc/ports/*.$suffix; do
$driver $file
+ post_update_hooks $driver $file
done
fi
done
|