]> git.ipfire.org Git - ipfire-3.x.git/blame - git/git.nm
liboping: Fix build with GCC 9
[ipfire-3.x.git] / git / git.nm
CommitLineData
e2c1801f 1###############################################################################
802ea3af
MT
2# IPFire.org - An Open Source Firewall Solution #
3# Copyright (C) - IPFire Development Team <info@ipfire.org> #
e2c1801f
MT
4###############################################################################
5
802ea3af 6name = git
0979d287
MT
7version = 2.16.1
8release = 1
e2c1801f 9
802ea3af
MT
10groups = Development/Tools
11url = http://git-scm.com/
12license = GPLv2
13summary = Fast Version Control System.
e2c1801f 14
802ea3af 15description
f50cc92e
SS
16 Git is a fast, scalable, distributed revision control system with an
17 unusually rich command set that provides both high-level operations
e2c1801f 18 and full access to internals.
802ea3af
MT
19end
20
2c696983 21source_dl = https://www.kernel.org/pub/software/scm/git/
802ea3af
MT
22
23build
24 requires
f50cc92e 25 asciidoc
802ea3af
MT
26 expat-devel
27 gettext
0979d287
MT
28 gnupg2
29 groff
802ea3af
MT
30 libcurl-devel
31 openssl-devel
0979d287 32 pcre2-devel
1f9bc2f0 33 perl-ExtUtils-MakeMaker
802ea3af 34 perl-devel
0979d287 35 python-devel
f50cc92e 36 xmlto
0979d287 37 zlib-devel
802ea3af 38 end
e2c1801f 39
802ea3af 40 prepare_cmds
0979d287
MT
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
a5248e72
MT
58
59 # Remove shebang from bash-completion script.
60 sed -i '/^#!bash/,+1 d' contrib/completion/git-completion.bash
802ea3af 61 end
e2c1801f 62
802ea3af
MT
63 build
64 make %{PARALLELISMFLAGS}
65 end
e2c1801f 66
802ea3af 67 make_install_targets += INSTALLDIRS=vendor
a5248e72
MT
68
69 install_cmds
f50cc92e
SS
70 # Install man pages.
71 make install-doc DESTDIR=%{BUILDROOT}
72
a5248e72
MT
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
9099585c
SS
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
a5248e72 90 end
802ea3af 91end
e2c1801f 92
802ea3af 93packages
9099585c
SS
94 # Define %{gitcoredir} to have a more handy name.
95 gitcoredir = %{prefix}/lib/git-core
96
802ea3af
MT
97 package %{name}
98 requires
99 less
100 openssh-clients
101 rsync
102 /usr/bin/vi
103 end
1f9bc2f0 104
5019890f
MT
105 recommends
106 %{name}-email
107 end
1f9bc2f0
MT
108 end
109
9099585c
SS
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
2b968a3f
SS
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 || :
9099585c
SS
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}
5019890f
MT
229 perl(Authen::SASL)
230 perl(Net::SMTP::SSL)
9099585c
SS
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*
6ba1bd00 269 %{perl_vendorlib}/Git/SVN*.pm
9099585c
SS
270 %{perl_vendorlib}/Git/SVN/
271 end
272 end
273
1f9bc2f0
MT
274 package %{name}-debuginfo
275 template DEBUGINFO
802ea3af
MT
276 end
277end