Projects
home:pandora:RobinOS23
git
_service:download_src_package:git.spec
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:download_src_package:git.spec of Package git
%define anolis_release 1 # Pass --without docs to rpmbuild if you don't want the documentation %bcond_without docs # Pass --without tests to rpmbuild if you don't want to run the tests %bcond_without tests %bcond_with linkcheck %bcond_without asciidoctor %bcond_without python3 # Allow cvs subpackage to be toggled via --with/--without %bcond_with cvs # Allow credential-libsecret subpackage to be toggled via --with/--without %bcond_without libsecret # Allow p4 subpackage to be toggled via --with/--without # Disable by default if we lack python3 support %bcond_without p4 %global gitweb_httpd_conf gitweb.conf %global use_glibc_langpacks 1 %global use_perl_generators 1 %global use_perl_interpreter 1 %global gitexecdir %{_libexecdir}/git-core %global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null) %global bashcomproot %(dirname %{bashcompdir} 2>/dev/null) # Set path to the package-notes linker script %global _package_note_file %{_builddir}/%{name}-%{version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git Version: 2.37.3 Release: %{anolis_release}%{?dist} Summary: Fast Version Control System License: GPLv2 URL: https://git-scm.com/ Source0: https://www.kernel.org/pub/software/scm/git/%{?rcrev:testing/}%{name}-%{version}.tar.xz Source1: https://www.kernel.org/pub/software/scm/git/%{?rcrev:testing/}%{name}-%{version}.tar.sign # Junio C Hamano's key is used to sign git releases, it can be found in the # junio-gpg-pub tag within git. # # (Note that the tagged blob in git contains a version of the key with an # expired signing subkey. The subkey expiration has been extended on the # public keyservers, but the blob in git has not been updated.) # # https://git.kernel.org/cgit/git/git.git/tag/?h=junio-gpg-pub # https://git.kernel.org/cgit/git/git.git/blob/?h=junio-gpg-pub&id=7214aea37915ee2c4f6369eb9dea520aec7d855b Source2: gpgkey-junio.asc # Local sources begin at 10 to allow for additional future upstream sources Source11: git.xinetd.in Source12: git-gui.desktop Source13: gitweb-httpd.conf Source14: gitweb.conf.in Source15: git@.service.in Source16: git.socket # Script to print test failure output (used in %%check) Source99: print-failed-test-output # fix git-cvsimport got noisy Patch0: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch # tests: try harder to find open ports for apache, git, and svn # # https://github.com/tmzullinger/git/commit/aedeaaf788 Patch1: 0001-t-lib-httpd-try-harder-to-find-a-port-for-apache.patch # https://github.com/tmzullinger/git/commit/16750d024c Patch2: 0002-t-lib-git-daemon-try-harder-to-find-a-port.patch # https://github.com/tmzullinger/git/commit/aa5105dc11 Patch3: 0003-t-lib-git-svn-try-harder-to-find-a-port.patch %if %{with docs} # pod2man is needed to build Git.3pm BuildRequires: %{_bindir}/pod2man %if %{with asciidoctor} BuildRequires: docbook5-style-xsl BuildRequires: rubygem-asciidoctor %else BuildRequires: asciidoc >= 8.4.1 %endif BuildRequires: perl(File::Compare) BuildRequires: xmlto %if %{with linkcheck} BuildRequires: linkchecker %endif %endif BuildRequires: coreutils BuildRequires: desktop-file-utils BuildRequires: diffutils BuildRequires: expat-devel BuildRequires: findutils BuildRequires: gawk BuildRequires: gcc BuildRequires: gettext BuildRequires: gnupg2 BuildRequires: libcurl-devel BuildRequires: make BuildRequires: openssl-devel BuildRequires: pcre2-devel BuildRequires: perl(Error) BuildRequires: perl(lib) BuildRequires: perl(Test) %if %{use_perl_generators} BuildRequires: perl-generators %endif %if %{use_perl_interpreter} BuildRequires: perl-interpreter %else BuildRequires: perl %endif BuildRequires: pkgconfig(bash-completion) BuildRequires: sed # For macros BuildRequires: systemd BuildRequires: tcl BuildRequires: tk BuildRequires: xz BuildRequires: zlib-devel >= 1.2 %if %{with tests} # Test suite requirements BuildRequires: acl BuildRequires: bash %if %{with cvs} BuildRequires: cvs BuildRequires: cvsps %endif %if %{use_glibc_langpacks} # glibc-all-langpacks and glibc-langpack-is are needed for GETTEXT_LOCALE and # GETTEXT_ISO_LOCALE test prereq's, glibc-langpack-en ensures en_US.UTF-8. BuildRequires: glibc-all-langpacks BuildRequires: glibc-langpack-en BuildRequires: glibc-langpack-is %endif BuildRequires: gnupg2-smime %if "%{_arch}" == "x86_64" BuildRequires: highlight %endif BuildRequires: httpd BuildRequires: mod_dav_svn BuildRequires: openssh-clients BuildRequires: perl(App::Prove) BuildRequires: perl(CGI) BuildRequires: perl(CGI::Carp) BuildRequires: perl(CGI::Util) BuildRequires: perl(DBD::SQLite) BuildRequires: perl(Digest::MD5) BuildRequires: perl(Fcntl) BuildRequires: perl(File::Basename) BuildRequires: perl(File::Copy) BuildRequires: perl(File::Find) BuildRequires: perl(filetest) BuildRequires: perl(HTTP::Date) BuildRequires: perl(IO::Pty) BuildRequires: perl(JSON) BuildRequires: perl(JSON::PP) BuildRequires: perl(Mail::Address) BuildRequires: perl(Memoize) BuildRequires: perl(POSIX) BuildRequires: perl(Term::ReadLine) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) %if %{with python3} BuildRequires: python3-devel %endif BuildRequires: subversion BuildRequires: subversion-perl BuildRequires: tar BuildRequires: time BuildRequires: zip %endif Requires: git-core = %{version}-%{release} Requires: git-core-doc = %{version}-%{release} %if ! %{defined perl_bootstrap} Requires: perl(Term::ReadKey) %endif Requires: perl-Git = %{version}-%{release} # Obsolete git-cvs if it's disabled %if %{without cvs} Obsoletes: git-cvs < %{?epoch:%{epoch}:}%{version}-%{release} %endif # Obsolete git-p4 if it's disabled %if %{without p4} Obsoletes: git-p4 < %{?epoch:%{epoch}:}%{version}-%{release} %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. The git rpm installs common set of tools which are usually using with small amount of dependencies. To install all git packages, including tools for integrating with other SCMs, install the git-all meta-package. %package all Summary: Meta-package to pull in all git tools BuildArch: noarch Requires: git = %{version}-%{release} %if %{with libsecret} Requires: git-credential-libsecret = %{version}-%{release} %endif %if %{with cvs} Requires: git-cvs = %{version}-%{release} %endif Requires: git-daemon = %{version}-%{release} Requires: git-email = %{version}-%{release} Requires: git-gui = %{version}-%{release} %if %{with p4} Requires: git-p4 = %{version}-%{release} %endif Requires: git-subtree = %{version}-%{release} Requires: git-svn = %{version}-%{release} Requires: git-instaweb = %{version}-%{release} Requires: gitk = %{version}-%{release} Requires: perl-Git = %{version}-%{release} %if ! %{defined perl_bootstrap} Requires: perl(Term::ReadKey) %endif %description all 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 is a dummy package which brings in all subpackages. %package core Summary: Core package of git with minimal functionality Requires: less Requires: openssh-clients Requires: zlib >= 1.2 %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. The git-core rpm installs really the core tools with minimal dependencies. Install git package for common set of tools. To install all git packages, including tools for integrating with other SCMs, install the git-all meta-package. %package core-doc Summary: Documentation files for git-core BuildArch: noarch Requires: git-core = %{version}-%{release} %description core-doc Documentation files for git-core package including man pages. %if %{with libsecret} %package credential-libsecret Summary: Git helper for accessing credentials via libsecret BuildRequires: libsecret-devel Requires: git = %{version}-%{release} %description credential-libsecret %{summary}. %endif %if %{with cvs} %package cvs Summary: Git tools for importing CVS repositories BuildArch: noarch Requires: git = %{version}-%{release} Requires: cvs Requires: cvsps Requires: perl(DBD::SQLite) %description cvs %{summary}. %endif %package daemon Summary: Git protocol daemon Requires: git-core = %{version}-%{release} Requires: systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %description daemon The git daemon for supporting git:// access to git repositories %package email Summary: Git tools for sending patches via email BuildArch: noarch Requires: git = %{version}-%{release} Requires: perl(Authen::SASL) Requires: perl(Cwd) Requires: perl(Email::Valid) Requires: perl(File::Spec) Requires: perl(File::Spec::Functions) Requires: perl(File::Temp) Requires: perl(IO::Socket::SSL) Requires: perl(Mail::Address) Requires: perl(MIME::Base64) Requires: perl(MIME::QuotedPrint) Requires: perl(Net::Domain) Requires: perl(Net::SMTP) Requires: perl(Net::SMTP::SSL) Requires: perl(POSIX) Requires: perl(Sys::Hostname) Requires: perl(Term::ANSIColor) Requires: perl(Term::ReadLine) Requires: perl(Text::ParseWords) %description email %{summary}. %package -n gitk Summary: Git repository browser BuildArch: noarch Requires: git = %{version}-%{release} Requires: git-gui = %{version}-%{release} Requires: tk >= 8.4 %description -n gitk %{summary}. %package -n gitweb Summary: Simple web interface to git repositories BuildArch: noarch Requires: git = %{version}-%{release} %description -n gitweb %{summary}. %package gui Summary: Graphical interface to Git BuildArch: noarch Requires: gitk = %{version}-%{release} Requires: tk >= 8.4 %description gui %{summary}. %package instaweb Summary: Repository browser in gitweb BuildArch: noarch Requires: git = %{version}-%{release} Requires: gitweb = %{version}-%{release} %if 0%{?rhel} >= 9 Requires: httpd %else Requires: lighttpd %endif %description instaweb A simple script to set up gitweb and a web server for browsing the local repository. %if %{with p4} %package p4 Summary: Git tools for working with Perforce depots BuildArch: noarch %if %{with python3} BuildRequires: python3-devel %endif Requires: git = %{version}-%{release} %description p4 %{summary}. %endif %package -n perl-Git Summary: Perl interface to Git BuildArch: noarch Requires: git = %{version}-%{release} Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %description -n perl-Git %{summary}. %package -n perl-Git-SVN Summary: Perl interface to Git::SVN BuildArch: noarch Requires: git = %{version}-%{release} Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %description -n perl-Git-SVN %{summary}. %package subtree Summary: Git tools to merge and split repositories Requires: git-core = %{version}-%{release} %description subtree Git subtrees allow subprojects to be included within a subdirectory of the main project, optionally including the subproject's entire history. %package svn Summary: Git tools for interacting with Subversion repositories BuildArch: noarch Requires: git = %{version}-%{release} Requires: perl(Digest::MD5) %if ! %{defined perl_bootstrap} Requires: perl(Term::ReadKey) %endif Requires: subversion %description svn %{summary}. %prep # Verify GPG signatures xz -dc '%{SOURCE0}' | %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data=- %autosetup -p1 -n %{name}-%{version} # Install print-failed-test-output script install -p -m 755 %{SOURCE99} print-failed-test-output # Remove git-archimport from command list sed -i '/^SCRIPT_PERL += git-archimport\.perl$/d' Makefile sed -i '/^git-archimport/d' command-list.txt rm git-archimport.perl Documentation/git-archimport.txt %if %{without cvs} # Remove git-cvs* from command list sed -i '/^git-cvs/d' command-list.txt %endif %if %{without p4} # Remove git-p4 from command list sed -i '/^git-p4/d' command-list.txt %endif # Use these same options for every invocation of 'make'. # Otherwise it will rebuild in %%install due to flags changes. # Pipe to tee to aid confirmation/verification of settings. cat << \EOF | tee config.mak V = 1 CFLAGS = %{build_cflags} LDFLAGS = %{build_ldflags} USE_LIBPCRE = 1 ETC_GITCONFIG = %{_sysconfdir}/gitconfig INSTALL_SYMLINKS = 1 GITWEB_PROJECTROOT = %{_localstatedir}/lib/git GNU_ROFF = 1 NO_PERL_CPAN_FALLBACKS = 1 %if %{with python3} PYTHON_PATH = %{__python3} %else NO_PYTHON = 1 %endif %if %{with asciidoctor} USE_ASCIIDOCTOR = 1 %endif htmldir = %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} prefix = %{_prefix} perllibdir = %{perl_vendorlib} gitwebdir = %{_localstatedir}/www/git # Test options DEFAULT_TEST_TARGET = prove GIT_PROVE_OPTS = --verbose --normalize %{?_smp_mflags} --formatter=TAP::Formatter::File GIT_TEST_OPTS = -x --verbose-log EOF # Filter bogus perl requires # packed-refs comes from a comment in contrib/hooks/update-paranoid %{?perl_default_filter} %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(packed-refs\\) %if ! %{defined perl_bootstrap} %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(Term::ReadKey\\) %endif # Remove Git::LoadCPAN to ensure we use only system perl modules. This also # allows the dependencies to be automatically processed by rpm. rm -rf perl/Git/LoadCPAN{.pm,/} grep -rlZ '^use Git::LoadCPAN::' | xargs -r0 sed -i 's/Git::LoadCPAN:://g' # Update gitweb default home link string sed -i 's@"++GITWEB_HOME_LINK_STR++"@$ENV{"SERVER_NAME"} ? "git://" . $ENV{"SERVER_NAME"} : "projects"@' \ gitweb/gitweb.perl # Move contrib/{contacts,subtree} docs to Documentation so they build with the # proper asciidoc/docbook/xmlto options mv contrib/{contacts,subtree}/git-*.txt Documentation/ %build # Improve build reproducibility export TZ=UTC export SOURCE_DATE_EPOCH=$(date -r version +%%s 2>/dev/null) %make_build all %{?with_docs:doc} %make_build -C contrib/contacts/ all %if %{with libsecret} %make_build -C contrib/credential/libsecret/ %endif %make_build -C contrib/credential/netrc/ %make_build -C contrib/diff-highlight/ %make_build -C contrib/subtree/ all # Fix shebang in a few places to silence rpmlint complaints # Remove contrib/fast-import/import-zips.py which requires python2. rm -rf contrib/fast-import/import-zips.py # Use python3 to avoid an unnecessary python2 dependency, if possible. %if %{with python3} sed -i -e '1s@#!\( */usr/bin/env python\|%{__python2}\)$@#!%{__python3}@' \ contrib/hg-to-git/hg-to-git.py %endif %install %make_install %{?with_docs:install-doc} %make_install -C contrib/contacts %if %{with libsecret} install -pm 755 contrib/credential/libsecret/git-credential-libsecret \ %{buildroot}%{gitexecdir} %endif install -pm 755 contrib/credential/netrc/git-credential-netrc \ %{buildroot}%{gitexecdir} # temporarily move contrib/credential/netrc aside to prevent it from being # deleted in the docs preparation, so the tests can be run in %%check mv contrib/credential/netrc . %make_install -C contrib/subtree mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d install -pm 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/httpd/conf.d/%{gitweb_httpd_conf} sed "s|@PROJECTROOT@|%{_localstatedir}/lib/git|g" \ %{SOURCE14} > %{buildroot}%{_sysconfdir}/gitweb.conf # install contrib/diff-highlight and clean up to avoid cruft in git-core-doc install -Dpm 0755 contrib/diff-highlight/diff-highlight \ %{buildroot}%{_datadir}/git-core/contrib/diff-highlight rm -rf contrib/diff-highlight/{Makefile,diff-highlight,*.perl,t} # Remove contrib/scalar to avoid cruft in the git-core-doc docdir rm -rf contrib/scalar # Clean up contrib/subtree to avoid cruft in the git-core-doc docdir rm -rf contrib/subtree/{INSTALL,Makefile,git-subtree*,t} %if %{without cvs} # Remove git-cvs* and gitcvs* find %{buildroot} Documentation \( -type f -o -type l \) \ \( -name 'git-cvs*' -o -name 'gitcvs*' \) -exec rm -f {} ';' %endif %if %{without p4} # Remove git-p4* and mergetools/p4merge find %{buildroot} Documentation -type f -name 'git-p4*' -exec rm -f {} ';' rm -f %{buildroot}%{gitexecdir}/mergetools/p4merge %endif # Remove unneeded git-remote-testsvn so git-svn can be noarch rm -f %{buildroot}%{gitexecdir}/git-remote-testsvn exclude_re="email|git-(citool|credential-libsecret|cvs|daemon|gui|instaweb|p4|subtree|svn)|gitk|gitweb|p4merge" (find %{buildroot}{%{_bindir},%{_libexecdir}} -type f -o -type l | grep -vE "$exclude_re" | sed -e s@^%{buildroot}@@) > bin-man-doc-files (find %{buildroot}{%{_bindir},%{_libexecdir}} -mindepth 1 -type d | grep -vE "$exclude_re" | sed -e 's@^%{buildroot}@%dir @') >> bin-man-doc-files (find %{buildroot}%{perl_vendorlib} -type f | sed -e s@^%{buildroot}@@) > perl-git-files (find %{buildroot}%{perl_vendorlib} -mindepth 1 -type d | sed -e 's@^%{buildroot}@%dir @') >> perl-git-files # Split out Git::SVN files grep Git/SVN perl-git-files > perl-git-svn-files sed -i "/Git\/SVN/ d" perl-git-files %if %{with docs} (find %{buildroot}%{_mandir} -type f | grep -vE "$exclude_re|Git" | sed -e s@^%{buildroot}@@ -e 's/$/*/' ) >> bin-man-doc-files %else rm -rf %{buildroot}%{_mandir} %endif mkdir -p %{buildroot}%{_localstatedir}/lib/git install -Dp -m 0644 %{SOURCE16} %{buildroot}%{_unitdir}/git.socket perl -p \ -e "s|\@GITEXECDIR\@|%{gitexecdir}|g;" \ -e "s|\@BASE_PATH\@|%{_localstatedir}/lib/git|g;" \ %{SOURCE15} > %{buildroot}%{_unitdir}/git@.service # Setup bash completion install -Dpm 644 contrib/completion/git-completion.bash %{buildroot}%{bashcompdir}/git ln -s git %{buildroot}%{bashcompdir}/gitk # Install tcsh completion mkdir -p %{buildroot}%{_datadir}/git-core/contrib/completion install -pm 644 contrib/completion/git-completion.tcsh \ %{buildroot}%{_datadir}/git-core/contrib/completion/ # Move contrib/hooks out of %%docdir mkdir -p %{buildroot}%{_datadir}/git-core/contrib mv contrib/hooks %{buildroot}%{_datadir}/git-core/contrib pushd contrib > /dev/null ln -s ../../../git-core/contrib/hooks popd > /dev/null # Install git-prompt.sh mkdir -p %{buildroot}%{_datadir}/git-core/contrib/completion install -pm 644 contrib/completion/git-prompt.sh \ %{buildroot}%{_datadir}/git-core/contrib/completion/ # install git-gui .desktop file desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE12} # symlink git-citool to git-gui if they are identical pushd %{buildroot}%{gitexecdir} >/dev/null if cmp -s git-gui git-citool 2>/dev/null; then ln -svf git-gui git-citool fi popd >/dev/null # find translations %find_lang %{name} %{name}.lang cat %{name}.lang >> bin-man-doc-files # quiet some rpmlint complaints chmod -R g-w %{buildroot} chmod a-x %{buildroot}%{gitexecdir}/git-mergetool--lib # These files probably are not needed find . -regex '.*/\.\(git\(attributes\|ignore\)\|perlcriticrc\)' -delete chmod a-x Documentation/technical/api-index.sh find contrib -type f -print0 | xargs -r0 chmod -x # Split core files not_core_re="git-(add--interactive|contacts|credential-netrc|filter-branch|instaweb|request-pull|send-mail)|gitweb" grep -vE "$not_core_re|%{_mandir}" bin-man-doc-files > bin-files-core touch man-doc-files-core %if %{with docs} grep -vE "$not_core_re" bin-man-doc-files | grep "%{_mandir}" > man-doc-files-core %endif grep -E "$not_core_re" bin-man-doc-files > bin-man-doc-git-files ##### DOC # place doc files into %%{_pkgdocdir} and split them into expected packages # contrib not_core_doc_re="(git-(cvs|gui|citool|daemon|instaweb|subtree))|p4|svn|email|gitk|gitweb" mkdir -p %{buildroot}%{_pkgdocdir}/ cp -pr CODE_OF_CONDUCT.md README.md Documentation/*.txt Documentation/RelNotes contrib %{buildroot}%{_pkgdocdir}/ # Remove contrib/ files/dirs which have nothing useful for documentation rm -rf %{buildroot}%{_pkgdocdir}/contrib/{contacts,credential}/ cp -p gitweb/INSTALL %{buildroot}%{_pkgdocdir}/INSTALL.gitweb cp -p gitweb/README %{buildroot}%{_pkgdocdir}/README.gitweb %if %{with docs} cp -pr Documentation/*.html Documentation/docbook-xsl.css %{buildroot}%{_pkgdocdir}/ cp -pr Documentation/{howto,technical} %{buildroot}%{_pkgdocdir}/ find %{buildroot}%{_pkgdocdir}/{howto,technical} -type f \ |grep -o "%{_pkgdocdir}.*$" >> man-doc-files-core %endif { find %{buildroot}%{_pkgdocdir} -type f -maxdepth 1 \ | grep -o "%{_pkgdocdir}.*$" \ | grep -vE "$not_core_doc_re" find %{buildroot}%{_pkgdocdir}/{contrib,RelNotes} -type f \ | grep -o "%{_pkgdocdir}.*$" find %{buildroot}%{_pkgdocdir} -type d | grep -o "%{_pkgdocdir}.*$" \ | sed "s/^/\%dir /" } >> man-doc-files-core %check %if %{without tests} echo "*** Skipping tests" exit 0 %endif %if %{with docs} && %{with linkcheck} # Test links in HTML documentation find %{buildroot}%{_pkgdocdir} -name "*.html" -print0 | xargs -r0 linkchecker %endif # Tests to skip on all releases and architectures # apr-util-bdb is removed GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5540.5 t5540.6 t5540.7 t5540.8 t5540.9 t5540.10 t5540.11 t5540.13 t5540.15 t5540.16 t5540.17 t5540.18 t5540.19 t5540.20" %ifarch aarch64 # Skip tests which fail on aarch64, arm, and ppc # # The following 2 tests use run_with_limited_cmdline, which calls ulimit -s 128 # to limit the maximum stack size. # t5541.36 'push 2000 tags over http' # t5551.25 'clone the 2,000 tag repo to check OS command line overflow' GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5541.36 t5551.25" %endif export GIT_SKIP_TESTS # Set LANG so various UTF-8 tests are run export LANG=en_US.UTF-8 # Explicitly enable tests which may be skipped opportunistically # Check for variables set via test_bool_env in the test suite: # git grep 'test_bool_env GIT_' -- t/{lib-,t[0-9]}*.sh | # sed -r 's/.* (GIT_[^ ]+) .*/\1/g' | sort -u export GIT_TEST_GIT_DAEMON=true export GIT_TEST_HTTPD=true export GIT_TEST_SVNSERVE=true export GIT_TEST_SVN_HTTPD=true # Create tmpdir for test output and update GIT_TEST_OPTS # Also update GIT-BUILD-OPTIONS to keep make from any needless rebuilding testdir=$(mktemp -d -p /tmp git-t.XXXX) sed -i "s@^GIT_TEST_OPTS = .*@& --root=$testdir@" config.mak touch -r GIT-BUILD-OPTIONS ts sed -i "s@\(GIT_TEST_OPTS='.*\)'@\1 --root=$testdir'@" GIT-BUILD-OPTIONS touch -r ts GIT-BUILD-OPTIONS # Run the tests %__make -C t all || ./print-failed-test-output # Run contrib/credential/netrc tests mkdir -p contrib/credential mv netrc contrib/credential/ %make_build -C contrib/credential/netrc/ test || \ %make_build -C contrib/credential/netrc/ testverbose # Clean up test dir rmdir --ignore-fail-on-non-empty "$testdir" %post daemon %systemd_post git.socket %preun daemon %systemd_preun git.socket %postun daemon %systemd_postun_with_restart git.socket %files -f bin-man-doc-git-files %{_datadir}/git-core/contrib/diff-highlight %{_datadir}/git-core/contrib/hooks/update-paranoid %{_datadir}/git-core/contrib/hooks/setgitperms.perl %{_datadir}/git-core/templates/hooks/fsmonitor-watchman.sample %{_datadir}/git-core/templates/hooks/pre-rebase.sample %{_datadir}/git-core/templates/hooks/prepare-commit-msg.sample %files all # No files for you! %files core -f bin-files-core #NOTE: this is only use of the %%doc macro in this spec file and should not # be used elsewhere %{!?_licensedir:%global license %doc} %license COPYING # exclude is best way here because of troubles with symlinks inside git-core/ %exclude %{_datadir}/git-core/contrib/diff-highlight %exclude %{_datadir}/git-core/contrib/hooks/update-paranoid %exclude %{_datadir}/git-core/contrib/hooks/setgitperms.perl %exclude %{_datadir}/git-core/templates/hooks/fsmonitor-watchman.sample %exclude %{_datadir}/git-core/templates/hooks/pre-rebase.sample %exclude %{_datadir}/git-core/templates/hooks/prepare-commit-msg.sample %{bashcomproot} %{_datadir}/git-core/ %files core-doc -f man-doc-files-core %{_pkgdocdir}/contrib/hooks %if %{with libsecret} %files credential-libsecret %{gitexecdir}/git-credential-libsecret %endif %if %{with cvs} %files cvs %{_pkgdocdir}/*git-cvs*.txt %{_bindir}/git-cvsserver %{gitexecdir}/*cvs* %{?with_docs:%{_mandir}/man1/*cvs*.1*} %{?with_docs:%{_pkgdocdir}/*git-cvs*.html} %endif %files daemon %{_pkgdocdir}/git-daemon*.txt %{_unitdir}/git.socket %{_unitdir}/git@.service %{gitexecdir}/git-daemon %{_localstatedir}/lib/git %{?with_docs:%{_mandir}/man1/git-daemon*.1*} %{?with_docs:%{_pkgdocdir}/git-daemon*.html} %files email %{_pkgdocdir}/*email*.txt %{gitexecdir}/*email* %{?with_docs:%{_mandir}/man1/*email*.1*} %{?with_docs:%{_pkgdocdir}/*email*.html} %files -n gitk %{_pkgdocdir}/*gitk*.txt %{_bindir}/*gitk* %{_datadir}/gitk %{?with_docs:%{_mandir}/man1/*gitk*.1*} %{?with_docs:%{_pkgdocdir}/*gitk*.html} %files -n gitweb %{_pkgdocdir}/*.gitweb %{_pkgdocdir}/gitweb*.txt %{?with_docs:%{_mandir}/man1/gitweb.1*} %{?with_docs:%{_mandir}/man5/gitweb.conf.5*} %{?with_docs:%{_pkgdocdir}/gitweb*.html} %config(noreplace)%{_sysconfdir}/gitweb.conf %config(noreplace)%{_sysconfdir}/httpd/conf.d/%{gitweb_httpd_conf} %{_localstatedir}/www/git/ %files gui %{gitexecdir}/git-gui* %{gitexecdir}/git-citool %{_datadir}/applications/*git-gui.desktop %{_datadir}/git-gui/ %{_pkgdocdir}/git-gui.txt %{_pkgdocdir}/git-citool.txt %{?with_docs:%{_mandir}/man1/git-gui.1*} %{?with_docs:%{_pkgdocdir}/git-gui.html} %{?with_docs:%{_mandir}/man1/git-citool.1*} %{?with_docs:%{_pkgdocdir}/git-citool.html} %files instaweb %{gitexecdir}/git-instaweb %{_pkgdocdir}/git-instaweb.txt %{?with_docs:%{_mandir}/man1/git-instaweb.1*} %{?with_docs:%{_pkgdocdir}/git-instaweb.html} %if %{with p4} %files p4 %{gitexecdir}/*p4* %{gitexecdir}/mergetools/p4merge %{_pkgdocdir}/*p4*.txt %{?with_docs:%{_mandir}/man1/*p4*.1*} %{?with_docs:%{_pkgdocdir}/*p4*.html} %endif %files -n perl-Git -f perl-git-files %{?with_docs:%{_mandir}/man3/Git.3pm*} %files -n perl-Git-SVN -f perl-git-svn-files %files subtree %{gitexecdir}/git-subtree %{_pkgdocdir}/git-subtree.txt %{?with_docs:%{_mandir}/man1/git-subtree.1*} %{?with_docs:%{_pkgdocdir}/git-subtree.html} %files svn %{gitexecdir}/git-svn %{_pkgdocdir}/git-svn.txt %{?with_docs:%{_mandir}/man1/git-svn.1*} %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog * Wed Sep 07 2022 happy_orange <songnannan@linux.alibaba.com> - 2.37.3-1 - update to 2.37.3 * Fri Jun 10 2022 Chunmei Xu <xuchunmei@linux.alibaba.com> - 2.36.1-2 - remove dependency of apr-util-bdb and add skip testcases * Tue May 17 2022 mgb01105731 <mgb01105731@alibaba-inc.com> - 2.36.1-1 - Init from upstream version 2.36.1
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2