]> piware.de Git - bin.git/blobdiff - postinst-setup
postinst-setup: fix remaining idempotency bugs
[bin.git] / postinst-setup
index 754661f81ea1e6fd55554d93b674632319b1aa62..4c691728260f54cde70555769897dfcb3318d539 100755 (executable)
@@ -7,13 +7,15 @@ if [ -d /home/martin/backup ] && [ ! -d /var/backups/martin ]; then
 fi
 
 # install already shipped debs
-[ -e /mirror ] || ln -s /home/ubuntu-mirror /mirror
-mount -o loop /home/martin/download/ubuntu/gutsy-alternate-amd64.iso /cdrom
-apt-cdrom -m add
-DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential fakeroot devscripts postfix openssh-server bzr
+UBUNTU_CD="/home/martin/download/ubuntu/`lsb_release -c`-alternate-`dpkg --print-architecture`.iso"
+if [ -r "$UBUNTU_CD" ]; then
+    mount -o loop "$UBUNTU_CD" /cdrom
+    apt-cdrom -m add
+fi
+DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential fakeroot devscripts postfix openssh-server bzr python-paramiko 
 
 # root's ssh stuff
-if [ ! -d /root/ssh ]; then
+if [ ! -d /root/.ssh ] && [ -d /home/martin/.ssh ]; then
     mkdir -p /root/.ssh
     chmod 700 /root/.ssh
     cp /home/martin/.ssh/id_dsa* /home/martin/.ssh/known_hosts /home/martin/.ssh/config /root/.ssh/
@@ -24,27 +26,28 @@ fi
 cd /etc
 if [ ! -d /etc/.bzr ]; then
     for i in passwd group shadow fstab; do
-        cp $i $i.originst
+        [ -e $i.originst ] || cp $i $i.originst
+    done
+    bzr get sftp://martin@piware.de/home/martin/backup/`hostname`-etc /backup-etc
+    cp -av /backup-etc/* /etc/
+    cp -av /backup-etc/.bzr/ /etc/
+    rm -rf /backup-etc
+    chmod 600 /etc/ssh/ssh_*_key
+
+    # only restore dchroot part into fstab
+    grep -A 200 "^# dchroots" fstab >> fstab.originst || true
+    mv fstab.originst fstab
+
+    # only restore the human users from passwd/group
+    for i in passwd group; do
+        perl -naF: -e 'print if $F[2] > 1000 && $F[2] < 60000' $i >> $i.originst
+        mv $i.originst $i
     done
-    bzr get bzr+ssh://martin@piware.de/home/martin/backup/desktop-etc /desktop-etc
-    cp -av /desktop-etc/* /etc/
-    cp -av /desktop-etc/.bzr/ /etc/
-    rm -rf /desktop-etc
-fi
-
-# only restore dchroot part into fstab
-grep -A 200 "^# dchroots" fstab >> fstab.originst
-mv fstab.originst fstab
-
-# only restore the human users from passwd/group
-for i in passwd group; do
-    perl -naF: -e 'print if $F[2] >= 1000 && $F[2] < 60000' $i >> $i.originst
-    mv $i.originst $i
-done
 
-# only restore some passwords from shadow
-egrep 'martin|netti|test|joe' shadow >> shadow.originst
-mv shadow.originst shadow
+    # only restore some passwords from shadow
+    egrep 'martin|netti|joe' shadow >> shadow.originst
+    mv shadow.originst shadow
+fi
 
 # update postfix for new configuration
 newaliases
@@ -60,35 +63,37 @@ fi
 dpkg -i /home/martin/download/libdvdcss2_*deb || true
 locale-gen ru_RU ru_RU.UTF-8
 
-# cronjob goo
-killall apt-get || true
-
 # remove packages that we do not need
-apt-get remove --purge -y --auto-remove network-manager hplip brltty bluez-cups gnome-accessibility-themes gnome-mag gnome-orca onboard tomboy ttf-arabeyes ttf-arphic-ukai ttf-arphic-uming ttf-baekmuk ttf-gentium ttf-indic-fonts ttf-kochi-gothic ttf-kochi-mincho ttf-lao ttf-malayalam-fonts ttf-mgopen ttf-thai-tlwg
-
-rm /etc/rcS.d/*pcmcia* /etc/rcS.d/*ppp*
+killall apt-get || true # cronjob goo
+apt-get purge -y --auto-remove hplip brltty bluez-cups gnome-accessibility-themes gnome-mag gnome-orca onboard tomboy ttf-arabeyes ttf-arphic-uming ttf-baekmuk ttf-gentium ttf-kochi-gothic ttf-kochi-mincho ttf-lao ttf-malayalam-fonts ttf-mgopen ttf-thai-tlwg || true
 
-# restore our network
-ifdown eth0 || true
-ifup eth0
-
-# cronjob goo
-killall apt-get || true
+rm -f /etc/rcS.d/*pcmcia* /etc/rcS.d/*ppp*
 
 # install packages from network sources
+killall apt-get || true
 apt-get update -o Acquire::Http::No-Cache=true
 
-DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes vim bzrtools python-paramiko patchutils offlineimap wipe gnome-gpg diffstat dchroot gtimelog rsnapshot jigdo-file libtool devhelp python-doc manpages-dev gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-ffmpeg xchat debmirror dpatch wdiff dhcp3-server grep-dctrl ccache subversion listadmin quilt apache2 python-dev cryptsetup mutt editmoin lintian
-apt-get -y build-dep postgresql-8.2 gnome-volume-manager hal cupsys apport
+DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes vim bzrtools bzr-svn patchutils offlineimap wipe diffstat gtimelog jigdo-file libtool devhelp python-doc manpages-dev gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-ffmpeg weechat weechat-plugins weechat-scripts dpatch wdiff grep-dctrl ccache subversion listadmin quilt python-dev cryptsetup mutt editmoin lintian python-gtk2-doc fakechroot ubuntu-dev-tools dput gnome-blog
+apt-get -y build-dep postgresql-8.3 gnome-volume-manager hal cupsys apport jockey
 
-# other setup
-ln -s /mirror /var/www/mirror
-ifdown eth1
-ifup eth1
-/etc/init.d/dhcp3-server restart
+if [ `hostname` = donald ]; then
+    DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes dchroot rsnapshot dhcp3-server apache2 ia32-libs easytag latex-beamer texlive-lang-german fakechroot
+fi
+
+umount /cdrom || true
 
-# crontabs
-crontab -u martin - <<EOF
+# other setup
+if [ `hostname` = "donald" ]; then
+    [ -e /mirror ] || ln -s /home/ubuntu-mirror /mirror
+    ln -s /mirror /var/www/mirror
+    ifdown eth1
+    ifup eth1
+    /etc/init.d/dhcp3-server restart
+    patch /usr/bin/gtimelog ~martin/archiv/gtimelog.wednesday.patch
+
+    # crontabs
+    crontab -u martin - <<EOF
 # m h  dom mon dow   command
 05 * * * * \$HOME/bin/backup >/dev/null
 EOF
+fi