[devel] alternative for package

Alexey Morsov =?iso-8859-1?q?samurai_=CE=C1_ricom=2Eru?=
Пн Июн 25 17:07:50 MSD 2007


Приветствую,

Что-то не могу никак понять как правильно прикрутить альтернативы к
пакету.
Дано: src.rpm из которого получается 3 бинарнхы пакета (name, name1,
name2). 
Требуется: сделать альтернативы, так чтобы в случае установки пакета name1
- он бы вызывался по name и т.д.

Спек прилагаю. Данный вариант вообще оказался сломан, предыдущий (когда
все альтернативы в одном файле) работал при инсталяции, но ломал файлы при
удалении одного из пакетов (в частости файл принадлежащий name после
удаленя name2 в /usr/bin переименовывался в /usr/bin/name.alternative.save

-- 

С уважением,
Алексей Морсов
программист ЗАО "ИК "Риком-Траст"

Jabber: samurai на www.fondmarket.ru
www.ricom.ru
www.fondmarket.ru

NP: Korpiklaani - Old Tale

----------- следующая часть -----------
Name: smplayer
Summary: A great MPlayer front-end (QT4)
Summary(ru_RU.UTF8): Мощный интерфейс для MPlayer (QT4)
License: GPL
Group: Video
Url: http://smplayer.sourceforge.net
Version: 0.5.21
Release: alt1
Packager: Alexey Morsov <swi на altlinux.ru>
Source0: %name-%version.tar.bz2
Source1: smplayer_uk_UA.qm
Source2: smplayer_uk_UA.ts
Source3: %name.menu.qt3
Source4: %name.menu.qt4
Source5: %name.menu.kde
Source6: %name.desktop.qt3
Source7: %name.desktop.qt4
Source8: %name.desktop.kde
Patch0: %name-0.5.12-alt_dir_flags.diff
Requires: mplayer %name-common = %version

BuildPreReq: alternatives
BuildRequires: gcc-c++ libqt4-devel >= 4.2 libqt4-svg libqt3-devel linux-libc-headers packages-info-i18n-common
BuildRequires: kdelibs-devel kdelibs
Provides: %name

%description
smplayer intends to be a complete front-end for MPlayer, from basic features
like playing videos, DVDs, and VCDs to more advanced features like support
for MPlayer filters and more. One of the main features is the ability to
remember the state of a played file, so when you play it later it will resume
at the same point and with the same settings. smplayer is developed with
the Qt toolkit, so it's multi-platform.
Compiled with Qt4

%description -l ru_RU.UTF8
SMPlayer стремится быть как можно более полным интерфейсом для MPlayer,
от базовых функций проигрывания видео, DVD, VCDs до самого продвинутого
функционала MPlayer-а по поддержке фильтров и т.п. Одна из главных
особенностей - способность запоминать положение проигрываемого файла для
того, чтобы при следующем его открытии Вы могли смотреть его дальше с
того же места и с теми же параметрами настроек. SMPlayer разработан на
инструментарии Qt и является мультиплатформенным.
Скомпилировано с Qt4



# qt3 version
%package -n %name-qt3
Summary: A great MPlayer front-end (QT3)
Summary(ru_RU.UTF8): Мощный интерфейс для MPlayer (QT3)
Group: Video
Provides: %name
Requires: mplayer %name-common = %version

%description -n %name-qt3
smplayer intends to be a complete front-end for MPlayer, from basic features
like playing videos, DVDs, and VCDs to more advanced features like support
for MPlayer filters and more. One of the main features is the ability to
remember the state of a played file, so when you play it later it will resume
at the same point and with the same settings. smplayer is developed with
the Qt toolkit, so it's multi-platform.
Compiled with Qt3.

%description -l ru_RU.UTF8 -n %name-qt3
SMPlayer стремится быть как можно более полным интерфейсом для MPlayer,
от базовых функций проигрывания видео, DVD, VCDs до самого продвинутого
функционала MPlayer-а по поддержке фильтров и т.п. Одна из главных
особенностей - способность запоминать положение проигрываемого файла для
того, чтобы при следующем его открытии Вы могли смотреть его дальше с
того же места и с теми же параметрами настроек. SMPlayer разработан на
инструментарии Qt и является мультиплатформенным.
Скомпилировано с Qt3.


# kde version
%package -n %name-kde
Summary: A great MPlayer front-end (KDE)
Summary(ru_RU.UTF8): Мощный интерфейс для MPlayer (KDE)
Group: Video
Provides: %name
Requires: mplayer %name-common = %version

%description -n %name-kde
smplayer intends to be a complete front-end for MPlayer, from basic features
like playing videos, DVDs, and VCDs to more advanced features like support
for MPlayer filters and more. One of the main features is the ability to
remember the state of a played file, so when you play it later it will resume
at the same point and with the same settings. smplayer is developed with
the Qt toolkit, so it's multi-platform.
Compiled with KDE support.

%description -l ru_RU.UTF8 -n %name-kde 
SMPlayer стремится быть как можно более полным интерфейсом для MPlayer,
от базовых функций проигрывания видео, DVD, VCDs до самого продвинутого
функционала MPlayer-а по поддержке фильтров и т.п. Одна из главных
особенностей - способность запоминать положение проигрываемого файла для
того, чтобы при следующем его открытии Вы могли смотреть его дальше с
того же места и с теми же параметрами настроек. SMPlayer разработан на
инструментарии Qt и является мультиплатформенным.
Скомпилировано с поддержкой KDE.


# common files
%package -n %name-common
Summary: A great MPlayer front-end (common files)
Summary(ru_RU.UTF8): Мощный интерфейс для MPlayer (общие файлы)
Group: Video

%description -n %name-common
Common files for SMPlayer

%description -l ru_RU.UTF8 -n %name-common
Общие файлы для SMPlayer


%prep
%setup -q
%patch0 -p1
subst 's|DOC_PATH=$(PREFIX)/share/doc/packages/smplayer|DOC_PATH=%_docdir/%name-%version|g' Makefile


%build
# qt3
export OLDPATH=$PATH
export PATH=$PATH:$QTDIR/bin
export OPTFLAGS="%optflags"
%make_build
mv src/%name src/%name-qt3
cd src && make clean && cd ..

# kde
export PATH=$OLDPATH:$QTDIR/bin
export OPTFLAGS="%optflags"
%make_build KDE_SUPPORT=1
mv src/%name src/%name-kde
cd src && make clean && cd ..

# qt4
export PATH=$OLDPATH:%_qt4dir/bin
export OPTFLAGS="%optflags"
%make prep
%make_build



%install
%make DESTDIR=%buildroot install
install -Dp -m 0755 src/%name %buildroot%_bindir/%name
install -Dp -m 0755 src/%name-qt3 %buildroot%_bindir/%name-qt3
install -Dp -m 0755 src/%name-kde %buildroot%_bindir/%name-kde

# Menu - well, i think yeah - it's too soon remove them allready
install -Dp -m 0644 %SOURCE3 %buildroot%_menudir/%name-qt3
install -Dp -m 0644 %SOURCE4 %buildroot%_menudir/%name-qt4
install -Dp -m 0644 %SOURCE5 %buildroot%_menudir/%name-kde

# Desktop files
install -Dp -m 0644 %SOURCE6 %buildroot%_desktopdir/%name-qt3.desktop
install -Dp -m 0644 %SOURCE7 %buildroot%_desktopdir/%name-qt4.desktop
install -Dp -m 0644 %SOURCE8 %buildroot%_desktopdir/%name-kde.desktop

# alternatives
install -d %buildroot%_altdir

#qt3
cat >%buildroot%_altdir/%name-qt3 <<EOF
%_bindir/%name	%_bindir/%name-qt3 10
EOF
# qt4
cat >%buildroot%_altdir/%name <<EOF
%_bindir/%name	%_bindir/%name 20
EOF
# kde
cat >%buildroot%_altdir/%name-kde <<EOF
%_bindir/%name	%_bindir/%name-kde 30
EOF


%post
%register_alternatives %name -- %name
%update_alternatives
%update_menus

%post -n %name-qt3
%register_alternatives %name-qt3 -- %name-qt3
%update_alternatives
%update_menus

%post -n %name-kde
%register_alternatives %name-kde -- %name-kde
%update_alternatives
%update_menus

%preun
%unregister_alternatives %name

%preun -n %name-qt3
%unregister_alternatives %name-qt3

%preun -n %name-kde
%unregister_alternatives %name-kde

%postun
%clean_menus

%postun -n %name-qt3
%clean_menus

%postun -n %name-kde
%clean_menus


%files -n %name-common
%_docdir/%name-%version
%_datadir/%name
%_iconsdir/*/*/*


%files
%_bindir/%name
%_menudir/%name-qt4
%_desktopdir/%name-qt4.desktop
%_altdir/%name

%files -n %name-qt3
%_bindir/%name-qt3
%_menudir/%name-qt3
%_desktopdir/%name-qt3.desktop
%_altdir/%name-qt3

%files -n %name-kde
%_bindir/%name-kde
%_menudir/%name-kde
%_desktopdir/%name-kde.desktop
%_altdir/%name-kde

%changelog
* Mon Jun 25 2007 Alexey Morsov <swi на altlinux.ru> 0.5.21-alt1
- version 0.5.21
- fix alternatives

* Fri Jun 22 2007 Alexey Morsov <swi на altlinux.ru> 0.5.19-alt1
- version 0.5.19 

* Wed Jun 20 2007 Alexey Morsov <swi на altlinux.ru> 0.5.18-alt1
- version 0.5.18
- fix alternative (package separation)

* Wed Jun 20 2007 Alexey Morsov <swi на altlinux.ru> 0.5.17-alt1
- version 0.5.17
- add alternatives (thanks to evg@)
- adjust spec for alternatives

* Thu Jun 14 2007 Alexey Morsov <swi на altlinux.ru> 0.5.14-alt1
- version 0.5.14

* Wed Jun 13 2007 Alexey Morsov <swi на altlinux.ru> 0.5.12-alt1
- version 0.5.12
- fix building optflags'

* Tue Jun 12 2007 Alexey Morsov <swi на altlinux.ru> 0.5.11-alt1
- version 0.5.11

* Sun Jun 10 2007 Alexey Morsov <swi на altlinux.ru> 0.5.9-alt1
- version 0.5.9

* Thu Jun 07 2007 Alexey Morsov <swi на altlinux.ru> 0.5.7-alt1
- version 0.5.7

* Wed Jun 06 2007 Alexey Morsov <swi на altlinux.ru> 0.5.6-alt1
- version 0.5.6

* Wed Jun 06 2007 Alexey Morsov <swi на altlinux.ru> 0.5.5-alt2
- fix patch1

* Tue Jun 05 2007 Alexey Morsov <swi на altlinux.ru> 0.5.5-alt1
- Added in the audio menu an option to load an external audio file
- Added the option "dont_use_eq_options" in the config file, ([preferences]
- Updated the German translation.
- Added an empty icon for gamma


* Tue Jun 05 2007 Alexey Morsov <swi на altlinux.ru> 0.5.4-alt1
- The size of the floating control can be changed
- The size and position of the main window will be remembered.


* Mon Jun 04 2007 Alexey Morsov <swi на altlinux.ru> 0.5.3-alt1
- Updated the Polish and Russian translations.
- New fullscreen control widget, smaller than the previous one. 

* Wed May 30 2007 Motsyo Gennadi <drool на altlinux.ru> 0.5.0-alt1
- NMU
- new version
- disabled external ukrainian translation (upstream merged)
- fix doc path without mv ;-)

* Sun May 20 2007 Alexey Morsov <swi на altlinux.ru> 0.4.24-alt1
- new version (Added support for SSA/ASS override styles)

* Fri May 18 2007 Alexey Morsov <swi на altlinux.ru> 0.4.23-alt1
- new version (fix colorkeys)

* Fri May 18 2007 Alexey Morsov <swi на altlinux.ru> 0.4.22-alt1
- new version
- fix Summary charset (fix bug #11802)

* Tue May 15 2007 Alexey Morsov <swi на altlinux.ru> 0.4.20-alt1
- new version
- add tray icon in qt3/kde
- fix float control with full-screen mode and two monitors

* Fri May 11 2007 Alexey Morsov <swi на altlinux.ru> 0.4.18-alt1
- new version

* Wed May 09 2007 Alexey Morsov <swi на altlinux.ru> 0.4.16-alt1
- new version (add new features for subtitles)

* Tue May 08 2007 Alexey Morsov <swi на altlinux.ru> 0.4.15-alt2
- new version
- fix kde support (damn copy-n-paste)
- add .desktop files

* Mon May 07 2007 Alexey Morsov <swi на altlinux.ru> 0.4.13-alt1
- new version
- build for qt3/qt4/kde (thanks to drool@ for spec)
- add menu and ukrainian translations (from drool@ package)

* Fri Apr 20 2007 Alexey Morsov <swi на altlinux.ru> 0.3.38-alt1
- new version
- support for kde

* Thu Apr 19 2007 Alexey Morsov <swi на altlinux.ru> 0.3.29-alt1
- initial build for sisyphus

* Sat Apr 14 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.20-alt0.M24.1
- new version

* Sat Apr 14 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.19-alt0.M24.1
- new version
- disable external ukrainian translation (upstream merged)

* Fri Apr 13 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.18-alt0.M24.1
- new version
- updated and enabled external ukrainian translation

* Thu Apr 12 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.17-alt0.M24.1
- new version
- disable external ukrainian translation (upstream merged)

* Wed Apr 11 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.16-alt0.M24.1
- new version
- updated ukrainian translation

* Wed Apr 11 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.15-alt0.M24.1
- new version

* Mon Apr 09 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.14-alt0.M24.1
- new version
- update & fix ukrainian translation

* Mon Apr 09 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.13-alt0.M24.2
- update & fix ukrainian translation

* Mon Apr 09 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.13-alt0.M24.1
- new version
- update smplayer-0.3.7_alt_dirs_optflags.diff for 0.3.13

* Sat Apr 07 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.12-alt0.M24.1
- new version
- disable external ukrainian translation (upstream merged)
- update & fix ukrainian translation

* Sat Apr 07 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.11-alt0.M24.1
- new version
- remove patch for QThread support (upstream merged)
- add external ukrainian translation

* Fri Apr 06 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.10-alt0.M24.1
- new version

* Fri Apr 06 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.9-alt0.M24.2 
- change patch for QThread support (author's variant)

* Fri Apr 06 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.9-alt0.M24.1
- new version
- add patch for QThread support (thanks to wRAR for hint)
- split building with Qt3 and Qt4 compilation
- remove patch for desktop-file for more informative (upstream merged)

* Thu Apr 05 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.8-alt0.M24.1
- new version
- update patch for desktop file for 0.3.8 version (upstream updated)

* Wed Apr 04 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.7-alt0.M24.3
- add russian comments into desktop file and to description

* Wed Apr 04 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.7-alt0.M24.2
- cleanup spec (upstream merged method for converting to Qt4)
- change creating menu-file method
- add patch for desktop-file for more informative

* Wed Apr 04 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.7-alt0.M24.1
- new version
- update smplayer-0.3.1_alt_dirs_optflags.diff for 0.3.7

* Tue Apr 03 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.6-alt0.M24.1
- new version
- disable external russian translation (upstream updated)

* Tue Apr 03 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.5-alt0.M24.1
- new version :-D

* Mon Apr 02 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.4-alt0.M24.1
- new version :-(

* Mon Apr 02 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.3-alt0.M24.1
- new version
- enable external russian translation (little fixed)

* Sun Apr 01 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.2-alt0.M24.1
- new version

* Fri Mar 30 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.1-alt0.M24.1
- new version
- disable external russian translation (upstream merged)
- update Patch0 for 0.3.1 version

* Thu Mar 29 2007 Motsyo Gennadi <drool на altlinux.ru> 0.3.0-alt0.M24.1
- new version
- update and fix russian translation

* Wed Mar 28 2007 Motsyo Gennadi <drool на altlinux.ru> 0.2.43-alt0.M24.2
- enable external russian translation (little fixed)

* Wed Mar 28 2007 Motsyo Gennadi <drool на altlinux.ru> 0.2.43-alt0.M24.1
- new version
- disable external russian translation (upstream merged)

* Tue Mar 27 2007 Motsyo Gennadi <drool на altlinux.ru> 0.2.42-alt0.M24.1
- new version
- update and fix russian translation for 0.2.42 version

* Mon Mar 26 2007 Motsyo Gennadi <drool на altlinux.ru> 0.2.41-alt0.M24.1
- new version
- update russian translation for 0.2.41 version

* Sun Mar 25 2007 Motsyo Gennadi <drool на altlinux.ru> 0.2.40-alt0.M24.1
- new version

* Fri Mar 23 2007 Motsyo Gennadi <drool на altlinux.ru> 0.2.38-alt0.M24.1
- new version
- little fixing into russian language file

* Wed Mar 21 2007 Motsyo Gennadi <drool на altlinux.ru> 0.2.30-alt0.M24.2
- add russian language (alpha)

* Sun Mar 18 2007 Motsyo Gennadi <drool на altlinux.ru> 0.2.30-alt0.M24.1
- new version

* Sat Mar 17 2007 Motsyo Gennadi <drool на altlinux.ru> 0.2.27-alt0.M24.1
- initial build for ALT Linux 2.4 Master

* Mon Feb 12 2007 Ricardo Villalba <rvm на escomposlinux.org>
  - first spec file
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 481 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070625/553d18c5/attachment-0001.bin>


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