Пытаюсь тут сделать gentoo ebuild для свежих husky и обнаружил такую штуку, там гвоздями прибит gzip для манов и info файлов на этапе make.
Gentoo при установке доков и манов сам компрессит что нужно, и
ругается на то, что инсталятся уже пожатые файлы. Более того, он использует bzip2 вместо gzip, в результате чего симлинки на fconf2.1 оказываются битыми.
ельзя ли как-то вынести сжатие доков из make в make install, и
сделать опциональным?
ельзя ли как-то вынести сжатие доков из make в make install, и
сделать опциональным?
Если ничего никуда не выносить, а сделать дополнительную переменную в huskymak.cfg, которая будет определять тип компрессора (gzip, bzip2),
а если она не определена (закомментарена), то компрессии не будет,
такое тебя устроит?
А вообще в целом унифицированная сборка через общий Makefile + huskymak.cfg удобная штука, мне понравилось :) Вот пару-тройку вышеозвученных проблем решить бы для полного щастья :)
Единственный минус, который я вижу навскидку - порядок сборки
subprojects прибит гвоздями в huskybase/Makefile, т.е. потенциальное добавление любого нового проекта - это не просто добавление новой репы рядом, а ещё и правка в huskybase. у или я недостаточно вдумчиво
читал мейкфайл...
В проекте huskyproject 42! репозитория.
При этом в huskybse/Makefile в SUBPROJECTS прописано хардкодом всего
17 проектов (четыре из которых - обязательная база), и все PROGRAMS из huskymak.cfg фильтруются по этим SUBPROJECTS, насколько я ничего не понимаю в этом мейкфайле.
Возьмём, к примеру, bsopack.
https://github.com/huskyproject/bsopack/blob/master/INSTALL
-1: Please read the files (especially README.Makefiles) in the husky-common-package FIRST!
Ищем husky-common-package - нету такого.
Предполагаем, что это huskybse, читаем данный ридми там, в нём ссылка
на INSTALL.asciidoc
Делаем по нему - добавляем bsopack в PROGRAMS в huskymak.cfg и
запускаем make либо ./build.sh
bsopack не выкачивается. Потому что не упомянут в SUBPROJECTS. Или я
делаю что-то не так?
Если идти по инструкции из bsopack дальше, то делаем source tree как
там описано, запускаем make и... ошибка, потому что Makefile-то там и нету! huskymak.cfg без Makefile бесполезен...
аучите, как собрать bsopack и другие проекты, не перечисленные в SUBPROJECTS мейкфайла из huskybse.
Я вообще плохо знаю что такое cmake и чем он отличается от Makefile. И уж точно не умею им пользоваться. И не уверен, что Gentoo portages умеет. Я ж не "настоящий писатель", я просто хочу сделать хороший ebuild в первую очередь для себя, но если ещё кому-то пригодится - буду рад. 99% известных мне gentoo ebuilds используют make, примеры с cmake мне пока не попадались.аучите, как собрать bsopack и другие проекты, не перечисленные в
SUBPROJECTS мейкфайла из huskybse.
Семён! Для того, чтобы собрать программу с помощью makefile, в этом makefile должно быть написано, как собирать эту программу. Ты хочешь, чтобы мейкфайл генерировался автоматически? Для этого есть CMake. Пожалуйста, пользуйся им
и не задавай здесь больше вопросов проЗдесь - ладно, но ведь есть проги в huskyproject, их как-то надо собирать, у них есть доки, всякие README и прочие INSTALL, я их читаю и пытаюсь по ним собирать, и ничего не получается. Что я делаю не так? Как узнать, как собрать прогу, как не из её доков? Про cmake там чё-та не припомню.
huskybse/Makefile, потому что он не генерируется автоматически, а
пишется вручную. икаких инструкций по написанию программ, в том числе
и программ на языке GNU makefile здесь нет и не будет.
Когда Max Vasilyev захотел добавить в PROGRAMS подпроекты areastat и nltools, он, ни у кого ничего не спрашивая, посмотрел, как реализованы другие подпроекты и дописал в мейкфайлы всё, что нужно для сборкиДа я может и хочу, но не умею :)
areastat и nltools. Хочешь добавить bsopack? Добавляй. е хочешь? е добавляй.
аучите, как собрать bsopack и другие проекты, не перечисленные
в SUBPROJECTS мейкфайла из huskybse.
Семён! Для того, чтобы собрать программу с помощью makefile, в[...]
этом makefile должно быть написано, как собирать эту программу.
Ты хочешь, чтобы мейкфайл генерировался автоматически? Для этого
есть CMake. Пожалуйста, пользуйся им
Описано в документации его использование?
Есть ограниченный список поддерживаемых прог, а остальные нет?
есмотря на то, что в них написано что они тоже часть husky project и версии 1.9? А как об этом узнать? В какой доке написано, какие поддерживаются а какие нет? (ещё раз повторюсь, репозиториев там ажно 42!!!)
Если поддерживаются не все, а только некоторые, можно же об этом
написать в документации?
Когда Max Vasilyev захотел добавить в PROGRAMS подпроектыДа я может и хочу, но не умею :)
areastat и nltools, он, ни у кого ничего не спрашивая, посмотрел,
как реализованы другие подпроекты и дописал в мейкфайлы всё, что
нужно для сборки areastat и nltools. Хочешь добавить bsopack?
Добавляй. е хочешь? е добавляй.
Вообще я хочу чтобы bsopack собирался. И у него есть дока с описанием сборки. Казалось бы, чего больше? о вот чего-то по доке не
работает... Либо я что-то делаю не так, либо чего-то не понимаю в этой жизни.
Если это неправильная дока, к кому идти за правильной?
Вот в husky-1.4 bsopack прекрасно собирается. А 1.9 чё-та не хочет. А Виссарионов продолжает твердить про rolling current и что stable не
stable а current не current и вообще это всё от лукавого.
Я по-прежнему не понимаю, как жить без stable.
ВСЕ модули, которые были в CVS на sf в 1.4-stable, собираются, по их докам. о типа не поддерживаются, устарели. А модный молодёжный
современный поддерживаемый 1.9 - пляски с бубном, и к кому бечь за поддержкой - непонятно.
у сделайте уже 1.9-stable!!! Который будет гарантированно собираться,
с гарантированным задокументированным списком поддерживаемых модулей!
у зачем вся эта головная боль...
Что-то мне подсказывает, что когда я таки перееду на x64 линух, я
приложу максимум усилий, чтобы продолжать юзать там husky-1.4-stable
x86 через мультилиб, а на 1.9 так и не перееду :(
^^^^^^^^^^^^^^^^^^^^^^^^^^^Если поддерживаются не все, а только некоторые, можно же об этом
написать в документации?
Об этом написано в huskymak.cfg:
# A list of programs to be built separated by spaces. Do not include
here any # libraries on which the programs depend, since the libraries will be # built automatically. You may remove any program from the
list, but to add # a program missing in the current list, one has to change makefiles.
ельзя ли как-то вынести сжатие доков из make в make install, и
сделать опциональным?
Если ничего никуда не выносить, а сделать дополнительную
переменную в huskymak.cfg, которая будет определять тип
компрессора (gzip, bzip2), а если она не определена
(закомментарена), то компрессии не будет, такое тебя устроит?
Абсолютно устроит!
Кстати, ещё один момент вдогонку. Когда искал, как отключить git
checkout и git pull нашёл что в некоторых местах используется git (там
где проверка существования гита) а в других $(GIT)
аверное это не очень хорошо, когда часть мест предполагает git в PATH
а другая из переменной его берёт, куда можно абсолютный путь засунуть
и пофик на PATH
Сейчас билд fidoconf падает с отключенной компрессией, я там Issue
открыл на гитхабе, но может рано ещё баги заводить? :)
STR:
1) Comment out COMPRESS=gzip or set to empty
2) try to build
Expected: successful build
Actual: error
make: *** No rule to make target 'fidoconf/man/tparser.1.gz', needed
by 'fidoconf/Build/tparser.1.gz'. Stop.
make: *** Waiting for unfinished jobs....
Кстати, ещё один момент вдогонку. Когда искал, как отключить git
checkout
и git pull нашёл что в некоторых местах используется git
(там где проверка существования гита) а в других $(GIT)
аверное это не очень хорошо, когда часть мест предполагает git в
PATH а другая из переменной его берёт, куда можно абсолютный путь
засунуть и пофик на PATH
Про это ты что-то знаешь? Это так и задумано, или скорее бага?
Про bsopack, который собирается в 1.4 но не собирается в 1.9...
Я тут обнаружил, что он у меня на ноде используется, а значит его отсутствие немножко мешает переезду на 1.9. Получается, чтобы его в
сборку через huskymak.cfg добавить, нужно правки и в huskybse и в
bsopack репах делать? Я правильно понимаю?
Да, я видел твой ответ на гитхабе, спасибо.Сейчас билд fidoconf падает с отключенной компрессией, я тамЕсли закомментировать также и _COMPR, то не падает.
Issue открыл на гитхабе, но может рано ещё баги заводить? :)
Я не путаю, но тут есть некий микс терминологии гита и Gentoo ebuilds, поэтому наверное я неправильно выразился.Отключить git checkout? Что за чушь? е путай git c svn.Кстати, ещё один момент вдогонку. Когда искал, как отключить git
checkout
Да я не знаю, ошибка это или нет. Я только предполагаю.и git pull нашёл что в некоторых местах используется git
(там где проверка существования гита) а в других $(GIT)
аверное это не очень хорошо, когда часть мест предполагает git
в PATH а другая из переменной его берёт, куда можно абсолютный
путь засунуть и пофик на PATH
Про это ты что-то знаешь? Это так и задумано, или скорее бага?
Это сообщение о подземном стуке. Хочешь сообщить об ошибке, говори конкретно, в каком файле, в каком месте что не так.
Про bsopack, который собирается в 1.4 но не собирается в 1.9...Да.
Я тут обнаружил, что он у меня на ноде используется, а значит его
отсутствие немножко мешает переезду на 1.9. Получается, чтобы его
в сборку через huskymak.cfg добавить, нужно правки и в huskybse и
в bsopack репах делать? Я правильно понимаю?
Про bsopack, который собирается в 1.4 но не собирается в 1.9...
Я тут обнаружил, что он у меня на ноде используется, а значит
его отсутствие немножко мешает переезду на 1.9. Получается,
чтобы его в сборку через huskymak.cfg добавить, нужно правки и в
huskybse и в bsopack репах делать? Я правильно понимаю?
Да.
Эх, там ещё и hpucode нету... :(
Попробую втащить оба.
https://github.com/huskyproject/huskybse/blob/master/Makefile#L38аверное это не очень хорошо, когда часть мест предполагает git
в PATH а другая из переменной его берёт, куда можно абсолютный
путь засунуть и пофик на PATH
Sysop: | Angel Ripoll |
---|---|
Location: | Madrid, Spain |
Users: | 11 |
Nodes: | 8 (0 / 8) |
Uptime: | 104:06:06 |
Calls: | 303 |
Files: | 2,760 |
Messages: | 54,777 |