Rename git-core rpm to just git and rename the meta-pacakge to git-all.
This fixes my favorite annoyance with the git rpm packaging: don't pull in tla when I say yum install git! You wouldn't expect yum install gcc to pull in gcc-gfortran, right? With this change, and blanket 'yum update' will automatically pull in the new 'git' package and push out the old 'git-core', and if the old 'git' package was installed 'git-all' will be pulled in instead. A couple of things do break though: 'yum update git-core', because yum behaves differently when given a specific package name - it doesn't follow obsoletes. Instead, 'yum install git' will pull in the new git rpm, which will then push out the old 'git-core'. Similarly, to get the newest version of the meta package, 'yum install git-all' will install git-all, which then pushes out the old 'git' meta package. Signed-off-by: Kristian Høgsberg <krh@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
066a5268db
commit
7c33d3a511
69
git.spec.in
69
git.spec.in
@ -3,7 +3,7 @@
|
|||||||
Name: git
|
Name: git
|
||||||
Version: @@VERSION@@
|
Version: @@VERSION@@
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Git core and tools
|
Summary: Core git tools
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
URL: http://kernel.org/pub/software/scm/git/
|
URL: http://kernel.org/pub/software/scm/git/
|
||||||
@ -11,80 +11,86 @@ Source: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz
|
|||||||
BuildRequires: zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel, gettext %{!?_without_docs:, xmlto, asciidoc > 6.0.3}
|
BuildRequires: zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel, gettext %{!?_without_docs:, xmlto, asciidoc > 6.0.3}
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
Requires: git-core = %{version}-%{release}
|
|
||||||
Requires: git-svn = %{version}-%{release}
|
|
||||||
Requires: git-cvs = %{version}-%{release}
|
|
||||||
Requires: git-arch = %{version}-%{release}
|
|
||||||
Requires: git-email = %{version}-%{release}
|
|
||||||
Requires: gitk = %{version}-%{release}
|
|
||||||
Requires: git-gui = %{version}-%{release}
|
|
||||||
Requires: perl-Git = %{version}-%{release}
|
Requires: perl-Git = %{version}-%{release}
|
||||||
|
Requires: zlib >= 1.2, rsync, curl, less, openssh-clients, expat
|
||||||
|
Provides: git-core = %{version}-%{release}
|
||||||
|
Obsoletes: git-core <= 1.5.4.2
|
||||||
|
Obsoletes: git-p4
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Git is a fast, scalable, distributed revision control system with an
|
Git is a fast, scalable, distributed revision control system with an
|
||||||
unusually rich command set that provides both high-level operations
|
unusually rich command set that provides both high-level operations
|
||||||
and full access to internals.
|
and full access to internals.
|
||||||
|
|
||||||
This is a dummy package which brings in all subpackages.
|
The git rpm installs the core tools with minimal dependencies. To
|
||||||
|
install all git packages, including tools for integrating with other
|
||||||
|
SCMs, install the git-all meta-package.
|
||||||
|
|
||||||
%package core
|
%package all
|
||||||
Summary: Core git tools
|
Summary: Meta-package to pull in all git tools
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Requires: zlib >= 1.2, rsync, curl, less, openssh-clients, expat
|
Requires: git = %{version}-%{release}
|
||||||
Obsoletes: git-p4
|
Requires: git-svn = %{version}-%{release}
|
||||||
%description core
|
Requires: git-cvs = %{version}-%{release}
|
||||||
|
Requires: git-arch = %{version}-%{release}
|
||||||
|
Requires: git-email = %{version}-%{release}
|
||||||
|
Requires: gitk = %{version}-%{release}
|
||||||
|
Requires: git-gui = %{version}-%{release}
|
||||||
|
Obsoletes: git <= 1.5.4.2
|
||||||
|
|
||||||
|
%description all
|
||||||
Git is a fast, scalable, distributed revision control system with an
|
Git is a fast, scalable, distributed revision control system with an
|
||||||
unusually rich command set that provides both high-level operations
|
unusually rich command set that provides both high-level operations
|
||||||
and full access to internals.
|
and full access to internals.
|
||||||
|
|
||||||
These are the core tools with minimal dependencies.
|
This is a dummy package which brings in all subpackages.
|
||||||
|
|
||||||
%package svn
|
%package svn
|
||||||
Summary: Git tools for importing Subversion repositories
|
Summary: Git tools for importing Subversion repositories
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Requires: git-core = %{version}-%{release}, subversion
|
Requires: git = %{version}-%{release}, subversion
|
||||||
%description svn
|
%description svn
|
||||||
Git tools for importing Subversion repositories.
|
Git tools for importing Subversion repositories.
|
||||||
|
|
||||||
%package cvs
|
%package cvs
|
||||||
Summary: Git tools for importing CVS repositories
|
Summary: Git tools for importing CVS repositories
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Requires: git-core = %{version}-%{release}, cvs, cvsps
|
Requires: git = %{version}-%{release}, cvs, cvsps
|
||||||
%description cvs
|
%description cvs
|
||||||
Git tools for importing CVS repositories.
|
Git tools for importing CVS repositories.
|
||||||
|
|
||||||
%package arch
|
%package arch
|
||||||
Summary: Git tools for importing Arch repositories
|
Summary: Git tools for importing Arch repositories
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Requires: git-core = %{version}-%{release}, tla
|
Requires: git = %{version}-%{release}, tla
|
||||||
%description arch
|
%description arch
|
||||||
Git tools for importing Arch repositories.
|
Git tools for importing Arch repositories.
|
||||||
|
|
||||||
%package email
|
%package email
|
||||||
Summary: Git tools for sending email
|
Summary: Git tools for sending email
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Requires: git-core = %{version}-%{release}
|
Requires: git = %{version}-%{release}
|
||||||
%description email
|
%description email
|
||||||
Git tools for sending email.
|
Git tools for sending email.
|
||||||
|
|
||||||
%package gui
|
%package gui
|
||||||
Summary: Git GUI tool
|
Summary: Git GUI tool
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Requires: git-core = %{version}-%{release}, tk >= 8.4
|
Requires: git = %{version}-%{release}, tk >= 8.4
|
||||||
%description gui
|
%description gui
|
||||||
Git GUI tool
|
Git GUI tool
|
||||||
|
|
||||||
%package -n gitk
|
%package -n gitk
|
||||||
Summary: Git revision tree visualiser ('gitk')
|
Summary: Git revision tree visualiser ('gitk')
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Requires: git-core = %{version}-%{release}, tk >= 8.4
|
Requires: git = %{version}-%{release}, tk >= 8.4
|
||||||
%description -n gitk
|
%description -n gitk
|
||||||
Git revision tree visualiser ('gitk')
|
Git revision tree visualiser ('gitk')
|
||||||
|
|
||||||
%package -n perl-Git
|
%package -n perl-Git
|
||||||
Summary: Perl interface to Git
|
Summary: Perl interface to Git
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: git-core = %{version}-%{release}
|
Requires: git = %{version}-%{release}
|
||||||
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
||||||
BuildRequires: perl(Error)
|
BuildRequires: perl(Error)
|
||||||
|
|
||||||
@ -121,8 +127,12 @@ rm -rf $RPM_BUILD_ROOT%{_mandir}
|
|||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%files
|
%files -f bin-man-doc-files
|
||||||
# These are no files in the root package
|
%defattr(-,root,root)
|
||||||
|
%{_datadir}/git-core/
|
||||||
|
%doc README COPYING Documentation/*.txt
|
||||||
|
%{!?_without_docs: %doc Documentation/*.html Documentation/howto}
|
||||||
|
%{!?_without_docs: %doc Documentation/technical}
|
||||||
|
|
||||||
%files svn
|
%files svn
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
@ -173,14 +183,13 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%files -n perl-Git -f perl-files
|
%files -n perl-Git -f perl-files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
|
|
||||||
%files core -f bin-man-doc-files
|
%files all
|
||||||
%defattr(-,root,root)
|
# No files for you!
|
||||||
%{_datadir}/git-core/
|
|
||||||
%doc README COPYING Documentation/*.txt
|
|
||||||
%{!?_without_docs: %doc Documentation/*.html Documentation/howto}
|
|
||||||
%{!?_without_docs: %doc Documentation/technical}
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 15 2008 Kristian Høgsberg <krh@redhat.com>
|
||||||
|
- Rename git-core to just git and rename meta package from git to git-all.
|
||||||
|
|
||||||
* Sun Feb 03 2008 James Bowes <jbowes@dangerouslyinc.com>
|
* Sun Feb 03 2008 James Bowes <jbowes@dangerouslyinc.com>
|
||||||
- Add a BuildRequires for gettext
|
- Add a BuildRequires for gettext
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user