1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
10 groups = Development/Tools
11 url = http://git-scm.com/
13 summary = Fast Version Control System.
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.
21 source_dl = https://www.kernel.org/pub/software/scm/git/
33 perl-ExtUtils-MakeMaker
41 cat <<EOF > config.mak
44 NEEDS_CRYPTO_WITH_SSL = 1
46 ETC_GITCONFIG = %{sysconfdir}/gitconfig
47 DESTDIR = %{BUILDROOT}
49 GITWEB_PROJECTROOT = %{localstatedir}/git
51 NO_CROSS_DIRECTORY_HARDLINKS = 1
52 PYTHON_PATH = %{python}
54 gitexecdir = lib/git-core
55 htmldir = %{datadir}/doc
56 gitwebdir = %{localstatedir}/www/git
59 # Remove shebang from bash-completion script.
60 sed -i '/^#!bash/,+1 d' contrib/completion/git-completion.bash
64 make %{PARALLELISMFLAGS}
67 make_install_targets += INSTALLDIRS=vendor
71 make install-doc DESTDIR=%{BUILDROOT}
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
78 # Create folder for git-daemon.
79 mkdir -pv %{BUILDROOT}%{sharedstatedir}/git
81 # Create folder for gitweb.
82 mkdir -pv %{BUILDROOT}%{sysconfdir}/httpd/conf.d
84 # Install config files for gitweb.
85 install -pm 0664 %{DIR_SOURCE}/gitweb.conf \
86 %{BUILDROOT}%{sysconfdir}/gitweb.conf
88 install -pm 0644 %{DIR_SOURCE}/git.conf.httpd \
89 %{BUILDROOT}%{sysconfdir}/httpd/conf.d/git.conf
94 # Define %{gitcoredir} to have a more handy name.
95 gitcoredir = %{prefix}/lib/git-core
110 package %{name}-daemon
111 summary = Git protocol daemon.
113 The git daemon for supporting git:// access to git repositories.
121 %{gitcoredir}/git-daemon
122 %{mandir}/man1/git-daemon*
123 %{sharedstatedir}/git
124 %{unitdir}/git@.service
125 %{unitdir}/git.socket
129 systemctl daemon-reload >/dev/null 2>&1 || :
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 || :
139 systemctl daemon-reload >/dev/null 2>&1 || :
143 systemctl daemon-reload >/dev/null 2>&1 || :
144 systemctl try-restart git.socket >/dev/null 2>&1 || :
148 package %{name}-gitweb
151 summary = Simple web interface to git repositories.
153 Simple web interface to track changes in git repositories
161 %{sysconfdir}/gitweb.conf
162 %{sysconfdir}/httpd/conf.d/git.conf
166 %{sysconfdir}/gitweb.conf
167 %{sysconfdir}/httpd/conf.d/git.conf
168 %{mandir}/man1/gitweb*
169 %{mandir}/man5/gitweb*
170 %{localstatedir}/www/git
175 summary = Git tools for importing Subversion repositories.
176 description = %{summary}
190 summary = Git tools for importing CVS repositories.
191 description = %{summary}
198 %{bindir}/git-cvsserver
208 summary = Git tools for working with Perforce depots.
209 description = %{summary}
217 %{gitcoredir}mergetools/p4merge
222 package %{name}-email
223 summary = Git tools for sending emails.
224 description = %{summary}
234 %{gitcoredir}/git-send-email
235 %{mandir}/man1/git-send-email*
242 summary = Perl interface to Git.
243 description = %{summary}
252 %{perl_vendorlib}/*.pm
253 %{perl_vendorlib}/Git/*.pm
260 summary = Perl interface to Git::SVN.
261 description = %{summary}
268 %{mandir}/man3/Git::SVN*
269 %{perl_vendorlib}/Git/SVN*.pm
270 %{perl_vendorlib}/Git/SVN/
274 package %{name}-debuginfo