Автор Тема: Каково это - быть мейнтейнером?  (Прочитано 36021 раз)

Drool

  • Гость
Re: Каково это - быть мейнтейнером?
« Ответ #30 : 17.02.2009 17:23:14 »
Нашел одну интересную програмку, которой в Сизифе нет, а бинарник от Федоры ругается на зависимости. Его конечно можно воткнуть ногами и он заведеться - пакеты то альте установлены, ну может понадобиться кое-где пару ссылок сделать, но тем не менее, штука интересная, а ее нету. Чем не повод попробовать свои силы :)

Ну вот и возможность. Возьмите либо на оффсайте исходники, либо src.rpm от федоры, и собрать пакет под альт. А тут можно разбирать ход процесса сборки и ньюансы спек-файла.

Оффлайн Alexandr

  • Завсегдатай
  • *
  • Сообщений: 366
  • Кризис, что сказать...
    • Email
Re: Каково это - быть мейнтейнером?
« Ответ #31 : 17.02.2009 17:27:47 »
Цитировать
А тут можно разбирать ход процесса сборки и ньюансы спек-файла

Ок, думаю что завтро уже попробую :D
Логика и здравый смысл победит! фанатские инсинуации, словоблудие и прочий необоснованный детский лепет. Это не про вас? Тогда вам сюда: http://lleo.aha.ru/na/

Оффлайн Alexandr

  • Завсегдатай
  • *
  • Сообщений: 366
  • Кризис, что сказать...
    • Email
Re: Каково это - быть мейнтейнером?
« Ответ #32 : 18.02.2009 14:00:34 »
В общем вот, вытягиваю сейчас etersoft build utils, попутно читая документацию. Сразу заинтересовал такой вот момент:

Цитировать
Сборка пакета "с нуля"

Вы должны разместить исходники пакета (архивы) в ~/RPM/SOURCES, а шаблон будущего спека (скопированный из образца) - в ~/RPM/SPEC.

Вот тут я чего-то не пойму.... Тоесть, я качаю архив с сайта и кидаю его так как скачал в ~/RPM/SOURCES ???

И вот тут еще "а шаблон будущего спека (скопированный из образца)". Откуда скопированый шаблон? Из какого образа?.... :-[

И на этом инструкция по сборке пакетов "С нуля" оконченна :D
Логика и здравый смысл победит! фанатские инсинуации, словоблудие и прочий необоснованный детский лепет. Это не про вас? Тогда вам сюда: http://lleo.aha.ru/na/

Drool

  • Гость
Re: Каково это - быть мейнтейнером?
« Ответ #33 : 18.02.2009 14:59:05 »
И на этом инструкция по сборке пакетов "С нуля" оконченна :D

Ну... Значит где-то должен быть шаблон. Я обычно беру готовый спек из другого пакета. Спек с комментариями на все случаи жизни: http://www.altlinux.org/Spec

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email

Оффлайн Alexandr

  • Завсегдатай
  • *
  • Сообщений: 366
  • Кризис, что сказать...
    • Email
Re: Каково это - быть мейнтейнером?
« Ответ #35 : 18.02.2009 17:25:25 »
Цитировать
Спек с комментариями на все случаи жизни
Цитировать
В свое время написал

Большое спасибо за ссылки:) Поизучаю. Как то подозрительно просто выглядит SPEC от Альта.....

Ыыы... Решил посмотреть, как вообще идет и выглядит процесс сборки пакета с готовым спеком. На примере Audacious 1.5. Дернул пару сорцев с сизифа, все зависимости тянул из Бранча, за исключением пары пакетов - пришлось лезть в сизиф, в бранче версия посторее была. 1.5 версия че-то вообще какая-то г... и по качеству управления и по звуку темболее. Xine звучит на порядок лучше. Правда после того как я натянул пакетов под сборку для Audacious, у меня кроме него больше вообще тепереь ничего не поет(кроме винды на соседнем разделе :D) :D :D >:(

Думал что Линю вообще пришла хана. Как-то его от обилия новых и на... ненужных пакетов перекарежило так, слегка. Клава не переключается, скрипты не стартуют. Думаю, ща перегружусь - помрет. Хм, не помер, правда до перезагрузки у меня все-же побольше проигрывателей звук играло :D :D

Кстати, у меня появилась пара вопросов. Первый, на Альт можно поставить прогу из исходников? И если нет, то вытекает второй вопрос - как тогда смотреть, что ей надо - не надо, да и вообще, проверить программу на работоспособность?

« Последнее редактирование: 18.02.2009 17:31:10 от Alexandr »
Логика и здравый смысл победит! фанатские инсинуации, словоблудие и прочий необоснованный детский лепет. Это не про вас? Тогда вам сюда: http://lleo.aha.ru/na/

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Каково это - быть мейнтейнером?
« Ответ #36 : 18.02.2009 17:33:26 »
1 Не - лучше не надо :)
2 rpm собрал, поставил и проверил.

Для вытягивания необходимых для сборки пакетов можно пользоваться
apt-get build-dep ИМЯ_ПАКЕТА.src.rpm

Оффлайн Alexandr

  • Завсегдатай
  • *
  • Сообщений: 366
  • Кризис, что сказать...
    • Email
Re: Каково это - быть мейнтейнером?
« Ответ #37 : 18.02.2009 17:43:12 »
Цитировать
apt-get build-dep ИМЯ_ПАКЕТА.src.rpm

Пасиба. Если так и дальше пойдем, то получиться очень такой интересный топик в помошь начинающему мейнтейнеру :)

Цитировать
1 Не - лучше не надо
2 rpm собрал, поставил и проверил

Попробую перефразировать. Вот я скачал архив с исходниками, положил его в папку, как я узнаю что ему надо и какие команды прописывать в Спек? Его как минимум придется распаковать я так понимаю....?

О, вот еще вопрос, а как делают патчи, чтобы потом применить к архиву и почему не применяют их сразу, а потом уже собирают...? Я себе просто этот вопрос вообще никак не представляю, а интересно:)
Логика и здравый смысл победит! фанатские инсинуации, словоблудие и прочий необоснованный детский лепет. Это не про вас? Тогда вам сюда: http://lleo.aha.ru/na/

Drool

  • Гость
Re: Каково это - быть мейнтейнером?
« Ответ #38 : 18.02.2009 17:46:03 »
...за исключением пары пакетов - пришлось лезть в сизиф, в бранче версия посторее была...

А вот не нужно было этого делать. Если для сборки пакета А нужен пакет Б из сизифа - нужно брать src.rpm пакета Б из сизифа и собирать его в своей среде. Тогда риск бинарной несовместимости минимальный. Разве что нужно обновить некую библиотеку, с которой слинкован пакет С. В этом случае пакет С сносится, пересобирается уже с новой библиотекой и спокойно ставится на место.

Drool

  • Гость
Re: Каково это - быть мейнтейнером?
« Ответ #39 : 18.02.2009 17:47:43 »
1. Попробую перефразировать. Вот я скачал архив с исходниками, положил его в папку, как я узнаю что ему надо и какие команды прописывать в Спек? Его как минимум придется распаковать я так понимаю....?

2. О, вот еще вопрос, а как делают патчи, чтобы потом применить к архиву и почему не применяют их сразу, а потом уже собирают...? Я себе просто этот вопрос вообще никак не представляю, а интересно:)

1. Для этого распаковываем и читаем что-то вроде README/INSTALL и т.п.
2. Патчи применяют при сборке именно потому, что в src.rpm лежит родной тарбол с исходниками с официального сайта.

Оффлайн Alexandr

  • Завсегдатай
  • *
  • Сообщений: 366
  • Кризис, что сказать...
    • Email
Re: Каково это - быть мейнтейнером?
« Ответ #40 : 18.02.2009 17:53:49 »
Цитировать
А вот не нужно было этого делать. Если для сборки пакета А нужен пакет Б из сизифа

Логично... хотя тогда появляется такой вопрос, про сизиф вообще. Неужели у них среда на столько отличается? И зачем собственно делать такие отличия, если народ ставя с него и обновляя при этом еще четверь пакетов, потом страдает. Зачем он тогда вообще нужен получается? Просто как испытательный полигон, чтоб каждый в него складывал пакеты, собранные непонять из чего?

Цитировать
Для этого распаковываем и читаем что-то вроде README/INSTALL и т.п.

А потом пишем Спек, пытаемся собрать, если не получается, повторяем сначала и так до победы?

Цитировать
Патчи применяют при сборке именно потому, что в src.rpm

Тоесть архив с исходниками распаковывается и патч изменяет те файлы, для которых он предназначен и затем пакет компилиться в бинарник? Или он уже изменяет готовый пакет?
Логика и здравый смысл победит! фанатские инсинуации, словоблудие и прочий необоснованный детский лепет. Это не про вас? Тогда вам сюда: http://lleo.aha.ru/na/

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Каково это - быть мейнтейнером?
« Ответ #41 : 18.02.2009 17:58:43 »
Что-бы понять что тако патч.
Беру исходный пакет foo, копирую в foo.new, вношу необходимые мне изменения и получаю патч между foo и foo.new командой diff -uNrBbE foo foo.new > foo.my_super_patch.patch.

Drool

  • Гость
Re: Каково это - быть мейнтейнером?
« Ответ #42 : 18.02.2009 17:59:58 »
1. Неужели у них среда на столько отличается? И зачем собственно делать такие отличия, если народ ставя с него и обновляя при этом еще четверь пакетов, потом страдает. Зачем он тогда вообще нужен получается? Просто как испытательный полигон, чтоб каждый в него складывал пакеты, собранные непонять из чего?

2. А потом пишем Спек, пытаемся собрать, если не получается, повторяем сначала и так до победы?

3. Тоесть архив с исходниками распаковывается и патч изменяет те файлы, для которых он предназначен и затем пакет компилиться в бинарник? Или он уже изменяет готовый пакет?

1. Да, сизиф - это передовой фронт разработки. Он всегда сильно отличается, за исключением недели-двух после отпочкования очередного бранча. Потом бранч оказывается бинарно зачастую несовместим. И обновляться с него категорически не рекомендуется, разве что Вы разработчик сизифа или тестер-экстремал.
2. Пишем спек и пытаемся собрать. Если не получается - разбираемся почему, правим спек/патчим исходники - и так до полного удовлетворения ;)
3. При сборке сначала распаковывается оригинальный тарбол, а потом патч прикладывается к исходным текстам. Сборка уже идет пропатченных исходников.

Оффлайн Alexandr

  • Завсегдатай
  • *
  • Сообщений: 366
  • Кризис, что сказать...
    • Email
Re: Каково это - быть мейнтейнером?
« Ответ #43 : 18.02.2009 18:30:40 »
Эээ.. Тоесть, такая ситуация - есть архив с исходниками, которые по умолчанию, без вмешательства в исходный код, не хотит собираться. Мы бирем, распаковываем исходник, в две папки. В одной из них правим код, вторую не трогаем. Затем мы на основании этих двух папок получаем файлик отличий, который если наложить на нетронутые исходники, превротят их в модифицированные. Называем этот файли патчем. Затем мы берем нетронутый архив с иходниками, берем патч, пишем Спек и все это добро собираем, так?

Если так, тогда появляется еще один вопрос - а не проще просто модифицированные исходники обрано запаковать и уже их собрать, а не заморачиваться с патчем?
Логика и здравый смысл победит! фанатские инсинуации, словоблудие и прочий необоснованный детский лепет. Это не про вас? Тогда вам сюда: http://lleo.aha.ru/na/

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Каково это - быть мейнтейнером?
« Ответ #44 : 18.02.2009 18:42:53 »
Ну представьте - прошло месяца три, майнстрим что-то доработал и вам надо снова собирать этот пакет. Как вы вспомните что вы изменяли в прошлый раз.