Игорь Пашев - Обновление Слаки

Dec. 18th, 2008

01:48 pm - Обновление Слаки

Previous Entry Add to Memories Tell A Friend Next Entry

Так как имею 1354 пакета, из которых 334 собраны самостоятельно
(некоторые обновлённые-пропатченные-пересобранные слаковские),
то обновляться до Слаки номер 12.2 надо осторожно.

Написал скрипт, показывающий что я имею:

#!/bin/bash

pkgdir='/var/adm/packages'

for f in "$@"; do
    new=$(basename "$f" .tgz)
    name=''; ver=''; arch=''; build=''
    eval $(echo "$new" | \
        sed -r 's,(.+)-([^-]+)-([^-]+)-([^-]+)$,name="\1"\nver="\2"\narch="\3"\nbuild="\4",i' | \
        grep =)

#    echo $name, $ver, $arch, $build

    pushd "$pkgdir" >/dev/null
    installed=$(ls "$name"* -1 2>/dev/null | grep -P -- ^"\Q$name\E"'-[^-]+-[^-]+-[^-]+$' )
    first=$(echo $installed | head -n 1)
    popd >/dev/null

    if [ "$new" == "$first" ]; then
        echo "# $f # same "
    elif [ "" == "$first" ]; then
        echo "installpkg $f"
    else
        echo -n "upgradepkg $f #"
        for p in $installed; do
            echo -n " $p"
        done
        echo
    fi
done

exit 0


Вот пример его работы:
...
# /mnt/slack-12.2/slackware/n/inetd-1.79s-i486-8.tgz # same
upgradepkg /mnt/slack-12.2/slackware/n/iproute2-2.6.26-i486-1.tgz # iproute2-2.6.16_060323-i486-2
upgradepkg /mnt/slack-12.2/slackware/n/iptables-1.4.2-i486-1.tgz # iptables-1.4.0-i486-1
# /mnt/slack-12.2/slackware/n/iptraf-3.0.0-i486-2.tgz # same
# /mnt/slack-12.2/slackware/n/iputils-s20070202-i486-2.tgz # same
# /mnt/slack-12.2/slackware/n/ipw2100-fw-1.3-fw-1.tgz # same
# /mnt/slack-12.2/slackware/n/ipw2200-fw-3.0-fw-2.tgz # same
upgradepkg /mnt/slack-12.2/slackware/n/irssi-0.8.12-i486-2.tgz # irssi-0.8.12-i486-1
upgradepkg /mnt/slack-12.2/slackware/n/iwlwifi-3945-ucode-15.28.2.8-fw-1.tgz # iwlwifi-3945-ucode-2.14.1.5-fw-1
upgradepkg /mnt/slack-12.2/slackware/n/iwlwifi-4965-ucode-228.57.2.21-fw-1.tgz # iwlwifi-4965-ucode-4.44.1.20-fw-1
installpkg /mnt/slack-12.2/slackware/n/iwlwifi-5000-ucode-5.4.A.11-fw-1.tgz
upgradepkg /mnt/slack-12.2/slackware/n/lftp-3.7.4-i486-1.tgz # lftp-3.7.0-i486-2pin
# /mnt/slack-12.2/slackware/n/libassuan-1.0.4-i486-1.tgz # same
# /mnt/slack-12.2/slackware/n/libgcrypt-1.4.0-i486-2.tgz # same
# /mnt/slack-12.2/slackware/n/libgpg-error-1.6-i486-3.tgz # same
# /mnt/slack-12.2/slackware/n/libksba-1.0.3-i486-1.tgz # same
upgradepkg /mnt/slack-12.2/slackware/n/links-2.2-i486-1.tgz # links-2.1-i486-1_slack12.1
# /mnt/slack-12.2/slackware/n/lynx-2.8.6rel.5-i486-1.tgz # same
...

Лишнее очень быстро удаляется в Виме.

Tags: ,
(Оставить комментарий)