Accepting request 1196433 from home:crameleon:branches:devel:tools:scm
Change less requirement to path to allow for use with BusyBox OBS-URL: https://build.opensuse.org/request/show/1196433 OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/git?expand=0&rev=654
This commit is contained in:
commit
a1647b2342
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
20
CVE-2024-24577.patch
Normal file
20
CVE-2024-24577.patch
Normal file
@ -0,0 +1,20 @@
|
||||
Index: b/read-cache.c
|
||||
===================================================================
|
||||
--- a/read-cache.c
|
||||
+++ b/read-cache.c
|
||||
@@ -1158,10 +1158,13 @@ static int has_dir_name(struct index_sta
|
||||
size_t len;
|
||||
|
||||
for (;;) {
|
||||
- if (*--slash == '/')
|
||||
- break;
|
||||
+ slash--;
|
||||
+
|
||||
if (slash <= ce->name)
|
||||
return retval;
|
||||
+
|
||||
+ if (*slash == '/')
|
||||
+ break;
|
||||
}
|
||||
len = slash - name;
|
||||
|
15
apache2-gitweb.conf
Normal file
15
apache2-gitweb.conf
Normal file
@ -0,0 +1,15 @@
|
||||
Alias /git "/usr/share/gitweb/"
|
||||
|
||||
<Directory "/usr/share/gitweb">
|
||||
Options ExecCGI
|
||||
AllowOverride None
|
||||
AddHandler cgi-script .cgi
|
||||
DirectoryIndex gitweb.cgi
|
||||
<IfModule mod_access_compat.c>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</IfModule>
|
||||
<IfModule !mod_access_compat.c>
|
||||
Require all granted
|
||||
</IfModule>
|
||||
</Directory>
|
25
completion-wordbreaks.diff
Normal file
25
completion-wordbreaks.diff
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
contrib/completion/git-completion.bash | 10 ++++++----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: git-2.43.1/contrib/completion/git-completion.bash
|
||||
===================================================================
|
||||
--- git-2.43.1.orig/contrib/completion/git-completion.bash
|
||||
+++ git-2.43.1/contrib/completion/git-completion.bash
|
||||
@@ -67,10 +67,12 @@
|
||||
# case insensitively, even on systems with case sensitive file systems
|
||||
# (e.g., completing tag name "FOO" on "git checkout f<TAB>").
|
||||
|
||||
-case "$COMP_WORDBREAKS" in
|
||||
-*:*) : great ;;
|
||||
-*) COMP_WORDBREAKS="$COMP_WORDBREAKS:"
|
||||
-esac
|
||||
+# SUSE-specific: We trust the system is consistent and do not let individual
|
||||
+# scripts play ping-pong with the global $COMP_WORDBREAKS value.
|
||||
+#case "$COMP_WORDBREAKS" in
|
||||
+#*:*) : great ;;
|
||||
+#*) COMP_WORDBREAKS="$COMP_WORDBREAKS:"
|
||||
+#esac
|
||||
|
||||
# Discovers the path to the git repository taking any '--git-dir=<path>' and
|
||||
# '-C <path>' options into account and stores it in the $__git_repo_path
|
BIN
git-2.45.2.tar.sign
Normal file
BIN
git-2.45.2.tar.sign
Normal file
Binary file not shown.
3
git-2.45.2.tar.xz
Normal file
3
git-2.45.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:51bfe87eb1c02fed1484051875365eeab229831d30d0cec5d89a14f9e40e9adb
|
||||
size 7487680
|
BIN
git-2.46.0.tar.sign
Normal file
BIN
git-2.46.0.tar.sign
Normal file
Binary file not shown.
BIN
git-2.46.0.tar.xz
(Stored with Git LFS)
Normal file
BIN
git-2.46.0.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
17
git-asciidoc.patch
Normal file
17
git-asciidoc.patch
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
Documentation/asciidoc.conf | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Index: git-2.11.0/Documentation/asciidoc.conf
|
||||
===================================================================
|
||||
--- git-2.11.0.orig/Documentation/asciidoc.conf
|
||||
+++ git-2.11.0/Documentation/asciidoc.conf
|
||||
@@ -21,6 +21,8 @@ tilde=~
|
||||
apostrophe='
|
||||
backtick=`
|
||||
litdd=--
|
||||
+# drops the "last-updated" footer, with asciidoc-8.6.9+
|
||||
+footer-style=none
|
||||
|
||||
ifdef::backend-docbook[]
|
||||
[linkgit-inlinemacro]
|
2
git-daemon.conf
Normal file
2
git-daemon.conf
Normal file
@ -0,0 +1,2 @@
|
||||
# Type Name ID GECOS [HOME]
|
||||
u git-daemon - "git daemon" /var/lib/empty -
|
26
git-daemon.service
Normal file
26
git-daemon.service
Normal file
@ -0,0 +1,26 @@
|
||||
[Unit]
|
||||
Description=Git Daemon
|
||||
|
||||
[Service]
|
||||
# added automatically, for details please see
|
||||
# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
|
||||
ProtectSystem=full
|
||||
PrivateDevices=true
|
||||
ProtectHostname=true
|
||||
ProtectClock=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectKernelModules=true
|
||||
ProtectKernelLogs=true
|
||||
ProtectControlGroups=true
|
||||
RestrictRealtime=true
|
||||
# end of automatic additions
|
||||
EnvironmentFile=-/etc/sysconfig/git-daemon
|
||||
ExecStart=/bin/bash -c 'exec git daemon --reuseaddr --base-path=$${GIT_DAEMON_BASE_PATH:-/srv/git/} --user=$${GIT_DAEMON_USER:-git-daemon} --group=$${GIT_DAEMON_GROUP:-git-daemon} $GIT_DAEMON_ARGS'
|
||||
|
||||
Restart=always
|
||||
RestartSec=500ms
|
||||
|
||||
SyslogIdentifier=git-daemon
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
11
git-gui.desktop
Normal file
11
git-gui.desktop
Normal file
@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Name=Git Gui
|
||||
GenericName=Version Control GUI
|
||||
Comment=Git GUI
|
||||
Exec=git gui
|
||||
Icon=git-gui
|
||||
StartupNotify=false
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Development;RevisionControl;
|
||||
X-KDE-SubstituteUID=false
|
BIN
git-gui.png
(Stored with Git LFS)
Normal file
BIN
git-gui.png
(Stored with Git LFS)
Normal file
Binary file not shown.
42
git-prevent_xss-default.diff
Normal file
42
git-prevent_xss-default.diff
Normal file
@ -0,0 +1,42 @@
|
||||
From: Jakub Narebski <jnareb@...il.com>
|
||||
Subject: [PATCH] gitweb: Enable $prevent_xss by default
|
||||
|
||||
This fixes issue CVE-2011-2186 originally reported in
|
||||
https://launchpad.net/bugs/777804
|
||||
|
||||
Reported-by: dave b <db.pub.mail@...il.com>
|
||||
Signed-off-by: Jakub Narebski <jnareb@...il.com>
|
||||
---
|
||||
git-instaweb.sh | 4 ++++
|
||||
gitweb/README | 5 +++--
|
||||
gitweb/gitweb.perl | 2 +-
|
||||
3 files changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: git-2.43.1/git-instaweb.sh
|
||||
===================================================================
|
||||
--- git-2.43.1.orig/git-instaweb.sh
|
||||
+++ git-2.43.1/git-instaweb.sh
|
||||
@@ -721,6 +721,10 @@ our \$projectroot = "$(dirname "$fqgitdi
|
||||
our \$git_temp = "$fqgitdir/gitweb/tmp";
|
||||
our \$projects_list = \$projectroot;
|
||||
|
||||
+# we can trust our own repository, so disable XSS prevention
|
||||
+# to enable some extra features
|
||||
+our \$prevent_xss = 0;
|
||||
+
|
||||
\$feature{'remote_heads'}{'default'} = [1];
|
||||
EOF
|
||||
}
|
||||
Index: git-2.43.1/gitweb/gitweb.perl
|
||||
===================================================================
|
||||
--- git-2.43.1.orig/gitweb/gitweb.perl
|
||||
+++ git-2.43.1/gitweb/gitweb.perl
|
||||
@@ -194,7 +194,7 @@ our @diff_opts = ('-M'); # taken from gi
|
||||
|
||||
# Disables features that would allow repository owners to inject script into
|
||||
# the gitweb domain.
|
||||
-our $prevent_xss = 0;
|
||||
+our $prevent_xss = 1;
|
||||
|
||||
# Path to the highlight executable to use (must be the one from
|
||||
# http://andre-simon.de/zip/download.php due to assumptions about parameters and output).
|
11
git-prompt
Normal file
11
git-prompt
Normal file
@ -0,0 +1,11 @@
|
||||
# In git versions < 1.7.12, this shell library was part of the
|
||||
# git completion script.
|
||||
#
|
||||
# Some users rely on the __git_ps1 function becoming available
|
||||
# when bash-completion is loaded. Continue to load this library
|
||||
# at bash-completion startup for now, to ease the transition to a
|
||||
# world order where the prompt function is requested separately.
|
||||
#
|
||||
if [[ -e /usr/share/bash-completion/completions/git-prompt.sh ]]; then
|
||||
. /usr/share/bash-completion/completions/git-prompt.sh
|
||||
fi
|
57
git-tcsh-completion-fixes.diff
Normal file
57
git-tcsh-completion-fixes.diff
Normal file
@ -0,0 +1,57 @@
|
||||
---
|
||||
contrib/completion/git-completion.tcsh | 17 +++++++----------
|
||||
contrib/completion/git.csh | 4 ++++
|
||||
contrib/completion/git.tcsh | 4 ++++
|
||||
3 files changed, 15 insertions(+), 10 deletions(-)
|
||||
|
||||
Index: git-2.11.0/contrib/completion/git-completion.tcsh
|
||||
===================================================================
|
||||
--- git-2.11.0.orig/contrib/completion/git-completion.tcsh
|
||||
+++ git-2.11.0/contrib/completion/git-completion.tcsh
|
||||
@@ -32,14 +32,14 @@ if ( ${__git_tcsh_completion_version[1]}
|
||||
endif
|
||||
unset __git_tcsh_completion_version
|
||||
|
||||
-set __git_tcsh_completion_original_script = ${HOME}/.git-completion.bash
|
||||
-set __git_tcsh_completion_script = ${HOME}/.git-completion.tcsh.bash
|
||||
+set __git_tcsh_completion_original_script = /usr/share/bash-completion/completions/git
|
||||
+set __git_tcsh_completion_script = $RPM_BUILD_ROOT/usr/share/tcsh/git.complete
|
||||
|
||||
-# Check that the user put the script in the right place
|
||||
-if ( ! -e ${__git_tcsh_completion_original_script} ) then
|
||||
- echo "git-completion.tcsh: Cannot find: ${__git_tcsh_completion_original_script}. Git completion will not work."
|
||||
- exit
|
||||
-endif
|
||||
+# # Check that the user put the script in the right place
|
||||
+# if ( ! -e ${__git_tcsh_completion_original_script} ) then
|
||||
+# echo "git-completion.tcsh: Cannot find: ${__git_tcsh_completion_original_script}. Git completion will not work."
|
||||
+# exit
|
||||
+# endif
|
||||
|
||||
cat << EOF >! ${__git_tcsh_completion_script}
|
||||
#!bash
|
||||
@@ -121,6 +121,3 @@ EOF
|
||||
|
||||
# Don't need this variable anymore, so don't pollute the users environment
|
||||
unset __git_tcsh_completion_original_script
|
||||
-
|
||||
-complete git 'p,*,`bash ${__git_tcsh_completion_script} git "${COMMAND_LINE}"`,'
|
||||
-complete gitk 'p,*,`bash ${__git_tcsh_completion_script} gitk "${COMMAND_LINE}"`,'
|
||||
Index: git-2.11.0/contrib/completion/git.csh
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ git-2.11.0/contrib/completion/git.csh
|
||||
@@ -0,0 +1,4 @@
|
||||
+if (${?prompt}) then
|
||||
+complete git 'p,*,`bash /usr/share/tcsh/git.complete git "${COMMAND_LINE}"`,'
|
||||
+complete gitk 'p,*,`bash /usr/share/tcsh/git.complete gitk "${COMMAND_LINE}"`,'
|
||||
+endif
|
||||
Index: git-2.11.0/contrib/completion/git.tcsh
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ git-2.11.0/contrib/completion/git.tcsh
|
||||
@@ -0,0 +1,4 @@
|
||||
+if (${?prompt}) then
|
||||
+complete git 'p,*,`bash /usr/share/tcsh/git.complete git "${COMMAND_LINE}"`,'
|
||||
+complete gitk 'p,*,`bash /usr/share/tcsh/git.complete gitk "${COMMAND_LINE}"`,'
|
||||
+endif
|
5569
git.changes
Normal file
5569
git.changes
Normal file
File diff suppressed because it is too large
Load Diff
152
git.keyring
Normal file
152
git.keyring
Normal file
@ -0,0 +1,152 @@
|
||||
pub 4096R/713660A7 2011-10-01
|
||||
uid [ unknown] Junio C Hamano <gitster@pobox.com>
|
||||
uid [ unknown] Junio C Hamano <jch@google.com>
|
||||
uid [ unknown] Junio C Hamano <junio@pobox.com>
|
||||
sub 4096R/833262C4 2011-10-01
|
||||
sub 4096R/96AFE6CB 2011-10-03 [expires: 2015-09-21]
|
||||
sub 4096R/B3F7CAC9 2014-09-20 [expires: 2017-09-19]
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v2
|
||||
|
||||
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
|
||||
=f2jS
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
585
git.spec
Normal file
585
git.spec
Normal file
@ -0,0 +1,585 @@
|
||||
#
|
||||
# spec file for package git
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define rb_build_ruby_abis %{rb_default_ruby_abi}
|
||||
%define rb_build_versions %{rb_default_ruby}
|
||||
%define gitexecdir %{_libexecdir}/git
|
||||
%if 0%{?suse_version} < 1500
|
||||
%define _fwdefdir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
|
||||
%define SuSEfirewall2 1
|
||||
%endif
|
||||
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||||
%if ! %{defined _fillupdir}
|
||||
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
||||
%endif
|
||||
# Compat stub for python3_fix_shebang_path
|
||||
%{?!python3_fix_shebang_path:%define python3_fix_shebang_path(+abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-=) \\\
|
||||
myargs="%{**}" \
|
||||
for f in ${myargs}; do \
|
||||
[ -f "$f" ] && sed -i -e "1s@#\\!.*python.*@#\\!$(realpath %__python3)@" $f \
|
||||
done
|
||||
}
|
||||
%bcond_without git_libsecret
|
||||
%bcond_without docs
|
||||
%if 0%{?suse_version} >= 1500 && %{with docs}
|
||||
%bcond_without asciidoctor
|
||||
%else
|
||||
%bcond_with asciidoctor
|
||||
%endif
|
||||
Name: git
|
||||
Version: 2.46.0
|
||||
Release: 0
|
||||
Summary: Fast, scalable, distributed revision control system
|
||||
License: GPL-2.0-only
|
||||
Group: Development/Tools/Version Control
|
||||
URL: https://git-scm.com/
|
||||
Source0: https://www.kernel.org/pub/software/scm/git/%{name}-%{version}.tar.xz
|
||||
Source1: apache2-gitweb.conf
|
||||
Source2: sysconfig.git-daemon
|
||||
Source3: git-daemon.service
|
||||
Source5: usr.share.git-web.gitweb.cgi
|
||||
Source6: susefirewall-git-daemon
|
||||
Source7: https://www.kernel.org/pub/software/scm/git/%{name}-%{version}.tar.sign
|
||||
Source8: %{name}.keyring
|
||||
Source9: %{name}-gui.desktop
|
||||
Source10: %{name}-gui.png
|
||||
Source11: git-daemon.conf
|
||||
Source12: git-prompt
|
||||
Patch3: completion-wordbreaks.diff
|
||||
# CVE-2011-2186, bnc#698456
|
||||
Patch4: git-prevent_xss-default.diff
|
||||
# cook up tcsh completion to be installable (bnc#853183)
|
||||
Patch6: git-tcsh-completion-fixes.diff
|
||||
Patch8: git-asciidoc.patch
|
||||
Patch10: setup-don-t-fail-if-commondir-reference-is-deleted.patch
|
||||
# PATCH-FIX-OPENSUSE CVE-2024-24577.patch boo#1219660 antonio.teixeira@suse.com
|
||||
Patch11: CVE-2024-24577.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gpg2
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: libexpat-devel
|
||||
BuildRequires: libopenssl-devel
|
||||
BuildRequires: pcre2-devel
|
||||
BuildRequires: perl-Error
|
||||
BuildRequires: perl-MailTools
|
||||
BuildRequires: pkgconfig
|
||||
# for the %%python3_fix_shebang_path macro
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRequires: python3-base
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: tcsh
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: xz
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
Requires: git-core = %{version}
|
||||
Requires: perl-Git = %{version}
|
||||
Recommends: git-email
|
||||
Suggests: git-daemon
|
||||
Suggests: git-gui
|
||||
Suggests: git-web
|
||||
Suggests: gitk
|
||||
%if 0%{?suse_version} >= 1500
|
||||
BuildRequires: openssh-clients
|
||||
BuildRequires: sysuser-tools
|
||||
%endif
|
||||
%if %{with docs}
|
||||
BuildRequires: sgml-skel
|
||||
BuildRequires: xmlto
|
||||
%if %{with asciidoctor}
|
||||
BuildRequires: %{rubygem asciidoctor}
|
||||
BuildRequires: docbook5-xsl-stylesheets
|
||||
%else
|
||||
BuildRequires: asciidoc
|
||||
%endif
|
||||
%endif
|
||||
%if %{with git_libsecret}
|
||||
BuildRequires: libsecret-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1320
|
||||
BuildRequires: libsha1detectcoll-devel
|
||||
%endif
|
||||
|
||||
%description
|
||||
Git is a fast, scalable, distributed revision control system with an
|
||||
unusually rich command set that provides both high-level operations and
|
||||
full access to internals.
|
||||
|
||||
This package itself only provides the README of git but with the
|
||||
packages it requires, it brings you a complete Git environment
|
||||
including GTK and email interfaces and tools for importing source code
|
||||
repositories from other revision control systems such as subversion,
|
||||
CVS, and GNU arch.
|
||||
|
||||
%package core
|
||||
Summary: Core git tools
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: /usr/bin/less
|
||||
Obsoletes: git-remote-helpers < %{version}
|
||||
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150300
|
||||
Recommends: openssh-clients
|
||||
%else
|
||||
Recommends: openssh
|
||||
%endif
|
||||
|
||||
%description core
|
||||
Git is a fast, scalable, distributed revision control system with an
|
||||
unusually rich command set that provides both high-level operations and
|
||||
full access to internals.
|
||||
|
||||
These are the core tools with minimal dependencies.
|
||||
|
||||
%package -n perl-Git
|
||||
Summary: perl Bindings for Git
|
||||
Group: Development/Libraries/Perl
|
||||
Requires: perl-Error
|
||||
Provides: git-core:%{perl_vendorlib}/Git
|
||||
%{perl_requires}
|
||||
|
||||
%description -n perl-Git
|
||||
Git is a fast, scalable, distributed revision control system with an
|
||||
unusually rich command set that provides both high-level operations and
|
||||
full access to internals.
|
||||
|
||||
This package provides the Perl interface to the Git version control system.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation for the Git version control system
|
||||
Group: Documentation/HTML
|
||||
BuildArch: noarch
|
||||
|
||||
%description doc
|
||||
Git is a fast, scalable, distributed revision control system with an
|
||||
unusually rich command set that provides both high-level operations and
|
||||
full access to internals.
|
||||
|
||||
This subpackage contains Git's documentation in text/plain and
|
||||
text/html formats. (The manpages are in the main package.)
|
||||
|
||||
%package svn
|
||||
Summary: Git tools for importing Subversion repositories
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: git-core = %{version}
|
||||
Requires: perl-Git = %{version}
|
||||
Requires: perl-Term-ReadKey
|
||||
Requires: subversion
|
||||
Requires: subversion-perl
|
||||
Supplements: (%{name} and subversion)
|
||||
|
||||
%description svn
|
||||
Tools for importing Subversion repositories to the Git version control
|
||||
system.
|
||||
|
||||
%package cvs
|
||||
Summary: Git tools for importing CVS repositories
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: cvs
|
||||
Requires: cvsps
|
||||
Requires: git-core = %{version}
|
||||
Requires: perl-DBD-SQLite
|
||||
Requires: perl-Git = %{version}
|
||||
Supplements: (%{name} and cvs)
|
||||
|
||||
%description cvs
|
||||
Tools for importing CVS repositories to the Git version control system.
|
||||
|
||||
%if %{with git_libsecret}
|
||||
%package credential-libsecret
|
||||
Summary: Git credential backend using libsecret to access keyring
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: git-core = %{version}
|
||||
Obsoletes: git-credential-gnome-keyring < %{version}
|
||||
|
||||
%description credential-libsecret
|
||||
A Git credential backend which uses libsecret API to acces keyrings such as
|
||||
kwallet or GNOME keyring.
|
||||
|
||||
%endif
|
||||
|
||||
%package arch
|
||||
Summary: Git tools for importing Arch repositories
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: git-core = %{version}
|
||||
# Requires: tla
|
||||
|
||||
%description arch
|
||||
Tools for importing GNU Arch repositories to the GIT version control
|
||||
system.
|
||||
|
||||
%package p4
|
||||
Summary: Git tools for importing Perforce repositories
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: git-core = %{version}
|
||||
|
||||
%description p4
|
||||
Tools for importing Perforce repositories to the GIT version control
|
||||
system.
|
||||
|
||||
%package email
|
||||
Summary: Git tools for sending email
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: git-core = %{version}
|
||||
# For sending mails over secure SMTP:
|
||||
Requires: perl-Authen-SASL
|
||||
Requires: perl-Git = %{version}
|
||||
Requires: perl-MailTools
|
||||
Requires: perl-Net-SMTP-SSL
|
||||
|
||||
%description email
|
||||
Email interface for the GIT version control system.
|
||||
|
||||
%package daemon
|
||||
Summary: Simple Server for Git Repositories
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: bash
|
||||
Requires: git-core = %{version}
|
||||
Requires(pre): %fillup_prereq
|
||||
%if 0%{?suse_version} >= 1500
|
||||
%{?sysusers_requires}
|
||||
%{?systemd_requires}
|
||||
%else
|
||||
Requires(pre): %{_sbindir}/useradd
|
||||
Requires(pre): shadow
|
||||
%endif
|
||||
|
||||
%description daemon
|
||||
A really simple TCP git daemon. In the default configuration it allows
|
||||
read only access to repositories in /srv/git/ that contain the
|
||||
'git-daemon-export-ok' file.
|
||||
|
||||
%package -n gitk
|
||||
Summary: Git revision tree visualiser
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: git-core = %{version}
|
||||
Requires: tk >= 8.4
|
||||
%if 0%{?suse_version} == 1315
|
||||
Supplements: (git-core and tk)
|
||||
%else
|
||||
Supplements: (git-core and tk)
|
||||
%endif
|
||||
|
||||
%description -n gitk
|
||||
Grapical tool for visualization of revision trees of projects
|
||||
maintained in the Git version control system. It name gitk indicates
|
||||
that it's written using the Tk Widget set.
|
||||
|
||||
A simple Tk based graphical interface for common Git operations is
|
||||
found in the package git-gui.
|
||||
|
||||
%package gui
|
||||
Summary: Grapical tool for common git operations
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: git-core = %{version}
|
||||
Requires: tk >= 8.4
|
||||
%if 0%{?suse_version} == 1315
|
||||
Supplements: (git-core and tk)
|
||||
%else
|
||||
Supplements: (git-core and tk)
|
||||
%endif
|
||||
|
||||
%description gui
|
||||
A Tcl/Tk based graphical user interface to Git. git-gui focuses on
|
||||
allowing users to make changes to their repository by making new
|
||||
commits, amending existing ones, creating branches, performing local
|
||||
merges, and fetching/pushing to remote repositories.
|
||||
|
||||
Unlike gitk, git-gui focuses on commit generation and single file
|
||||
annotation, and does not show project history. It does however supply
|
||||
menu actions to start a gitk session from within git-gui.
|
||||
|
||||
%package web
|
||||
Summary: Git Web Interface
|
||||
Group: Development/Tools/Version Control
|
||||
Requires: git-core = %{version}
|
||||
Requires: perl-CGI
|
||||
Requires: perl-Git = %{version}
|
||||
%if 0%{?suse_version} == 1315
|
||||
Supplements: (git-core and apache2)
|
||||
%else
|
||||
Supplements: (git-core and apache2)
|
||||
%endif
|
||||
|
||||
%description web
|
||||
CGI script that allows browsing git repositories via web interface.
|
||||
|
||||
The apache2 configuration contained in this package installs a virtual
|
||||
directory /git/ that calls the cgi script.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
# update shebang to use python3
|
||||
sed -e '1{s,.*,#!%{_bindir}/python3,}' git-p4.py
|
||||
cat > .make <<'EOF'
|
||||
#!/bin/bash
|
||||
%make_build CFLAGS="%{optflags}" \
|
||||
GITWEB_CONFIG="%{_sysconfdir}/gitweb.conf" \
|
||||
GITWEB_PROJECTROOT="/srv/git" \
|
||||
WITH_OWN_SUBPROCESS_PY=YesPlease \
|
||||
DESTDIR=%{buildroot} \
|
||||
NO_CROSS_DIRECTORY_HARDLINKS=1 \
|
||||
NO_INSTALL_HARDLINKS=1 \
|
||||
%if 0%{?suse_version} > 1320
|
||||
DC_SHA1_EXTERNAL=YesPlease \
|
||||
%endif
|
||||
%if %{with asciidoctor}
|
||||
USE_ASCIIDOCTOR=YesPlease \
|
||||
%endif
|
||||
PYTHON_PATH=%{_bindir}/python3 \
|
||||
USE_LIBPCRE2=YesPlease \
|
||||
NO_PERL_CPAN_FALLBACKS=1 \
|
||||
V=1 \
|
||||
prefix=%{_prefix} mandir=%{_mandir} \
|
||||
gitexecdir=%{gitexecdir} \
|
||||
htmldir=%{_docdir}/git \
|
||||
perllibdir=%{perl_vendorlib} \
|
||||
"$@"
|
||||
EOF
|
||||
#
|
||||
chmod 755 .make
|
||||
./.make all %{?_smp_mflags}
|
||||
%if %{with docs}
|
||||
./.make doc %{?_smp_mflags}
|
||||
%endif
|
||||
|
||||
%if %{with git_libsecret}
|
||||
./.make -C contrib/credential/libsecret
|
||||
%endif
|
||||
./.make -C contrib/subtree/
|
||||
|
||||
%if 0%{?suse_version} >= 1500
|
||||
%sysusers_generate_pre %{SOURCE11} git-daemon git-daemon.conf
|
||||
%endif
|
||||
|
||||
%install
|
||||
./.make install %{!?_without_docs: install-doc}
|
||||
### git-web
|
||||
cp gitweb/INSTALL INSTALL.gitweb
|
||||
cp gitweb/README README.gitweb
|
||||
install -d %{buildroot}%{_datadir}/git-web
|
||||
install -d %{buildroot}%{_sysconfdir}/apache2/conf.d
|
||||
install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/apache2/conf.d/gitweb.conf
|
||||
### git-daemon
|
||||
install -d -m 755 %{buildroot}%{_unitdir}
|
||||
install -m 644 %{SOURCE3} %{buildroot}/%{_unitdir}/git-daemon.service
|
||||
install -d -m 755 %{buildroot}%{_sbindir}
|
||||
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcgit-daemon
|
||||
install -d -m 755 %{buildroot}%{_fillupdir}
|
||||
install -m 644 %{SOURCE2} %{buildroot}%{_fillupdir}/sysconfig.git-daemon
|
||||
install -d -m 755 %{buildroot}/srv/git
|
||||
%if 0%{?SuSEfirewall2}
|
||||
mkdir -p %{buildroot}/%{_fwdefdir}
|
||||
install -m 644 %{SOURCE6} %{buildroot}/%{_fwdefdir}/git-daemon
|
||||
%endif
|
||||
###
|
||||
./.make -C contrib/subtree install
|
||||
%{!?_without_docs: ./.make -C contrib/subtree install-doc}
|
||||
(find %{buildroot}%{_bindir} -type f -o -type l | grep -vE "archimport|p4|svn|cvs|email|gitk|git-daemon|gui|web" | sed -e s@^%{buildroot}@@) > bin-man-doc-files
|
||||
(find %{buildroot}%{gitexecdir} ! -type d | grep -vE "archimport|p4|svn|cvs|email|gitk|git-daemon|gui|web" | sed -e s@^%{buildroot}@@) >> bin-man-doc-files
|
||||
(find %{buildroot}%{_mandir} -type f | grep -vE "archimport|p4|svn|git-cvs|email|gitk|git-daemon|gui|web" | sed -e s@^%{buildroot}@@ -e 's/$/*/' ) >> bin-man-doc-files
|
||||
# Don't pick up dependencies from sample files
|
||||
find %{buildroot}/%{_datadir}/git-core/templates -type f -name "*.sample" -exec chmod a-x "{}" "+"
|
||||
%perl_process_packlist
|
||||
%if %{with docs}
|
||||
find %{buildroot}/%{_mandir} -type f -exec chmod 644 "{}" "+"
|
||||
%endif
|
||||
install -m 644 -D contrib/completion/git-completion.bash %{buildroot}%{_datadir}/bash-completion/completions/git
|
||||
install -m 644 -D contrib/completion/git-prompt.sh %{buildroot}%{_datadir}/bash-completion/completions/git-prompt.sh
|
||||
mkdir -p %{buildroot}/%{_sysconfdir}/bash_completion.d/
|
||||
install -m 644 %{SOURCE12} %{buildroot}/%{_sysconfdir}/bash_completion.d/git-prompt
|
||||
# contrib/credential
|
||||
%if %{with git_libsecret}
|
||||
install -m 755 -D contrib/credential/libsecret/git-credential-libsecret %{buildroot}/%{gitexecdir}/git-credential-libsecret
|
||||
%endif
|
||||
# contrib/workdir
|
||||
install -m 755 -D contrib/workdir/git-new-workdir %{buildroot}/%{_bindir}
|
||||
# process tcsh completion
|
||||
(cd contrib/completion
|
||||
mkdir -p %{buildroot}%{_datadir}/tcsh
|
||||
tcsh ./git-completion.tcsh
|
||||
install -m 644 -D git.csh %{buildroot}%{_sysconfdir}/profile.d/git.csh
|
||||
)
|
||||
# zsh completion
|
||||
install -m 644 -D contrib/completion/git-completion.zsh %{buildroot}%{_datadir}/zsh/site-functions/_git
|
||||
#
|
||||
# apparmor profile for git-web
|
||||
#
|
||||
install -d -m 755 %{buildroot}%{_sysconfdir}/apparmor.d
|
||||
install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/apparmor.d
|
||||
#
|
||||
# create predictable symlinks to make apparmor profile work
|
||||
for i in git git-upload-archive git-receive-pack; do
|
||||
rm %{buildroot}%{_bindir}/$i
|
||||
ln -s %{gitexecdir}/git %{buildroot}%{_bindir}/$i
|
||||
done
|
||||
if ! test -f %{buildroot}%{gitexecdir}/git-add; then
|
||||
echo "git-add is not a regular file, apparmor profile won't work!" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "%{buildroot}/%{_docdir}/git" "%{buildroot}/%{_docdir}/git/howto" "%{buildroot}/%{_docdir}/git/technical"
|
||||
cp -a README.md Documentation/*.txt "%{buildroot}/%{_docdir}/git/"
|
||||
cp -a Documentation/howto/*.txt "%{buildroot}/%{_docdir}/git/howto/"
|
||||
cp -a Documentation/technical/*.txt "%{buildroot}/%{_docdir}/git/technical/"
|
||||
%{!?_without_docs: cp -a Documentation/*.html "%{buildroot}/%{_docdir}/git/"}
|
||||
%{!?_without_docs: cp -a Documentation/howto/*.html "%{buildroot}/%{_docdir}/git/howto/"}
|
||||
%{!?_without_docs: cp -a Documentation/technical/*.html "%{buildroot}/%{_docdir}/git/technical/"}
|
||||
|
||||
install -d -m 755 %{buildroot}%{_datadir}/applications
|
||||
install -m 644 %{SOURCE9} %{buildroot}%{_datadir}/applications
|
||||
install -d -m 755 %{buildroot}%{_datadir}/pixmaps
|
||||
install -m 644 %{SOURCE10} %{buildroot}%{_datadir}/pixmaps
|
||||
%suse_update_desktop_file %{buildroot}%{_datadir}/applications/%{name}-gui.desktop
|
||||
|
||||
%if 0%{?suse_version} >= 1500
|
||||
mkdir -p %{buildroot}%{_sysusersdir}
|
||||
install -m 0644 %{SOURCE11} %{buildroot}%{_sysusersdir}/
|
||||
%endif
|
||||
|
||||
%find_lang %{name}
|
||||
cat %{name}.lang >>bin-man-doc-files
|
||||
|
||||
%if %{defined python3_fix_shebang_path}
|
||||
# fix shebang for git-p4 (and possibly others)
|
||||
%python3_fix_shebang_path %{buildroot}%{gitexecdir}/*
|
||||
%endif
|
||||
|
||||
# use symlinks instead of hardlinks in sub-commands
|
||||
%fdupes -s %{buildroot}
|
||||
|
||||
%check
|
||||
# https://public-inbox.org/git/f1a5f758-d81f-5985-9b5d-2f0dbfaac071@opensuse.org/
|
||||
%ifnarch s390x
|
||||
./.make %{?_smp_mflags} test
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} >= 1500
|
||||
%pre daemon -f git-daemon.pre
|
||||
%else
|
||||
|
||||
%pre daemon
|
||||
if ! %{_bindir}/getent passwd git-daemon >/dev/null; then
|
||||
%{_sbindir}/useradd -r -d %{_localstatedir}/lib/empty -s /bin/false -c "git daemon" -g nogroup git-daemon
|
||||
fi
|
||||
%endif
|
||||
%service_add_pre git-daemon.service
|
||||
|
||||
%post daemon
|
||||
%{fillup_only -n git-daemon}
|
||||
%service_add_post git-daemon.service
|
||||
|
||||
%preun daemon
|
||||
%service_del_preun git-daemon.service
|
||||
|
||||
%postun daemon
|
||||
%service_del_postun git-daemon.service
|
||||
|
||||
%files
|
||||
%dir %{_docdir}/%{name}
|
||||
%{_docdir}/%{name}/README.md
|
||||
|
||||
%files doc
|
||||
%{_docdir}/%{name}/
|
||||
%exclude %{_docdir}/%{name}/README.md
|
||||
|
||||
%files svn
|
||||
%{gitexecdir}/*svn*
|
||||
%{!?_without_docs: %{_mandir}/man1/*svn*.1*}
|
||||
|
||||
%files cvs
|
||||
%{_bindir}/git-cvs*
|
||||
%{gitexecdir}/*cvs*
|
||||
%{!?_without_docs: %{_mandir}/man1/*cvs*.1*}
|
||||
|
||||
%if %{with git_libsecret}
|
||||
%files credential-libsecret
|
||||
%{gitexecdir}/git-credential-libsecret
|
||||
%endif
|
||||
|
||||
%files arch
|
||||
%{gitexecdir}/git-archimport
|
||||
%{!?_without_docs: %{_mandir}/man1/git-archimport.1*}
|
||||
|
||||
%files p4
|
||||
%{gitexecdir}/git-p4
|
||||
%{gitexecdir}/mergetools/p4merge
|
||||
%{!?_without_docs: %{_mandir}/man1/git-p4.1*}
|
||||
|
||||
%files email
|
||||
%{gitexecdir}/*email*
|
||||
%{!?_without_docs: %{_mandir}/man1/*email*.1*}
|
||||
|
||||
%files daemon
|
||||
%{gitexecdir}/git-daemon
|
||||
%{_unitdir}/git-daemon.service
|
||||
%{_sbindir}/rcgit-daemon
|
||||
%dir /srv/git
|
||||
%{_fillupdir}/sysconfig.git-daemon
|
||||
%{!?_without_docs: %{_mandir}/man1/git-daemon.1*}
|
||||
%if 0%{?SuSEfirewall2}
|
||||
%config %{_fwdefdir}/*
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1500
|
||||
%{_sysusersdir}/git-daemon.conf
|
||||
%endif
|
||||
|
||||
%files -n gitk
|
||||
%{_bindir}/gitk
|
||||
%{_datadir}/gitk
|
||||
%{!?_without_docs: %{_mandir}/man1/*gitk*.1*}
|
||||
|
||||
%files gui
|
||||
%{gitexecdir}/git-gui*
|
||||
%{_datadir}/git-gui
|
||||
%{!?_without_docs: %{_mandir}/man1/*gui*.1*}
|
||||
%{_datadir}/applications/%{name}-gui.desktop
|
||||
%{_datadir}/pixmaps/%{name}-gui.png
|
||||
|
||||
%files web
|
||||
%doc README.gitweb INSTALL.gitweb
|
||||
%dir %{_sysconfdir}/apache2
|
||||
%dir %{_sysconfdir}/apache2/conf.d/
|
||||
%config(noreplace) %{_sysconfdir}/apache2/conf.d/gitweb.conf
|
||||
%{_datadir}/gitweb
|
||||
%dir %{_sysconfdir}/apparmor.d
|
||||
%config(noreplace) %{_sysconfdir}/apparmor.d/usr.share.git-web.gitweb.cgi
|
||||
%{gitexecdir}//git-instaweb
|
||||
%{gitexecdir}//git-web--browse
|
||||
%{_mandir}/man1/*web*1%{?ext_man}
|
||||
%{_mandir}/man5/*web*5%{?ext_man}
|
||||
|
||||
%files core -f bin-man-doc-files
|
||||
%license COPYING
|
||||
%{_datadir}/git-core/
|
||||
%dir %{gitexecdir}
|
||||
%dir %{gitexecdir}/mergetools
|
||||
%{gitexecdir}/mergetools/guiffy
|
||||
%{_bindir}/git-new-workdir
|
||||
%{_datadir}/bash-completion/completions/*
|
||||
%{_sysconfdir}/bash_completion.d/git-prompt
|
||||
%{_datadir}/tcsh
|
||||
%{_datadir}/zsh/site-functions/_git
|
||||
%{_sysconfdir}/profile.d/*.csh
|
||||
|
||||
%files -n perl-Git
|
||||
%license COPYING
|
||||
%attr(-,root,root) %{perl_vendorlib}/Git
|
||||
%attr(-,root,root) %{perl_vendorlib}/Git.pm
|
||||
|
||||
%changelog
|
67
setup-don-t-fail-if-commondir-reference-is-deleted.patch
Normal file
67
setup-don-t-fail-if-commondir-reference-is-deleted.patch
Normal file
@ -0,0 +1,67 @@
|
||||
From 37df7fd81c3dee990bd7723f18c94713a0d842b6 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Suchanek <msuchanek@suse.de>
|
||||
Date: Fri, 15 Feb 2019 18:46:20 +0100
|
||||
Subject: [PATCH] setup: don't fail if commondir reference is deleted.
|
||||
|
||||
Apparently it can happen that stat() claims there is a commondir file but when
|
||||
trying to open the file it is missing.
|
||||
|
||||
Another even rarer issue is that the file might be zero size because another
|
||||
process initializing a worktree opened the file but has not written is content
|
||||
yet.
|
||||
|
||||
When any of this happnes git aborts failing to perform perfectly valid
|
||||
command because unrelated worktree is not yet fully initialized.
|
||||
|
||||
Rather than testing if the file exists before reading it handle ENOENT
|
||||
and ENOTDIR.
|
||||
|
||||
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
|
||||
---
|
||||
v2:
|
||||
- do not test file existence first, just read it and handle ENOENT.
|
||||
- handle zero size file correctly
|
||||
v3:
|
||||
- handle ENOTDIR as well
|
||||
- add more details to commit message
|
||||
---
|
||||
setup.c | 16 +++++++++++-----
|
||||
1 file changed, 11 insertions(+), 5 deletions(-)
|
||||
|
||||
Index: git-2.43.1/setup.c
|
||||
===================================================================
|
||||
--- git-2.43.1.orig/setup.c
|
||||
+++ git-2.43.1/setup.c
|
||||
@@ -316,12 +316,20 @@ int get_common_dir_noenv(struct strbuf *
|
||||
{
|
||||
struct strbuf data = STRBUF_INIT;
|
||||
struct strbuf path = STRBUF_INIT;
|
||||
- int ret = 0;
|
||||
+ int ret;
|
||||
|
||||
strbuf_addf(&path, "%s/commondir", gitdir);
|
||||
- if (file_exists(path.buf)) {
|
||||
- if (strbuf_read_file(&data, path.buf, 0) <= 0)
|
||||
+ ret = strbuf_read_file(&data, path.buf, 0);
|
||||
+ if (ret <= 0) {
|
||||
+ /*
|
||||
+ * if file is missing or zero size (just being written)
|
||||
+ * assume default, bail otherwise
|
||||
+ */
|
||||
+ if (ret && errno != ENOENT && errno != ENOTDIR)
|
||||
die_errno(_("failed to read %s"), path.buf);
|
||||
+ strbuf_addstr(sb, gitdir);
|
||||
+ ret = 0;
|
||||
+ } else {
|
||||
while (data.len && (data.buf[data.len - 1] == '\n' ||
|
||||
data.buf[data.len - 1] == '\r'))
|
||||
data.len--;
|
||||
@@ -332,8 +340,6 @@ int get_common_dir_noenv(struct strbuf *
|
||||
strbuf_addbuf(&path, &data);
|
||||
strbuf_add_real_path(sb, path.buf);
|
||||
ret = 1;
|
||||
- } else {
|
||||
- strbuf_addstr(sb, gitdir);
|
||||
}
|
||||
|
||||
strbuf_release(&data);
|
4
susefirewall-git-daemon
Normal file
4
susefirewall-git-daemon
Normal file
@ -0,0 +1,4 @@
|
||||
## Name: git-daemon
|
||||
## Description: Open ports for git-daemon
|
||||
|
||||
TCP="git"
|
34
sysconfig.git-daemon
Normal file
34
sysconfig.git-daemon
Normal file
@ -0,0 +1,34 @@
|
||||
## Path: Network/git-daemon
|
||||
## Description: git daemon configuration
|
||||
## ServiceRestart: git-daemon
|
||||
|
||||
## Type: string
|
||||
## Default:
|
||||
#
|
||||
# base path for exported directories
|
||||
#
|
||||
# defaults to "/srv/git" if not set
|
||||
#
|
||||
GIT_DAEMON_BASE_PATH=""
|
||||
|
||||
## Type: string
|
||||
## Default:
|
||||
#
|
||||
# additional arguments for git-daemon. See manual page
|
||||
GIT_DAEMON_ARGS=""
|
||||
|
||||
## Type: string
|
||||
## Default:
|
||||
#
|
||||
# defaults to "git-daemon" if not set
|
||||
#
|
||||
# User to run git-daemon as.
|
||||
GIT_DAEMON_USER=""
|
||||
|
||||
## Type: string
|
||||
## Default:
|
||||
#
|
||||
# defaults to "git-daemon" if not set
|
||||
#
|
||||
# Group to run git-daemon as.
|
||||
GIT_DAEMON_GROUP=""
|
36
usr.share.git-web.gitweb.cgi
Normal file
36
usr.share.git-web.gitweb.cgi
Normal file
@ -0,0 +1,36 @@
|
||||
#include <tunables/global>
|
||||
|
||||
profile gitweb.cgi /usr/share/gitweb/gitweb.cgi {
|
||||
#include <abstractions/base>
|
||||
#include <abstractions/bash>
|
||||
#include <abstractions/nameservice>
|
||||
#include <abstractions/perl>
|
||||
#include <abstractions/private-files-strict>
|
||||
|
||||
/etc/gitconfig r,
|
||||
/{usr/,}bin/bash rix,
|
||||
/{usr/,}bin/tar rix,
|
||||
/usr/bin/gzip rix,
|
||||
/usr/bin/bzip2 rix,
|
||||
/usr/bin/zip rix,
|
||||
/dev/tty rw,
|
||||
/etc/gitweb.conf r,
|
||||
/etc/gitweb-common.conf r,
|
||||
/etc/mime.types r,
|
||||
/proc/loadavg r,
|
||||
/proc/meminfo r,
|
||||
/proc/sys/kernel/ngroups_max r,
|
||||
/srv/git/ r,
|
||||
/srv/git/** r,
|
||||
/usr/bin/perl ix,
|
||||
/usr/libexec/git/git rix,
|
||||
/usr/bin/git-receive-pack rix,
|
||||
/usr/share/gitweb/* r,
|
||||
/usr/share/gitweb/static/* r,
|
||||
owner /**/ r,
|
||||
owner /**/.git/** r,
|
||||
owner @{HOME}/.gitconfig r,
|
||||
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
include if exists <local/usr.share.git-web.gitweb.cgi>
|
||||
}
|
Loading…
Reference in New Issue
Block a user