Created attachment 4860 [details] PC-файл из другого дистрибутива Столкнулся с LUA-программами, при сборке спрашивающими у lua.pc , куда им ставить динамически подгружаемые .so-файлы (а именно, запрашивается переменная INSTALL_CMOD). Однако наш аскетичный lua.pc подобной информации не содержит. Анализ актуальных lua*.pc на основных rpm-based дистрибутивах показал, что все (!) они предоставляют гораздо больше информации, чем наш. Хотелось бы иметь возможность собирать lua-пакеты, запрашивающие такую информацию, без кувалды. Для этого нужно (как я понял) на этапе сборки lua внести в pc-файл дополнительную build-time информацию. Не думаю, что это изменение способно что-то сломать. Для примера прилагаю pc-файл из другого дистрибутива.
Кроме этого, прошу явно провайдить соответствующие папки. На данный момент это %_libdir/lua5 и %_datadir/lua5 Обоснование: для того же, для чего это делают в других пакетах: чтобы пакеты, ставящие соотв. модули, были уверены, что ставятся в правильное место (т.е. неявная зависимость на владельца соотв. папок)
Я не понял. В pkgconfig-файле сказано: INSTALL_CMOD= ${prefix}/lib/lua/${V} А Ильдар говорит про %_libdir/lua5. Так куда именно ставить нужно? Или сейчас это (%_libdir/lua5) предполагается как симлинк оформить? Если так, то в чём смысл что-то исправлять в других пакетах?
(В ответ на комментарий №2) > Я не понял. В pkgconfig-файле сказано: > INSTALL_CMOD= ${prefix}/lib/lua/${V} Читайте внимательно: (комментарий №0) > Для примера прилагаю pc-файл из другого дистрибутива. Суть бага в том, чтобы положить в пакет обновлённый lua.pc, в котором указан правильный текущий INSTALL_CMOD= Сейчас это ${prefix}/lib/lua5
"Читайте внимательно: (комментарий №0)" Может быть, имелся в виду №1? ;) В общем, ждём реакции ldv@ или at@...
ping?
(В ответ на комментарий №5) > ping? 1. у нас нет достаточно заинтересованного мэйнтейнера lua 2. ldv@ в рассылке намекнул, что готов посмотреть готовый патч в GIT-е вопрошающего Если я что-то неправильно написал, прошу меня поправить.
Патч по сути бага. Следующим коммитом - сборка с запрошенными явными Provides:. Прошу посмотреть/покритиковать/смержить/дать ACL/etc
(У меня работает, что хотелось собирается с данным .pc без вопросов).
(In reply to comment #0) > Created an attachment (id=4860) [details] > PC-файл из другого дистрибутива Из какого? > Столкнулся с LUA-программами, при сборке спрашивающими у lua.pc , куда им > ставить динамически подгружаемые .so-файлы (а именно, запрашивается переменная > INSTALL_CMOD). Однако наш аскетичный lua.pc подобной информации не содержит. > > Анализ актуальных lua*.pc на основных rpm-based дистрибутивах показал, что все > (!) они предоставляют гораздо больше информации, чем наш. Я сейчас посмотрел федорный пакет. Выходит, что они удаляют эту информацию пачем http://pkgs.fedoraproject.org/gitweb/?p=lua.git;a=blob;f=lua-5.1.4-autotoolize.patch Они что, враги себе, или эта информация на самом деле не нужна? > Хотелось бы иметь > возможность собирать lua-пакеты, запрашивающие такую информацию, без кувалды. > Для этого нужно (как я понял) на этапе сборки lua внести в pc-файл > дополнительную build-time информацию. Не думаю, что это изменение способно > что-то сломать. > > Для примера прилагаю pc-файл из другого дистрибутива. > +INSTALL_BIN=${prefix}/bin > +INSTALL_INC=${prefix}/include > +INSTALL_LIB=${prefix}/lib > +INSTALL_MAN=${prefix}/share/man/man1 Я полагаю, что все вышеперечисленное не нужно, а INSTALL_LIB к тому же еще и неправильно. В debian определяют только INSTALL_LMOD и INSTALL_CMOD, предлагаю и нам ограничиться этими переменными.
(В ответ на комментарий №9) > (In reply to comment #0) > > Created an attachment (id=4860) [details] [details] > > PC-файл из другого дистрибутива > Из какого? Такие lua.pc я вижу в свежих сборках lua-5.1.4 в PCLinuxOS, Mandriba, OpenSuSe. > > Столкнулся с LUA-программами, при сборке спрашивающими у lua.pc , куда им > > ставить динамически подгружаемые .so-файлы (а именно, запрашивается переменная > > INSTALL_CMOD). Однако наш аскетичный lua.pc подобной информации не содержит. > > > > Анализ актуальных lua*.pc на основных rpm-based дистрибутивах показал, что все > > (!) они предоставляют гораздо больше информации, чем наш. > Я сейчас посмотрел федорный пакет. Выходит, что они удаляют эту информацию > пачем > http://pkgs.fedoraproject.org/gitweb/?p=lua.git;a=blob;f=lua-5.1.4-autotoolize.patch > Они что, враги себе, или эта информация на самом деле не нужна? Подобные спеки я вижу в FC и PLD. Думаю, сборку каждого пакета, хотящего больше от lua.pc, им пришлось запатчить. Стоит ли и нам так делать? > > Хотелось бы иметь > > возможность собирать lua-пакеты, запрашивающие такую информацию, без кувалды. > > Для этого нужно (как я понял) на этапе сборки lua внести в pc-файл > > дополнительную build-time информацию. Не думаю, что это изменение способно > > что-то сломать. > > Для примера прилагаю pc-файл из другого дистрибутива. > > +INSTALL_BIN=${prefix}/bin > > +INSTALL_INC=${prefix}/include > > +INSTALL_LIB=${prefix}/lib > > +INSTALL_MAN=${prefix}/share/man/man1 > Я полагаю, что все вышеперечисленное не нужно, а INSTALL_LIB к тому же еще и > неправильно. Кому? Почему? > В debian определяют только INSTALL_LMOD и INSTALL_CMOD, предлагаю и нам > ограничиться этими переменными. Я добавил больше информации, чем нужно было сейчас мне, ориентируясь на сборки в других дистрибутивах (не FC/PLD), чтобы потом лишний раз маинтайнеру не вставать. Но если он хочет - мне пока этих двух переменных хватит.
(In reply to comment #10) > (В ответ на комментарий №9) > > > +INSTALL_BIN=${prefix}/bin > > > +INSTALL_INC=${prefix}/include > > > +INSTALL_LIB=${prefix}/lib > > > +INSTALL_MAN=${prefix}/share/man/man1 > > Я полагаю, что все вышеперечисленное не нужно, а INSTALL_LIB к тому же еще и > > неправильно. > > Кому? Почему? Все вышеперечисленное -- это стандартные каталоги ОС, и не lua.pc определять, где они находятся. INSTALL_LIB неправильный потому, что %_libdir не всегда совпадает с %_prefix/lib. > > В debian определяют только INSTALL_LMOD и INSTALL_CMOD, предлагаю и нам > > ограничиться этими переменными. > > Я добавил больше информации, чем нужно было сейчас мне, ориентируясь на сборки > в других дистрибутивах (не FC/PLD), чтобы потом лишний раз маинтайнеру не > вставать. Но если он хочет - мне пока этих двух переменных хватит. Я думаю, что добавлять lua-специфичные переменные для не-lua-специфичных каталогов не стоит.
Понятно. Делаю другой патч.
Новый патч. Ляп с libdir починен в спеке (следующий коммит).
(In reply to comment #13) > Новый патч. Ляп с libdir починен в спеке (следующий коммит). Fine with me.
merge/acl/что-то ещё?
lua5-5.1.4-alt5 -> sisyphus: * Tue May 03 2011 Terechkov Evgenii <evg@altlinux> 5.1.4-alt5 - Add more info in lua.pc (ALT#25368)
Ok