1 %define gitexecdir %{_libexecdir}/git
2 %define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
8 Summary: Fast, scalable, distributed revision control system
9 Url: http://git-scm.com
10 Group: Development/Tools/Version Control
11 Source: %{name}-%{version}.tar.bz2
12 Source1: apache2-gitweb.conf
13 Source2: sysconfig.git-daemon
14 Source3: git-daemon.init
16 Source5: usr.share.git-web.gitweb.cgi
17 Source6: susefirewall-git-daemon
18 Patch1: git-nohardlink.diff
19 Patch2: git-python-install-fix.diff
20 Patch3: completion-wordbreaks.diff
21 # CVE-2011-2186, bnc#698456
22 Patch4: git-prevent_xss-default.diff
24 BuildRequires: expat-devel
26 BuildRequires: gettext-tools
27 BuildRequires: libcurl-devel
28 BuildRequires: libopenssl-devel
29 BuildRequires: perl-Error
31 Requires: git-core = %{version}
32 BuildRoot: %{_tmppath}/%{name}-%{version}-build
35 Git is a fast, scalable, distributed revision control system with an
36 unusually rich command set that provides both high-level operations and
37 full access to internals.
39 This package itself only provides the README of git but with the
40 packages it requires, it brings you a complete Git environment
41 including GTK and email interfaces and tools for importing source code
42 repositories from other revision control systems such as subversion,
46 Summary: Core git tools
47 Group: Development/Tools/Version Control
51 Requires: perl-base = %{perl_version}
55 Git is a fast, scalable, distributed revision control system with an
56 unusually rich command set that provides both high-level operations and
57 full access to internals.
59 These are the core tools with minimal dependencies.
62 Summary: Git tools for importing Subversion repositories
63 Group: Development/Tools/Version Control
64 Requires: git-core = %{version}
66 Requires: subversion-perl
69 Tools for importing Subversion repositories to the Git version control
73 Summary: Git tools for importing CVS repositories
74 Group: Development/Tools/Version Control
77 Requires: git-core = %{version}
78 Requires: perl-DBD-SQLite
81 Tools for importing CVS repositories to the Git version control system.
84 Summary: Git tools for importing Arch repositories
85 Group: Development/Tools/Version Control
86 Requires: git-core = %{version}
90 Tools for importing GNU Arch repositories to the GIT version control
94 Summary: Git tools for sending email
95 Group: Development/Tools/Version Control
96 Requires: git-core = %{version}
97 # For sending mails over secure SMTP:
98 Recommends: perl-Authen-SASL
99 Recommends: perl-Net-SMTP-SSL,
102 Email interface for the GIT version control system.
105 Summary: Simple Server for Git Repositories
106 Group: Development/Tools/Version Control
107 Requires(pre): /usr/sbin/useradd
108 Requires: git-core = %{version}
111 A really simple TCP git daemon. In the default configuration it allows
112 read only access to repositories in /srv/git/ that contain the
113 'git-daemon-export-ok' file.
115 Summary: Git revision tree visualiser
116 Group: Development/Tools/Version Control
117 Requires: git-core = %{version}
119 Supplements: packageand(git-core:tk)
122 Grapical tool for visualization of revision trees of projects
123 maintained in the Git version control system. It name gitk indicates
124 that it's written using the Tk Widget set.
126 A simple Tk based graphical interface for common Git operations is
127 found in the package git-gui.
130 Summary: Grapical tool for common git operations
131 Group: Development/Tools/Version Control
132 Requires: git-core = %{version}
134 Supplements: packageand(git-core:tk)
137 A Tcl/Tk based graphical user interface to Git. git-gui focuses on
138 allowing users to make changes to their repository by making new
139 commits, amending existing ones, creating branches, performing local
140 merges, and fetching/pushing to remote repositories.
142 Unlike gitk, git-gui focuses on commit generation and single file
143 annotation, and does not show project history. It does however supply
144 menu actions to start a gitk session from within git-gui.
147 Summary: Git Web Interface
148 Group: Development/Tools/Version Control
149 Requires: git-core = %{version}
150 Supplements: packageand(git-core:apache2)
153 CGI script that allows browsing git repositories via web interface.
155 The apache2 configuration contained in this package installs a virtual
156 directory /git/ that calls the cgi script.
158 %package remote-helpers
159 Summary: Python package for remote helper scripts
160 Group: Development/Tools/Version Control
161 Requires: git-core = %{version}
164 %description remote-helpers
165 This package contains the building blocks for remote helpers written in Python.
177 make %{?_smp_mflags} CFLAGS="%{optflags}" \
178 GITWEB_CONFIG="/etc/gitweb.conf" \
179 GITWEB_PROJECTROOT="/srv/git" \
180 WITH_OWN_SUBPROCESS_PY=YesPlease \
181 DESTDIR=%{buildroot} \
182 NO_CROSS_DIRECTORY_HARDLINKS=1 \
184 prefix=%{_prefix} mandir=%{_mandir} \
185 gitexecdir=%{gitexecdir} \
186 htmldir=%{_docdir}/git-core \
191 ./.make all %{?_smp_mflags}
194 make %{?_smp_mflags} test
199 (find %{buildroot}%{_bindir} -type f | grep -vE "archimport|svn|cvs|email|gitk|daemon|gui" | sed -e s@^%{buildroot}@@) > bin-man-doc-files
200 (find %{buildroot}%{gitexecdir} -mindepth 1 | grep -vE "archimport|svn|cvs|email|gitk|daemon|gui" | sed -e s@^%{buildroot}@@) >> bin-man-doc-files
201 (find %{buildroot}%{_mandir} %{buildroot}/Documentation -type f | grep -vE "archimport|svn|git-cvs|email|gitk|daemon|gui" | sed -e s@^%{buildroot}@@ -e 's/$/*/' ) >> bin-man-doc-files
204 make -f perl.mak DESTDIR=%{buildroot} install_vendor
206 rm -rf %{buildroot}/usr/lib/perl5/site_perl
207 %perl_process_packlist
208 find %{buildroot}/%{_mandir} -type f -print0 | xargs -0 chmod 644
209 install -m 644 -D contrib/completion/git-completion.bash %{buildroot}%{_sysconfdir}/bash_completion.d/git.sh
211 cat %{name}.lang >>bin-man-doc-files
212 # use symlinks instead of hardlinks in sub-commands
215 rm -rf %{buildroot}/%{_datadir}/gitweb
217 %fdupes -s %{buildroot}
221 %defattr(-,root,root)
225 %defattr(-,root,root)
227 %doc Documentation/*svn*.txt
230 %defattr(-,root,root)
231 %doc Documentation/*git-cvs*.txt
236 %defattr(-,root,root)
237 %doc Documentation/git-archimport.txt
238 %{gitexecdir}/git-archimport
241 %defattr(-,root,root)
242 %doc Documentation/*email*.txt
243 %{gitexecdir}/*email*
246 %defattr(-,root,root)
247 %doc Documentation/*daemon*.txt
248 %{gitexecdir}/*daemon*
251 %defattr(-,root,root)
252 %doc Documentation/*gitk*.txt
257 %defattr(-,root,root)
258 %doc Documentation/*gui*.txt
259 %{gitexecdir}/git-gui*
262 %files remote-helpers
263 %defattr(-,root,root)
266 %files core -f bin-man-doc-files
267 %defattr(-,root,root)
269 %{_datadir}/git-core/
271 %doc README COPYING Documentation/*.txt
272 %{perl_vendorlib}/Git.pm
273 %{perl_vendorlib}/Git/
274 %{perl_vendorlib}/Git/*.pm
275 %{perl_vendorarch}/auto/Git/
276 %{_sysconfdir}/bash_completion.d/git.sh