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 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, curl, less, openssh-clients, 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 gui 67Summary: Git GUI tool 68Group: Development/Tools 69Requires: git-core =%{version}-%{release}, tk >=8.4 70%description gui 71Git GUI tool 72 73%package-n gitk 74Summary: Git revision tree visualiser ('gitk') 75Group: Development/Tools 76Requires: git-core =%{version}-%{release}, tk >=8.4 77%description-n gitk 78Git revision tree visualiser ('gitk') 79 80%package-n perl-Git 81Summary: Perl interface to Git 82Group: Development/Libraries 83Requires: git-core =%{version}-%{release} 84Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl}-V:version`";echo $version)) 85BuildRequires: perl(Error) 86 87%description-n perl-Git 88Perl interface to Git 89 90%prep 91%setup-q 92 93%build 94make%{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" WITH_OWN_SUBPROCESS_PY=YesPlease \ 95 prefix=%{_prefix} all %{!?_without_docs: doc} 96 97%install 98rm-rf $RPM_BUILD_ROOT 99make%{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT \ 100 WITH_OWN_SUBPROCESS_PY=YesPlease \ 101 prefix=%{_prefix} mandir=%{_mandir} INSTALLDIRS=vendor \ 102install%{!?_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 "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 "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 email 143%defattr(-,root,root) 144%doc Documentation/*email*.txt 145%{_bindir}/*email* 146%{!?_without_docs: %{_mandir}/man1/*email*.1*} 147%{!?_without_docs: %doc Documentation/*email*.html } 148 149%files gui 150%defattr(-,root,root) 151%{_bindir}/git-gui 152%{_bindir}/git-citool 153# Not Yet... 154# %{!?_without_docs: %{_mandir}/man1/git-gui.1} 155# %{!?_without_docs: %doc Documentation/git-gui.html} 156# %{!?_without_docs: %{_mandir}/man1/git-citool.1} 157# %{!?_without_docs: %doc Documentation/git-citool.html} 158 159%files-n gitk 160%defattr(-,root,root) 161%doc Documentation/*gitk*.txt 162%{_bindir}/*gitk* 163%{!?_without_docs: %{_mandir}/man1/*gitk*.1*} 164%{!?_without_docs: %doc Documentation/*gitk*.html } 165 166%files-n perl-Git -f perl-files 167%defattr(-,root,root) 168 169%files core -f bin-man-doc-files 170%defattr(-,root,root) 171%{_datadir}/git-core/ 172%doc README COPYING Documentation/*.txt 173%{!?_without_docs: %doc Documentation/*.html } 174 175%changelog 176* Mon Feb 12 2007 Junio C Hamano <junkio@cox.net> 177- Add git-gui and git-citool. 178 179* Mon Nov 14 2005 H. Peter Anvin <hpa@zytor.com>0.99.9j-1 180- Change subpackage names to git-<name> instead of git-core-<name> 181- Create empty root package which brings in all subpackages 182- Rename git-tk -> gitk 183 184* Thu Nov 10 2005 Chris Wright <chrisw@osdl.org>0.99.9g-1 185- zlib dependency fix 186- Minor cleanups from split 187- Move arch import to separate package as well 188 189* Tue Sep 27 2005 Jim Radford <radford@blackbean.org> 190- Move programs with non-standard dependencies (svn, cvs, email) 191 into separate packages 192 193* Tue Sep 27 2005 H. Peter Anvin <hpa@zytor.com> 194- parallelize build 195- COPTS -> CFLAGS 196 197* Fri Sep 16 2005 Chris Wright <chrisw@osdl.org>0.99.6-1 198- update to 0.99.6 199 200* Fri Sep 16 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl> 201- Linus noticed that less is required, added to the dependencies 202 203* Sun Sep 11 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl> 204- Updated dependencies 205- Don't assume manpages are gzipped 206 207* Thu Aug 18 2005 Chris Wright <chrisw@osdl.org>0.99.4-4 208- drop sh_utils, sh-utils, diffutils, mktemp, and openssl Requires 209- use RPM_OPT_FLAGS in spec file, drop patch0 210 211* Wed Aug 17 2005 Tom "spot" Callaway <tcallawa@redhat.com>0.99.4-3 212- use dist tag to differentiate between branches 213- use rpm optflags by default (patch0) 214- own %{_datadir}/git-core/ 215 216* Mon Aug 15 2005 Chris Wright <chrisw@osdl.org> 217- update spec file to fix Buildroot,Requires, and drop Vendor 218 219* Sun Aug 07 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl> 220- Redid the description 221- Cut overlong make line, loosened changelog a bit 222- I think Junio (or perhaps OSDL?) should be vendor... 223 224* Thu Jul 14 2005 Eric Biederman <ebiederm@xmission.com> 225- Add the man pages, and the --without docs build option 226 227* Wed Jul 7 2005 Chris Wright <chris@osdl.org> 228- initial git spec file