BASH - скрипт для пересборки пакетов

Появилась необходимость в таком скрипте. Итак, что нужно:
  1. Взять из файла одну строчку, в которой прописано название пакета (строчек в файле,скажем, ~20)
  2. С помощью нехитрых операций запустить makepkg
  3. Скопировать собранный пакет в директорию локального репа
  4. Взять из файла следующую строчку и GOTO 2

    Как такое реализовать? :<
yaourt -b package1 package2 ...
man yaourtrc
Разберемся, голубчик!
Если важно ограничиться bash-ем - то, например, aurget
http://aur.archlinux.org/packages.php?ID=31933
Amigo
yaourt -b package1 package2 ...
man yaourtrc
Блин, решение очевидно :D Спасибо
Однако, мне же нужно чтобы скрипт сам копировал собранный пакет в определенную директорию и потом обновлял БД репа…
В yaourtrc есть переменная:
EXPORTDIR="/path/to/dir"
Как мне взять путь?

З.Ы. - да, я в баше не особо :>
EXPORTDIR="/путь/к/каталогу"
такой вариант устроит?
у меня, например, там
EXPORTDIR="/media/multimedia/localrepo"
сюда перемещаются установленные пакеты.

В /etc/makepkg.conf, чтобы собранные пакеты перемещались куда желаете, надо раскомментировать строку
#PKGDEST=/home/packages 
вместо /home/packages путь к выбранному каталогу. Это в секции PACKAGE OUTPUT, если что. Это то, что вы ищете?
Иронизируем? гг
Для начала man yaourtrc:
man yaourtrc
EXPORTDIR=“”
Specify the folder where yaourt export built packages for local repository This option
export .pkg.tar.gz + PKGBUILD + local sources files.
Конечно, я могу и сам прописать для себя путь, но что если мне придется дать кому-то совсем разбирающемуся в баше? Да и для себя так будет удобнее…
У меня makepkg складывает собранные пакеты в /home/packages, там же repo-add делает репку. В чем у тебя проблема?
Разберемся, голубчик!
Так опять возвращаемся к первому вопросу :>
Примерная схема работы моего скрипта:
  1. Читаем первую строчку из списка пакетов и подставляем ее makepkg/yaourt
  2. Запускаем makepkg/yaourt
  3. Удаляем пакет и репозитория простым rm
  4. Копируем только что собранный пакет
  5. Читаем следующую строчку списка пакетов и подставляем ее makepkg
  6. 2 ()
  7. По завершении пересборки всего обновляем репозиторий

    Я реализовал пока что только возможность пересобрать 1 пакет (да, иногда необходимо такое). Вот мой скрипт:

    #!/bin/bash
    ################################################### CONFIGURATION ######
    PKGBUILDSPATH=/data/etc/PKGBUILDS
    PACKAGETEMP=/data/TEMP/PackTemp
    REPOPATH=/data/WWW/pozitpoh.is-a-geek.org/repo/i686
    REPONAME=pozitpoh
    ########################################################################
    ################################################### Main code ##########
    # Change terminal window name
    if [ "$SHELL" = '/bin/bash' ]
    then
        case $TERM in
             rxvt|*term)
                set -o functrace
                trap 'echo -ne "\e]0;Arch Linux local repository rebuild script\007"' DEBUG
                export PS1="\e]0;$TERM\007$PS1"
             ;;
        esac
    fi
    case "$1" in
    build)
    	if [ "$SHELL" = '/bin/bash' ]
    	then
    	    case $TERM in
    	         rxvt|*term)
    	            set -o functrace
    	            trap 'echo -ne "\e]0;Arch Linux local repository rebuild script - rebuilding $2\007"' DEBUG
    	            export PS1="\e]0;$TERM\007$PS1"
    	         ;;
    	    esac
    	fi
    	echo -e "\033[1;36m===>\033[0m Rebuild package: \033[1;31m$2\033[0m"
    	cd $PKGBUILDSPATH/$2
    	makepkg $3
    	echo -e "\033[1;36m===> Rebuild complete. Moving package to repository and update it..."
    	rm $REPOPATH/$2-*.pkg.tar.* &> /dev/null
    	mv $PKGBUILDSPATH/$2/$2-*.pkg.tar.* $REPOPATH &> /dev/null
    	cd $REPOPATH && rm $REPONAME.db.tar.gz && repo-add $REPONAME.db.tar.gz *.pkg.tar.gz *.pkg.tar.xz &> /dev/null
    	echo -e "\033[1;36m===>\033[0m \033[1;33mAll done.\033[0m"	
    	;;
    esac
    exit
    Но опять же - я пока что говорю про локальные пкгбилды
    Также хотелось бы реализовать возможность приостаносить выполнение скрипта, если вдруг makepkg не удалось собрать пакет, или же записать это в лог.
    Конечно, как закончу скрипт - перепишу его на нормальный манер (с использованием функций), а пока что и так сойдет :>
 makepkg "$3"
declare -i intFlg=$?
case $intFlg in
 0) //Продолжаем выполнение скрипта;;
 1) //В зависимости от фаз луны, выполняем rm -Rf ${PkgName}, что-нить другое и 
exit 2;;
 2)//Зависит от Ваших фантазии и знаний :);;
esac
?
З.Ы: объявить целочисленнную переменную, ИМХО, лучше в начале скрипта.
 
Зарегистрироваться или войдите чтобы оставить сообщение.