From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 28 Jul 2006 12:06:22 +0700 From: Slava Semushin To: hihin@yandex.ru, ALT Linux Sisyphus discussion list Message-ID: <20060728050622.GB3559@semushin.plesk.ru> References: <200607190402.34397@ruslandh> <200607270036.07872@ruslandh> <20060727175039.GC9038@osdn.org.ua> <200607280201.11108@ruslandh> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <200607280201.11108@ruslandh> Organization: SWSoft X-Operating-System: ALT Linux Sisyphus (20060401) 2.6.14-std26-up-alt5 User-Agent: Mutt/1.5.11 X-Antivirus: Dr.Web (R) for Mail Servers on master.plesk.ru host X-Antivirus-Code: 100000 Subject: Re: [sisyphus] XawTV4 X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.7 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Jul 2006 05:06:15 -0000 Archived-At: List-Archive: List-Post: --- Хихин Руслан 2006-07-28 02:01:07 +0400 +++ Vyacheslav Semushin 2006-07-28 11:22:08 +0700 Позволю себе дать немного советов Вам. Вы вправе ими пренебречь :) [skip] ХР> 4 Хотелось-бы убрать из проги все Working-и в компиляции и трансляции - ХР> обычно это скрытые ошибки. Верной дорогой идёте! ;0) ХР> 5 При упаковке пакетов идут сообщения об ненайденных функциях, правда ХР> Working, а не Error, поэтому пакет собирается. С ними надо то-же ХР> разобраться. s/Working/Warning/, насколько понимаю :) Обычно такие предупреждения достаточно легко фиксить -- достаточно найти в каком заголовочном файле определена требуемая ф-ция и подключить этот файл. Ну и тпро спек: ХР> %define dirlist app-defaults ru_RU.UTF-8/app-defaults ru_RU.CP1251/app-defaults ru_RU.KOI8-R/app-defaults Все строчки, где используется этот макрос закоментированны => макрос тоже можно закомментировать или вовсе удалить. В любом случае, не стОило его вставлять в самое начало спека IMHO. ХР> %define dateversion 20060615 Этот макрос используется ещё два раза на следующих пяти строчках. Я думаю, что можно обойтись без него. ХР> %define nomer 161048 s/nomer/number/ -- лучше использовать английские слова, а не транслит. ХР> Release: alto после alt должен следовать номер, к примеру, alt0 ХР> Prefix: %dateversion Prefix AFAIK используется для указания корня при установке файлов из пакета, у вас же он почему-то определён как число. В ALT Linux Prefix вообще не принято использовать. Вообщем, эту строку можно удалить. ХР> Source3: %name-32.png ХР> Source4: %name-16.png ХР> Source5: %name-48.png Во Fluxbox все иконки упакованы в один тарболл. Мне кажется, так более удобно. ХР> Requires: common-licenses IMHO это лишняя зависимость, потому что common-license всегда присутствует в системе. ХР> %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 должно ли быть? ХР> %description -n xawtv ХР> Xawtv is a Video4Linux Stream Capture Viewer, that is a X11 program for ХР> watching TV. [skip] ХР> pushd gtk ХР> mv xawtv.c xawtv4.c ХР> mv mtt.c mtt4.c ХР> mv pia.c pia4.c ХР> popd Я бы в цикле это сделал %) 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 ? ХР> 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 избыточен - макроса %docdir не существует, используется %_defaultdocdir - два грепа можно объединить вместе: egrep -v 'bin/v4l-conf|%_defaultdocdir' - зачем сохранять в файл, если далее вы этот файл всё равно выводите на stdout? Если файл более нигде не используется, то можно обойтись без него :) ХР> # Menu entries ХР> %__install -d %buildroot%_miconsdir ХР> %__install -d %buildroot%_liconsdir ХР> ХР> %__install -m 644 %SOURCE3 %buildroot%_niconsdir/motv.png ХР> %__install -m 644 %SOURCE4 %buildroot%_liconsdir/motv.png ХР> %__install -m 644 %SOURCE5 %buildroot%_miconsdir/motv.png - можно использовать 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) ХР> %files common -f %origname.lang ХР> %attr(4711,root,root) %_bindir/v4l-conf Какие-то странные права. Почему группе и остальным только на запуск? ХР> %_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. ХР> %_mandir/man1/alevtd.1* ХР> %_mandir/man1/webcam.1* %_man1dir/alevtd.1.* %_man1dir/webcam.1.* ХР> %changelog ХР> * Thu Jul 27 2006 Hihin Ruslan 4.0-alto ХР> - new version ХР> - add or reaire patchs : ХР> - xawtv4-4.0-as-need.patch - fix dlopen ХР> - xawtv4-4.0-gtkadd.patch - fix two xawtv ХР> - xawtv4-4.0-fbtv-fix.patch - fix fbtv (no all fix) ХР> - xawtv4-4.0-gcc4.patch - correct from Suse ХР> xawtv4-3.999_0.20051018-0.pm.0.src.rpm ХР> - xawtv4-4.0-aalib-fix.patch - delete aalib (bad upstream) ХР> - 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 ;-) -- + Slava Semushin | php-coder @ ngs.ru + ALT Linux Team | php-coder @ altlinux.ru + Expand QA Team | vsemushin @ swsoft.com