Скрипт сборки-установки... Есть вопросы

13 сообщений / 0 new
Последнее сообщение
Sheridan
Аватар пользователя Sheridan
Не в сети
Зарегистрирован: 20/09/2010
Скрипт сборки-установки... Есть вопросы

Решил вот под свою машину нарисовать скриптик сборки-установки софта...
Вот что вчера набросал:
[blockquote]#!/bin/bash

function run_cmd_execute()
{
echo "\\033[0;35m $5 startup \\033[0;39m"
echo "\\033[0;34m $1 $2 $3 \\033[0;39m "
`$1 $2 $3 > run.$4.log 1>&2`
echo "\\033[0;32m $5 done \\033[0;39m"
}

function run_execute()
{
run_cmd_execute "" "$1" "$2" "$1$2" "$3"

}
function run_configure()
{
CFLAGS="-march=pentium3 -mfpmath=387,sse -malign-double"
CXXFLAGS="-march=pentium3 -mfpmath=sse,387 -malign-double"
echo "\\033[0;35m Configuration startup \\033[0;39m"
echo "gcc flags:\\033[0;32m $CFLAGS \\033[0;39m"
echo "g++ flags:\\033[0;32m $CXXFLAGS \\033[0;39m"
`CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" ./configure $1 > run.configure.log 1>&2`
echo "\\033[0;32m Configuration done \\033[0;39m"

}

clear
echo "\\033[0;35m Startup \\033[0;39m"

run_execute "make" "distclean" "Dist. clean"
run_configure ""
run_execute "make" "clean" "Oldmake clean"
run_execute "make" "" "Make"
run_execute "make" "check" "Checking"
run_execute "make" "install" "Install"

echo "\\033[0;32m All done \\033[0;39m"[/blockquote]
И появились вопросы....
1. Как объяснить сырцам которые без configure что мне надо собрать из с вот такими то флагами компилятора?
2. Как разбирать параметры коммандной строки? Хотелось бы уметь понимать как --cmd так и --cmd=param параметры...
3. Можно ли как-нибудь выделять цветом слова типа warning/error, найденые в потоке вывода работы того что я запускаю?
4. Можно ли определить какие компиляторы установлены? (у меня например на машине и gcc 4 и gcc 3.2)
4. Где можно почитать про комманды компиляторам желательно на русском? (в мане уже копался, много непонятного.)
5. И опятьже где можно прочитать про программирование в shell? man довольно расплывчатый и без примеров...

[color=brown]ps Думус ты когда bbтег code починиж?[/color]
<span class='smallblacktext'>[ Редактирование ]</span>

Dumus
Аватар пользователя Dumus
Не в сети
Зарегистрирован: 17/09/2010

[quote=Sheridan][color=brown]ps Думус ты когда bbтег code починиж?[/color]
[/quote]
Когда по-русски писать научишься...

Мой микроблог: http://juick.com/Dumus/

Sheridan
Аватар пользователя Sheridan
Не в сети
Зарегистрирован: 20/09/2010

Йа умейу

Ares (не проверено)

Сегодня, что день русской грамматики?)) Куда не зайду, везде обсуждают грамотность посетителей форума..

Dumus
Аватар пользователя Dumus
Не в сети
Зарегистрирован: 17/09/2010

А [link=http://lug.kmv.ru/forum.php?rules]Правила конференции[/link] кто читать будет? Прошу обратить внимание на раздел III пункт 9: "На форумах принято следовать орфографическим и грамматическим правилам русского языка". Я пока ограничиваюсь предупреждениями, скоро начну банить...

Мой микроблог: http://juick.com/Dumus/

Sheridan
Аватар пользователя Sheridan
Не в сети
Зарегистрирован: 20/09/2010

Еще там написано - не флемить. По существу можно сказать?

Sheridan
Аватар пользователя Sheridan
Не в сети
Зарегистрирован: 20/09/2010

[quote=Nick]
1. Никак. Они все разные.
2. info bash
3. info grep
4. rpm -qa | grep gcc
4. Может, ты хочешь и текст программ на русском? Тогда тебе к 1С.
5. www.justfuckinggoogleit.com
[/quote]
Это я и так знаю, и немножко поделюсь мыслями
1. export $CFLAGS поможет?
2. [link=http://www.opennet.ru/base/dev/bash_help.txt.html]Здесь есть[/link]
3. Тут скорее всего sed но вот только как...
4.1 Ага, найдет он мне собранный вручную компилятор, какже
4.2 Отстали вы немного от жизни - C# тоже умеет русские символы, да я не про то.
5. Вкурсах.

Вывод: если ктото чегото не знает или лень вспоминать или лень искать то лучше молчать. Ейбогу такие все линуксоиды крутые пальцы гнут, все знают, а что ни спросиш - то 3 направления и ладно бы линк какой а все одно и тоже - man|info,google и rtfm. Надобы с Думусом поговорить и вправилах написать что man|info|google|rtfm подефолту подразумеваются, а на форуме делится инфой либо молчать.
Надоело, что ни спросиш - в гугл шлют. И с таким подтекстом что мол малштык не мешай дяде глаабальныйе праблемы решать...

Nick
Не в сети
Зарегистрирован: 20/09/2010

[quote=Sheridan]Решил вот под свою машину нарисовать скриптик сборки-установки софта...
И появились вопросы....
1. Как объяснить сырцам которые без configure что мне надо собрать из с вот такими то флагами компилятора?
2. Как разбирать параметры коммандной строки? Хотелось бы уметь понимать как --cmd так и --cmd=param параметры...
3. Можно ли как-нибудь выделять цветом слова типа warning/error, найденые в потоке вывода работы того что я запускаю?
4. Можно ли определить какие компиляторы установлены? (у меня например на машине и gcc 4 и gcc 3.2)
4. Где можно почитать про комманды компиляторам желательно на русском? (в мане уже копался, много непонятного.)
5. И опятьже где можно прочитать про программирование в shell? man довольно расплывчатый и без примеров...

[color=brown]ps Думус ты когда bbтег code починиж?[/color]
[/quote]

1. Никак. Они все разные.
2. info bash
3. info grep
4. rpm -qa | grep gcc
4. Может, ты хочешь и текст программ на русском? Тогда тебе к 1С.
5. www.justfuckinggoogleit.com

Nick
Не в сети
Зарегистрирован: 20/09/2010

[quote=Sheridan][quote=Nick]
1. Никак. Они все разные.
2. info bash
3. info grep
4. rpm -qa | grep gcc
4. Может, ты хочешь и текст программ на русском? Тогда тебе к 1С.
5. www.justfuckinggoogleit.com
[/quote]
Это я и так знаю, и немножко поделюсь мыслями
1. export $CFLAGS поможет?
2. [link=http://www.opennet.ru/base/dev/bash_help.txt.html]Здесь есть[/link]
3. Тут скорее всего sed но вот только как...
4.1 Ага, найдет он мне собранный вручную компилятор, какже
4.2 Отстали вы немного от жизни - C# тоже умеет русские символы, да я не про то.
5. Вкурсах.

Вывод: если ктото чегото не знает или лень вспоминать или лень искать то лучше молчать. Ейбогу такие все линуксоиды крутые пальцы гнут, все знают, а что ни спросиш - то 3 направления и ладно бы линк какой а все одно и тоже - man|info,google и rtfm. Надобы с Думусом поговорить и вправилах написать что man|info|google|rtfm подефолту подразумеваются, а на форуме делится инфой либо молчать.
Надоело, что ни спросиш - в гугл шлют. И с таким подтекстом что мол малштык не мешай дяде глаабальныйе праблемы решать...[/quote]

1. Если в Makefile используется ${CFLAGS}. А это очень часто не так.
2. Я рад.
3. Можно и sed, кстати. Книгу по sed дать? На английском.
4.1. Когда ты ломаешь зависимости пакетного менеджера, ты знаешь, на что идешь. После этого ты Сам Себе Злобный Буратино. Пользуйся checkinstall, если лень спек написать и собрать пакет, как полагается.
4.2. Фармацевты, врачи и биологи не требуют, чтобы все названия перевели с латыни на национальные языки. Подумай об этом. Мы вот не берем на работу программистов и сисадминов, не умеющих читать по-английски технические тексты. Толку от таких ИТ-шников очень мало. И так поступает большинство ИТ-компаний.
5. Когда я говорю "google", то это значит, что в гугле это есть. По дефолту он подразумевается, но ты в нем не искал или искать не умеешь. А если не умеешь -- это еще один минус (кроме незнания английского). Чего ты хотел? Дать тебе стандартный набор ссылок? citforum.ru, opennet.ru, linux.org.ru/books. Ты не знаешь эти адреса? Или там нет ничего по шелл-программированию? Кто тут из нас ленив?

Вывод: нам с тобой не работать. Правда, не очень-то и хотелось.

Sheridan
Аватар пользователя Sheridan
Не в сети
Зарегистрирован: 20/09/2010

1. Тоесть поможет как я понял... Не перетрет ли оно то что там уже есть при export?
3. Сделал через sed - выглядит замечательно :)
4.1 Пока что проблем с зависимостями небыло, я за этим слежу.
4.2 Почему ты решил что я на английском читать не умею? Порусски просто легче и быстрее.
5. Чтобы чтото искать надо хотябы иметь представление небольшое и хоть маааленький опыт. В шелл ниразу непрограммил - сегодня буквально 3й день как, про sed вот сказали и примерчик показали проостенький - сам дальше разобрался. Напоминаю - в линухе я вплотную 4й месяц. И бооольшую часть этого времени сидел в kdevelop и писал сайт. Сейчас вот взялся за оптимизацию, появились вопросы.
Вдобавок то что разобрался сам: оптимизирующие флаги gcc и g++, как в sh писать функции, с расскраской в консоли, с тем какжеж это запустить на выплнение собранную строку и еще несколько мелких фишек.
Вот...
Ты мне лучше подскажи как мне поток выводить на экран и в файл... Вчера полвечера игрался со всякими >&| да так и невоткнул... Как я понял это должна быть утилитка какаято отдельная...

Nick
Не в сети
Зарегистрирован: 20/09/2010

man tee

Vitls
Аватар пользователя Vitls
Не в сети
Зарегистрирован: 21/09/2010

Кстати о раскраске варнингов и ошибок, есть такая фича как gcc-color

Дело не в том как болезнь вылечить.
Дело в том как других заразить.

Sheridan
Аватар пользователя Sheridan
Не в сети
Зарегистрирован: 20/09/2010

короче результат [url=http://sheridan.stavcom.ru/filez/install_script.tar.bz2]тут[/url]

RSS-материал