Gentoo Archives: gentoo-commits

From: "Matthias Schwarzott (zzam)" <zzam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-vdr r617 - in gentoo-vdr-scripts/trunk: . vdrplugin-rebuild
Date: Sat, 21 Jun 2008 13:10:28
Message-Id: E1KA2rG-0006Hl-2o@stork.gentoo.org
1 Author: zzam
2 Date: 2008-06-21 13:10:21 +0000 (Sat, 21 Jun 2008)
3 New Revision: 617
4
5 Modified:
6 gentoo-vdr-scripts/trunk/ChangeLog
7 gentoo-vdr-scripts/trunk/vdrplugin-rebuild/vdrplugin-rebuild
8 Log:
9 Added option to only rebuild packages that have a different header checksum than current vdr.
10
11 Modified: gentoo-vdr-scripts/trunk/ChangeLog
12 ===================================================================
13 --- gentoo-vdr-scripts/trunk/ChangeLog 2008-06-21 12:49:30 UTC (rev 616)
14 +++ gentoo-vdr-scripts/trunk/ChangeLog 2008-06-21 13:10:21 UTC (rev 617)
15 @@ -1,6 +1,11 @@
16 # ChangeLog for gentoo-vdr-scripts
17 # $Id$
18
19 + 21 Jun 2008; Matthias Schwarzott <zzam@g.o>
20 + vdrplugin-rebuild/vdrplugin-rebuild:
21 + Added option to only rebuild packages that have a different header
22 + checksum than current vdr.
23 +
24 21 Jun 2008; Matthias Schwarzott <zzam@g.o> etc/init.d/vdr:
25 Moved clearing of logfile to better place right at start.
26
27
28 Modified: gentoo-vdr-scripts/trunk/vdrplugin-rebuild/vdrplugin-rebuild
29 ===================================================================
30 --- gentoo-vdr-scripts/trunk/vdrplugin-rebuild/vdrplugin-rebuild 2008-06-21 12:49:30 UTC (rev 616)
31 +++ gentoo-vdr-scripts/trunk/vdrplugin-rebuild/vdrplugin-rebuild 2008-06-21 13:10:21 UTC (rev 617)
32 @@ -31,6 +31,7 @@
33 R_OPTION_C=0;
34 R_OPTION_ENABLED=0;
35 R_OPTION_SKIPPED=0;
36 +R_OPTION_PATCHLEVEL=0;
37
38 R_PLUGIN_ENABLE="${ROOT}/etc/conf.d/vdr.plugins"
39 R_PLUGINS_SKIPPED="${ROOT}/var/vdr/tmp/plugins_skipped_ALL"
40 @@ -107,6 +108,14 @@
41 fi
42 fi
43
44 + if [[ ${R_OPTION_PATCHLEVEL} == 1 ]]; then
45 + local p_chksum="${vdr_checksum_dir}/header-md5-${shortname}"
46 + if cmp -s "${vdr_checksum}" "${p_chksum}"; then
47 + # do not merge when patchlevel is equal
48 + auto=0
49 + fi
50 + fi
51 +
52 if [[ ${R_OPTION_X} == 1 ]]; then
53 pkg=${ebuild}
54 package_valid ${pkg}
55 @@ -184,7 +193,7 @@
56 echo -e "${C_BOLD}${C_GREEN}** Populating database with installed Packages.${C_NORM}"
57 # Lets find them all
58 # chances are we will get a few dupes in here.
59 - for pkg in $(grep -l /usr/lib/vdr/plugins/libvdr ${R_VDBPATH}/*/*/CONTENTS); do
60 + for pkg in $(grep -l ${vdr_plugin_dir}/libvdr ${R_VDBPATH}/*/*/CONTENTS); do
61 pad=""; x=0;
62
63 if [[ -z ${pkg//${R_VDBPATH}*} ]]; then
64 @@ -223,6 +232,17 @@
65 emerge --oneshot --nodeps ${R_EMERGE_OPTS} ${tomerge[@]}
66 }
67
68 +get_vdr_plugin_dir() {
69 + local d
70 + d="$(awk '/^PLUGINLIBDIR/{ print $3 }' /usr/include/vdr/Make.config)"
71 + if [ -n "${d}" ]; then
72 + d=/usr/lib/vdr/plugins
73 + fi
74 +
75 + echo "${d}"
76 + return 0
77 +}
78 +
79 phelp() {
80 cat << EOF
81 vdrplugin-rebuild [options] action [options to emerge]
82 @@ -234,6 +254,7 @@
83 -C - Disable all coloured output.
84 -e - Only merge enabled plugins.
85 -s - Only merge plugins that were skipped at last vdr start.
86 + -p - Only merge plugins that are not compiled against this vdr.
87
88 Where action is one of:
89 list - List packages to auto-rebuild.
90 @@ -253,6 +274,7 @@
91 -C) R_OPTION_C='1';;
92 -e) R_OPTION_ENABLED='1';;
93 -s) R_OPTION_SKIPPED='1';;
94 + -p) R_OPTION_PATCHLEVEL='1';;
95 -*) phelp; exit 1;;
96 *) break;;
97 esac
98 @@ -271,11 +293,23 @@
99 C_RED=''
100 fi
101
102 +vdr_plugin_dir=$(get_vdr_plugin_dir)
103 +
104 if [[ ${R_OPTION_SKIPPED} == 1 && ! -f ${R_PLUGINS_SKIPPED} ]]; then
105 echo -e "${C_BOLD}${C_GREEN}No Plugins skipped, nothing todo${C_NORM}"
106 exit 0
107 fi
108
109 +if [[ ${R_OPTION_PATCHLEVEL} == 1 ]]; then
110 + # needed for plugin patchlevel check
111 + vdr_checksum_dir="${vdr_plugin_dir%/plugins}/checksums"
112 + vdr_checksum=/var/vdr/tmp/rebuild-vdr-checksum
113 + if ! vdr-get-header-checksum > "${vdr_checksum}"; then
114 + echo -e "${C_BOLD}${C_RED}Could not get vdr header checksum${C_NORM}"
115 + exit 1
116 + fi
117 +fi
118 +
119 R_CMD="$1"
120 shift
121 R_EMERGE_OPTS="$@"
122
123 --
124 gentoo-commits@l.g.o mailing list