+%define gitexecdir %{_libexecdir}/git
+
+Name: git
+Version: 2.30.1
+Release: 0
+License: GPL-2.0
+Summary: Fast, scalable, distributed revision control system
+Url: http://git-scm.com
+Group: Platform Development/Utilities
+Source: %{name}-%{version}.tar.gz
+Source1001: git.manifest
+BuildRequires: asciidoc
+BuildRequires: curl
+BuildRequires: expat-devel
+BuildRequires: fdupes
+BuildRequires: gettext-tools
+BuildRequires: libcurl-devel
+BuildRequires: pkgconfig(openssl1.1)
+BuildRequires: perl-Error
+BuildRequires: python
+BuildRequires: xmlto
+BuildRequires: libcares-devel
+BuildRequires: ca-certificates
+
+Requires: git-core = %{version}
+Requires: ca-certificates
+
+%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: Platform Development/Utilities
+Requires: less
+Requires: openssh
+Requires: perl-Error
+Requires: perl = %{perl_version}
+Requires: rsync
+
+%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 svn
+Summary: Git tools for importing Subversion repositories
+Group: Platform Development/Utilities
+Requires: git-core = %{version}
+Requires: subversion
+Requires: subversion-perl
+
+%description svn
+Tools for importing Subversion repositories to the Git version control
+system.
+
+%package cvs
+Summary: Git tools for importing CVS repositories
+Group: Platform Development/Utilities
+Requires: cvs
+Requires: cvsps
+Requires: git-core = %{version}
+Requires: perl-DBD-SQLite
+
+%description cvs
+Tools for importing CVS repositories to the Git version control system.
+
+%package arch
+Summary: Git tools for importing Arch repositories
+Group: Platform Development/Utilities
+Requires: git-core = %{version}
+# Requires: tla
+
+%description arch
+Tools for importing GNU Arch repositories to the GIT version control
+system.
+
+%package email
+Summary: Git tools for sending email
+Group: Platform Development/Utilities
+Requires: git-core = %{version}
+# For sending mails over secure SMTP:
+Recommends: perl-Authen-SASL
+Recommends: perl-Net-SMTP-SSL
+
+%description email
+Email interface for the GIT version control system.
+
+%package daemon
+Summary: Simple Server for Git Repositories
+Group: Platform Development/Utilities
+Requires(pre): /usr/sbin/useradd
+Requires: git-core = %{version}
+
+%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: Platform Development/Utilities
+Requires: git-core = %{version}
+Requires: tk >= 8.4
+Supplements: packageand(git-core:tk)
+
+%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: Platform Development/Utilities
+Requires: git-core = %{version}
+Requires: tk >= 8.4
+Supplements: packageand(git-core:tk)
+
+%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: Platform Development/Utilities
+Requires: git-core = %{version}
+Supplements: packageand(git-core:apache2)
+
+%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
+%setup -q
+cp %{SOURCE1001} .
+
+
+%build
+cat > .make <<'EOF'
+#!/bin/bash
+make %{?_smp_mflags} CFLAGS="%{optflags}" \
+ GITWEB_CONFIG="/etc/gitweb.conf" \
+ GITWEB_PROJECTROOT="/srv/git" \
+ WITH_OWN_SUBPROCESS_PY=YesPlease \
+ DESTDIR=%{buildroot} \
+ NO_CROSS_DIRECTORY_HARDLINKS=1 \
+ V=1 \
+ prefix=%{_prefix} mandir=%{_mandir} \
+ gitexecdir=%{gitexecdir} \
+ htmldir=%{_docdir}/git-core \
+ "$@"
+EOF
+#
+chmod 755 .make
+./.make %{?_smp_mflags}
+
+%check
+# make %{?_smp_mflags} test
+
+
+%install
+./.make install
+
+%remove_docs
+
+%files
+%manifest %{name}.manifest
+
+%files svn
+%manifest %{name}.manifest
+%{gitexecdir}/*svn*
+
+%files cvs
+%manifest %{name}.manifest
+%{_bindir}/git-cvs*
+%{gitexecdir}/*cvs*
+
+%files arch
+%manifest %{name}.manifest
+%{gitexecdir}/git-archimport
+
+%files email
+%manifest %{name}.manifest
+%{gitexecdir}/*email*
+
+%files daemon
+%manifest %{name}.manifest
+%{gitexecdir}/*daemon*
+
+%files -n gitk
+%manifest %{name}.manifest
+%{_bindir}/gitk
+%{_datadir}/gitk
+
+%files gui
+%manifest %{name}.manifest
+%{gitexecdir}/git-gui*
+%{_datadir}/git-gui
+
+%files core
+%manifest %{name}.manifest
+%license COPYING
+%{_bindir}/git
+%{_bindir}/git-receive-pack
+%{_bindir}/git-shell
+%{_bindir}/git-upload-archive
+%{_bindir}/git-upload-pack
+%{_datadir}/git-core/
+%{gitexecdir}/*
+
+%{_datadir}/gitweb/gitweb.cgi
+%{_datadir}/gitweb/static/git-favicon.png
+%{_datadir}/gitweb/static/git-logo.png
+%{_datadir}/gitweb/static/gitweb.css
+%{_datadir}/gitweb/static/gitweb.js
+
+%{_datadir}/locale/*/LC_MESSAGES/git.mo
+
+%{_datadir}/perl5/FromCPAN/*.pm
+%{_datadir}/perl5/FromCPAN/Mail/*.pm
+%{_datadir}/perl5/*.pm
+%{_datadir}/perl5/Git/*.pm
+%{_datadir}/perl5/Git/LoadCPAN/*.pm
+%{_datadir}/perl5/Git/LoadCPAN/Mail/*.pm
+%{_datadir}/perl5/Git/*.pm
+%{_datadir}/perl5/Git/SVN/*.pm
+%{_datadir}/perl5/Git/SVN/Memoize/*.pm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+