]> git.ipfire.org Git - ipfire-3.x.git/blob - git/git.nm
kernel: Disable support for extended x86 platforms
[ipfire-3.x.git] / git / git.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = git
7 version = 2.16.1
8 release = 1
9
10 groups = Development/Tools
11 url = http://git-scm.com/
12 license = GPLv2
13 summary = Fast Version Control System.
14
15 description
16 Git is a fast, scalable, distributed revision control system with an
17 unusually rich command set that provides both high-level operations
18 and full access to internals.
19 end
20
21 source_dl = https://www.kernel.org/pub/software/scm/git/
22
23 build
24 requires
25 asciidoc
26 expat-devel
27 gettext
28 gnupg2
29 groff
30 libcurl-devel
31 openssl-devel
32 pcre2-devel
33 perl-ExtUtils-MakeMaker
34 perl-devel
35 python-devel
36 xmlto
37 zlib-devel
38 end
39
40 prepare_cmds
41 cat <<EOF > config.mak
42 CFLAGS = %{CFLAGS}
43 LDFLAGS = %{LDFLAGS}
44 NEEDS_CRYPTO_WITH_SSL = 1
45 USE_LIBPCRE2 = 1
46 ETC_GITCONFIG = %{sysconfdir}/gitconfig
47 DESTDIR = %{BUILDROOT}
48 INSTALL = install -p
49 GITWEB_PROJECTROOT = %{localstatedir}/git
50 GNU_ROFF = 1
51 NO_CROSS_DIRECTORY_HARDLINKS = 1
52 PYTHON_PATH = %{python}
53 prefix = %{prefix}
54 gitexecdir = lib/git-core
55 htmldir = %{datadir}/doc
56 gitwebdir = %{localstatedir}/www/git
57 EOF
58
59 # Remove shebang from bash-completion script.
60 sed -i '/^#!bash/,+1 d' contrib/completion/git-completion.bash
61 end
62
63 build
64 make %{PARALLELISMFLAGS}
65 end
66
67 make_install_targets += INSTALLDIRS=vendor
68
69 install_cmds
70 # Install man pages.
71 make install-doc DESTDIR=%{BUILDROOT}
72
73 # Install bash completion file.
74 mkdir -pv %{BUILDROOT}%{sysconfdir}/bash_completion.d
75 install -v -m 644 contrib/completion/git-completion.bash \
76 %{BUILDROOT}%{sysconfdir}/bash_completion.d/git
77
78 # Create folder for git-daemon.
79 mkdir -pv %{BUILDROOT}%{sharedstatedir}/git
80
81 # Create folder for gitweb.
82 mkdir -pv %{BUILDROOT}%{sysconfdir}/httpd/conf.d
83
84 # Install config files for gitweb.
85 install -pm 0664 %{DIR_SOURCE}/gitweb.conf \
86 %{BUILDROOT}%{sysconfdir}/gitweb.conf
87
88 install -pm 0644 %{DIR_SOURCE}/git.conf.httpd \
89 %{BUILDROOT}%{sysconfdir}/httpd/conf.d/git.conf
90 end
91 end
92
93 packages
94 # Define %{gitcoredir} to have a more handy name.
95 gitcoredir = %{prefix}/lib/git-core
96
97 package %{name}
98 requires
99 less
100 openssh-clients
101 rsync
102 /usr/bin/vi
103 end
104
105 recommends
106 %{name}-email
107 end
108 end
109
110 package %{name}-daemon
111 summary = Git protocol daemon.
112 description
113 The git daemon for supporting git:// access to git repositories.
114 end
115
116 requires
117 git=%{thisver}
118 end
119
120 files
121 %{gitcoredir}/git-daemon
122 %{mandir}/man1/git-daemon*
123 %{sharedstatedir}/git
124 %{unitdir}/git@.service
125 %{unitdir}/git.socket
126 end
127
128 script postin
129 systemctl daemon-reload >/dev/null 2>&1 || :
130 end
131
132 script preun
133 systemctl --no-reload disable git.socket >/dev/null 2>&1 || :
134 systemctl stop git.socket >/dev/null 2>&1 || :
135 systemctl stop git@.service >/dev/null 2>&1 || :
136 end
137
138 script postun
139 systemctl daemon-reload >/dev/null 2>&1 || :
140 end
141
142 script postup
143 systemctl daemon-reload >/dev/null 2>&1 || :
144 systemctl try-restart git.socket >/dev/null 2>&1 || :
145 end
146 end
147
148 package %{name}-gitweb
149 arch = noarch
150
151 summary = Simple web interface to git repositories.
152 description
153 Simple web interface to track changes in git repositories
154 end
155
156 requires
157 git=%{thisver}
158 end
159
160 configfiles
161 %{sysconfdir}/gitweb.conf
162 %{sysconfdir}/httpd/conf.d/git.conf
163 end
164
165 files
166 %{sysconfdir}/gitweb.conf
167 %{sysconfdir}/httpd/conf.d/git.conf
168 %{mandir}/man1/gitweb*
169 %{mandir}/man5/gitweb*
170 %{localstatedir}/www/git
171 end
172 end
173
174 package %{name}-svn
175 summary = Git tools for importing Subversion repositories.
176 description = %{summary}
177
178 requires
179 git=%{thisver}
180 subversion
181 end
182
183 files
184 %{gitcoredir}/*svn*
185 %{mandir}/man1/*svn*
186 end
187 end
188
189 package %{name}-cvs
190 summary = Git tools for importing CVS repositories.
191 description = %{summary}
192
193 requires
194 git=%{thisver}
195 end
196
197 files
198 %{bindir}/git-cvsserver
199 %{gitcoredir}/*cvs*
200 %{mandir}/man1/*cvs*
201 %{mandir}/man7/*cvs*
202 end
203 end
204
205 package %{name}-p4
206 arch = noarch
207
208 summary = Git tools for working with Perforce depots.
209 description = %{summary}
210
211 requires
212 git=%{thisver}
213 end
214
215 files
216 %{gitcoredir}/*p4*
217 %{gitcoredir}mergetools/p4merge
218 %{mandir}/man1/*p4*
219 end
220 end
221
222 package %{name}-email
223 summary = Git tools for sending emails.
224 description = %{summary}
225
226 requires
227 git=%{thisver}
228 perl-Git=%{thisver}
229 perl(Authen::SASL)
230 perl(Net::SMTP::SSL)
231 end
232
233 files
234 %{gitcoredir}/git-send-email
235 %{mandir}/man1/git-send-email*
236 end
237 end
238
239 package perl-Git
240 arch = noarch
241
242 summary = Perl interface to Git.
243 description = %{summary}
244
245 requires
246 git=%{thisver}
247 end
248
249 files
250 %{mandir}/man3/Git*
251 %{perl_archlib}
252 %{perl_vendorlib}/*.pm
253 %{perl_vendorlib}/Git/*.pm
254 end
255 end
256
257 package perl-Git-SVN
258 arch = noarch
259
260 summary = Perl interface to Git::SVN.
261 description = %{summary}
262
263 requires
264 git=%{thisver}
265 end
266
267 files
268 %{mandir}/man3/Git::SVN*
269 %{perl_vendorlib}/Git/SVN*.pm
270 %{perl_vendorlib}/Git/SVN/
271 end
272 end
273
274 package %{name}-debuginfo
275 template DEBUGINFO
276 end
277 end