]> git.ipfire.org Git - people/ms/ipfire-3.x.git/commitdiff
git: Splitt package into a lot of subpackages.
authorStefan Schantl <stefan.schantl@ipfire.org>
Sat, 5 Jan 2013 21:17:41 +0000 (22:17 +0100)
committerStefan Schantl <stefan.schantl@ipfire.org>
Sat, 5 Jan 2013 21:17:41 +0000 (22:17 +0100)
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 [new file with mode: 0644]
git/git.nm
git/gitweb.conf [new file with mode: 0644]

diff --git a/git/git.conf.httpd b/git/git.conf.httpd
new file mode 100644 (file)
index 0000000..4f4eac7
--- /dev/null
@@ -0,0 +1,7 @@
+Alias /git /var/www/git
+
+<Directory /var/www/git>
+  Options +ExecCGI
+  AddHandler cgi-script .cgi
+  DirectoryIndex gitweb.cgi
+</Directory>
index 4e6f7daaf4be8d380a44d71a5e5197d990ca68e9..29bf935d9f123d87bdc52ff65bf3dcb44abd1524 100644 (file)
@@ -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 (file)
index 0000000..fe6ede4
--- /dev/null
@@ -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;