Annotation of /trunk/mage/usr/lib/mage/fixdatabase_ifs.sh
Parent Directory | Revision Log
Revision 24 -
(hide annotations)
(download)
(as text)
Wed Jan 5 05:08:01 2005 UTC (19 years, 4 months ago) by niro
File MIME type: application/x-sh
File size: 4057 byte(s)
Wed Jan 5 05:08:01 2005 UTC (19 years, 4 months ago) by niro
File MIME type: application/x-sh
File size: 4057 byte(s)
mage-0.3.6-r8 import
1 | niro | 24 | #!/bin/bash |
2 | |||
3 | #fixdatabase_ifs.sh | ||
4 | # version: 0.3.6-r5 | ||
5 | #(deprecated; used to upgrade systems prior 0.3.6-r1 ) | ||
6 | |||
7 | #fixes the ifs of included db_files in given package | ||
8 | |||
9 | MLIBDIR=/usr/lib/mage | ||
10 | |||
11 | usage(){ | ||
12 | echo | ||
13 | echo "$(basename $0) OLD_IFS NEW_IFS /path/to/PACKAGEFILE.mpk" | ||
14 | echo | ||
15 | } | ||
16 | |||
17 | if [ $# -ne 3 ] | ||
18 | then | ||
19 | usage | ||
20 | exit 1 | ||
21 | fi | ||
22 | |||
23 | #some needed infos | ||
24 | source ${MLIBDIR}/mage3.functions.sh | ||
25 | source /etc/mage.rc | ||
26 | |||
27 | PKGFILE=$3 | ||
28 | PKGNAME=$(basename ${PKGFILE} .mpk) | ||
29 | OLD_IFS=$1 | ||
30 | NEW_IFS=$2 | ||
31 | |||
32 | DB_ENTRY=${BUILDDIR}/${PKGNAME} | ||
33 | |||
34 | echo -n "Unpacking ${PKGNAME} ... " | ||
35 | tar xjmf ${PKGFILE} -C ${BUILDDIR} | ||
36 | echo "done" | ||
37 | |||
38 | |||
39 | echo -n "Updating ${PKGNAME}/.files ... " | ||
40 | #updating .files db entries | ||
41 | if [ -e ${DB_ENTRY}/.files ] | ||
42 | then | ||
43 | #make backup | ||
44 | mv ${DB_ENTRY}/.files \ | ||
45 | ${DB_ENTRY}/.files-old | ||
46 | |||
47 | #sets fieldseperator to "$OLD_IFS" instead of " " | ||
48 | IFS=${OLD_IFS} | ||
49 | |||
50 | #update | ||
51 | while read pathto posix user group mtime md5sum | ||
52 | do | ||
53 | echo "${pathto}${NEW_IFS}${posix}${NEW_IFS}${user}${NEW_IFS}${group}${NEW_IFS}${mtime}${NEW_IFS}${md5sum}" \ | ||
54 | >> ${DB_ENTRY}/.files | ||
55 | done < ${DB_ENTRY}/.files-old | ||
56 | |||
57 | #remove old list | ||
58 | rm -f ${DB_ENTRY}/.files-old | ||
59 | |||
60 | #very important: unsetting the fieldseperator | ||
61 | unset IFS | ||
62 | else | ||
63 | fatal_error .files | ||
64 | fi | ||
65 | #recreate if .files was zero | ||
66 | if [ ! -e ${DB_ENTRY}/.files ] | ||
67 | then | ||
68 | touch ${DB_ENTRY}/.files | ||
69 | fi | ||
70 | echo "done" | ||
71 | |||
72 | |||
73 | echo -n "Updating ${PKGNAME}/.symlinks ... " | ||
74 | #updating .symlinks db entries | ||
75 | if [ -e ${DB_ENTRY}/.symlinks ] | ||
76 | then | ||
77 | #make backup | ||
78 | mv ${DB_ENTRY}/.symlinks \ | ||
79 | ${DB_ENTRY}/.symlinks-old | ||
80 | |||
81 | #sets fieldseperator to "$OLD_IFS" instead of " " | ||
82 | IFS=${OLD_IFS} | ||
83 | |||
84 | #update | ||
85 | while read pathto posix link mtime | ||
86 | do | ||
87 | echo "${pathto}${NEW_IFS}${posix}${NEW_IFS}${link}${NEW_IFS}${mtime}" \ | ||
88 | >> ${DB_ENTRY}/.symlinks | ||
89 | done < ${DB_ENTRY}/.symlinks-old | ||
90 | |||
91 | #remove old list | ||
92 | rm -f ${DB_ENTRY}/.symlinks-old | ||
93 | |||
94 | #very important: unsetting the fieldseperator | ||
95 | unset IFS | ||
96 | else | ||
97 | fatal_error .symlinks | ||
98 | fi | ||
99 | #recreate if .symlinks was zero | ||
100 | if [ ! -e ${DB_ENTRY}/.symlinks ] | ||
101 | then | ||
102 | touch ${DB_ENTRY}/.symlinks | ||
103 | fi | ||
104 | echo "done" | ||
105 | |||
106 | |||
107 | echo -n "Updating ${PKGNAME}/.dirs ... " | ||
108 | #updating .dirs db entries | ||
109 | if [ -e ${DB_ENTRY}/.dirs ] | ||
110 | then | ||
111 | #make backup | ||
112 | mv ${DB_ENTRY}/.dirs \ | ||
113 | ${DB_ENTRY}/.dirs-old | ||
114 | |||
115 | #sets fieldseperator to "$OLD_IFS" instead of " " | ||
116 | IFS=${OLD_IFS} | ||
117 | |||
118 | #update | ||
119 | while read pathto posix user group | ||
120 | do | ||
121 | echo "${pathto}${NEW_IFS}${posix}${NEW_IFS}${user}${NEW_IFS}${group}" \ | ||
122 | >> ${DB_ENTRY}/.dirs | ||
123 | done < ${DB_ENTRY}/.dirs-old | ||
124 | |||
125 | #remove old list | ||
126 | rm -f ${DB_ENTRY}/.dirs-old | ||
127 | |||
128 | #very important: unsetting the fieldseperator | ||
129 | unset IFS | ||
130 | else | ||
131 | fatal_error .dirs | ||
132 | fi | ||
133 | #recreate if .dirs was zero | ||
134 | if [ ! -e ${DB_ENTRY}/.dirs ] | ||
135 | then | ||
136 | touch ${DB_ENTRY}/.dirs | ||
137 | fi | ||
138 | echo "done" | ||
139 | |||
140 | |||
141 | echo -n "Updating ${PKGNAME}/.pipes ... " | ||
142 | #updating .pipes db entries | ||
143 | if [ -e ${DB_ENTRY}/.pipes ] | ||
144 | then | ||
145 | #make backup | ||
146 | mv ${DB_ENTRY}/.pipes \ | ||
147 | ${DB_ENTRY}/.pipes-old | ||
148 | |||
149 | #sets fieldseperator to "$OLD_IFS" instead of " " | ||
150 | IFS=${OLD_IFS} | ||
151 | |||
152 | #update | ||
153 | while read pathto posix | ||
154 | do | ||
155 | echo "${pathto}${NEW_IFS}${posix}" \ | ||
156 | >> ${DB_ENTRY}/.pipes | ||
157 | done < ${DB_ENTRY}/.pipes-old | ||
158 | |||
159 | #remove old list | ||
160 | rm -f ${DB_ENTRY}/.pipes-old | ||
161 | |||
162 | #very important: unsetting the fieldseperator | ||
163 | unset IFS | ||
164 | else | ||
165 | fatal_error .pipes | ||
166 | fi | ||
167 | #recreate if .pipes was zero | ||
168 | if [ ! -e ${DB_ENTRY}/.pipes ] | ||
169 | then | ||
170 | touch ${DB_ENTRY}/.pipes | ||
171 | fi | ||
172 | echo "done" | ||
173 | |||
174 | |||
175 | echo -n "Updating ${PKGNAME}/.char ... " | ||
176 | #updating .char db entries | ||
177 | if [ -e ${DB_ENTRY}/.char ] | ||
178 | then | ||
179 | #make backup | ||
180 | mv ${DB_ENTRY}/.char \ | ||
181 | ${DB_ENTRY}/.char-old | ||
182 | |||
183 | #sets fieldseperator to "$OLD_IFS" instead of " " | ||
184 | IFS=${OLD_IFS} | ||
185 | |||
186 | #update | ||
187 | while read pathto posix | ||
188 | do | ||
189 | echo "${pathto}${NEW_IFS}${posix}" \ | ||
190 | >> ${DB_ENTRY}/.char | ||
191 | done < ${DB_ENTRY}/.char-old | ||
192 | |||
193 | #remove old list | ||
194 | rm -f ${DB_ENTRY}/.char-old | ||
195 | |||
196 | #very important: unsetting the fieldseperator | ||
197 | unset IFS | ||
198 | else | ||
199 | fatal_error .char | ||
200 | fi | ||
201 | #recreate if .char was zero | ||
202 | if [ ! -e ${DB_ENTRY}/.char ] | ||
203 | then | ||
204 | touch ${DB_ENTRY}/.char | ||
205 | fi | ||
206 | echo "done" | ||
207 | |||
208 | echo -n "Rebuilding Package ... " | ||
209 | cd ${BUILDDIR} | ||
210 | tar cjf ${PKGNAME}.tar.bz2 ./${PKGNAME} | ||
211 | install -d ${PKGDIR} | ||
212 | mv ${PKGNAME}.tar.bz2 ${PKGDIR}/${PKGNAME}.mpk | ||
213 | echo "done" | ||
214 | echo |
Properties
Name | Value |
---|---|
svn:executable | * |