Я так понимаю, что использование утилиты checkinstall тут одобрения не встречает (“кривые спеки” и тэ дэ), но майнтейнеров часто хватает только на мейнстримные проекты, так что вынужден иногда ее использовать. Появился вопрос по компиляции:
есть приложение на Qt/C++, делаю qmake > make > checkinstall, но checkinstall хочет установить все прямо в корень, естественно не находит там системных каталогов типа /share и выдает ошибку. Так где тут можно задать INSTALL_ROOT?
В мануалах этот вопрос скромненько так обойден. Как переменная среды вроде тоже не подхватывается, или я не там задаю. ??
Кстати, думаю стоит уточнить, что речь шла про glogg – Freecode Рекомендую к использованию!
Хотя труЪ могут сказать, что вот терминал …! Но, господа, в данном случае GUI действительно дает плюсы. Заодно можно прокачать свои познания в области регулярных выражений В Гноме есть аналог этого приложения, но он далеко не так удобен.
Я помню, что я говорил. Так оно и есть, в последней версии разработчик всего лишь добавил вертикальную панель маркеров. Честно говоря, с точки зрения просто-пользователя это будет та же версия 0.8.х, может быть он там рефакторил весь код, но про это ничего. А единичку дописать очень хотелось
Другой вопрос, почему не собирают актуальные версии? Но это вам не ко мне, а куда-то в /KDE:/Extra/
Нет особой нужды.
Есть спек для версии 0.8, его подрихтовать, приложить последний *tgz и собрать рпм.
Но,честно говоря, уже забыл, когда последний раз таким занимался, комньюнити разбаловало.
joneone
Виноват, исправляюсь-во-первых спасибо за саму наводку на эту прогу, действительно удобнее в логах копаться, а во-вторых спасибо за разъяснения по версиям.
Я совсем не программер, спек (и стальное) легко смотрится/извлекается в mc, большинство строк там понятны даже мне.
Маны для rpmbuild в компе должны быть, когда-то на LOR-е фаг был (если не путаю).
По-моему документации по сборке в OBS достаточно Portal:Packaging - openSUSE Wiki Все общие вещи относящиеся к openSUSE описаны. Нет только документации непосредственно по rpm ибо существует очень подробная документация от Ред Хата.
И хауто много не наделаешь, ибо основная последовательность действий описана, считай хауту. А все нюансы полностью зависят от того что собираешь, и относятся больше к программе чем к openSUSE.
Ну видишь ли, я про русскоязычные. То есть если прижмет, язык будет не важен, но пока-то проблем почти нет. Так, можно было бы почитать на досуге, но нечего))
Сборка рпм-пакета из *tgz архива на примере glogg-0.9.1 c использованием glogg-0.8.2-1.1.src.rpm.
Ставим пакет glogg-0.8.2-1.1.src.rpm, получаем спек-файл в папке /usr/src/packages/SPECS, архив glogg-0.8.2.tar.gz и патч glogg-fix_pro.patch в папке /usr/src/packages/SOURCES.
Читаем спек-файл, правим версию, комментим строки patch, проверяем строки BuildRequires и доустанавливаем необходимые пакеты.
Из терминала запускаем “rpmbuild -ba /usr/src/packages/SPECS/glogg.spec” (-b соберёт бинарник, -a соберёт *src.rpm )
Результат сборки-в папке /usr/src/packages/RPMS/i586 имеем glogg-0.9.1-1.1.i586.rpm, в папке /usr/src/packages/SRPMS пакет glogg-0.9.1-1.1.src.rpm (-1.1 в версии добавились из незакомментированных “Release: 1.1” в спеке )
Вся процедура с доустановкой devel-пакетов заняла минут 10…15,файлы в рпм лежат с правильными путями без участия с моей стороны.
Обновил glogg из собранного пакета, работает.
ЗЫ.Я понимаю, метод “рабоче-крестьянский”, непонятки с патчем, не совсем в струе политики партии с OBS…
Сорь, не успел воткнуть сразу
Самое главное-меняем архив glogg-0.8.2.tar.gz на glogg-0.9.1.tar.gz (переименовываем glogg-latest.tar.gz). http://paste.opensuse.org/46036305
Такой же “рабоче-крестьянский” метод можно сделать с obs. Плюс делать это через obs, в том что не придется загаживать свою систему devel пакетами и вообще возится с зависимостями, если у новой версии программы они остались такими же.
Для работы нам нужно установить пакет osc.
Делаем так, находим в obs старую версию пакета, можно воспользоваться software.opensuse.org найти пакет и от туда перейти в obs. Нас интересует только название проекта и название пакета.
Создаем или переходим в какую нибудь папку куда будем скачивать исходники например. ~/build/
выполняем команду osc co <имя проекта в obs> <имя пакета>
при первом запуске команда должна попросить логин и пароль OBS.
Она скачает исходники. Переходим в соответствующую папку и выполняем все действия описанные выше: заменяем архив исходников на новый и правим спек.
Далее выполняем команду osc ar она добавит новый файлы и удалит старые. Ее нужно выполнить так как архив с исходниками вы заменили.
Далее выполняем osc build и собираем пакет. В конце сборки будет путь где находятся собранные rpm.
Все команды выполняем без рута. Где нужно osc сама спросит пароль.
Если сборка по умолчанию пойдет не под ту архитектуру или версию. можно указать конкретно под что собирать например osc build openSUSE_12.2 x86_64
И еще не обязательно отключать все патчи в слепую. Патчи от страной версии вполне могу наложится и на новую. Так что рекомендовал бы сначала попробовать собрать с патчами и если какой то не будет накладываться тогда уже его отключать или исправлять под новую версию.
Опечатка наверное (три разных варианта подходят )
Я не знаю, патчил-ли коллега новую версию, когда из архива руками собирал, поэтому особо не заморачивался.
Gankov, вы так объясняете, что лучше не надо Вот есть же люди, которое занимается wiki, чего бы не запилить статейку “OBS для чайников”? А то все какие-то убогие споры насчет переводов с дефолтного- да большинству юзеров плевать не тонкости перевода! Никто не станет искать бриллианты в куче… эмм, извиняюсь конечно
Ничего толком не понял, по поводу перевода. Но считаю что подобного “рабоче-кристьянского” метода в вике быть не должно. Нечего людей плохому учить. Да и если такая статья появится, она появится в той же куче, в которой по вашему никто не будет искать.