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