From 9099585c1f1aa59e5c6d45bcdf30f3a80ca26d1d Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Sat, 5 Jan 2013 22:17:41 +0100 Subject: [PATCH] git: Splitt package into a lot of subpackages. In the past there have to be a lot of additional and often unused packages to be installed during the git installation process. Fixes #10278. --- git/git.conf.httpd | 7 ++ git/git.nm | 158 ++++++++++++++++++++++++++++++++++++++++++++- git/gitweb.conf | 53 +++++++++++++++ 3 files changed, 217 insertions(+), 1 deletion(-) create mode 100644 git/git.conf.httpd create mode 100644 git/gitweb.conf diff --git a/git/git.conf.httpd b/git/git.conf.httpd new file mode 100644 index 000000000..4f4eac7c7 --- /dev/null +++ b/git/git.conf.httpd @@ -0,0 +1,7 @@ +Alias /git /var/www/git + + + Options +ExecCGI + AddHandler cgi-script .cgi + DirectoryIndex gitweb.cgi + diff --git a/git/git.nm b/git/git.nm index 4e6f7daaf..29bf935d9 100644 --- a/git/git.nm +++ b/git/git.nm @@ -5,7 +5,7 @@ name = git version = 1.8.1 -release = 1 +release = 2 groups = Development/Tools url = http://git-scm.com/ @@ -66,10 +66,26 @@ build mkdir -pv %{BUILDROOT}%{sysconfdir}/bash_completion.d install -v -m 644 contrib/completion/git-completion.bash \ %{BUILDROOT}%{sysconfdir}/bash_completion.d/git + + # Create folder for git-daemon. + mkdir -pv %{BUILDROOT}%{sharedstatedir}/git + + # Create folder for gitweb. + mkdir -pv %{BUILDROOT}%{sysconfdir}/httpd/conf.d + + # Install config files for gitweb. + install -pm 0664 %{DIR_SOURCE}/gitweb.conf \ + %{BUILDROOT}%{sysconfdir}/gitweb.conf + + install -pm 0644 %{DIR_SOURCE}/git.conf.httpd \ + %{BUILDROOT}%{sysconfdir}/httpd/conf.d/git.conf end end packages + # Define %{gitcoredir} to have a more handy name. + gitcoredir = %{prefix}/lib/git-core + package %{name} requires less @@ -80,6 +96,146 @@ packages end + package %{name}-daemon + summary = Git protocol daemon. + description + The git daemon for supporting git:// access to git repositories. + end + + requires + git=%{thisver} + end + + files + %{gitcoredir}/git-daemon + %{mandir}/man1/git-daemon* + %{sharedstatedir}/git + end + end + + package %{name}-gitweb + arch = noarch + + summary = Simple web interface to git repositories. + description + Simple web interface to track changes in git repositories + end + + requires + git=%{thisver} + end + + configfiles + %{sysconfdir}/gitweb.conf + %{sysconfdir}/httpd/conf.d/git.conf + end + + files + %{sysconfdir}/gitweb.conf + %{sysconfdir}/httpd/conf.d/git.conf + %{mandir}/man1/gitweb* + %{mandir}/man5/gitweb* + %{localstatedir}/www/git + end + end + + package %{name}-svn + summary = Git tools for importing Subversion repositories. + description = %{summary} + + requires + git=%{thisver} + subversion + end + + files + %{gitcoredir}/*svn* + %{mandir}/man1/*svn* + end + end + + package %{name}-cvs + summary = Git tools for importing CVS repositories. + description = %{summary} + + requires + git=%{thisver} + end + + files + %{bindir}/git-cvsserver + %{gitcoredir}/*cvs* + %{mandir}/man1/*cvs* + %{mandir}/man7/*cvs* + end + end + + package %{name}-p4 + arch = noarch + + summary = Git tools for working with Perforce depots. + description = %{summary} + + requires + git=%{thisver} + end + + files + %{gitcoredir}/*p4* + %{gitcoredir}mergetools/p4merge + %{mandir}/man1/*p4* + end + end + + package %{name}-email + summary = Git tools for sending emails. + description = %{summary} + + requires + git=%{thisver} + perl-Git=%{thisver} + end + + files + %{gitcoredir}/git-send-email + %{mandir}/man1/git-send-email* + end + end + + package perl-Git + arch = noarch + + summary = Perl interface to Git. + description = %{summary} + + requires + git=%{thisver} + end + + files + %{mandir}/man3/Git* + %{perl_archlib} + %{perl_vendorlib}/*.pm + %{perl_vendorlib}/Git/*.pm + end + end + + package perl-Git-SVN + arch = noarch + + summary = Perl interface to Git::SVN. + description = %{summary} + + requires + git=%{thisver} + end + + files + %{mandir}/man3/Git::SVN* + %{perl_vendorlib}/Git/SVN/ + end + end + package %{name}-debuginfo template DEBUGINFO end diff --git a/git/gitweb.conf b/git/gitweb.conf new file mode 100644 index 000000000..fe6ede43b --- /dev/null +++ b/git/gitweb.conf @@ -0,0 +1,53 @@ +# The gitweb config file is a fragment of perl code. You can set variables +# using "our $variable = value"; text from "#" character until the end of a +# line is ignored. See perlsyn(1) man page for details. +# +# See /usr/share/doc/gitweb-*/README and /usr/share/doc/gitweb-*/INSTALL for +# more details and available configuration variables. + +# Set the path to git projects. This is an absolute filesystem path which will +# be prepended to the project path. +#our $projectroot = "/var/lib/git"; + +# Set the list of git base URLs used for URL to where fetch project from, i.e. +# the full URL is "$git_base_url/$project". By default this is empty +#our @git_base_url_list = qw(git://git.example.com +# ssh://git.example.com@PROJECTROOT@); + +# Enable the 'blame' blob view, showing the last commit that modified +# each line in the file. This can be very CPU-intensive. Disabled by default +#$feature{'blame'}{'default'} = [1]; +# +# Allow projects to override the default setting via git config file. +# Example: gitweb.blame = 0|1; +#$feature{'blame'}{'override'} = 1; + +# Disable the 'snapshot' link, providing a compressed archive of any tree. This +# can potentially generate high traffic if you have large project. Enabled for +# .tar.gz snapshots by default. +# +# Value is a list of formats defined in %known_snapshot_formats that you wish +# to offer. +#$feature{'snapshot'}{'default'} = []; +# +# Allow projects to override the default setting via git config file. +# Example: gitweb.snapshot = tbz2,zip; (use "none" to disable) +#$feature{'snapshot'}{'override'} = 1; + +# Disable grep search, which will list the files in currently selected tree +# containing the given string. This can be potentially CPU-intensive, of +# course. Enabled by default. +#$feature{'grep'}{'default'} = [0]; +# +# Allow projects to override the default setting via git config file. +# Example: gitweb.grep = 0|1; +#$feature{'grep'}{'override'} = 1; + +# Disable the pickaxe search, which will list the commits that modified a given +# string in a file. This can be practical and quite faster alternative to +# 'blame', but still potentially CPU-intensive. Enabled by default. +#$feature{'pickaxe'}{'default'} = [0]; +# +# Allow projects to override the default setting via git config file. +# Example: gitweb.pickaxe = 0|1; +#$feature{'pickaxe'}{'override'} = 1; -- 2.39.5