dap: (Default)

Открыв целых две вкладки в яквейке и разыскивая команды в истории, я понял, что пришло время осилить написание скриптов, чтобы автоматизировать свою рутинную деятельность по пинанию ОБС для сборки свежих личкрафтов. Спасибо rioky, ascrazy и settler за помощь! Результатом явился такой скрипт. Пробегусь по его содержимому:

  • #!/bin/sh — указывает на приложение для исполнения данного файла (как правило, это ссылка на какой-либо шелл: ls -l /bin/sh в моём случае им является bash);
  • DGIT=~/Documents/obs/trash/leechcraft — присваивание значения переменной, пути с ~ нельзя брать в кавычки;
  • echo 'Checking of github version:' — вывод сообщения;
  • cd $DGIT — переменную вызываем с $;
  • git pull — обновление локальной копии git-а;
  • VGIT=`git describe` — присваивание переменной значения, являющейся выводом команды в ``, выводящей значение ??? последнего коммита;
  • echo -e ' '$VGIT — вывод переменной после пустой строки;
  • osc up — обновление лоакальной копии проекта ОБС;
  • VOBS=`grep 'define LEECHCRAFT' leechcraft.spec | awk '{ print $3 }'` — третье слово из строки, содержащей искомую подстроку;
  • if [ $VGIT == $VOBS ] — условие, сравниваются две переменные;
  • then — отмечает начало кода, выполняемого, когда условие истинно;
  • else — когда ложно;
  • fi — завершение условия;
  • read — ожидание ввода, прервать выполнение скрипта можно по Ctrl+C;
  • CTIME=`date +%s` — получение текущего unix-времени;
  • cp ./leechcraft.spec ./leechcraft.spec.$VOBS.$CTIME — бэкап спек-файла;
  • sed "s/$VOBS/$VGIT/g" ./leechcraft.spec.$VOBS.$CTIME > ./leechcraft.spec — передача содержимого одного файла в другой с заменой заданных подстрок;
  • osc ci -m $VGIT — отправка изменений в проект ОБС.

Чтобы получить копию git-а, вбиваем git clone git://github.com/0xd34df00d/leechcraft.git

Чтобы получить копию проекта ОБС, вбиваем osc co home:Reki:leechcraft:masterbranch leechcraft

Для быстрого запуска скрипта можно добавить соответствующую строку в конфиг вашего шелла: alias bs-leechcraft-master='sh ~/Documents/obs/lc.sh'

zypper rm -u имя_пакета подчищает при удалении невостребованные другими пакетами зависимости.

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

January 2016

S M T W T F S
     12
34567 89
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 14th, 2025 02:46 am
Powered by Dreamwidth Studios