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