ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Slava Semushin <php-coder@ngs.ru>
To: hihin@yandex.ru,
	ALT Linux Sisyphus discussion list <sisyphus@lists.altlinux.org>
Subject: Re: [sisyphus] XawTV4
Date: Fri, 28 Jul 2006 12:06:22 +0700
Message-ID: <20060728050622.GB3559@semushin.plesk.ru> (raw)
In-Reply-To: <200607280201.11108@ruslandh>


--- Хихин Руслан 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 <<EOF
ХР> ?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 <hihin_c@t_narod_dot_ru> 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



  reply	other threads:[~2006-07-28  5:06 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-19  0:02 [sisyphus] XdTV Хихин Руслан
2006-07-19  5:23 ` Damir Shayhutdinov
2006-07-19  6:18   ` Хихин Руслан
2006-07-19  6:19 ` Gleb Kulikov
2006-07-19  9:04 ` Igor Zubkov
2006-07-19 10:06 ` Michael Shigorin
2006-07-19 20:08   ` Хихин Руслан
2006-07-20  3:22     ` Slava Semushin
2006-07-20  5:27       ` Хихин Руслан
2006-07-20  9:14         ` Eugene Prokopiev
2006-07-20 19:48           ` Хихин Руслан
2006-07-23  4:42             ` Хихин Руслан
2006-07-23 17:38               ` [sisyphus] XawTV4 Хихин Руслан
2006-07-24  7:36                 ` Damir Shayhutdinov
2006-07-24  8:26                   ` Хихин Руслан
2006-07-25  7:02                     ` Хихин Руслан
2006-07-25  8:38                       ` Хихин Руслан
2006-07-26 20:35                         ` Хихин Руслан
2006-07-27 17:50                           ` Michael Shigorin
2006-07-27 22:01                             ` Хихин Руслан
2006-07-28  5:06                               ` Slava Semushin [this message]
2006-07-28  5:41                                 ` Damir Shayhutdinov
2006-07-28  5:54                                   ` Slava Semushin
2006-07-28  5:58                                     ` Damir Shayhutdinov
2006-08-01 16:51                                   ` Хихин Руслан
2006-08-01 17:46                                     ` Хихин Руслан
2006-07-28  5:48                                 ` Andrey Rahmatullin
2006-07-30 20:37                                   ` Michael Shigorin
2006-07-31  8:18                                     ` Хихин Руслан
2006-07-31 17:04                                 ` Хихин Руслан
2006-07-31 17:39                                   ` Sergey Vlasov
2006-07-31 18:21                                     ` Хихин Руслан
2006-08-01 19:26                                   ` Michael Shigorin
2006-08-02  3:15                                     ` Хихин Руслан
2006-08-02  8:54                                       ` Хихин Руслан
2006-08-02  9:05                                         ` Damir Shayhutdinov
2006-08-02  9:28                                           ` Хихин Руслан
2006-08-02  9:35                                             ` Damir Shayhutdinov
2006-08-02  9:39                                             ` Slava Semushin
2006-08-02 10:16                                               ` Хихин Руслан
2006-08-02  9:35                                           ` Хихин Руслан
2006-08-02 15:15                                         ` Michael Shigorin
2006-08-02 18:37                                           ` Хихин Руслан
2006-08-02 18:58                                             ` Andrey Rahmatullin
2006-08-02 15:14                                       ` Michael Shigorin
2006-08-02 16:50                                         ` Хихин Руслан
2006-08-03 12:56                                           ` Aleksey Avdeev
2006-08-02 18:47                                         ` Хихин Руслан
2006-08-02 18:59                                           ` Andrey Rahmatullin
2006-08-04 20:01                                               ` Michael Shigorin
2006-08-05 12:28                                               ` Хихин Руслан
2006-08-06 19:35                                                 ` Хихин Руслан
2006-08-07  7:29                                               ` Slava Semushin
2006-08-14  5:43                                                 ` Хихин Руслан
2006-07-19 10:36 ` [sisyphus] XdTV Epiphanov Sergei
2006-07-19 12:08   ` Epiphanov Sergei
2006-07-19 12:21     ` Led
2006-07-19 20:00     ` Хихин Руслан
2006-07-19 22:24       ` Хихин Руслан
2006-07-20  3:24         ` Slava Semushin
2006-07-20  4:06           ` Хихин Руслан
2006-07-20  9:47           ` Igor Zubkov
2006-07-20 10:04             ` Led
2006-07-20 22:49               ` Хихин Руслан
2006-07-21  8:24                 ` Igor Zubkov
2006-07-21 17:42                   ` Хихин Руслан
2006-07-22  8:35                   ` Хихин Руслан
2006-07-22  8:42                     ` Pavlov Konstantin
2006-07-22  9:10                       ` Хихин Руслан
2006-07-23  5:40                   ` Хихин Руслан
2006-07-20  6:29       ` Хихин Руслан

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060728050622.GB3559@semushin.plesk.ru \
    --to=php-coder@ngs.ru \
    --cc=hihin@yandex.ru \
    --cc=sisyphus@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git