Здравствуйте Slava Semushin В сообщении от 28 июля 2006 09:06 Slava Semushin написал(a): > > после alt должен следовать номер, к примеру, alt0 > > > > ХР> Prefix: %dateversion > > > Prefix AFAIK используется для указания корня при установке > файлов из > > пакета, у вас же он почему-то определён как число. В ALT Linux > Prefix > > вообще не принято использовать. Вообщем, эту строку можно > удалить. Я делал в соответствии с Wiki http://wiki.sisyphus.ru/devel/TypicalPackagingErrors/versions?v=6f > > > > ХР> Source3: %name-32.png > > ХР> Source4: %name-16.png > > ХР> Source5: %name-48.png > > > > Во Fluxbox все иконки упакованы в один тарболл. Мне кажется, так > более > > удобно. Упакую, когда всё остальное до ума доведу > > > ХР> Requires: common-licenses > > > > IMHO это лишняя зависимость, потому что common-license всегда > > присутствует в системе. > :) Я так понимаю, что это стандартная защита/напоминание от установки в операционных системах с другой лицензией (например, через cigwin) :) > > ХР> %package vdr > > ХР> Summary: A X11 VDR frontend > > ХР> Summary(ru_RU.UTF-8): X11 п╬п╠п╬п╩п╬я┤п╨п╟ п╢п╩я▐ VDR > > ХР> Group: Video > > ХР> Requires: libs%name = %version > > ХР> Requires: %name-common = %version > > ХР> Requires: %name = %version > > ХР> Requires: vdr %origname > > > > В последней строке не vdr-%origname должно ли быть? нет - требуется пакет vdr и пакет xawtv . Я пока не изучил, возможно окажется, что vdr и один из пакетов motv,xawtv,fbtv или xawtv4 - кстати как такое можно указать ? vdr motv && xawtv && fbtv && xawtv4 PS Вопрос риторический. Ожидаемый ответ - никак. > > > > Я бы в цикле это сделал %) > > > > pushd gtk > > for file in xawtv.c mtt.c pia.c; do > > mv $file ${file/.c/4.c} > > dine > > popd Ок, правда число строчек это не экономит, а вероятность ошибки повышает. > > > > ХР> CFLAGS="$RPM_OPT_FLAGS" \ > > > > use %optflags macros > > > > Хотя лучше не передавать configure флаги вообще, т.к. если в > этих > > фалагах встретиться -Werror, то очень многие тесты > configure-скрипта > > обломятся и выдадут ошибку. Вообще-то не обломилось, но я подумую :) > > > ХР> %make_build %add_optflags %optflags_shared > > > > Эм.. это какая-то вообще странная конструкция и кажется не > должна так > > использоваться. Я лично вообще не использую макрос > %add_optflags, а > > передаю флаги прямо make'у следующим образом: > > > > %make_build CFLAGS="%optflags" (для программ на Си) > > %make_build CXXFLAGS="%optflags" (для программ на Си++) > > > Попробую > ХР> %make_install DESTDIR=%buildroot \ > > ХР> ROOT=%buildroot \ > > ХР> SUID_ROOT="" install > > > > Не уверен, т.к. не видел вашу программу, но точно ли нужны ROOT > и проверю > > SUID_ROOT ? Да - иначе Makefile вызывают chmod и построение вываливается > > > ХР> find %buildroot -type f -print \ > > ХР> | sed -e 's|%buildroot||' \ > > ХР> | grep -v -e %_docdir \ > > ХР> | grep -v -e bin/v4l-conf \ > > ХР> > filelist > > ХР> cat filelist > > > > Судя по cat, это используется для отладки? Вообще, можно > обернуть все > > отладочные макросы/дейтвия и потом включать/выключать их по > > %def_{enable,disable}. > > > > Несколько идей: > > > > - ключик -e для grep нужен при использовании регулярных > выражений и > > здесь IMHO избыточен ок - я просто выдернул эти строки из spec, лежащий в тарболе и использовал для составления списка файлов > > > - макроса %docdir не существует как это : [writer@rostov ~]$ rpm --showrc | grep docdir export RPM_DOC_DIR="%_docdir" -14: _defaultdocdir %{_usr}/share/doc -14: _findprov_skiplist %_docdir/* -14: _findreq_skiplist %_docdir/* -14: _gtkdocdir %_datadir/gtk-doc/html -14: _javadocdir %_datadir/javadoc -14: _kdedocdir %_docdir/HTML RPM_DOC_DIR="%{_docdir}" -14: docs_prefix %_docdir/alt-docs > , используется %_defaultdocdir > Ок > > > - два грепа можно объединить вместе: > egrep -v 'bin/v4l-conf|%_defaultdocdir' ок > > - зачем сохранять в файл, если далее вы этот файл всё равно > выводите > > на stdout? Если файл более нигде не используется, то можно > обойтись > > без него :) Что-бы посмотреть на него через час : ) > > > > > - можно использовать install вместо %__install а какая разница ? > > > - можно использовать install -pD -m вместо install -d && install > -m Ок > > > ХР> %__install -d %buildroot%_menudir > > ХР> cat > %buildroot%_menudir/xawtv4 < > ХР> ?package(xawtv): command="XawTV" icon="%name.png" > section="Multimedia/Video" \ > > ХР> title="XawTV" longtitle="The X11 Video4Linux Stream Capture > Viewer" \ > > ХР> needs="x11" > > ХР> EOF > > > > Я обычно .menu-файла прекрепляю отдельно, чтобы сделать спек > более > > компактным и читабельным. Ок, так потом и сделаю > > > ХР> mkdir -p %buildroot{%_iconsdir/{large,mini},%_menudir} > > ХР> install -m 644 %SOURCE3 %buildroot%_iconsdir/ > > ХР> install -m 644 %SOURCE4 %buildroot%_miconsdir/%name.png > > ХР> install -m 644 %SOURCE5 %buildroot%_liconsdir/%name.png > > > > Не понял. Вы что одни и те же SOURCE пр два раза устанавливаете? > Ага.. > > но с разными именами, да? В таком случае, я бы лучше сделать > симлинки > > вместо реальных файлов для экономии места на жестком диске ;) Я хотел потом найти иконки для каждого из них своё :) > > > ХР> cp %SOURCE1 .|| true > > > Лучше использовать install вместо cp, чтобы не было проблем с > правами > > на файлы. Ок, я просто ёще неоткорректировал это место > > > > ХР> %files -n libs%name > > ХР> %dir %_libdir/%name > > ХР> %_libdir/%name/* > > > > У вас тут библиотека, а вызвать ldconfig вы не забыли? (см. > макросы > > %post_ldconfig/%postun_ldconfig) > Я согласен с Andrey Rahmatullin :) > > > ХР> %files common -f %origname.lang > > ХР> %attr(4711,root,root) %_bindir/v4l-conf > > > > Какие-то странные права. Почему группе и остальным только на > запуск? > Andrey Rahmatullin > > ХР> %_bindir/rootv > > ХР> %_bindir/scantv > > ХР> %_bindir/subtitles > > ХР> %_bindir/v4l-info > > ХР> %_bindir/record > > ХР> %_bindir/mtt4 > > ХР> %dir %_mandir/ > > ХР> %_mandir/* > > > > Не надо так делать. Теперь /usr/share/man и некоторые вложенные > > подкаталоги принадлежат вашему пакету. Используйте макросы > %_manXdir, > > где X -- номер секции. Ок > > > ХР> %dir %_datadir/xawtv > > ХР> %_datadir/xawtv/* > > > > Можно просто %_datadir/xawtv/ Ок > > > ХР> %_iconsdir/* > > > > Тот же случай, что и с %_mandir. Используйте макрос %_liconsdir, > > %_niconsdir и %_miconsdir. Ок > > > ХР> %changelog > > ХР> - xawtv4-4.0-libquictime-fix.patch - add patch for qt-pugins > (Fix Mi :) ) > > ХР> - xawtv4-4.0-defwintitle.patch - correct from 3.95 > > ХР> - xawtv4-4.0-vdr.patch - correct from 3.95 + my patch (Fix Mi > :) ) > > ХР> - xawtv4-4.0-russian.patch - correct from 3.95 > > ХР> - xawtv4-4.0-vdr-russian.patch - correct from 3.95 > > ХР> > > > > s/reaire/require/ > > s/Mi/me/ Ок > > > Советую также ознакомиться с документом > > http://wiki.sisyphus.ru/devel/TypicalPackagingErrors/changelog > Вы думаете, я с ним не начал знакомитья :) > Руслан, спасибо за вашу работу и помощь! Ждём в Team ;-) Рад стараться :) -- С уважением Хихин Руслан