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, perl-Git 13 14%description 15This is a stupid (but extremely fast) directory content manager. It 16doesn't do a whole lot, but what it _does_ do is track directory 17contents efficiently. It is intended to be the base of an efficient, 18distributed source code management system. This package includes 19rudimentary tools that can be used as a SCM, but you should look 20elsewhere for tools for ordinary humans layered on top of this. 21 22This is a dummy package which brings in all subpackages. 23 24%package core 25Summary: Core git tools 26Group: Development/Tools 27Requires: zlib >=1.2, rsync, rcs, curl, less, openssh-clients, python >=2.3, expat 28%description core 29This is a stupid (but extremely fast) directory content manager. It 30doesn't do a whole lot, but what it _does_ do is track directory 31contents efficiently. It is intended to be the base of an efficient, 32distributed source code management system. This package includes 33rudimentary tools that can be used as a SCM, but you should look 34elsewhere for tools for ordinary humans layered on top of this. 35 36These are the core tools with minimal dependencies. 37 38%package svn 39Summary: Git tools for importing Subversion repositories 40Group: Development/Tools 41Requires: git-core =%{version}-%{release}, subversion 42%description svn 43Git tools for importing Subversion repositories. 44 45%package cvs 46Summary: Git tools for importing CVS repositories 47Group: Development/Tools 48Requires: git-core =%{version}-%{release}, cvs, cvsps 49%description cvs 50Git tools for importing CVS repositories. 51 52%package arch 53Summary: Git tools for importing Arch repositories 54Group: Development/Tools 55Requires: git-core =%{version}-%{release}, tla 56%description arch 57Git tools for importing Arch repositories. 58 59%package email 60Summary: Git tools for sending email 61Group: Development/Tools 62Requires: git-core =%{version}-%{release} 63%description email 64Git tools for sending email. 65 66%package-n gitk 67Summary: Git revision tree visualiser ('gitk') 68Group: Development/Tools 69Requires: git-core =%{version}-%{release}, tk >=8.4 70%description-n gitk 71Git revision tree visualiser ('gitk') 72 73%package-n perl-Git 74Summary: Perl interface to Git 75Group: Development/Libraries 76Requires: git-core =%{version}-%{release} 77Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl}-V:version`";echo $version)) 78BuildRequires: perl(Error) 79 80%description-n perl-Git 81Perl interface to Git 82 83%prep 84%setup-q 85 86%build 87make%{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" WITH_OWN_SUBPROCESS_PY=YesPlease \ 88 prefix=%{_prefix} all %{!?_without_docs: doc} 89 90%install 91rm-rf $RPM_BUILD_ROOT 92make%{_smp_mflags} DESTDIR=$RPM_BUILD_ROOT WITH_OWN_SUBPROCESS_PY=YesPlease \ 93 prefix=%{_prefix} mandir=%{_mandir} INSTALLDIRS=vendor \ 94install%{!?_without_docs: install-doc} 95find $RPM_BUILD_ROOT -type f -name .packlist -exec rm-f {} ';' 96find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm-f {} ';' 97find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm-f {} ';' 98 99(find $RPM_BUILD_ROOT%{_bindir}-type f | grep -vE "arch|svn|cvs|email|gitk" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files 100(find $RPM_BUILD_ROOT%{perl_vendorarch}-type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files 101%if%{!?_without_docs:1}0 102(find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "arch|svn|git-cvs|email|gitk" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files 103%else 104rm-rf $RPM_BUILD_ROOT%{_mandir} 105%endif 106 107%clean 108rm-rf $RPM_BUILD_ROOT 109 110%files 111# These are no files in the root package 112 113%files svn 114%defattr(-,root,root) 115%{_bindir}/*svn* 116%doc Documentation/*svn*.txt 117%{!?_without_docs: %{_mandir}/man1/*svn*.1*} 118%{!?_without_docs: %doc Documentation/*svn*.html } 119 120%files cvs 121%defattr(-,root,root) 122%doc Documentation/*git-cvs*.txt 123%{_bindir}/*cvs* 124%{!?_without_docs: %{_mandir}/man1/*cvs*.1*} 125%{!?_without_docs: %doc Documentation/*git-cvs*.html } 126 127%files arch 128%defattr(-,root,root) 129%doc Documentation/*arch*.txt 130%{_bindir}/*arch* 131%{!?_without_docs: %{_mandir}/man1/*arch*.1*} 132%{!?_without_docs: %doc Documentation/*arch*.html } 133 134%files email 135%defattr(-,root,root) 136%doc Documentation/*email*.txt 137%{_bindir}/*email* 138%{!?_without_docs: %{_mandir}/man1/*email*.1*} 139%{!?_without_docs: %doc Documentation/*email*.html } 140 141%files-n gitk 142%defattr(-,root,root) 143%doc Documentation/*gitk*.txt 144%{_bindir}/*gitk* 145%{!?_without_docs: %{_mandir}/man1/*gitk*.1*} 146%{!?_without_docs: %doc Documentation/*gitk*.html } 147 148%files-n perl-Git -f perl-files 149%defattr(-,root,root) 150 151%files core -f bin-man-doc-files 152%defattr(-,root,root) 153%{_datadir}/git-core/ 154%doc README COPYING Documentation/*.txt 155%{!?_without_docs: %doc Documentation/*.html } 156 157%changelog 158* Mon Nov 14 2005 H. Peter Anvin <hpa@zytor.com>0.99.9j-1 159- Change subpackage names to git-<name> instead of git-core-<name> 160- Create empty root package which brings in all subpackages 161- Rename git-tk -> gitk 162 163* Thu Nov 10 2005 Chris Wright <chrisw@osdl.org>0.99.9g-1 164- zlib dependency fix 165- Minor cleanups from split 166- Move arch import to separate package as well 167 168* Tue Sep 27 2005 Jim Radford <radford@blackbean.org> 169- Move programs with non-standard dependencies (svn, cvs, email) 170 into separate packages 171 172* Tue Sep 27 2005 H. Peter Anvin <hpa@zytor.com> 173- parallelize build 174- COPTS -> CFLAGS 175 176* Fri Sep 16 2005 Chris Wright <chrisw@osdl.org>0.99.6-1 177- update to 0.99.6 178 179* Fri Sep 16 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl> 180- Linus noticed that less is required, added to the dependencies 181 182* Sun Sep 11 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl> 183- Updated dependencies 184- Don't assume manpages are gzipped 185 186* Thu Aug 18 2005 Chris Wright <chrisw@osdl.org>0.99.4-4 187- drop sh_utils, sh-utils, diffutils, mktemp, and openssl Requires 188- use RPM_OPT_FLAGS in spec file, drop patch0 189 190* Wed Aug 17 2005 Tom "spot" Callaway <tcallawa@redhat.com>0.99.4-3 191- use dist tag to differentiate between branches 192- use rpm optflags by default (patch0) 193- own %{_datadir}/git-core/ 194 195* Mon Aug 15 2005 Chris Wright <chrisw@osdl.org> 196- update spec file to fix Buildroot,Requires, and drop Vendor 197 198* Sun Aug 07 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl> 199- Redid the description 200- Cut overlong make line, loosened changelog a bit 201- I think Junio (or perhaps OSDL?) should be vendor... 202 203* Thu Jul 14 2005 Eric Biederman <ebiederm@xmission.com> 204- Add the man pages, and the --without docs build option 205 206* Wed Jul 7 2005 Chris Wright <chris@osdl.org> 207- initial git spec file