diff --git a/git/git.conf.httpd b/git/git.conf.httpd
deleted file mode 100644
index 4f4eac7c7..000000000
--- a/git/git.conf.httpd
+++ /dev/null
@@ -1,7 +0,0 @@
-Alias /git /var/www/git
-
-<Directory /var/www/git>
-  Options +ExecCGI
-  AddHandler cgi-script .cgi
-  DirectoryIndex gitweb.cgi
-</Directory>
diff --git a/git/git.nm b/git/git.nm
index c9919af74..b3b5f789b 100644
--- a/git/git.nm
+++ b/git/git.nm
@@ -5,7 +5,7 @@
 
 name       = git
 version    = 2.38.1
-release    = 2
+release    = 3
 
 groups     = Development/Tools
 url        = http://git-scm.com/
@@ -46,14 +46,13 @@ build
 		ETC_GITCONFIG = %{sysconfdir}/gitconfig
 		DESTDIR = %{BUILDROOT}
 		INSTALL = install -p
-		GITWEB_PROJECTROOT = %{localstatedir}/git
 		GNU_ROFF = 1
 		NO_CROSS_DIRECTORY_HARDLINKS = 1
 		PYTHON_PATH = %{python3}
 		prefix = %{prefix}
 		gitexecdir = lib/git-core
 		htmldir = %{datadir}/doc
-		gitwebdir = %{localstatedir}/www/git
+		NO_GITWEB=1
 		EOF
 
 		# Remove shebang from bash-completion script.
@@ -75,132 +74,42 @@ build
 		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
+		# Remove git-daemon related files
+		rm -rvf %{BUILDROOT}/usr/lib/git-core/git-daemon
+		rm -rvf %{BUILDROOT}%{mandir}/man1/git-daemon*
+
+		# Remove SVN related files
+		rm -rvf %{BUILDROOT}/usr/lib/git-core/git-svn
+		rm -rvf %{BUILDROOT}%{mandir}/man1/git-svn*
+		rm -rvf %{BUILDROOT}%{perl_vendorlib}/Git/SVN*.pm
+		rm -rvf %{BUILDROOT}%{perl_vendorlib}/Git/SVN/
+		rm -rvf %{BUILDROOT}%{datadir}/perl5/Git/SVN/
+		rm -rvf %{BUILDROOT}%{datadir}/perl5/Git/SVN*.pm
+
+		# Remove CVS related files
+		rm -rvf %{BUILDROOT}%{bindir}/git-cvsserver
+		rm -rvf %{BUILDROOT}/usr/lib/git-core/*cvs*
+		rm -rvf %{BUILDROOT}%{mandir}/man1/*cvs*
+		rm -rvf %{BUILDROOT}%{mandir}/man7/*cvs*
+
+		# Remove Perforce depots related files.
+		rm -rvf %{BUILDROOT}/usr/lib/git-core/*p4*
+		rm -rvf %{BUILDROOT}/usr/lib/git-core/mergetools/p4*
+		rm -rvf %{BUILDROOT}%{mandir}/man1/*p4*
 	end
 end
 
 packages
-	# Define %{gitcoredir} to have a more handy name.
-	gitcoredir = %{prefix}/lib/git-core
-
 	package %{name}
 		requires
 			less
 			openssh-clients
-			rsync
 			/usr/bin/vi
 		end
 
 		recommends
 			%{name}-email
-		end
-	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
-			%{unitdir}/git@.service
-			%{unitdir}/git.socket
-		end
-
-		script postin
-			systemctl daemon-reload >/dev/null 2>&1 || :
-		end
-
-		script preun
-			systemctl --no-reload disable git.socket >/dev/null 2>&1 || :
-			systemctl stop git.socket >/dev/null 2>&1 || :
-			systemctl stop git@.service >/dev/null 2>&1 || :
-		end
-
-		script postun
-			systemctl daemon-reload >/dev/null 2>&1 || :
-		end
-
-		script postup
-			systemctl daemon-reload >/dev/null 2>&1 || :
-			systemctl try-restart git.socket >/dev/null 2>&1 || :
-		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}-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*
+			rsync
 		end
 	end
 
@@ -216,7 +125,7 @@ packages
 		end
 
 		files
-			%{gitcoredir}/git-send-email
+			/usr/lib/git-core/git-send-email
 			%{mandir}/man1/git-send-email*
 		end
 	end
@@ -236,23 +145,7 @@ packages
 			%{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*.pm
-			%{perl_vendorlib}/Git/SVN/
+			%{datadir}/perl5/
 		end
 	end
 
diff --git a/git/gitweb.conf b/git/gitweb.conf
deleted file mode 100644
index fe6ede43b..000000000
--- a/git/gitweb.conf
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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;
diff --git a/git/systemd/git.socket b/git/systemd/git.socket
deleted file mode 100644
index 3dec01d21..000000000
--- a/git/systemd/git.socket
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Git Activation Socket
-
-[Socket]
-ListenStream=9418
-Accept=true
-
-[Install]
-WantedBy=sockets.target
diff --git a/git/systemd/git@.service b/git/systemd/git@.service
deleted file mode 100644
index 185ff2569..000000000
--- a/git/systemd/git@.service
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=Git Repositories Server Daemon
-Documentation=man:git-daemon(1)
-
-[Service]
-User=nobody
-ExecStart=-/usr/libexec/git-core/git-daemon --base-path=/var/lib/git --export-all --user-path=public_git --syslog --inetd --verbose
-StandardInput=socket
