]> piware.de Git - bin.git/blobdiff - postinst-setup
postinst-setup: fix gtimelog patching for current version
[bin.git] / postinst-setup
index 859f445ddb0c231446a91c76f9925ccc28b77847..120f906c380556ae73d3f606f8b29a3c6991d4fd 100755 (executable)
@@ -1,91 +1,88 @@
 #!/bin/sh -e
 
-# 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
-
-dpkg -i ~martin/download/afio*.deb || exit 1
-
-# configuration files
-mkdir -p /var/backups/pibackup/
-[ -e /home/full*.cpio ] && mv /home/full*.cpio /var/backups/pibackup/ || true
-
-CURBACKUP=`ls -t /var/backups/pibackup/full* | head -n 1`
-[ -e "$CURBACKUP" ] || {
-    echo no current full backup in /var/backups/pibackup
-    exit 1
-}
-cd /
-afio -iZ -y '/etc/*' -Y /etc/passwd -Y /etc/group -Y /etc/shadow -Y /etc/fstab $CURBACKUP
-
-# only restore dchroot part into fstab
-cd /tmp
-afio -iZ -y /etc/fstab $CURBACKUP
-grep -A 200 "^# dchroots" /tmp/etc/fstab >> /etc/fstab
-rm -rf /tmp/etc
+# move backup to /var
+if [ -d /home/martin/backup ] && [ ! -d /var/backups/martin ]; then
+    cp -a /home/martin/backup /var/backups/martin
+    rm -rf /home/martin/backup
+fi
 
-newaliases
-/etc/init.d/postfix restart
+# need bzr and postfix for the setup below
+DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends postfix openssh-server bzr python-paramiko 
 
-# install users
-cat <<EOF >> /etc/passwd
-joe:x:1001:1001:Joe User,,,:/home/joe:/bin/bash
-netti:x:1002:1002:Annett Kittel,,,:/home/netti:/bin/bash
-EOF
-cat <<EOF >> /etc/shadow
-joe:$1$7t1pZTyL$lI7.B/9DtPa6y2BD8wTNZ/:13060:0:99999:7:::
-netti:$1$5uq6X7u0$92yOfMH2Nh89Ui.hbaEDp/:12930:0:99999:7:::
-EOF
-cat <<EOF >> /etc/group
-joe:x:1001:
-netti:x:1002:
-EOF
+# root's ssh stuff
+if [ ! -d /root/.ssh ] && [ -d /home/martin/.ssh ]; then
+    mkdir -p /root/.ssh
+    chmod 700 /root/.ssh
+    cp /home/martin/.ssh/id_rsa* /home/martin/.ssh/known_hosts /home/martin/.ssh/config /root/.ssh/
+fi
 
-for g in cdrom audio video plugdev scanner; do
-    for u in joe netti; do
-        adduser $u $g
+# restore /etc bzr branch, rescue the files we do not want to restore
+# completely
+cd /etc
+if [ ! -d /etc/.bzr ]; then
+    for i in passwd group shadow fstab; do
+        [ -e $i.originst ] || cp $i $i.originst
+    done
+    [ -e /backup-etc ] || bzr get bzr+ssh://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
+    chmod 640 /etc/shadow
+    chown root:shadow /etc/shadow
+    chmod 700 /etc/ssl/private
+    chmod 640 /etc/ssl/private/ssl-cert-*
+    chown root:ssl-cert /etc/ssl/private/ssl-cert*
+
+    # only restore dchroot part into fstab
+    grep -A 200 "^#.*chroot" 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
-done
-
-# root's ssh stuff
-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/
 
-# copy apt cache
-if [ -d /home/aptcache ]; then
-    find /home/aptcache/ -name "*.deb" -exec cp '{}' /var/cache/apt/archives/ \;
+    # only restore some passwords from shadow
+    egrep 'martin|netti|joe' shadow >> shadow.originst
+    mv shadow.originst shadow
+    chown root:shadow shadow
+    chmod 640 shadow
 fi
 
+# update postfix for new configuration
+newaliases
+/etc/init.d/postfix restart
+
 # other setup
 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 hplip-data hpijs brltty bluez-cups gnome-accessibility-themes gnome-mag gnome-orca onboard tomboy ttf-lao ttf-thai-tlwg || true
 
-# restore our network
-ifdown eth0 || true
-ifup eth0
+rm -f /etc/rcS.d/*pcmcia* /etc/rcS.d/*ppp*
 
-# cronjob goo
+# install packages from network sources
 killall apt-get || true
+apt-get update
 
-# install packages from network sources
-apt-get update -o Acquire::Http::No-Cache=true
+DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y --force-yes vim bzrtools patchutils offlineimap wipe diffstat gtimelog jigdo-file libtool devhelp python-doc manpages-dev gstreamer0.10-fluendo-mp3 gstreamer0.10-ffmpeg weechat weechat-plugins weechat-scripts dpatch wdiff ccache listadmin quilt cryptsetup mutt editmoin lintian python-gtk2-doc fakechroot ubuntu-dev-tools dput dchroot fakechroot easytag rsnapshot texlive-lang-german texlive-latex-extra powertop vim-scripts libtemplate-perl kvm bzr-buildpackage git-core greasemonkey build-essential fakeroot devscripts libglib2.0-doc libgtk2.0-doc git-buildpackage d-feet germinate debootstrap seahorse-plugins wmctrl mumble
+apt-get -y build-dep postgresql-8.4 cups apport calibre gvfs udisks upower gnome-disk-utility
 
-DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes vim bzr bzrtools python-paramiko patchutils offlineimap wipe gnome-gpg diffstat dchroot gtimelog pibackup 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
-apt-get -y build-dep postgresql-8.2 gnome-volume-manager hal cupsys apport
+# basic 32 bit libraries (for adb)
+if [ `uname -m` = x86_64 ]; then
+    apt-get install -y lib32stdc++6 lib32ncurses5 libc6-i386
+fi
 
-# other setup
-ln -s /mirror /var/www/mirror
-ifdown eth1
-ifup eth1
-/etc/init.d/dhcp3-server restart
+# crontabs
+crontab -u martin - <<EOF
+# m h  dom mon dow   command
+05 * * * * \$HOME/bin/backup >/dev/null
+EOF
+
+if [ -x /usr/bin/gtimelog ]; then
+    patch --no-backup-if-mismatch /usr/share/pyshared/gtimelog/main.py ~martin/archiv/gtimelog.tuesday.patch
+fi