[devel] ufoai-диверсия

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Пн Сен 24 19:48:44 MSD 2007


On Mon, Sep 24, 2007 at 06:08:00PM +0300, Andrii Dobrovol`s`kii wrote:
> >>> А что за диверсия у нас в виде ufoai-{maps,music} пакетов?
> >>> Один содердит *.pk3, другой - *.ogg, собираются из
> >>> отдельных src.rpm, в обоих отсутствует секция %build. Т.е.
> >>> явные noarch-пакеты. Тогда почему они присутствуют и в
> >>> i586, и в x86_64 (по 280М)?
> >> Какой смысл сразу рассуждать о диверсиях?

Прямой -- ошибка очень уж увесистая.

> > Действительно, какой смысл рассуждать о диверсиях?
> После каждой --нет. После шуток с претензией -- да.

Андрей, будь dobr@, не воспитывай людей в списке, лучше частными
письмами.  Зная обоих по чуточке лично -- мне кажется, что без 
помощников дядьки способны разобраться вполне нормально.

> > Так почему вы мне "подсказываете", а не мейнтейнеру?
> А Вы не догадались? Именно по тому, что не могу подсказать
> упаковщику.

Тем более если нечего сказать по существу.

2 ashen (да и 2 devel):

- не следует комментировать макросы/секции так: #%macro
  их следует комментировать так: #%%macro или так: #macro

- не следует надеяться, что если закомментирована строчка
  с названием секции -- RPM догадается, что следующий
  rm -rf $BUILDROOT принадлежал к закомментированному %clean

- наконец, учиться всё-таки лучше на пакетах поменьше,
  а перед заливанием больших (скажем, >10M и определённо
  >30M) -- следует опубликовать spec-файл и поинтересоваться
  мнением коллег, всё ли тут в порядке

- если суть какого-либо макроса (например, %configure) неясна,
  можно сделать rpm --eval %configure или спросить в рассылке

- (вкусовщина) оформление заголовка читабельней, когда
  соответствует ALT specfile conventions:
  http://docs.altlinux.ru/alt/devel/ch01.html#id2816423

Слегка (не до упора -- см. комментарии) почищенный спек
и патчик от оригинального -- в аттаче.

2 inger, ldv, at: есть предложение что-то придумать
со скоростью прохождения больших архитектурно-зависимых пакетов,
вероятно, содержащих ошибки упаковки.

В голову пришла такая эвристика:

- если пакет _большой_ и _$arch_, при этом
  - его ранее не было в репозитории или
  - в названии содержится -music-, -data-, -maps- или
  - rpm group начинается на Games/
-- поставить на hold и уведомить incoming@ для ручной проверки".

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
Name:           ufoai
Version:        2.1.1
Release:        alt1.5

Summary:        UFO:AI 
License:        GPL
Group:          Games/Strategy

URL:            http://ufoai.ninex.info/
Source0:        %name-%version-source.tar.bz2 
Source1:        %name.png 
Source2:        %name.desktop
Source3:	%name
#Patch0:          ref_glx.patch
Packager:       Alexey Shentzev <ashen на altlinux.org>

BuildRequires:	libarts-devel libjpeg-devel libmesa-devel libSDL-devel libSDL_ttf-devel packages-info-i18n-common

# Automatically added by buildreq on Fri Sep 14 2007 (-bi)
Requires:	libarts libjpeg libmesa libSDL libSDL_ttf libvorbis libalsa libjpeg libogg packages-info-i18n-common
Requires:       ufoai-music = %version
Requires:       ufoai-maps  = %version

%define ufo_aliases ufo2map ufoded ufomaster qdata

%description
UFO: ALIEN INVASION is a strategy game featuring tactical combat 
against hostile alien forces which are about to infiltrate earth at 
this very moment. You are in command of a small special unit which 
has been founded to face the alien strike force. To be successful on 
the long run, you will also have to have a research team study the 
aliens and their technologies in order to learn as much as possible 
about their technology, their goals and the aliens themselves.

%description -l ru_RU.UTF-8
UFO: ALIEN INVASION п©п╬я┬п╟пЁп╬п╡п╟я▐ я│я┌я─п╟я┌п╣пЁп╦я▐, п╠п╬я─я▄п╠п╟ я│ п╦п?п╬п©п╩п╟п?п╣я┌п?я▀п╪ 
п╡я┌п╬я─п?п╣п?п╦п╣п╪ п?п╟ п╪п╟я┌я┐я┬п╨я┐ п≈п╣п╪п╩я▌.
п▓я▀ я▐п╡п╩п╣п╣я┌п╣я│я▄ я┐я┤п╟я│я┌п?п╦п╨п╬п╪ я│п©п╣я├п╨п╬п╪п╟п?п?я▀ п©п╬ п╠п╬я─я▄п╠п╣ я│ п╦п?п╬п©п╩п╟п?п╣я┌п?я▀п╪ п╡я┌п╬я─п?п╣п?п╦п╣п╪ 
п?п╟ п©п╩п╟п?п╣я┌я┐ п≈п╣п╪п╩я▐, я│п╬п?п?п╟п?п?п╬п╧ п?п╩я▐ п©я─п╬я┌п╦п╡п╬я│я┌п╬я▐п?п╦я▐ п?п╣п╦п?п╡п╣я│я┌п?п╬п╧ я┐пЁя─п╬п?п╣. 
п■п╩я▐ п?п╬я│я┌п╦п?п╣п?п╦я▐ я┐я│п©п╣я┘п╟ п▓п╟п╪ п?п╣п╬п╠я┘п╬п?п╦п╪п╬ п?п╣ я┌п╬п╩я▄п╨п╬ п╡я▀п╦пЁя─я▀п╡п╟я┌я▄ п╠п╦я┌п╡я▀, п?п╬ п╦
п╦п?я┐я┤п╟я┌я▄ п╦п?п╬п©п╩п╟п?п╣я┌я▐п?, п╦я┘ я├п╣п╩п╦, я┌п╣я┘п?п╬п╩п╬пЁп╦п╦, п╬я─я┐п?п╦п╣. 

%prep
%setup -n %name-%version-source
#patch0 -p1

%build
%configure --with-alsa 
make
make lang
for i in %ufo_aliases; do 
	ln -s ufo $i
done

%install
install -pD -m755 %buildroot%_bindir/
install -m755 ufo %ufo_aliases %buildroot%_bindir/
install -D -m 0644 %SOURCE1 %buildroot%_datadir/pixmaps/%name.png
install -D -m 0644 %SOURCE2 %buildroot%_datadir/applications/%name.desktop
install -D -m 0755 %SOURCE3 %buildroot%_bindir/%name
install -D -m 0755 snd_sdl.so %buildroot%_libdir/%name/snd_sdl.so
install -D -m 0755 snd_alsa.so %buildroot%_libdir/%name/snd_alsa.so
install -D -m 0755 snd_oss.so %buildroot%_libdir/%name/snd_oss.so
install -D -m 0755 snd_arts.so %buildroot%_libdir/%name/snd_arts.so
install -D -m 0755 ref_glx.so %buildroot%_libdir/%name/ref_glx.so
install -D -m 0755 ref_sdl.so %buildroot%_libdir/%name/ref_sdl.so
cp -pr base %buildroot%_libdir/%name
ln -s %_libdir/%name/base/i18n %buildroot%_libdir/%name/i18n 

# menu
cat <<EOF > %buildroot%_desktopdir/%name.desktop
[Desktop Entry]
Encoding=UTF-8
Type=Application
Exec=ufo +set s_libdir %_libdir/ufoai +set fs_basedir %_libdir/ufoai +set vid_ref sdl
Patch=%_libdir/%name
Icon=%name
Terminal=false
Name=UFO: Alien Invasion
Comment=п÷п╬я┬п╟пЁп╬п╡п╟я▐ я│я┌я─п╟я┌п╣пЁп╦я▐
Categories=StrategyGame;Game
__MENU__

# FIXME: when .desktop file is added, remember to restore 
# menu-updating scripts as well
#post
#update_menus

#postun
#clean_menus

%files
%doc README BUGS CONTRIBUTORS COPYING
%_bindir/ufo
%_bindir/ufomaster
%_bindir/ufo2map
%_bindir/ufoded
%_bindir/qdata
%_bindir/%name
%_datadir/pixmaps/%name.png
%_datadir/applications/%name.desktop
# FIXME: what package owns %_libdir/%name/ _directory_?
%_libdir/%name/*

%changelog
* Mon Sep 24 2007 Michael Shigorin <mike на altlinux.org> 2.1.1-alt1.5
- spec cleanup, including quite uncomfortable stuff

* Thu Sep 20 2007 Alexey Shentzev <ashen на altlinux.ru> 2.1.1-alt1.4
- add support non english language, add for start from commandline

* Tue Sep 11 2007 Alexey Shentzev <ashen на altlinux.ru> 2.1.1-alt1
- first build for Alt Linux
----------- следующая часть -----------
--- ufoai.spec-orig	2007-09-20 13:00:13 +0300
+++ ufoai.spec	2007-09-24 18:36:44 +0300
@@ -1,21 +1,27 @@
 Name:           ufoai
 Version:        2.1.1
-Release:        alt1.4
+Release:        alt1.5
+
+Summary:        UFO:AI 
 License:        GPL
-Packager:       Alexey Shentzev <ashen на altlinux.org>
-URL:            http://ufoai.ninex.info/
 Group:          Games/Strategy
-# Automatically added by buildreq on Fri Sep 14 2007 (-bi)
-BuildRequires:	libarts-devel libjpeg-devel libmesa-devel libSDL-devel libSDL_ttf-devel packages-info-i18n-common
-Requires:       ufoai-music = %version
-Requires:       ufoai-maps  = %version
-Requires:	libarts libjpeg libmesa libSDL libSDL_ttf libvorbis libalsa libjpeg libogg packages-info-i18n-common
-Summary:        UFO:AI 
+
+URL:            http://ufoai.ninex.info/
 Source0:        %name-%version-source.tar.bz2 
 Source1:        %name.png 
 Source2:        %name.desktop
 Source3:	%name
 #Patch0:          ref_glx.patch
+Packager:       Alexey Shentzev <ashen на altlinux.org>
+
+BuildRequires:	libarts-devel libjpeg-devel libmesa-devel libSDL-devel libSDL_ttf-devel packages-info-i18n-common
+
+# Automatically added by buildreq on Fri Sep 14 2007 (-bi)
+Requires:	libarts libjpeg libmesa libSDL libSDL_ttf libvorbis libalsa libjpeg libogg packages-info-i18n-common
+Requires:       ufoai-music = %version
+Requires:       ufoai-maps  = %version
+
+%define ufo_aliases ufo2map ufoded ufomaster qdata
 
 %description
 UFO: ALIEN INVASION is a strategy game featuring tactical combat 
@@ -36,19 +42,19 @@
 
 %prep
 %setup -n %name-%version-source
-#%patch0 -p1
+#patch0 -p1
 
 %build
-%configure --prefix=/usr --sysconfdir=%_sysconfdir --with-alsa 
+%configure --with-alsa 
 make
 make lang
+for i in %ufo_aliases; do 
+	ln -s ufo $i
+done
 
 %install
-install -D -m 0755 ufo %buildroot%_bindir/ufo
-install -D -m 0755 ufo %buildroot%_bindir/ufo2map
-install -D -m 0755 ufo %buildroot%_bindir/ufoded
-install -D -m 0755 ufo %buildroot%_bindir/ufomaster
-install -D -m 0755 ufo %buildroot%_bindir/qdata
+install -pD -m755 %buildroot%_bindir/
+install -m755 ufo %ufo_aliases %buildroot%_bindir/
 install -D -m 0644 %SOURCE1 %buildroot%_datadir/pixmaps/%name.png
 install -D -m 0644 %SOURCE2 %buildroot%_datadir/applications/%name.desktop
 install -D -m 0755 %SOURCE3 %buildroot%_bindir/%name
@@ -75,17 +81,15 @@
 Categories=StrategyGame;Game
 __MENU__
 
-#%post
-%update_menus
+# FIXME: when .desktop file is added, remember to restore 
+# menu-updating scripts as well
+#post
+#update_menus
 
-#%postun
-%clean_menus
-                                                                                                   
-#%clean
-rm -rf "$RPM_BUILD_ROOT"
+#postun
+#clean_menus
 
 %files
-%defattr(-,root,root)
 %doc README BUGS CONTRIBUTORS COPYING
 %_bindir/ufo
 %_bindir/ufomaster
@@ -95,9 +99,13 @@
 %_bindir/%name
 %_datadir/pixmaps/%name.png
 %_datadir/applications/%name.desktop
+# FIXME: what package owns %_libdir/%name/ _directory_?
 %_libdir/%name/*
 
 %changelog
+* Mon Sep 24 2007 Michael Shigorin <mike на altlinux.org> 2.1.1-alt1.5
+- spec cleanup, including quite uncomfortable stuff
+
 * Thu Sep 20 2007 Alexey Shentzev <ashen на altlinux.ru> 2.1.1-alt1.4
 - add support non english language, add for start from commandline
 


Подробная информация о списке рассылки Devel