4bf7a8f6180d1ccb6955fc714e57dddcac66386c
   1# Pass --without docs to rpmbuild if you don't want the documentation
   2Name:           git
   3Version:        @@VERSION@@
   4Release:        1%{?dist}
   5Summary:        Git core and tools
   6License:        GPL
   7Group:          Development/Tools
   8URL:            http://kernel.org/pub/software/scm/git/
   9Source:         http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz
  10BuildRequires:  zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel  %{!?_without_docs:, xmlto, asciidoc > 6.0.3}
  11BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
  12Requires:       git-core, git-svn, git-cvs, git-arch, git-email, gitk, git-gui, perl-Git
  13
  14%description
  15Git is a fast, scalable, distributed revision control system with an
  16unusually rich command set that provides both high-level operations
  17and full access to internals.
  18
  19This is a dummy package which brings in all subpackages.
  20
  21%package core
  22Summary:        Core git tools
  23Group:          Development/Tools
  24Requires:       zlib >= 1.2, rsync, curl, less, openssh-clients, expat
  25%description core
  26Git is a fast, scalable, distributed revision control system with an
  27unusually rich command set that provides both high-level operations
  28and full access to internals.
  29
  30These are the core tools with minimal dependencies.
  31
  32%package svn
  33Summary:        Git tools for importing Subversion repositories
  34Group:          Development/Tools
  35Requires:       git-core = %{version}-%{release}, subversion
  36%description svn
  37Git tools for importing Subversion repositories.
  38
  39%package cvs
  40Summary:        Git tools for importing CVS repositories
  41Group:          Development/Tools
  42Requires:       git-core = %{version}-%{release}, cvs, cvsps
  43%description cvs
  44Git tools for importing CVS repositories.
  45
  46%package arch
  47Summary:        Git tools for importing Arch repositories
  48Group:          Development/Tools
  49Requires:       git-core = %{version}-%{release}, tla
  50%description arch
  51Git tools for importing Arch repositories.
  52
  53%package p4
  54Summary:        Git tools for importing Perforce repositories
  55Group:          Development/Tools
  56Requires:       git-core = %{version}-%{release}, python
  57%description p4
  58Git tools for importing Perforce repositories.
  59
  60%package email
  61Summary:        Git tools for sending email
  62Group:          Development/Tools
  63Requires:       git-core = %{version}-%{release} 
  64%description email
  65Git tools for sending email.
  66
  67%package gui
  68Summary:        Git GUI tool
  69Group:          Development/Tools
  70Requires:       git-core = %{version}-%{release}, tk >= 8.4
  71%description gui
  72Git GUI tool
  73
  74%package -n gitk
  75Summary:        Git revision tree visualiser ('gitk')
  76Group:          Development/Tools
  77Requires:       git-core = %{version}-%{release}, tk >= 8.4
  78%description -n gitk
  79Git revision tree visualiser ('gitk')
  80
  81%package -n perl-Git
  82Summary:        Perl interface to Git
  83Group:          Development/Libraries
  84Requires:       git-core = %{version}-%{release}
  85Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
  86BuildRequires:  perl(Error)
  87
  88%description -n perl-Git
  89Perl interface to Git
  90
  91%prep
  92%setup -q
  93
  94%build
  95make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" WITH_P4IMPORT=YesPlease \
  96     prefix=%{_prefix} all %{!?_without_docs: doc}
  97
  98%install
  99rm -rf $RPM_BUILD_ROOT
 100make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT \
 101     WITH_P4IMPORT=YesPlease prefix=%{_prefix} mandir=%{_mandir} \
 102     INSTALLDIRS=vendor install %{!?_without_docs: install-doc}
 103find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
 104find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
 105find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';'
 106
 107(find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "p4import|archimport|svn|cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@)               > bin-man-doc-files
 108(find $RPM_BUILD_ROOT%{perl_vendorlib} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files
 109%if %{!?_without_docs:1}0
 110(find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "p4import|archimport|svn|git-cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files
 111%else
 112rm -rf $RPM_BUILD_ROOT%{_mandir}
 113%endif
 114
 115%clean
 116rm -rf $RPM_BUILD_ROOT
 117
 118%files
 119# These are no files in the root package
 120
 121%files svn
 122%defattr(-,root,root)
 123%{_bindir}/*svn*
 124%doc Documentation/*svn*.txt
 125%{!?_without_docs: %{_mandir}/man1/*svn*.1*}
 126%{!?_without_docs: %doc Documentation/*svn*.html }
 127
 128%files cvs
 129%defattr(-,root,root)
 130%doc Documentation/*git-cvs*.txt
 131%{_bindir}/*cvs*
 132%{!?_without_docs: %{_mandir}/man1/*cvs*.1*}
 133%{!?_without_docs: %doc Documentation/*git-cvs*.html }
 134
 135%files arch
 136%defattr(-,root,root)
 137%doc Documentation/git-archimport.txt
 138%{_bindir}/git-archimport
 139%{!?_without_docs: %{_mandir}/man1/git-archimport.1*}
 140%{!?_without_docs: %doc Documentation/git-archimport.html }
 141
 142%files p4
 143%defattr(-,root,root)
 144%doc Documentation/git-p4import.txt
 145%{_bindir}/git-p4import
 146%{!?_without_docs: %{_mandir}/man1/git-p4import.1*}
 147%{!?_without_docs: %doc Documentation/git-p4import.html }
 148
 149%files email
 150%defattr(-,root,root)
 151%doc Documentation/*email*.txt
 152%{_bindir}/*email*
 153%{!?_without_docs: %{_mandir}/man1/*email*.1*}
 154%{!?_without_docs: %doc Documentation/*email*.html }
 155
 156%files gui
 157%defattr(-,root,root)
 158%{_bindir}/git-gui
 159%{_bindir}/git-citool
 160# Not Yet...
 161# %{!?_without_docs: %{_mandir}/man1/git-gui.1}
 162# %{!?_without_docs: %doc Documentation/git-gui.html}
 163# %{!?_without_docs: %{_mandir}/man1/git-citool.1}
 164# %{!?_without_docs: %doc Documentation/git-citool.html}
 165
 166%files -n gitk
 167%defattr(-,root,root)
 168%doc Documentation/*gitk*.txt
 169%{_bindir}/*gitk*
 170%{!?_without_docs: %{_mandir}/man1/*gitk*.1*}
 171%{!?_without_docs: %doc Documentation/*gitk*.html }
 172
 173%files -n perl-Git -f perl-files
 174%defattr(-,root,root)
 175
 176%files core -f bin-man-doc-files
 177%defattr(-,root,root)
 178%{_datadir}/git-core/
 179%doc README COPYING Documentation/*.txt
 180%{!?_without_docs: %doc Documentation/*.html }
 181
 182%changelog
 183* Tue Mar 27 2007 Eygene Ryabinkin <rea-git@codelabs.ru>
 184- Added the git-p4 package: Perforce import stuff.
 185
 186* Mon Feb 13 2007 Nicolas Pitre <nico@cam.org>
 187- Update core package description (Git isn't as stupid as it used to be)
 188
 189* Mon Feb 12 2007 Junio C Hamano <junkio@cox.net>
 190- Add git-gui and git-citool.
 191
 192* Mon Nov 14 2005 H. Peter Anvin <hpa@zytor.com> 0.99.9j-1
 193- Change subpackage names to git-<name> instead of git-core-<name>
 194- Create empty root package which brings in all subpackages
 195- Rename git-tk -> gitk
 196
 197* Thu Nov 10 2005 Chris Wright <chrisw@osdl.org> 0.99.9g-1
 198- zlib dependency fix
 199- Minor cleanups from split
 200- Move arch import to separate package as well
 201
 202* Tue Sep 27 2005 Jim Radford <radford@blackbean.org>
 203- Move programs with non-standard dependencies (svn, cvs, email)
 204  into separate packages
 205
 206* Tue Sep 27 2005 H. Peter Anvin <hpa@zytor.com>
 207- parallelize build
 208- COPTS -> CFLAGS
 209
 210* Fri Sep 16 2005 Chris Wright <chrisw@osdl.org> 0.99.6-1
 211- update to 0.99.6
 212
 213* Fri Sep 16 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
 214- Linus noticed that less is required, added to the dependencies
 215
 216* Sun Sep 11 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
 217- Updated dependencies
 218- Don't assume manpages are gzipped
 219
 220* Thu Aug 18 2005 Chris Wright <chrisw@osdl.org> 0.99.4-4
 221- drop sh_utils, sh-utils, diffutils, mktemp, and openssl Requires
 222- use RPM_OPT_FLAGS in spec file, drop patch0
 223
 224* Wed Aug 17 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.99.4-3
 225- use dist tag to differentiate between branches
 226- use rpm optflags by default (patch0)
 227- own %{_datadir}/git-core/
 228
 229* Mon Aug 15 2005 Chris Wright <chrisw@osdl.org>
 230- update spec file to fix Buildroot, Requires, and drop Vendor
 231
 232* Sun Aug 07 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
 233- Redid the description
 234- Cut overlong make line, loosened changelog a bit
 235- I think Junio (or perhaps OSDL?) should be vendor...
 236
 237* Thu Jul 14 2005 Eric Biederman <ebiederm@xmission.com>
 238- Add the man pages, and the --without docs build option
 239
 240* Wed Jul 7 2005 Chris Wright <chris@osdl.org>
 241- initial git spec file