[1120] | 1 | #!/bin/sh |
---|
| 2 | # script to upgrade user files to adapt the newest version of the Vine Linux |
---|
| 3 | # by Jun Nishii <jun@vinelinux.org> |
---|
| 4 | # Time-stamp: <02/10/06 00:53:57 vine> |
---|
| 5 | |
---|
| 6 | VER=5.0 |
---|
| 7 | LOG=$HOME/upgrade-log |
---|
| 8 | STAMP=${HOME}/.vine/VineLinux${VER} |
---|
| 9 | |
---|
| 10 | chkAndCpFile(){ |
---|
| 11 | if [ ! -f $1 ] ;then |
---|
| 12 | install -m 644 /etc/skel/$1 ${HOME} |
---|
| 13 | echo "added new config file $1" >> ${LOG} |
---|
| 14 | fi |
---|
| 15 | } |
---|
| 16 | |
---|
| 17 | chkAndCpDir(){ |
---|
| 18 | if [ ! -d $1 ]; then |
---|
| 19 | cp -r /etc/skel/$1 ${HOME} |
---|
| 20 | echo "added new config directory $1" >> ${LOG} |
---|
| 21 | fi |
---|
| 22 | } |
---|
| 23 | |
---|
| 24 | Update(){ # checkstr, oldstr, newstr, target |
---|
| 25 | if [ -f $4 ]; then |
---|
| 26 | TEST=`grep "$1" $4 2>/dev/null` |
---|
| 27 | if [ -n "${TEST}" ]; then |
---|
| 28 | echo "replace $2 as $3 in $4" >> ${LOG} |
---|
| 29 | cp $4 $4.new |
---|
| 30 | sed -e 's|'"$2"'|'"$3"'|' $4.new > $4 |
---|
| 31 | rm $4.new |
---|
| 32 | return 0 |
---|
| 33 | fi |
---|
| 34 | fi |
---|
| 35 | return 1 |
---|
| 36 | } |
---|
| 37 | |
---|
| 38 | chkSame(){ # target newguy |
---|
| 39 | if diff $1 $2 >/dev/null 2>&1; then |
---|
| 40 | return 0 |
---|
| 41 | else |
---|
| 42 | return 1 |
---|
| 43 | fi |
---|
| 44 | } |
---|
| 45 | |
---|
| 46 | chkMD5Update(){ # target md5sum newguy |
---|
| 47 | [ ! -f $1 ] && return 1 |
---|
| 48 | |
---|
| 49 | CHECK=`md5sum $1 | cut -f 1 -d " "` |
---|
| 50 | if [ "${CHECK}" = "$2" ]; then |
---|
| 51 | cp $3 ${HOME} |
---|
| 52 | echo "$1 was replaced to new one for Vine Linux ${VER}" >>${LOG} |
---|
| 53 | return 0 |
---|
| 54 | else |
---|
| 55 | return 1 |
---|
| 56 | fi |
---|
| 57 | } |
---|
| 58 | |
---|
| 59 | ###########################################################################3 |
---|
| 60 | |
---|
| 61 | #[ -f ${LOG} ] && rm ${LOG} |
---|
| 62 | [ -f ${STAMP} ] && return 0 |
---|
| 63 | |
---|
| 64 | ###########################################################################3 |
---|
| 65 | |
---|
| 66 | ##### Xresources |
---|
| 67 | TARGET=${HOME}/.Xresources |
---|
| 68 | NEW=/etc/skel/.Xresources |
---|
| 69 | chkSame $TARGET $NEW || ( |
---|
| 70 | # from 4.0 4.1 4.2 |
---|
| 71 | MD5SUM="d5651f30e2e4fabbaafe3aee60f6bda2" |
---|
| 72 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 73 | # from 3.x |
---|
| 74 | MD5SUM="3347c5d3eb5cbb90255b3dc46bd25728" |
---|
| 75 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 76 | # from 2.6 |
---|
| 77 | MD5SUM="2ba8631e24045a2d76603b91a4aed6c0" |
---|
| 78 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 79 | # from 2.6CR |
---|
| 80 | MD5SUM="6958944eb43282ef3cb5f09f0323296f" |
---|
| 81 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 82 | ) |
---|
| 83 | |
---|
| 84 | ##### bash_logout |
---|
| 85 | TARGET=${HOME}/.bash_logout |
---|
| 86 | NEW=/etc/skel/.bash_logout |
---|
| 87 | chkSame $TARGET $NEW || ( |
---|
| 88 | # from 2.5, 2.6, 3.x, 4.0, 4.1 |
---|
| 89 | MD5SUM="d19bbbed9d713f97f487b9ed9ec3f62f" |
---|
| 90 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 91 | ) |
---|
| 92 | |
---|
| 93 | ##### bash_profile |
---|
| 94 | TARGET=${HOME}/.bash_profile |
---|
| 95 | NEW=/etc/skel/.bash_profile |
---|
| 96 | chkSame $TARGET $NEW || ( |
---|
| 97 | # from 2.5 & 2.6 & 3.x & 4.0, 4.1 |
---|
| 98 | MD5SUM="68fa45c9d56046c8f6ce3c3ea2e8376b" |
---|
| 99 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 100 | # from 2.1.5 and before |
---|
| 101 | MD5SUM="7feed2b53dad06634b2bc32d63f634e4" |
---|
| 102 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 103 | ) |
---|
| 104 | |
---|
| 105 | ##### bashrc |
---|
| 106 | TARGET=${HOME}/.bashrc |
---|
| 107 | NEW=/etc/skel/.bashrc |
---|
| 108 | chkSame $TARGET $NEW || ( |
---|
| 109 | # from 3.x & 4.0, 4.1 |
---|
| 110 | MD5SUM="6d43294e457bb568957d2fb2b43b0355" |
---|
| 111 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 112 | # from 2.5 & 2.6 |
---|
| 113 | MD5SUM="e31a08d3af08bed5e4f246a3dacc36d8" |
---|
| 114 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 115 | # from 2.1 & 2.1.5 |
---|
| 116 | MD5SUM="6ad96798a72f420d409095ca0ed538f1" |
---|
| 117 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 118 | # from 2.0 |
---|
| 119 | MD5SUM="a1d1b54732257d96b9219af0c7f1fc7a" |
---|
| 120 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 121 | ) |
---|
| 122 | |
---|
| 123 | ##### cshrc |
---|
| 124 | TARGET=${HOME}/.cshrc |
---|
| 125 | NEW=/etc/skel/.cshrc |
---|
| 126 | chkSame $TARGET $NEW || ( |
---|
| 127 | # from 2.6 & 3.x & 4.0, 4.1 |
---|
| 128 | MD5SUM="d72dab0210938146b5c4ffe01d874e3a" |
---|
| 129 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 130 | # from 2.1 & 2.1.5 |
---|
| 131 | MD5SUM="9ccfb8703e6ae18b627b46aeb84a05b1" |
---|
| 132 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 133 | # from 2.0 |
---|
| 134 | MD5SUM="e353c9ee3971539acdfb4a8769f34c66" |
---|
| 135 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 136 | ) |
---|
| 137 | |
---|
| 138 | ##### emacs |
---|
| 139 | TARGET=${HOME}/.emacs |
---|
| 140 | NEW=/etc/skel/.emacs |
---|
| 141 | chkSame $TARGET $NEW || ( |
---|
| 142 | # from 2.6 & 3.x & 4.0, 4.1 |
---|
| 143 | MD5SUM="3c866b2dafd2a7ba7ea2b41faf24f523" |
---|
| 144 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 145 | # from 2.1 & 2.1.5 & 2.5 |
---|
| 146 | MD5SUM="289ba7d687f770983b143ea0e424c722" |
---|
| 147 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 148 | ) |
---|
| 149 | |
---|
| 150 | ##### .emacs.el |
---|
| 151 | TARGET=${HOME}/.emacs.el |
---|
| 152 | NEW=/etc/skel/.emacs.el |
---|
| 153 | chkSame $TARGET $NEW || ( |
---|
| 154 | MD5SUM="bd4f9e933abc2db52c02715d71fe6c94" |
---|
| 155 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 156 | # from 4.1+ |
---|
| 157 | MD5SUM="c2876e464b4e2572fcfa1e95ec111a6c" |
---|
| 158 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 159 | # from 4.1 |
---|
| 160 | MD5SUM="6305d80793bd17761e9b054d1c71094e" |
---|
| 161 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 162 | # from 4.0 |
---|
| 163 | MD5SUM="233bd3d3636ac04d7ec1223280f01ce1" |
---|
| 164 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 165 | # from 3.2 |
---|
| 166 | MD5SUM="cc1a41f2dbc775fccfa0d07cbfe48b8b" |
---|
| 167 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 168 | # from 3.1 |
---|
| 169 | MD5SUM="d2b98e579143983a39a6639120e8579a" |
---|
| 170 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 171 | # from 3.0 |
---|
| 172 | MD5SUM="a0bbf086255f0751583520e7fd47326c" |
---|
| 173 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 174 | # from 2.6 |
---|
| 175 | MD5SUM="76785a2498f22f430583cbd649d8cfc3" |
---|
| 176 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 177 | # from 2.6CR |
---|
| 178 | MD5SUM="00ae4ed293d418a43f6018941173ff7a" |
---|
| 179 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 180 | # from 2.5 |
---|
| 181 | MD5SUM="6718c077a33f729c0f3340ff362d53f6" |
---|
| 182 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 183 | # from 2.1 & 2.1.5 |
---|
| 184 | MD5SUM="e5d037ca2ea00619dc72ad5c59baca3a" |
---|
| 185 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 186 | # from 2.0 |
---|
| 187 | MD5SUM="ecb3dec80763a8fdb0888d8980c49286" |
---|
| 188 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 189 | ) |
---|
| 190 | |
---|
| 191 | ### rpmmacros |
---|
| 192 | TARGET=${HOME}/.rpmmacros |
---|
| 193 | NEW=/etc/skel/.rpmmacros |
---|
| 194 | chkSame $TARGET $NEW || ( |
---|
| 195 | # from 4.x |
---|
| 196 | MD5SUM="aeffd267d61af5ca4718cee9bb2cb2de" |
---|
| 197 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 198 | # from 3.x |
---|
| 199 | MD5SUM="ba738a926ffb0e5752ef440ba915634d" |
---|
| 200 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 201 | # from 2.6 |
---|
| 202 | # MD5SUM="ba738a926ffb0e5752ef440ba915634d" |
---|
| 203 | # chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 204 | # from 2.1.5 |
---|
| 205 | # MD5SUM="ba738a926ffb0e5752ef440ba915634d" |
---|
| 206 | # chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 207 | # from 2.1 |
---|
| 208 | MD5SUM="2b2a0f4e2d7ec077db33f031f66cac9c" |
---|
| 209 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 210 | ) |
---|
| 211 | |
---|
| 212 | ##### xemacs.el |
---|
| 213 | TARGET=${HOME}/.xemacs.el |
---|
| 214 | NEW=/etc/skel/.xemacs.el |
---|
| 215 | chkSame $TARGET $NEW || ( |
---|
| 216 | # from 4.0 |
---|
| 217 | MD5SUM="05c1705daa7769a65efa6045206c574b" |
---|
| 218 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 219 | # from 3.x |
---|
| 220 | MD5SUM="4b459e779adb38fabb461a27d0cfa76e" |
---|
| 221 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 222 | # from 2.6 |
---|
| 223 | MD5SUM="a48ed6df7d52422455713a1d61b69d64" |
---|
| 224 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 225 | # from 2.6 |
---|
| 226 | MD5SUM="4764be822a419a7f620fc082ced8d6ac" |
---|
| 227 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 228 | # from 2.1 & 2.1.5 |
---|
| 229 | MD5SUM="ea9b58406676c6f586cb80e63d37bffe" |
---|
| 230 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 231 | # from 2.0 |
---|
| 232 | MD5SUM="81982a524f9ab581a017dbfaa77f2d34" |
---|
| 233 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 234 | ) |
---|
| 235 | ##### xemacs.el |
---|
| 236 | TARGET=${HOME}/.xemacs/init.el |
---|
| 237 | NEW=/etc/skel/.xemacs/init.el |
---|
| 238 | chkSame $TARGET $NEW || ( |
---|
| 239 | # from 4.1+ |
---|
| 240 | MD5SUM="a19da2801c7287a89f92e63f9ba335cd" |
---|
| 241 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 242 | # from 4.1 |
---|
| 243 | MD5SUM="42554ea7b5738e5519e4b22b5dab5a73" |
---|
| 244 | chkMD5Update $TARGET $MD5SUM $NEW |
---|
| 245 | ) |
---|
| 246 | |
---|
| 247 | # imelib -> vinelib (from 2.0) |
---|
| 248 | TARGET=${HOME}/.bashrc |
---|
| 249 | Update "imelib" \ |
---|
| 250 | "imelib" \ |
---|
| 251 | "vinelib" \ |
---|
| 252 | $TARGET && ( |
---|
| 253 | echo "Your ~/.bashrc seems to be old." >> ${LOG} |
---|
| 254 | echo "Please compare it with /etc/skel/.bashrc and update it!" >> ${LOG} |
---|
| 255 | ) |
---|
| 256 | |
---|
| 257 | # CANNA_SEVER=localhost -> unix (Vine Linux 3.0) |
---|
| 258 | if [ -f ${HOME}/.vine/system/ime ]; then |
---|
| 259 | if (grep -q "CANNA_SERVER=localhost" ${HOME}/.vine/system/ime) ; then |
---|
| 260 | cp -f ${HOME}/.vine/system/ime ${HOME}/.vine/system/ime.vinesave |
---|
| 261 | sed "s/CANNA_SERVER=localhost/CANNA_SERVER=unix/" ${HOME}/.vine/system/ime.vinesave > ${HOME}/.vine/system/ime |
---|
| 262 | echo "upgraded ~/.vine/system/ime to use unix domain socket for Canna." >> ${LOG} |
---|
| 263 | fi |
---|
| 264 | fi |
---|
| 265 | |
---|
| 266 | # new files (Vine Linux 2.1) |
---|
| 267 | chkAndCpFile .rpmmacros |
---|
| 268 | chkAndCpDir rpm |
---|
| 269 | |
---|
| 270 | #################### |
---|
| 271 | touch ${STAMP} |
---|
| 272 | #################### |
---|
| 273 | unset TARGET NEW MD5SUM VER LOG STAMP |
---|
| 274 | |
---|