1 |
Author: zzam |
2 |
Date: 2008-06-21 12:41:31 +0000 (Sat, 21 Jun 2008) |
3 |
New Revision: 615 |
4 |
|
5 |
Added: |
6 |
gentoo-vdr-scripts/trunk/usr/sbin/vdr-get-header-checksum |
7 |
Modified: |
8 |
gentoo-vdr-scripts/trunk/ChangeLog |
9 |
gentoo-vdr-scripts/trunk/usr/sbin/Makefile |
10 |
gentoo-vdr-scripts/trunk/usr/share/vdr/inc/plugin-functions.sh |
11 |
Log: |
12 |
Factored out checksum creation to extra executable. |
13 |
|
14 |
Modified: gentoo-vdr-scripts/trunk/ChangeLog |
15 |
=================================================================== |
16 |
--- gentoo-vdr-scripts/trunk/ChangeLog 2008-06-19 16:38:09 UTC (rev 614) |
17 |
+++ gentoo-vdr-scripts/trunk/ChangeLog 2008-06-21 12:41:31 UTC (rev 615) |
18 |
@@ -1,6 +1,10 @@ |
19 |
# ChangeLog for gentoo-vdr-scripts |
20 |
# $Id$ |
21 |
|
22 |
+ 21 Jun 2008; Matthias Schwarzott <zzam@g.o> usr/sbin/Makefile, |
23 |
+ +usr/sbin/vdr-get-header-checksum, usr/share/vdr/inc/plugin-functions.sh: |
24 |
+ Factored out checksum creation to extra executable. |
25 |
+ |
26 |
19 Jun 2008; Matthias Schwarzott <zzam@g.o> |
27 |
usr/share/vdr/rcscript/watchdog-restart-20-modules.sh, |
28 |
usr/sbin/dvb-reload-modules: |
29 |
|
30 |
Modified: gentoo-vdr-scripts/trunk/usr/sbin/Makefile |
31 |
=================================================================== |
32 |
--- gentoo-vdr-scripts/trunk/usr/sbin/Makefile 2008-06-19 16:38:09 UTC (rev 614) |
33 |
+++ gentoo-vdr-scripts/trunk/usr/sbin/Makefile 2008-06-21 12:41:31 UTC (rev 615) |
34 |
@@ -4,7 +4,7 @@ |
35 |
|
36 |
MYDIR = $(DESTDIR)/usr/sbin |
37 |
SUBDIRS = |
38 |
-BINS = acpi-wakeup.sh rtc-wakeup.sh vdr-watchdogd dvb-reload-modules |
39 |
+BINS = acpi-wakeup.sh rtc-wakeup.sh vdr-watchdogd dvb-reload-modules vdr-get-header-checksum |
40 |
CONFS = |
41 |
|
42 |
all: compile |
43 |
|
44 |
Added: gentoo-vdr-scripts/trunk/usr/sbin/vdr-get-header-checksum |
45 |
=================================================================== |
46 |
--- gentoo-vdr-scripts/trunk/usr/sbin/vdr-get-header-checksum (rev 0) |
47 |
+++ gentoo-vdr-scripts/trunk/usr/sbin/vdr-get-header-checksum 2008-06-21 12:41:31 UTC (rev 615) |
48 |
@@ -0,0 +1,58 @@ |
49 |
+#!/bin/sh |
50 |
+ |
51 |
+die() { |
52 |
+ echo "$@" 1>&2 |
53 |
+ exit 1 |
54 |
+} |
55 |
+ |
56 |
+verbose() { |
57 |
+ [ "$verbose" -ge "1" ] && echo "$@" 1>&2 |
58 |
+} |
59 |
+ |
60 |
+show_help() { |
61 |
+ echo "Usage:" |
62 |
+ echo " vdr-get-header-checksum [-v] [-h]" |
63 |
+} |
64 |
+ |
65 |
+ |
66 |
+verbose=0 |
67 |
+ |
68 |
+for p; do |
69 |
+ case "$p" in |
70 |
+ -v) verbose=1 ;; |
71 |
+ -h) show_help |
72 |
+ exit 0;; |
73 |
+ *) show_help |
74 |
+ exit 1;; |
75 |
+ esac |
76 |
+done |
77 |
+ |
78 |
+include_dir=/usr/include/vdr |
79 |
+ |
80 |
+verbose "Creating vdr header files checksum of ${include_dir}" |
81 |
+ |
82 |
+plugin_dir="$(awk '/^PLUGINLIBDIR/{ print $3 }' ${include_dir}/Make.config)" |
83 |
+if [ -n "${plugin_dir}" ]; then |
84 |
+ plugin_dir=/usr/lib/vdr/plugins |
85 |
+fi |
86 |
+ |
87 |
+vdr_checksum_dir="${plugin_dir%/plugins}/checksums" |
88 |
+vdr_checksum="${vdr_checksum_dir}/header-md5-vdr" |
89 |
+ |
90 |
+# use pre-existing checksum file, no need to do more work :) |
91 |
+if [ -f "${vdr_checksum}" ]; then |
92 |
+ verbose "Using existing checksum from ${vdr_checksum}" |
93 |
+ cat "${vdr_checksum}" |
94 |
+else |
95 |
+ verbose "Creating checksum from files" |
96 |
+ |
97 |
+ type md5sum >/dev/null 2>&1 || die "Could not find command md5sum." |
98 |
+ type sort >/dev/null 2>&1 || die "Could not find command sort" |
99 |
+ |
100 |
+ cd ${include_dir} || die "Could not cd to ${include_dir}" |
101 |
+ md5sum *.h libsi/*.h|LC_ALL=C sort --key=2 |
102 |
+fi |
103 |
+ |
104 |
+verbose "Checksum created." |
105 |
+exit 0 |
106 |
+ |
107 |
|
108 |
|
109 |
Property changes on: gentoo-vdr-scripts/trunk/usr/sbin/vdr-get-header-checksum |
110 |
___________________________________________________________________ |
111 |
Name: svn:executable |
112 |
+ * |
113 |
|
114 |
Modified: gentoo-vdr-scripts/trunk/usr/share/vdr/inc/plugin-functions.sh |
115 |
=================================================================== |
116 |
--- gentoo-vdr-scripts/trunk/usr/share/vdr/inc/plugin-functions.sh 2008-06-19 16:38:09 UTC (rev 614) |
117 |
+++ gentoo-vdr-scripts/trunk/usr/share/vdr/inc/plugin-functions.sh 2008-06-21 12:41:31 UTC (rev 615) |
118 |
@@ -10,32 +10,6 @@ |
119 |
fi |
120 |
} |
121 |
|
122 |
-init_header_checksum() { |
123 |
- plugin_dir=$(awk '/^PLUGINLIBDIR/{ print $3 }' /usr/include/vdr/Make.config) |
124 |
- if [ -n "${plugin_dir}" ]; then |
125 |
- plugin_dir=/usr/lib/vdr/plugins |
126 |
- fi |
127 |
- |
128 |
- if ! type md5sum >/dev/null 2>&1; then |
129 |
- PLUGIN_CHECK_MD5=no |
130 |
- return |
131 |
- fi |
132 |
- |
133 |
- vdr_checksum_dir="${plugin_dir%/plugins}/checksums" |
134 |
- vdr_checksum=${vdr_checksum_dir}/header-md5-vdr |
135 |
- |
136 |
- if [ ! -f "${vdr_checksum}" ]; then |
137 |
- vdr_checksum="${PL_TMP}"/header-md5-vdr |
138 |
- |
139 |
- rm -f ${vdr_checksum} 2>/dev/null |
140 |
- ( |
141 |
- cd /usr/include/vdr |
142 |
- md5sum *.h libsi/*.h|LC_ALL=C sort --key=2 |
143 |
- ) > ${vdr_checksum} |
144 |
- fi |
145 |
- PLUGIN_CHECK_MD5=yes |
146 |
-} |
147 |
- |
148 |
print_skip_header() { |
149 |
if [ "${skip_header_printed}" != "1" ]; then |
150 |
ewarn " Skipped these plugins:" |
151 |
@@ -46,8 +20,7 @@ |
152 |
|
153 |
load_plugin_list_start() { |
154 |
rm -f "${LOADED_PLUGINS_FILE}" |
155 |
- # needed for plugin patchlevel check |
156 |
- init_header_checksum |
157 |
+ prepare_plugin_checks |
158 |
|
159 |
local PLUGIN_CONF=/etc/conf.d/vdr.plugins PLUGIN= line= |
160 |
if [ -f "${PLUGIN_CONF}" ]; then |
161 |
@@ -100,6 +73,22 @@ |
162 |
esac |
163 |
} |
164 |
|
165 |
+prepare_plugin_checks() { |
166 |
+ # find plugin dir, needed for multilib ... |
167 |
+ plugin_dir="$(awk '/^PLUGINLIBDIR/{ print $3 }' /usr/include/vdr/Make.config)" |
168 |
+ if [ -n "${plugin_dir}" ]; then |
169 |
+ plugin_dir=/usr/lib/vdr/plugins |
170 |
+ fi |
171 |
+ |
172 |
+ # needed for plugin patchlevel check |
173 |
+ vdr_checksum_dir="${plugin_dir%/plugins}/checksums" |
174 |
+ vdr_checksum="${PL_TMP}"/header-md5-vdr |
175 |
+ PLUGIN_CHECK_MD5=no |
176 |
+ if vdr-get-header-checksum > "${vdr_checksum}"; then |
177 |
+ PLUGIN_CHECK_MD5=yes |
178 |
+ fi |
179 |
+} |
180 |
+ |
181 |
check_plugin() { |
182 |
local PLUGIN="${1}" |
183 |
local plugin_file="${plugin_dir}/libvdr-${PLUGIN}.so.${APIVERSION}" |
184 |
@@ -111,7 +100,7 @@ |
185 |
|
186 |
local plugin_checksum_file=${vdr_checksum_dir}/header-md5-vdr-${PLUGIN} |
187 |
if [ "${PLUGIN_CHECK_MD5}" = "yes" ] && [ -e "${plugin_checksum_file}" ]; then |
188 |
- if ! diff ${vdr_checksum} ${plugin_checksum_file} >/dev/null; then |
189 |
+ if ! cmp -s ${vdr_checksum} ${plugin_checksum_file}; then |
190 |
skip_plugin "${PLUGIN}" "PATCHLEVEL" |
191 |
return 1 |
192 |
fi |
193 |
|
194 |
-- |
195 |
gentoo-commits@l.g.o mailing list |