Name: alternatives
Version: 0.5.2
Release: alt2
Summary: alternatives support
License: GPLv2+
Group: System/Base
# http://alternatives.sourceforge.net
Url: http://git.altlinux.org/gears/a/alternatives.git
BuildArch: noarch
Source: %name-%version.tar
# for filetrigger
Requires: grep
Requires: getopt mktemp
Provides: %_sysconfdir/%name/packages.d
Provides: lib%name = %version, lib%name-devel = %version, lib%name-devel-static = %version
Obsoletes: lib%name, lib%name-devel, lib%name-devel-static
#utilities that use alternatives
Conflicts: gcc-common <= 1.4.3-alt1, gnupg2 <= 1.9.7-alt2
# due to PackagedFiles()
BuildPreReq: rpm >= 4.0.4-alt87
# due to versioned paths
Conflicts: rpm-build < 4.0.4-alt93
# due to %_sbindir/update-alternatives
Conflicts: update-alternatives
BuildPreReq: libshell help2man
Requires: rpm-macros-%name = %version-%release
%description
Alternatives subsystem. This package contains common utilites for it.
%package -n rpm-macros-%name
Summary: Set of RPM macros for packaging %name-based applications
Group: Development/Other
Conflicts: alternatives < 0.4
%description -n rpm-macros-%name
Set of RPM macros for packaging %name-based applications for ALT Linux.
Install this package if you want to create RPM packages that use %name.
%prep
%setup -n %name-%version
%build
%install
mkdir -p %buildroot%_sysconfdir/%name/{auto,packages.d,links}
touch %buildroot%_sysconfdir/%name/manual
%makeinstall
mkdir -p %buildroot%_rpmmacrosdir
cat >%buildroot%_rpmmacrosdir/%name<<EOF
%%_altdir %%([ ! -f %_datadir/%name/functions ])%_sysconfdir/%name/packages.d
%%force_update_alternatives [ -x %_bindir/%name-update ] && %_bindir/%name-update ||:
EOF
install -pD -m755 alternatives.prov %buildroot%_rpmlibdir/alternatives.prov
install -pD -m755 alternatives.prov.files %buildroot%_rpmlibdir/alternatives.prov.files
install -pD -m755 alternatives.filetrigger %buildroot%_rpmlibdir/20-alternatives.filetrigger
# /usr/sbin/alternatives-update is still used by the following packages:
# java-1.6.0-openjdk-headless-1.6.0.41-alt6
# java-1.7.0-openjdk-headless-1.7.0.181-alt1_2.6.14.8jpp8
# java-1.8.0-openjdk-headless-1.8.0.151-alt1_5.b12jpp8
# php5-5.6.38-alt1.S1
mkdir -p %buildroot%_sbindir
ln -rs %buildroot%_bindir/alternatives-update %buildroot%_sbindir/
# https://bugzilla.altlinux.org/36073
ln -s /bin/true %buildroot%_sbindir/update-alternatives
%files
%doc README TODO
%dir %_sysconfdir/%name
%dir %_sysconfdir/%name/auto
%dir %_sysconfdir/%name/links
%dir %_sysconfdir/%name/packages.d
%ghost %config(noreplace,missingok) %_sysconfdir/%name/manual
%_bindir/*
%_sbindir/alternatives-update
%_sbindir/update-alternatives
%_datadir/%name
%_man1dir/*
%_rpmlibdir/alternatives.prov
%_rpmlibdir/alternatives.prov.files
%_rpmlibdir/20-alternatives.filetrigger
%exclude %_rpmmacrosdir/*
%files -n rpm-macros-%name
%_rpmmacrosdir/*
%changelog
* Wed Feb 15 2023 Anton Farygin <rider@altlinux.ru> 0.5.2-alt2
- Set filetrigger priority to fix the launch order (closes: #44018)
* Sat May 28 2022 Alexey Gladkov <legion@altlinux.ru> 0.5.2-alt1
- Replaced "fgrep" with "grep -F".
* Sun Mar 10 2019 Dmitry V. Levin <ldv@altlinux.org> 0.5.1-alt1
- Packaged %_sbindir/update-alternatives -> /bin/true (closes: #36073).
* Sun Jan 06 2019 Dmitry V. Levin <ldv@altlinux.org> 0.5.0-alt1
- Removed obsolete stuff: alternatives-upgrade, alternatives-helper,
and all references to them.
- alternatives-auto, alternatives-manual:
rewritten using sed -i instead of ed.
- alternatives-validate:
check that slave alternatives reference valid masters.
- Applied various fixes here and there (closes: #35084).
* Thu Jul 03 2014 Fr. Br. George <george@altlinux.ru> 0.4.5-alt1.1
- Fix sorting an joining with non-POSIX locales
* Fri Mar 08 2013 Dmitry V. Levin <ldv@altlinux.org> 0.4.5-alt1
- Relocated macro file to %%_rpmmacrosdir/.
* Sun May 29 2011 Michael Shigorin <mike@altlinux.org> 0.4.4-alt1
- alternatives-update: double-check link target before removing it
(closes: #25621) (led@)
* Tue Apr 12 2011 Dmitry V. Levin <ldv@altlinux.org> 0.4.3-alt1
- alternatives-update: fixed join usage.
* Sat Jun 20 2009 Alexey Tourbin <at@altlinux.ru> 0.4.2-alt1
- removed %%post script, updated filetrigger
* Tue May 05 2009 Alexey Tourbin <at@altlinux.ru> 0.4.1-alt2
- packaged /etc/alternatives/manual
* Tue May 05 2009 Alexey Tourbin <at@altlinux.ru> 0.4.1-alt1
- alternatives.prov: provide /usr/share/man/* and /usr/share/info/* as well
* Tue Mar 31 2009 Stanislav Ievlev <inger@altlinux.org> 0.4-alt5
- remove infinite loop on errors
* Fri Nov 28 2008 Stanislav Ievlev <inger@altlinux.org> 0.4-alt4
- rpm-macros-alternatives: add conflicts to old alternatives
* Thu Nov 27 2008 Stanislav Ievlev <inger@altlinux.org> 0.4-alt3
- alternatives update: fix manual alternatives check
* Tue Nov 25 2008 Stanislav Ievlev <inger@altlinux.org> 0.4-alt2
- add force_update_alternatives macro (Igor Vlasenko)
* Fri Nov 21 2008 Stanislav Ievlev <inger@altlinux.org> 0.4-alt1
- use libshell
* Thu Nov 20 2008 Stanislav Ievlev <inger@altlinux.org> 0.3.5-alt1
- move rpm macros to separated package (Igor Vlasenko)
- add filetrigger
* Fri Nov 07 2008 Dmitry V. Levin <ldv@altlinux.org> 0.3.4-alt1
- alternatives-{update,upgrade}: Fixed mktemp error handling.
- alternatives.prov: Provide versioned paths with weight (Alexey Tourbin).
* Sun Mar 30 2008 Alexey Tourbin <at@altlinux.ru> 0.3.3-alt1
- alternatives.prov: check that alternative target is actually
packaged in the same package, not just exists
* Thu Nov 22 2007 Alexey Tourbin <at@altlinux.ru> 0.3.2-alt1
- alternatives.prov: provide every alternative path except for
/usr/share/man/* and /usr/share/info/*, not just /usr/bin/*
and /usr/sbin/*; also improved validation and diagnostics
* Sat Aug 11 2007 Alexey Tourbin <at@altlinux.ru> 0.3.1-alt1
- added alternatives.prov and alternatives.prov.files, for new rpm-build
* Thu Feb 01 2007 Stanislav Ievlev <inger@altlinux.org> 0.3-alt1
- remove obsolete alternatives-config script
* Thu Oct 20 2005 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt4
- added requires to getopt and mktemp (#8223 and #7514)
* Fri Jul 01 2005 Alexey Gladkov <legion@altlinux.ru> 0.2.0-alt3
- alternative-list quoting bugfix
* Fri Jun 17 2005 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt2
- fixes from legion
* Fri Jun 10 2005 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt1
- fixed bug in alternatives-manual (#7020)
* Thu May 12 2005 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.13
- fixed old hack for buildreq in macros (#5888)
* Thu Nov 18 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.12
- improvements in alternatives-helper
* Thu Oct 14 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.11
- more warnings about non writeable manual file
- allow multiple space symbols in config files
* Fri Oct 08 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.10
- rc3 (minor changes in non ALT utils)
* Wed Sep 22 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.9.3
- replace subst with ed, added first version of alternatives-display script
* Tue Sep 21 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.9.2
- increase portability
* Tue Sep 21 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.9.1
- use sed in more portable way
* Thu Aug 19 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.9
- enable validator, enable warnings about old format
* Fri Aug 13 2004 Dmitry V. Levin <ldv@altlinux.org> 0.2.0-alt0.8.1
- Fixed %%post script.
* Fri Aug 13 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.8
- conflicts with old gcc-common
- made configs readable
* Thu Aug 12 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.7
- goto Sisyphus
* Wed Aug 04 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.6
- second Deadalus release:
- added validate utility
- remove extra debug messages
* Thu Jun 17 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.5
- first Daedalus release
* Fri Jun 11 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.4
- changed ':' instead of tabs in config
- speed up update algorithm (use join)
* Thu Jun 10 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.3
- added specs for testsuite from previous version, little optimization in update
* Thu Jun 10 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.2
- fix upgrade script: also convert dump.xml to manual, remove old symlinks
* Wed Jun 09 2004 Stanislav Ievlev <inger@altlinux.org> 0.2.0-alt0.1
- rewrite in shell and awk
* Thu Jun 26 2003 Stanislav Ievlev <inger@altlinux.ru> 0.1.0-alt1
- 0.1.0
- more documentation
- minor bugfixes, code improvements
* Mon Jun 09 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.7-alt2
- added provides for /etc/alternatives/ packages.d
- don't make test by default
* Mon May 05 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.7-alt1
- next release
* Tue Apr 08 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.6-alt1
- minor features, bugfuxes
* Fri Mar 28 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.5-alt3
- trigger fix
* Thu Mar 27 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.5-alt2
- fix memory leak
- added more tests
* Wed Mar 26 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.5-alt1
- removed some dups in code, no manual dir now
* Tue Mar 25 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.4-alt6
- added RPM macros variants with post/preun suffixes
- check nested slaves support
- '-D' option for alternatives-list
- negative tests ready: make check available
* Mon Mar 24 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.4-alt5
- added testcase for various bad configs
* Fri Mar 21 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.4-alt4
- ignore now ignore slaves too
* Fri Mar 21 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.4-alt3
- fix update logic from alternatived programs to non-alternatived
(added %%unregister_alternatives_always macro for it)
- made %%update_alternatives,
%%remove_altenatives
%%unregister_altenatives
macros more friendly for nonexistent update-alternatives file
- added requires to latest libing (was changes in format config)
- more testcase
* Thu Mar 20 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.4-alt2
- fix alternatives_link creation during update
* Wed Mar 19 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.4-alt1
- now alternatives-list works under user
* Mon Mar 17 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.3-alt4.M2
- fix update from non-alternatived programs
* Sat Mar 15 2003 Stanislav Ievlev <inger@altlinux.org> 0.0.3-alt3.M2
- little improvements again
* Sat Mar 15 2003 Stanislav Ievlev <inger@altlinux.org> 0.0.3-alt2.M2
- fix latest improvements
* Fri Mar 14 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.3-alt1.M2
- some fixes and improvements
* Wed Mar 12 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.2-alt6.M2
- rebuild with lates libing
- added short variants to rpm macros
- added hack for macros to auto buildreq
- repeat update until we have no changes (helps in some ugly cases)
* Tue Mar 11 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.2-alt5.M2
- fix removing old slave links
* Fri Mar 07 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.2-alt4.M2
- alternatives --install fixes
- work only with existent files
- change macros names
- more testcase
- fix dump file usage
- little code improvements(friend classes,use default processing)
* Thu Mar 06 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.2-alt3.M2
- M2: daedalus release
- testcase and samples included
* Thu Mar 06 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.2-alt2.M2
- alternatives-setup, M2, RC1
* Wed Mar 05 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.2-alt1.M2
- alternatives-update, pre-M2
* Fri Feb 28 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.1-alt2.M1
- fix ldconfig usage according packaging policy
- minor internal fixes
* Fri Feb 21 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.1-alt1.M1
- second daedalus release:
move some code into shared library (preparation for M2 - second utility)
added lockfile support
added migration info into README
* Wed Feb 05 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.0-alt2.M1
- daedalus release
* Tue Feb 04 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.0-alt1.M1
- fix map usage
* Mon Feb 03 2003 Stanislav Ievlev <inger@altlinux.ru> 0.0.0-alt0.M1
- Initial release, with some demo stuff