From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/
Date: Fri, 16 Sep 2022 23:25:58 +0000 (UTC) [thread overview]
Message-ID: <1663370727.531c986e9474c13dc5b7f0ac93af92dbe6760470.sam@gentoo> (raw)
commit: 531c986e9474c13dc5b7f0ac93af92dbe6760470
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 16 23:24:43 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Sep 16 23:25:27 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=531c986e
dev-vcs/git: add 2.38.0_rc0
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-vcs/git/Manifest | 3 +
.../git/{git-9999.ebuild => git-2.38.0_rc0.ebuild} | 445 +++++++++++----------
dev-vcs/git/git-9999-r1.ebuild | 445 +++++++++++----------
dev-vcs/git/git-9999-r2.ebuild | 445 +++++++++++----------
dev-vcs/git/git-9999-r3.ebuild | 445 +++++++++++----------
dev-vcs/git/git-9999.ebuild | 445 +++++++++++----------
6 files changed, 1158 insertions(+), 1070 deletions(-)
diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index 1dd56125f2d3..d173cc94774e 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -1,6 +1,9 @@
DIST git-2.35.1.tar.xz 6874520 BLAKE2B 028ff97b47748871da145720d0d258a0dcf4acc60b10c787dee5703fcab5f6e621c5671ee9e7a25009e82a2830400f35fa232d88c62606a6687260c744680025 SHA512 926c6813ef61931e1a1c43dfd7b15e20dc5878c1752876bd08f039249c9ed09f20f096b2f01947de9c9522c942e9fa8c1363d7d31a488bbe3f93c0cff31fcbcb
DIST git-2.37.3.tar.xz 6987464 BLAKE2B b672ed0a99532b2e2e69babbea9155e39f05590a76f55791ffed6ce4ef8b68d8e306a0a23819af26f34fcf3d16211c3a10ec58d86d81262f7a1261d0e51b1305 SHA512 9120050b01d8ac8d9f9e85f19cb84dc90c28f3beadc3ea94da94845f2eb5e35aa83eee8447a7ecef5190b8eb5d01be621be2e82bb3020e51e05037cd1fa9b58f
+DIST git-2.38.0.rc0.tar.xz 7042460 BLAKE2B 788a03900b42a9e7326ced66c3b0c6b705ca7808fbfa1f05eb692b61215113157035353ad9754f2d37cd8f4d69a30d5147b025b49449ef6a8902274a249f785d SHA512 98b5aa08da0a754d3d6119b4690e2add3f85295ba5243f8cbfef04738c27ab1d39c3388e27349a824841f4b54004e22e8731f5aa37afa5f62b2b2a197b8ec84a
DIST git-htmldocs-2.35.1.tar.xz 1410148 BLAKE2B 68c3d12341271b861f42135bd4bd6e68ebcc6466931d383378b49aac42f77187f3fadc237974349cb0b50e4c5fb7a8ab185114341dd3012d159e420405d9ef91 SHA512 52a40644a7cd38caddecc43182863ca2f456644fff918ed4c8f826cbf269352c73d6bdc9119d25fcf537bc2fa38750791013329e4b0e32c8d14f0769dab85804
DIST git-htmldocs-2.37.3.tar.xz 1447620 BLAKE2B 4efb86fb5431fd96ec4bcad7ecd9d5ae1d3f81f57f17dab4d8343948758f66b549b2442330b20cdb4ecd96f2029f4e7a376de5561fd9eda70acc46d2cffd7090 SHA512 ecc483a1fecf8c056a57e14a59950dc8a00f7940453dd5e2ccfd8dab966a9fee47178a7bbf8988e2c9a67ea6d84ffc33be790c49f812fb0ba661b57b7ff7b6ef
+DIST git-htmldocs-2.38.0.rc0.tar.xz 1473440 BLAKE2B 5b0b22b5ab8da9e5dcae0bfd87d1f9b62a1e6dfd36685d471800de5dd306efa10e047586d045a993695f770a36e780c211651c1c1f5dd1f6c22c2d0a93e4e00d SHA512 4cbf0cec1d86232bfcd816f8e6a0fa25db4e0a1e34db3876a622072403d2c6649a37a26c1a43fe22a45c1986ca43e140deefd888b345090056aa246b0796b2b0
DIST git-manpages-2.35.1.tar.xz 497284 BLAKE2B 2d0d633320982243316575cc278df6c6a9ef181bf45ea9c1c8288e2677e4e71a33af96bada9bd90b03310be7dd33f2762b6b95489e267e2c191dcc7d1a715fe7 SHA512 0f4c46880f0e6d493112dcd4753fbe3702c06aa68be09bcbfc90263a355deba080995a08916b1f2404e4e17d720ee0de46a55e450c6cabeb1c147dcb2cd919d5
DIST git-manpages-2.37.3.tar.xz 510096 BLAKE2B 0bc0b8c1818a06a6c7126119c04d2936bd38e997027bb31be5ad6bea2b43d71c5e9a76a29c576d84bd00c11f09bca7a67aa78a72f0171b41b93f6322c3b23808 SHA512 b25d4925f64e4de220dc9133d6e3ed13a397b160c27550c8700b76226f2b3a1611aec9ee24110ae16ebaceedc6617c6a04aa1b44270c7a0f166dd40d8f2f1132
+DIST git-manpages-2.38.0.rc0.tar.xz 552588 BLAKE2B c19de4dd8ee408f21736485b8af236862bfeb95a867e9fb0dcb7aee129079d4ad852d9d43f998dcd724998f8cf0b01ecdb5576e5c8f321cef9d7fe200ae21de9 SHA512 e37bed332e4118299c8b874d5d24de45f758c55fdbfc9284609e70b2e39df1494ea88c45b453f2946a015b76d7489e0954f1134d5f49a92d086a47828925ee28
diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-2.38.0_rc0.ebuild
similarity index 75%
copy from dev-vcs/git/git-9999.ebuild
copy to dev-vcs/git/git-2.38.0_rc0.ebuild
index 5b04055c6684..f68fb68b1f50 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-2.38.0_rc0.ebuild
@@ -8,12 +8,14 @@ GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{8..10} )
-inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+
if [[ ${PV} == *9999 ]]; then
- inherit git-r3
EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
+
+ inherit git-r3
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
@@ -21,7 +23,7 @@ if [[ ${PV} == *9999 ]]; then
# 9999-r1: master
# 9999-r2: next
# 9999-r3: seen
- case "${PVR}" in
+ case ${PVR} in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
@@ -34,44 +36,49 @@ MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
+
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" == *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+ [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing'
+
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
+ SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}"
+ SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ fi
fi
+S="${WORKDIR}"/${MY_P}
+
LICENSE="GPL-2"
SLOT="0"
-IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +webdav xinetd cvs test"
+IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test"
# Common to both DEPEND and RDEPEND
DEPEND="
- gnome-keyring? (
- app-crypt/libsecret
- dev-libs/glib:2
- )
- dev-libs/openssl:0=
+ dev-libs/openssl:=
sys-libs/zlib
- pcre? ( dev-libs/libpcre2:= )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
+ gnome-keyring? (
+ app-crypt/libsecret
+ dev-libs/glib:2
+ )
iconv? ( virtual/libiconv )
+ pcre? ( dev-libs/libpcre2:= )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:= )
"
-
-RDEPEND="${DEPEND}
+RDEPEND="
+ ${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
@@ -120,12 +127,10 @@ BDEPEND="
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
- BDEPEND="${BDEPEND}
- app-text/asciidoc"
+ BDEPEND+=" app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
@@ -140,8 +145,8 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
+ # Avoid automagic CVS, bug #350330
+ "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
@@ -151,7 +156,7 @@ pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]" ; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
+ ewarn "have been warned!"
fi
if use perforce ; then
@@ -166,20 +171,20 @@ exportmakeopts() {
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
+
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex perforce '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
+
+ $(usev elibc_musl NO_REGEX=YesPlease)
+ $(usev !cvs NO_CVS=YesPlease)
+ $(usev !iconv NO_ICONV=YesPlease)
+ $(usev !nls NO_GETTEXT=YesPlease)
+ $(usev !perforce NO_PYTHON=YesPlease)
+ $(usev !subversion NO_SVN_TESTS=YesPlease)
+ $(usev !tk NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
@@ -188,7 +193,7 @@ exportmakeopts() {
myopts+=( NO_CURL=YesPlease )
fi
- # broken assumptions, because of static build system ...
+ # Broken assumptions because of static build system
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
@@ -200,26 +205,26 @@ exportmakeopts() {
NO_EXTERNAL_GREP=
)
- # can't define this to null, since the entire makefile depends on it
+ # Can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
fi
+
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
- if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
+
+ if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
- if has_version '>=app-text/asciidoc-8.0' ; then
- myopts+=( ASCIIDOC8=YesPlease )
- fi
+ myopts+=( ASCIIDOC8=YesPlease )
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
@@ -228,8 +233,10 @@ exportmakeopts() {
src_unpack() {
if [[ ${PV} != *9999 ]] ; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
@@ -237,14 +244,14 @@ src_unpack() {
fi
else
git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ #cp "${FILESDIR}"/GIT-VERSION-GEN . || die
fi
}
src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
+ # Add experimental patches to improve mediawiki support,
+ # see patches for origin.
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
@@ -253,6 +260,14 @@ src_prepare() {
)
fi
+ if ! use safe-directory ; then
+ # This patch neuters the "safe directory" detection.
+ # bugs #838271, #838223
+ PATCHES+=(
+ "${FILESDIR}"/git-2.37.2-unsafe-directory.patch
+ )
+ fi
+
default
if use prefix ; then
@@ -278,21 +293,37 @@ git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(use perl && perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
+
+ local mymakeargs=(
+ ${MY_MAKEOPTS}
+
+ prefix="${EPREFIX}"/usr
+ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+ perllibdir="$(use perl && perl_get_raw_vendorlib)"
+ sysconfdir="${EPREFIX}"/etc
+
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+
+ # TODO: --verbose?
+ GIT_TEST_OPTS="--no-color"
+
+ OPTAR="$(tc-getAR)"
+ OPTCC="$(tc-getCC)"
+ OPTCFLAGS="${CFLAGS}"
+ OPTLDFLAGS="${LDFLAGS}"
+
+ PERL_PATH="${EPREFIX}/usr/bin/perl"
+ PERL_MM_OPT=""
+
+ PYTHON_PATH="${PYTHON_PATH}"
+
+ V=1
"$@"
+ )
+
+ emake "${mymakeargs[@]}"
}
src_configure() {
@@ -300,58 +331,163 @@ src_configure() {
}
src_compile() {
- git_emake || die "emake failed"
+ git_emake
if use perl && use cgi ; then
- git_emake gitweb || die "emake gitweb (cgi) failed"
+ git_emake gitweb
fi
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
+ git_emake -C contrib/credential/osxkeychain
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
- git_emake man || die "emake man failed"
+ git_emake man
if use doc ; then
- git_emake info html || die "emake info html failed"
+ git_emake info html
fi
else
if use doc ; then
- git_emake info || die "emake info html failed"
+ git_emake info
fi
fi
popd &>/dev/null || die
if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
- popd &>/dev/null || die
+ git_emake -C contrib/credential/libsecret
fi
pushd contrib/subtree &>/dev/null || die
- git_emake git-subtree || die
+ git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake || die
- popd &>/dev/null || die
+ git_emake -C contrib/diff-highlight
if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake || die
- popd &>/dev/null || die
+ git_emake -C contrib/mw-to-git
+ fi
+}
+
+src_test() {
+ local disabled=(
+ # We make safe-directory optional
+ t0033-safe-directory.sh
+ )
+
+ local tests_cvs=(
+ t9200-git-cvsexportcommit.sh
+ t9400-git-cvsserver-server.sh
+ t9401-git-cvsserver-crlf.sh
+ t9402-git-cvsserver-refs.sh
+ t9600-cvsimport.sh
+ t9601-cvsimport-vendor-branch.sh
+ t9602-cvsimport-branches-tags.sh
+ t9603-cvsimport-patchsets.sh
+ t9604-cvsimport-timestamps.sh
+ )
+ local tests_perl=(
+ t3701-add-interactive.sh
+ t5502-quickfetch.sh
+ t5512-ls-remote.sh
+ t5520-pull.sh
+ t7106-reset-unborn-branch.sh
+ t7501-commit.sh
+ )
+ # Bug #225601 - t0004 is not suitable for root perm
+ # Bug #219839 - t1004 is not suitable for root perm
+ # t0001-init.sh - check for init notices EPERM* fails
+ local tests_nonroot=(
+ t0001-init.sh
+ t0004-unwritable.sh
+ t0070-fundamental.sh
+ t1004-read-tree-m-u-wf.sh
+ t3700-add.sh
+ t7300-clean.sh
+ )
+ # t9100 still fails with symlinks in SVN 1.7
+ local test_svn=( t9100-git-svn-basic.sh )
+
+ # Unzip is used only for the testcase code, not by any normal parts of Git.
+ if ! has_version app-arch/unzip ; then
+ einfo "Disabling tar-tree tests"
+ disabled+=( t5000-tar-tree.sh )
fi
+
+ local cvs=0
+ use cvs && let cvs=${cvs}+1
+ if [[ ${EUID} -eq 0 ]] ; then
+ if [[ ${cvs} -eq 1 ]] ; then
+ ewarn "Skipping CVS tests because CVS does not work as root!"
+ ewarn "You should retest with FEATURES=userpriv!"
+ disabled+=( ${tests_cvs[@]} )
+ fi
+ einfo "Skipping other tests that require being non-root"
+ disabled+=( ${tests_nonroot[@]} )
+ else
+ if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then
+ let cvs=${cvs}+1
+ fi
+
+ if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then
+ let cvs=${cvs}+1
+ fi
+
+ if [[ ${cvs} -lt 3 ]] ; then
+ einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+ disabled+=( ${tests_cvs[@]} )
+ fi
+ fi
+
+ if ! use perl ; then
+ einfo "Disabling tests that need Perl"
+ disabled+=( ${tests_perl[@]} )
+ fi
+
+ einfo "Disabling tests that fail with SVN 1.7"
+ disabled+=( ${test_svn[@]} )
+
+ # Reset all previously disabled tests
+ pushd t &>/dev/null || die
+ local i
+ for i in *.sh.DISABLED ; do
+ [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+ done
+ einfo "Disabled tests:"
+ for i in ${disabled[@]} ; do
+ if [[ -f "${i}" ]] ; then
+ mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+ fi
+ done
+
+ # Avoid the test system removing the results because we want them ourselves
+ sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
+
+ # Clean old results first, must always run
+ nonfatal git_emake clean
+ popd &>/dev/null || die
+
+ # Now run the tests, keep going if we hit an error, and don't terminate on
+ # failure
+ local rc
+ einfo "Start test run"
+ #MAKEOPTS=-j1
+ nonfatal git_emake --keep-going test
+ rc=$?
+
+ # Display nice results, now print the results
+ pushd t &>/dev/null || die
+ nonfatal git_emake aggregate-results
+
+ # And bail if there was a problem
+ [[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!"
}
src_install() {
- git_emake DESTDIR="${D}" install || die "make install failed"
+ git_emake DESTDIR="${D}" install
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
@@ -391,19 +527,17 @@ src_install() {
# git-subtree
pushd contrib/subtree &>/dev/null || die
- git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
+ git_emake DESTDIR="${D}" install
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
- git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
+ git_emake DESTDIR="${D}" install-man install-html
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake DESTDIR="${D}" install
- popd &>/dev/null || die
+ git_emake -C contrib/mw-to-git DESTDIR="${D}" install
fi
# diff-highlight
@@ -453,10 +587,7 @@ src_install() {
)
local i
for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
+ cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}"
done
if use perl && use cgi ; then
@@ -493,8 +624,7 @@ src_install() {
if ! use prefix ; then
newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
- "git-daemon@.service"
+ systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
@@ -511,130 +641,17 @@ src_install() {
plocale_for_each_disabled_locale rm_loc
}
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]] ; then
- if [[ ${cvs} -eq 1 ]] ; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]] ; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
+ elog "completion."
+ elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+ elog "Note that the prompt bash code is now in that separate script"
fi
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
+ optfeature_header "Some scripts require additional dependencies:"
+ optfeature git-quiltimport dev-util/quilt
+ optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- if [[ -f "${i}" ]] ; then
- mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- fi
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
- elog "completion."
- elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- elog "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index 5b04055c6684..f68fb68b1f50 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -8,12 +8,14 @@ GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{8..10} )
-inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+
if [[ ${PV} == *9999 ]]; then
- inherit git-r3
EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
+
+ inherit git-r3
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
@@ -21,7 +23,7 @@ if [[ ${PV} == *9999 ]]; then
# 9999-r1: master
# 9999-r2: next
# 9999-r3: seen
- case "${PVR}" in
+ case ${PVR} in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
@@ -34,44 +36,49 @@ MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
+
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" == *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+ [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing'
+
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
+ SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}"
+ SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ fi
fi
+S="${WORKDIR}"/${MY_P}
+
LICENSE="GPL-2"
SLOT="0"
-IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +webdav xinetd cvs test"
+IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test"
# Common to both DEPEND and RDEPEND
DEPEND="
- gnome-keyring? (
- app-crypt/libsecret
- dev-libs/glib:2
- )
- dev-libs/openssl:0=
+ dev-libs/openssl:=
sys-libs/zlib
- pcre? ( dev-libs/libpcre2:= )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
+ gnome-keyring? (
+ app-crypt/libsecret
+ dev-libs/glib:2
+ )
iconv? ( virtual/libiconv )
+ pcre? ( dev-libs/libpcre2:= )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:= )
"
-
-RDEPEND="${DEPEND}
+RDEPEND="
+ ${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
@@ -120,12 +127,10 @@ BDEPEND="
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
- BDEPEND="${BDEPEND}
- app-text/asciidoc"
+ BDEPEND+=" app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
@@ -140,8 +145,8 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
+ # Avoid automagic CVS, bug #350330
+ "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
@@ -151,7 +156,7 @@ pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]" ; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
+ ewarn "have been warned!"
fi
if use perforce ; then
@@ -166,20 +171,20 @@ exportmakeopts() {
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
+
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex perforce '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
+
+ $(usev elibc_musl NO_REGEX=YesPlease)
+ $(usev !cvs NO_CVS=YesPlease)
+ $(usev !iconv NO_ICONV=YesPlease)
+ $(usev !nls NO_GETTEXT=YesPlease)
+ $(usev !perforce NO_PYTHON=YesPlease)
+ $(usev !subversion NO_SVN_TESTS=YesPlease)
+ $(usev !tk NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
@@ -188,7 +193,7 @@ exportmakeopts() {
myopts+=( NO_CURL=YesPlease )
fi
- # broken assumptions, because of static build system ...
+ # Broken assumptions because of static build system
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
@@ -200,26 +205,26 @@ exportmakeopts() {
NO_EXTERNAL_GREP=
)
- # can't define this to null, since the entire makefile depends on it
+ # Can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
fi
+
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
- if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
+
+ if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
- if has_version '>=app-text/asciidoc-8.0' ; then
- myopts+=( ASCIIDOC8=YesPlease )
- fi
+ myopts+=( ASCIIDOC8=YesPlease )
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
@@ -228,8 +233,10 @@ exportmakeopts() {
src_unpack() {
if [[ ${PV} != *9999 ]] ; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
@@ -237,14 +244,14 @@ src_unpack() {
fi
else
git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ #cp "${FILESDIR}"/GIT-VERSION-GEN . || die
fi
}
src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
+ # Add experimental patches to improve mediawiki support,
+ # see patches for origin.
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
@@ -253,6 +260,14 @@ src_prepare() {
)
fi
+ if ! use safe-directory ; then
+ # This patch neuters the "safe directory" detection.
+ # bugs #838271, #838223
+ PATCHES+=(
+ "${FILESDIR}"/git-2.37.2-unsafe-directory.patch
+ )
+ fi
+
default
if use prefix ; then
@@ -278,21 +293,37 @@ git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(use perl && perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
+
+ local mymakeargs=(
+ ${MY_MAKEOPTS}
+
+ prefix="${EPREFIX}"/usr
+ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+ perllibdir="$(use perl && perl_get_raw_vendorlib)"
+ sysconfdir="${EPREFIX}"/etc
+
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+
+ # TODO: --verbose?
+ GIT_TEST_OPTS="--no-color"
+
+ OPTAR="$(tc-getAR)"
+ OPTCC="$(tc-getCC)"
+ OPTCFLAGS="${CFLAGS}"
+ OPTLDFLAGS="${LDFLAGS}"
+
+ PERL_PATH="${EPREFIX}/usr/bin/perl"
+ PERL_MM_OPT=""
+
+ PYTHON_PATH="${PYTHON_PATH}"
+
+ V=1
"$@"
+ )
+
+ emake "${mymakeargs[@]}"
}
src_configure() {
@@ -300,58 +331,163 @@ src_configure() {
}
src_compile() {
- git_emake || die "emake failed"
+ git_emake
if use perl && use cgi ; then
- git_emake gitweb || die "emake gitweb (cgi) failed"
+ git_emake gitweb
fi
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
+ git_emake -C contrib/credential/osxkeychain
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
- git_emake man || die "emake man failed"
+ git_emake man
if use doc ; then
- git_emake info html || die "emake info html failed"
+ git_emake info html
fi
else
if use doc ; then
- git_emake info || die "emake info html failed"
+ git_emake info
fi
fi
popd &>/dev/null || die
if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
- popd &>/dev/null || die
+ git_emake -C contrib/credential/libsecret
fi
pushd contrib/subtree &>/dev/null || die
- git_emake git-subtree || die
+ git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake || die
- popd &>/dev/null || die
+ git_emake -C contrib/diff-highlight
if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake || die
- popd &>/dev/null || die
+ git_emake -C contrib/mw-to-git
+ fi
+}
+
+src_test() {
+ local disabled=(
+ # We make safe-directory optional
+ t0033-safe-directory.sh
+ )
+
+ local tests_cvs=(
+ t9200-git-cvsexportcommit.sh
+ t9400-git-cvsserver-server.sh
+ t9401-git-cvsserver-crlf.sh
+ t9402-git-cvsserver-refs.sh
+ t9600-cvsimport.sh
+ t9601-cvsimport-vendor-branch.sh
+ t9602-cvsimport-branches-tags.sh
+ t9603-cvsimport-patchsets.sh
+ t9604-cvsimport-timestamps.sh
+ )
+ local tests_perl=(
+ t3701-add-interactive.sh
+ t5502-quickfetch.sh
+ t5512-ls-remote.sh
+ t5520-pull.sh
+ t7106-reset-unborn-branch.sh
+ t7501-commit.sh
+ )
+ # Bug #225601 - t0004 is not suitable for root perm
+ # Bug #219839 - t1004 is not suitable for root perm
+ # t0001-init.sh - check for init notices EPERM* fails
+ local tests_nonroot=(
+ t0001-init.sh
+ t0004-unwritable.sh
+ t0070-fundamental.sh
+ t1004-read-tree-m-u-wf.sh
+ t3700-add.sh
+ t7300-clean.sh
+ )
+ # t9100 still fails with symlinks in SVN 1.7
+ local test_svn=( t9100-git-svn-basic.sh )
+
+ # Unzip is used only for the testcase code, not by any normal parts of Git.
+ if ! has_version app-arch/unzip ; then
+ einfo "Disabling tar-tree tests"
+ disabled+=( t5000-tar-tree.sh )
fi
+
+ local cvs=0
+ use cvs && let cvs=${cvs}+1
+ if [[ ${EUID} -eq 0 ]] ; then
+ if [[ ${cvs} -eq 1 ]] ; then
+ ewarn "Skipping CVS tests because CVS does not work as root!"
+ ewarn "You should retest with FEATURES=userpriv!"
+ disabled+=( ${tests_cvs[@]} )
+ fi
+ einfo "Skipping other tests that require being non-root"
+ disabled+=( ${tests_nonroot[@]} )
+ else
+ if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then
+ let cvs=${cvs}+1
+ fi
+
+ if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then
+ let cvs=${cvs}+1
+ fi
+
+ if [[ ${cvs} -lt 3 ]] ; then
+ einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+ disabled+=( ${tests_cvs[@]} )
+ fi
+ fi
+
+ if ! use perl ; then
+ einfo "Disabling tests that need Perl"
+ disabled+=( ${tests_perl[@]} )
+ fi
+
+ einfo "Disabling tests that fail with SVN 1.7"
+ disabled+=( ${test_svn[@]} )
+
+ # Reset all previously disabled tests
+ pushd t &>/dev/null || die
+ local i
+ for i in *.sh.DISABLED ; do
+ [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+ done
+ einfo "Disabled tests:"
+ for i in ${disabled[@]} ; do
+ if [[ -f "${i}" ]] ; then
+ mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+ fi
+ done
+
+ # Avoid the test system removing the results because we want them ourselves
+ sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
+
+ # Clean old results first, must always run
+ nonfatal git_emake clean
+ popd &>/dev/null || die
+
+ # Now run the tests, keep going if we hit an error, and don't terminate on
+ # failure
+ local rc
+ einfo "Start test run"
+ #MAKEOPTS=-j1
+ nonfatal git_emake --keep-going test
+ rc=$?
+
+ # Display nice results, now print the results
+ pushd t &>/dev/null || die
+ nonfatal git_emake aggregate-results
+
+ # And bail if there was a problem
+ [[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!"
}
src_install() {
- git_emake DESTDIR="${D}" install || die "make install failed"
+ git_emake DESTDIR="${D}" install
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
@@ -391,19 +527,17 @@ src_install() {
# git-subtree
pushd contrib/subtree &>/dev/null || die
- git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
+ git_emake DESTDIR="${D}" install
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
- git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
+ git_emake DESTDIR="${D}" install-man install-html
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake DESTDIR="${D}" install
- popd &>/dev/null || die
+ git_emake -C contrib/mw-to-git DESTDIR="${D}" install
fi
# diff-highlight
@@ -453,10 +587,7 @@ src_install() {
)
local i
for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
+ cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}"
done
if use perl && use cgi ; then
@@ -493,8 +624,7 @@ src_install() {
if ! use prefix ; then
newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
- "git-daemon@.service"
+ systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
@@ -511,130 +641,17 @@ src_install() {
plocale_for_each_disabled_locale rm_loc
}
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]] ; then
- if [[ ${cvs} -eq 1 ]] ; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]] ; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
+ elog "completion."
+ elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+ elog "Note that the prompt bash code is now in that separate script"
fi
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
+ optfeature_header "Some scripts require additional dependencies:"
+ optfeature git-quiltimport dev-util/quilt
+ optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- if [[ -f "${i}" ]] ; then
- mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- fi
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
- elog "completion."
- elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- elog "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index 5b04055c6684..f68fb68b1f50 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -8,12 +8,14 @@ GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{8..10} )
-inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+
if [[ ${PV} == *9999 ]]; then
- inherit git-r3
EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
+
+ inherit git-r3
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
@@ -21,7 +23,7 @@ if [[ ${PV} == *9999 ]]; then
# 9999-r1: master
# 9999-r2: next
# 9999-r3: seen
- case "${PVR}" in
+ case ${PVR} in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
@@ -34,44 +36,49 @@ MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
+
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" == *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+ [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing'
+
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
+ SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}"
+ SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ fi
fi
+S="${WORKDIR}"/${MY_P}
+
LICENSE="GPL-2"
SLOT="0"
-IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +webdav xinetd cvs test"
+IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test"
# Common to both DEPEND and RDEPEND
DEPEND="
- gnome-keyring? (
- app-crypt/libsecret
- dev-libs/glib:2
- )
- dev-libs/openssl:0=
+ dev-libs/openssl:=
sys-libs/zlib
- pcre? ( dev-libs/libpcre2:= )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
+ gnome-keyring? (
+ app-crypt/libsecret
+ dev-libs/glib:2
+ )
iconv? ( virtual/libiconv )
+ pcre? ( dev-libs/libpcre2:= )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:= )
"
-
-RDEPEND="${DEPEND}
+RDEPEND="
+ ${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
@@ -120,12 +127,10 @@ BDEPEND="
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
- BDEPEND="${BDEPEND}
- app-text/asciidoc"
+ BDEPEND+=" app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
@@ -140,8 +145,8 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
+ # Avoid automagic CVS, bug #350330
+ "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
@@ -151,7 +156,7 @@ pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]" ; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
+ ewarn "have been warned!"
fi
if use perforce ; then
@@ -166,20 +171,20 @@ exportmakeopts() {
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
+
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex perforce '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
+
+ $(usev elibc_musl NO_REGEX=YesPlease)
+ $(usev !cvs NO_CVS=YesPlease)
+ $(usev !iconv NO_ICONV=YesPlease)
+ $(usev !nls NO_GETTEXT=YesPlease)
+ $(usev !perforce NO_PYTHON=YesPlease)
+ $(usev !subversion NO_SVN_TESTS=YesPlease)
+ $(usev !tk NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
@@ -188,7 +193,7 @@ exportmakeopts() {
myopts+=( NO_CURL=YesPlease )
fi
- # broken assumptions, because of static build system ...
+ # Broken assumptions because of static build system
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
@@ -200,26 +205,26 @@ exportmakeopts() {
NO_EXTERNAL_GREP=
)
- # can't define this to null, since the entire makefile depends on it
+ # Can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
fi
+
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
- if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
+
+ if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
- if has_version '>=app-text/asciidoc-8.0' ; then
- myopts+=( ASCIIDOC8=YesPlease )
- fi
+ myopts+=( ASCIIDOC8=YesPlease )
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
@@ -228,8 +233,10 @@ exportmakeopts() {
src_unpack() {
if [[ ${PV} != *9999 ]] ; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
@@ -237,14 +244,14 @@ src_unpack() {
fi
else
git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ #cp "${FILESDIR}"/GIT-VERSION-GEN . || die
fi
}
src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
+ # Add experimental patches to improve mediawiki support,
+ # see patches for origin.
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
@@ -253,6 +260,14 @@ src_prepare() {
)
fi
+ if ! use safe-directory ; then
+ # This patch neuters the "safe directory" detection.
+ # bugs #838271, #838223
+ PATCHES+=(
+ "${FILESDIR}"/git-2.37.2-unsafe-directory.patch
+ )
+ fi
+
default
if use prefix ; then
@@ -278,21 +293,37 @@ git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(use perl && perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
+
+ local mymakeargs=(
+ ${MY_MAKEOPTS}
+
+ prefix="${EPREFIX}"/usr
+ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+ perllibdir="$(use perl && perl_get_raw_vendorlib)"
+ sysconfdir="${EPREFIX}"/etc
+
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+
+ # TODO: --verbose?
+ GIT_TEST_OPTS="--no-color"
+
+ OPTAR="$(tc-getAR)"
+ OPTCC="$(tc-getCC)"
+ OPTCFLAGS="${CFLAGS}"
+ OPTLDFLAGS="${LDFLAGS}"
+
+ PERL_PATH="${EPREFIX}/usr/bin/perl"
+ PERL_MM_OPT=""
+
+ PYTHON_PATH="${PYTHON_PATH}"
+
+ V=1
"$@"
+ )
+
+ emake "${mymakeargs[@]}"
}
src_configure() {
@@ -300,58 +331,163 @@ src_configure() {
}
src_compile() {
- git_emake || die "emake failed"
+ git_emake
if use perl && use cgi ; then
- git_emake gitweb || die "emake gitweb (cgi) failed"
+ git_emake gitweb
fi
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
+ git_emake -C contrib/credential/osxkeychain
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
- git_emake man || die "emake man failed"
+ git_emake man
if use doc ; then
- git_emake info html || die "emake info html failed"
+ git_emake info html
fi
else
if use doc ; then
- git_emake info || die "emake info html failed"
+ git_emake info
fi
fi
popd &>/dev/null || die
if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
- popd &>/dev/null || die
+ git_emake -C contrib/credential/libsecret
fi
pushd contrib/subtree &>/dev/null || die
- git_emake git-subtree || die
+ git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake || die
- popd &>/dev/null || die
+ git_emake -C contrib/diff-highlight
if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake || die
- popd &>/dev/null || die
+ git_emake -C contrib/mw-to-git
+ fi
+}
+
+src_test() {
+ local disabled=(
+ # We make safe-directory optional
+ t0033-safe-directory.sh
+ )
+
+ local tests_cvs=(
+ t9200-git-cvsexportcommit.sh
+ t9400-git-cvsserver-server.sh
+ t9401-git-cvsserver-crlf.sh
+ t9402-git-cvsserver-refs.sh
+ t9600-cvsimport.sh
+ t9601-cvsimport-vendor-branch.sh
+ t9602-cvsimport-branches-tags.sh
+ t9603-cvsimport-patchsets.sh
+ t9604-cvsimport-timestamps.sh
+ )
+ local tests_perl=(
+ t3701-add-interactive.sh
+ t5502-quickfetch.sh
+ t5512-ls-remote.sh
+ t5520-pull.sh
+ t7106-reset-unborn-branch.sh
+ t7501-commit.sh
+ )
+ # Bug #225601 - t0004 is not suitable for root perm
+ # Bug #219839 - t1004 is not suitable for root perm
+ # t0001-init.sh - check for init notices EPERM* fails
+ local tests_nonroot=(
+ t0001-init.sh
+ t0004-unwritable.sh
+ t0070-fundamental.sh
+ t1004-read-tree-m-u-wf.sh
+ t3700-add.sh
+ t7300-clean.sh
+ )
+ # t9100 still fails with symlinks in SVN 1.7
+ local test_svn=( t9100-git-svn-basic.sh )
+
+ # Unzip is used only for the testcase code, not by any normal parts of Git.
+ if ! has_version app-arch/unzip ; then
+ einfo "Disabling tar-tree tests"
+ disabled+=( t5000-tar-tree.sh )
fi
+
+ local cvs=0
+ use cvs && let cvs=${cvs}+1
+ if [[ ${EUID} -eq 0 ]] ; then
+ if [[ ${cvs} -eq 1 ]] ; then
+ ewarn "Skipping CVS tests because CVS does not work as root!"
+ ewarn "You should retest with FEATURES=userpriv!"
+ disabled+=( ${tests_cvs[@]} )
+ fi
+ einfo "Skipping other tests that require being non-root"
+ disabled+=( ${tests_nonroot[@]} )
+ else
+ if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then
+ let cvs=${cvs}+1
+ fi
+
+ if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then
+ let cvs=${cvs}+1
+ fi
+
+ if [[ ${cvs} -lt 3 ]] ; then
+ einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+ disabled+=( ${tests_cvs[@]} )
+ fi
+ fi
+
+ if ! use perl ; then
+ einfo "Disabling tests that need Perl"
+ disabled+=( ${tests_perl[@]} )
+ fi
+
+ einfo "Disabling tests that fail with SVN 1.7"
+ disabled+=( ${test_svn[@]} )
+
+ # Reset all previously disabled tests
+ pushd t &>/dev/null || die
+ local i
+ for i in *.sh.DISABLED ; do
+ [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+ done
+ einfo "Disabled tests:"
+ for i in ${disabled[@]} ; do
+ if [[ -f "${i}" ]] ; then
+ mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+ fi
+ done
+
+ # Avoid the test system removing the results because we want them ourselves
+ sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
+
+ # Clean old results first, must always run
+ nonfatal git_emake clean
+ popd &>/dev/null || die
+
+ # Now run the tests, keep going if we hit an error, and don't terminate on
+ # failure
+ local rc
+ einfo "Start test run"
+ #MAKEOPTS=-j1
+ nonfatal git_emake --keep-going test
+ rc=$?
+
+ # Display nice results, now print the results
+ pushd t &>/dev/null || die
+ nonfatal git_emake aggregate-results
+
+ # And bail if there was a problem
+ [[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!"
}
src_install() {
- git_emake DESTDIR="${D}" install || die "make install failed"
+ git_emake DESTDIR="${D}" install
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
@@ -391,19 +527,17 @@ src_install() {
# git-subtree
pushd contrib/subtree &>/dev/null || die
- git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
+ git_emake DESTDIR="${D}" install
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
- git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
+ git_emake DESTDIR="${D}" install-man install-html
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake DESTDIR="${D}" install
- popd &>/dev/null || die
+ git_emake -C contrib/mw-to-git DESTDIR="${D}" install
fi
# diff-highlight
@@ -453,10 +587,7 @@ src_install() {
)
local i
for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
+ cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}"
done
if use perl && use cgi ; then
@@ -493,8 +624,7 @@ src_install() {
if ! use prefix ; then
newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
- "git-daemon@.service"
+ systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
@@ -511,130 +641,17 @@ src_install() {
plocale_for_each_disabled_locale rm_loc
}
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]] ; then
- if [[ ${cvs} -eq 1 ]] ; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]] ; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
+ elog "completion."
+ elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+ elog "Note that the prompt bash code is now in that separate script"
fi
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
+ optfeature_header "Some scripts require additional dependencies:"
+ optfeature git-quiltimport dev-util/quilt
+ optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- if [[ -f "${i}" ]] ; then
- mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- fi
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
- elog "completion."
- elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- elog "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index 5b04055c6684..f68fb68b1f50 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -8,12 +8,14 @@ GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{8..10} )
-inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+
if [[ ${PV} == *9999 ]]; then
- inherit git-r3
EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
+
+ inherit git-r3
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
@@ -21,7 +23,7 @@ if [[ ${PV} == *9999 ]]; then
# 9999-r1: master
# 9999-r2: next
# 9999-r3: seen
- case "${PVR}" in
+ case ${PVR} in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
@@ -34,44 +36,49 @@ MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
+
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" == *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+ [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing'
+
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
+ SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}"
+ SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ fi
fi
+S="${WORKDIR}"/${MY_P}
+
LICENSE="GPL-2"
SLOT="0"
-IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +webdav xinetd cvs test"
+IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test"
# Common to both DEPEND and RDEPEND
DEPEND="
- gnome-keyring? (
- app-crypt/libsecret
- dev-libs/glib:2
- )
- dev-libs/openssl:0=
+ dev-libs/openssl:=
sys-libs/zlib
- pcre? ( dev-libs/libpcre2:= )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
+ gnome-keyring? (
+ app-crypt/libsecret
+ dev-libs/glib:2
+ )
iconv? ( virtual/libiconv )
+ pcre? ( dev-libs/libpcre2:= )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:= )
"
-
-RDEPEND="${DEPEND}
+RDEPEND="
+ ${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
@@ -120,12 +127,10 @@ BDEPEND="
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
- BDEPEND="${BDEPEND}
- app-text/asciidoc"
+ BDEPEND+=" app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
@@ -140,8 +145,8 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
+ # Avoid automagic CVS, bug #350330
+ "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
@@ -151,7 +156,7 @@ pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]" ; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
+ ewarn "have been warned!"
fi
if use perforce ; then
@@ -166,20 +171,20 @@ exportmakeopts() {
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
+
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex perforce '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
+
+ $(usev elibc_musl NO_REGEX=YesPlease)
+ $(usev !cvs NO_CVS=YesPlease)
+ $(usev !iconv NO_ICONV=YesPlease)
+ $(usev !nls NO_GETTEXT=YesPlease)
+ $(usev !perforce NO_PYTHON=YesPlease)
+ $(usev !subversion NO_SVN_TESTS=YesPlease)
+ $(usev !tk NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
@@ -188,7 +193,7 @@ exportmakeopts() {
myopts+=( NO_CURL=YesPlease )
fi
- # broken assumptions, because of static build system ...
+ # Broken assumptions because of static build system
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
@@ -200,26 +205,26 @@ exportmakeopts() {
NO_EXTERNAL_GREP=
)
- # can't define this to null, since the entire makefile depends on it
+ # Can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
fi
+
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
- if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
+
+ if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
- if has_version '>=app-text/asciidoc-8.0' ; then
- myopts+=( ASCIIDOC8=YesPlease )
- fi
+ myopts+=( ASCIIDOC8=YesPlease )
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
@@ -228,8 +233,10 @@ exportmakeopts() {
src_unpack() {
if [[ ${PV} != *9999 ]] ; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
@@ -237,14 +244,14 @@ src_unpack() {
fi
else
git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ #cp "${FILESDIR}"/GIT-VERSION-GEN . || die
fi
}
src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
+ # Add experimental patches to improve mediawiki support,
+ # see patches for origin.
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
@@ -253,6 +260,14 @@ src_prepare() {
)
fi
+ if ! use safe-directory ; then
+ # This patch neuters the "safe directory" detection.
+ # bugs #838271, #838223
+ PATCHES+=(
+ "${FILESDIR}"/git-2.37.2-unsafe-directory.patch
+ )
+ fi
+
default
if use prefix ; then
@@ -278,21 +293,37 @@ git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(use perl && perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
+
+ local mymakeargs=(
+ ${MY_MAKEOPTS}
+
+ prefix="${EPREFIX}"/usr
+ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+ perllibdir="$(use perl && perl_get_raw_vendorlib)"
+ sysconfdir="${EPREFIX}"/etc
+
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+
+ # TODO: --verbose?
+ GIT_TEST_OPTS="--no-color"
+
+ OPTAR="$(tc-getAR)"
+ OPTCC="$(tc-getCC)"
+ OPTCFLAGS="${CFLAGS}"
+ OPTLDFLAGS="${LDFLAGS}"
+
+ PERL_PATH="${EPREFIX}/usr/bin/perl"
+ PERL_MM_OPT=""
+
+ PYTHON_PATH="${PYTHON_PATH}"
+
+ V=1
"$@"
+ )
+
+ emake "${mymakeargs[@]}"
}
src_configure() {
@@ -300,58 +331,163 @@ src_configure() {
}
src_compile() {
- git_emake || die "emake failed"
+ git_emake
if use perl && use cgi ; then
- git_emake gitweb || die "emake gitweb (cgi) failed"
+ git_emake gitweb
fi
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
+ git_emake -C contrib/credential/osxkeychain
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
- git_emake man || die "emake man failed"
+ git_emake man
if use doc ; then
- git_emake info html || die "emake info html failed"
+ git_emake info html
fi
else
if use doc ; then
- git_emake info || die "emake info html failed"
+ git_emake info
fi
fi
popd &>/dev/null || die
if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
- popd &>/dev/null || die
+ git_emake -C contrib/credential/libsecret
fi
pushd contrib/subtree &>/dev/null || die
- git_emake git-subtree || die
+ git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake || die
- popd &>/dev/null || die
+ git_emake -C contrib/diff-highlight
if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake || die
- popd &>/dev/null || die
+ git_emake -C contrib/mw-to-git
+ fi
+}
+
+src_test() {
+ local disabled=(
+ # We make safe-directory optional
+ t0033-safe-directory.sh
+ )
+
+ local tests_cvs=(
+ t9200-git-cvsexportcommit.sh
+ t9400-git-cvsserver-server.sh
+ t9401-git-cvsserver-crlf.sh
+ t9402-git-cvsserver-refs.sh
+ t9600-cvsimport.sh
+ t9601-cvsimport-vendor-branch.sh
+ t9602-cvsimport-branches-tags.sh
+ t9603-cvsimport-patchsets.sh
+ t9604-cvsimport-timestamps.sh
+ )
+ local tests_perl=(
+ t3701-add-interactive.sh
+ t5502-quickfetch.sh
+ t5512-ls-remote.sh
+ t5520-pull.sh
+ t7106-reset-unborn-branch.sh
+ t7501-commit.sh
+ )
+ # Bug #225601 - t0004 is not suitable for root perm
+ # Bug #219839 - t1004 is not suitable for root perm
+ # t0001-init.sh - check for init notices EPERM* fails
+ local tests_nonroot=(
+ t0001-init.sh
+ t0004-unwritable.sh
+ t0070-fundamental.sh
+ t1004-read-tree-m-u-wf.sh
+ t3700-add.sh
+ t7300-clean.sh
+ )
+ # t9100 still fails with symlinks in SVN 1.7
+ local test_svn=( t9100-git-svn-basic.sh )
+
+ # Unzip is used only for the testcase code, not by any normal parts of Git.
+ if ! has_version app-arch/unzip ; then
+ einfo "Disabling tar-tree tests"
+ disabled+=( t5000-tar-tree.sh )
fi
+
+ local cvs=0
+ use cvs && let cvs=${cvs}+1
+ if [[ ${EUID} -eq 0 ]] ; then
+ if [[ ${cvs} -eq 1 ]] ; then
+ ewarn "Skipping CVS tests because CVS does not work as root!"
+ ewarn "You should retest with FEATURES=userpriv!"
+ disabled+=( ${tests_cvs[@]} )
+ fi
+ einfo "Skipping other tests that require being non-root"
+ disabled+=( ${tests_nonroot[@]} )
+ else
+ if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then
+ let cvs=${cvs}+1
+ fi
+
+ if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then
+ let cvs=${cvs}+1
+ fi
+
+ if [[ ${cvs} -lt 3 ]] ; then
+ einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+ disabled+=( ${tests_cvs[@]} )
+ fi
+ fi
+
+ if ! use perl ; then
+ einfo "Disabling tests that need Perl"
+ disabled+=( ${tests_perl[@]} )
+ fi
+
+ einfo "Disabling tests that fail with SVN 1.7"
+ disabled+=( ${test_svn[@]} )
+
+ # Reset all previously disabled tests
+ pushd t &>/dev/null || die
+ local i
+ for i in *.sh.DISABLED ; do
+ [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+ done
+ einfo "Disabled tests:"
+ for i in ${disabled[@]} ; do
+ if [[ -f "${i}" ]] ; then
+ mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+ fi
+ done
+
+ # Avoid the test system removing the results because we want them ourselves
+ sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
+
+ # Clean old results first, must always run
+ nonfatal git_emake clean
+ popd &>/dev/null || die
+
+ # Now run the tests, keep going if we hit an error, and don't terminate on
+ # failure
+ local rc
+ einfo "Start test run"
+ #MAKEOPTS=-j1
+ nonfatal git_emake --keep-going test
+ rc=$?
+
+ # Display nice results, now print the results
+ pushd t &>/dev/null || die
+ nonfatal git_emake aggregate-results
+
+ # And bail if there was a problem
+ [[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!"
}
src_install() {
- git_emake DESTDIR="${D}" install || die "make install failed"
+ git_emake DESTDIR="${D}" install
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
@@ -391,19 +527,17 @@ src_install() {
# git-subtree
pushd contrib/subtree &>/dev/null || die
- git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
+ git_emake DESTDIR="${D}" install
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
- git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
+ git_emake DESTDIR="${D}" install-man install-html
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake DESTDIR="${D}" install
- popd &>/dev/null || die
+ git_emake -C contrib/mw-to-git DESTDIR="${D}" install
fi
# diff-highlight
@@ -453,10 +587,7 @@ src_install() {
)
local i
for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
+ cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}"
done
if use perl && use cgi ; then
@@ -493,8 +624,7 @@ src_install() {
if ! use prefix ; then
newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
- "git-daemon@.service"
+ systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
@@ -511,130 +641,17 @@ src_install() {
plocale_for_each_disabled_locale rm_loc
}
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]] ; then
- if [[ ${cvs} -eq 1 ]] ; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]] ; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
+ elog "completion."
+ elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+ elog "Note that the prompt bash code is now in that separate script"
fi
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
+ optfeature_header "Some scripts require additional dependencies:"
+ optfeature git-quiltimport dev-util/quilt
+ optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- if [[ -f "${i}" ]] ; then
- mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- fi
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
- elog "completion."
- elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- elog "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
index 5b04055c6684..f68fb68b1f50 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-9999.ebuild
@@ -8,12 +8,14 @@ GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{8..10} )
-inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+
if [[ ${PV} == *9999 ]]; then
- inherit git-r3
EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
+
+ inherit git-r3
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
@@ -21,7 +23,7 @@ if [[ ${PV} == *9999 ]]; then
# 9999-r1: master
# 9999-r2: next
# 9999-r3: seen
- case "${PVR}" in
+ case ${PVR} in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
@@ -34,44 +36,49 @@ MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
+
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" == *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+ [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing'
+
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
+ SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}"
+ SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ fi
fi
+S="${WORKDIR}"/${MY_P}
+
LICENSE="GPL-2"
SLOT="0"
-IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +webdav xinetd cvs test"
+IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test"
# Common to both DEPEND and RDEPEND
DEPEND="
- gnome-keyring? (
- app-crypt/libsecret
- dev-libs/glib:2
- )
- dev-libs/openssl:0=
+ dev-libs/openssl:=
sys-libs/zlib
- pcre? ( dev-libs/libpcre2:= )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
+ gnome-keyring? (
+ app-crypt/libsecret
+ dev-libs/glib:2
+ )
iconv? ( virtual/libiconv )
+ pcre? ( dev-libs/libpcre2:= )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:= )
"
-
-RDEPEND="${DEPEND}
+RDEPEND="
+ ${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
@@ -120,12 +127,10 @@ BDEPEND="
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
- BDEPEND="${BDEPEND}
- app-text/asciidoc"
+ BDEPEND+=" app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
@@ -140,8 +145,8 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
+ # Avoid automagic CVS, bug #350330
+ "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
@@ -151,7 +156,7 @@ pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]" ; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
+ ewarn "have been warned!"
fi
if use perforce ; then
@@ -166,20 +171,20 @@ exportmakeopts() {
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
+
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex perforce '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
+
+ $(usev elibc_musl NO_REGEX=YesPlease)
+ $(usev !cvs NO_CVS=YesPlease)
+ $(usev !iconv NO_ICONV=YesPlease)
+ $(usev !nls NO_GETTEXT=YesPlease)
+ $(usev !perforce NO_PYTHON=YesPlease)
+ $(usev !subversion NO_SVN_TESTS=YesPlease)
+ $(usev !tk NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
@@ -188,7 +193,7 @@ exportmakeopts() {
myopts+=( NO_CURL=YesPlease )
fi
- # broken assumptions, because of static build system ...
+ # Broken assumptions because of static build system
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
@@ -200,26 +205,26 @@ exportmakeopts() {
NO_EXTERNAL_GREP=
)
- # can't define this to null, since the entire makefile depends on it
+ # Can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
fi
+
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
- if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
+
+ if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
- if has_version '>=app-text/asciidoc-8.0' ; then
- myopts+=( ASCIIDOC8=YesPlease )
- fi
+ myopts+=( ASCIIDOC8=YesPlease )
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
@@ -228,8 +233,10 @@ exportmakeopts() {
src_unpack() {
if [[ ${PV} != *9999 ]] ; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
@@ -237,14 +244,14 @@ src_unpack() {
fi
else
git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ #cp "${FILESDIR}"/GIT-VERSION-GEN . || die
fi
}
src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
+ # Add experimental patches to improve mediawiki support,
+ # see patches for origin.
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
@@ -253,6 +260,14 @@ src_prepare() {
)
fi
+ if ! use safe-directory ; then
+ # This patch neuters the "safe directory" detection.
+ # bugs #838271, #838223
+ PATCHES+=(
+ "${FILESDIR}"/git-2.37.2-unsafe-directory.patch
+ )
+ fi
+
default
if use prefix ; then
@@ -278,21 +293,37 @@ git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(use perl && perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
+
+ local mymakeargs=(
+ ${MY_MAKEOPTS}
+
+ prefix="${EPREFIX}"/usr
+ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+ perllibdir="$(use perl && perl_get_raw_vendorlib)"
+ sysconfdir="${EPREFIX}"/etc
+
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+
+ # TODO: --verbose?
+ GIT_TEST_OPTS="--no-color"
+
+ OPTAR="$(tc-getAR)"
+ OPTCC="$(tc-getCC)"
+ OPTCFLAGS="${CFLAGS}"
+ OPTLDFLAGS="${LDFLAGS}"
+
+ PERL_PATH="${EPREFIX}/usr/bin/perl"
+ PERL_MM_OPT=""
+
+ PYTHON_PATH="${PYTHON_PATH}"
+
+ V=1
"$@"
+ )
+
+ emake "${mymakeargs[@]}"
}
src_configure() {
@@ -300,58 +331,163 @@ src_configure() {
}
src_compile() {
- git_emake || die "emake failed"
+ git_emake
if use perl && use cgi ; then
- git_emake gitweb || die "emake gitweb (cgi) failed"
+ git_emake gitweb
fi
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
+ git_emake -C contrib/credential/osxkeychain
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
- git_emake man || die "emake man failed"
+ git_emake man
if use doc ; then
- git_emake info html || die "emake info html failed"
+ git_emake info html
fi
else
if use doc ; then
- git_emake info || die "emake info html failed"
+ git_emake info
fi
fi
popd &>/dev/null || die
if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
- popd &>/dev/null || die
+ git_emake -C contrib/credential/libsecret
fi
pushd contrib/subtree &>/dev/null || die
- git_emake git-subtree || die
+ git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake || die
- popd &>/dev/null || die
+ git_emake -C contrib/diff-highlight
if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake || die
- popd &>/dev/null || die
+ git_emake -C contrib/mw-to-git
+ fi
+}
+
+src_test() {
+ local disabled=(
+ # We make safe-directory optional
+ t0033-safe-directory.sh
+ )
+
+ local tests_cvs=(
+ t9200-git-cvsexportcommit.sh
+ t9400-git-cvsserver-server.sh
+ t9401-git-cvsserver-crlf.sh
+ t9402-git-cvsserver-refs.sh
+ t9600-cvsimport.sh
+ t9601-cvsimport-vendor-branch.sh
+ t9602-cvsimport-branches-tags.sh
+ t9603-cvsimport-patchsets.sh
+ t9604-cvsimport-timestamps.sh
+ )
+ local tests_perl=(
+ t3701-add-interactive.sh
+ t5502-quickfetch.sh
+ t5512-ls-remote.sh
+ t5520-pull.sh
+ t7106-reset-unborn-branch.sh
+ t7501-commit.sh
+ )
+ # Bug #225601 - t0004 is not suitable for root perm
+ # Bug #219839 - t1004 is not suitable for root perm
+ # t0001-init.sh - check for init notices EPERM* fails
+ local tests_nonroot=(
+ t0001-init.sh
+ t0004-unwritable.sh
+ t0070-fundamental.sh
+ t1004-read-tree-m-u-wf.sh
+ t3700-add.sh
+ t7300-clean.sh
+ )
+ # t9100 still fails with symlinks in SVN 1.7
+ local test_svn=( t9100-git-svn-basic.sh )
+
+ # Unzip is used only for the testcase code, not by any normal parts of Git.
+ if ! has_version app-arch/unzip ; then
+ einfo "Disabling tar-tree tests"
+ disabled+=( t5000-tar-tree.sh )
fi
+
+ local cvs=0
+ use cvs && let cvs=${cvs}+1
+ if [[ ${EUID} -eq 0 ]] ; then
+ if [[ ${cvs} -eq 1 ]] ; then
+ ewarn "Skipping CVS tests because CVS does not work as root!"
+ ewarn "You should retest with FEATURES=userpriv!"
+ disabled+=( ${tests_cvs[@]} )
+ fi
+ einfo "Skipping other tests that require being non-root"
+ disabled+=( ${tests_nonroot[@]} )
+ else
+ if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then
+ let cvs=${cvs}+1
+ fi
+
+ if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then
+ let cvs=${cvs}+1
+ fi
+
+ if [[ ${cvs} -lt 3 ]] ; then
+ einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+ disabled+=( ${tests_cvs[@]} )
+ fi
+ fi
+
+ if ! use perl ; then
+ einfo "Disabling tests that need Perl"
+ disabled+=( ${tests_perl[@]} )
+ fi
+
+ einfo "Disabling tests that fail with SVN 1.7"
+ disabled+=( ${test_svn[@]} )
+
+ # Reset all previously disabled tests
+ pushd t &>/dev/null || die
+ local i
+ for i in *.sh.DISABLED ; do
+ [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+ done
+ einfo "Disabled tests:"
+ for i in ${disabled[@]} ; do
+ if [[ -f "${i}" ]] ; then
+ mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+ fi
+ done
+
+ # Avoid the test system removing the results because we want them ourselves
+ sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
+
+ # Clean old results first, must always run
+ nonfatal git_emake clean
+ popd &>/dev/null || die
+
+ # Now run the tests, keep going if we hit an error, and don't terminate on
+ # failure
+ local rc
+ einfo "Start test run"
+ #MAKEOPTS=-j1
+ nonfatal git_emake --keep-going test
+ rc=$?
+
+ # Display nice results, now print the results
+ pushd t &>/dev/null || die
+ nonfatal git_emake aggregate-results
+
+ # And bail if there was a problem
+ [[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!"
}
src_install() {
- git_emake DESTDIR="${D}" install || die "make install failed"
+ git_emake DESTDIR="${D}" install
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
@@ -391,19 +527,17 @@ src_install() {
# git-subtree
pushd contrib/subtree &>/dev/null || die
- git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
+ git_emake DESTDIR="${D}" install
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
- git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
+ git_emake DESTDIR="${D}" install-man install-html
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake DESTDIR="${D}" install
- popd &>/dev/null || die
+ git_emake -C contrib/mw-to-git DESTDIR="${D}" install
fi
# diff-highlight
@@ -453,10 +587,7 @@ src_install() {
)
local i
for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
+ cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}"
done
if use perl && use cgi ; then
@@ -493,8 +624,7 @@ src_install() {
if ! use prefix ; then
newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
- "git-daemon@.service"
+ systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
@@ -511,130 +641,17 @@ src_install() {
plocale_for_each_disabled_locale rm_loc
}
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]] ; then
- if [[ ${cvs} -eq 1 ]] ; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]] ; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
+ elog "completion."
+ elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+ elog "Note that the prompt bash code is now in that separate script"
fi
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
+ optfeature_header "Some scripts require additional dependencies:"
+ optfeature git-quiltimport dev-util/quilt
+ optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- if [[ -f "${i}" ]] ; then
- mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- fi
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
- elog "completion."
- elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- elog "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
next reply other threads:[~2022-09-16 23:26 UTC|newest]
Thread overview: 731+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-16 23:25 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-11-16 23:27 [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/ Sam James
2024-11-02 2:37 Sam James
2024-10-08 18:36 Sam James
2024-10-08 18:36 Sam James
2024-10-08 17:38 Sam James
2024-09-25 14:50 Sam James
2024-09-24 15:03 Arthur Zamarin
2024-09-22 17:22 Arthur Zamarin
2024-09-22 17:22 Arthur Zamarin
2024-09-22 16:01 Sam James
2024-09-22 16:01 Sam James
2024-09-22 16:01 Sam James
2024-09-22 16:01 Sam James
2024-09-22 11:28 Sam James
2024-09-22 11:27 Sam James
2024-09-22 11:27 Sam James
2024-09-22 11:06 Sam James
2024-09-22 11:06 Sam James
2024-09-22 11:06 Sam James
2024-09-22 11:06 Sam James
2024-09-20 8:39 Sam James
2024-08-14 14:28 Sam James
2024-08-10 6:30 Michał Górny
2024-08-10 5:27 Michał Górny
2024-08-09 8:50 Jakov Smolić
2024-08-07 14:15 James Le Cuirot
2024-07-05 9:17 Arthur Zamarin
2024-06-25 15:53 Arthur Zamarin
2024-06-25 15:53 Arthur Zamarin
2024-06-25 15:53 Arthur Zamarin
2024-06-25 15:53 Arthur Zamarin
2024-06-25 15:53 Arthur Zamarin
2024-06-25 15:53 Arthur Zamarin
2024-06-25 15:53 Arthur Zamarin
2024-06-25 15:52 Arthur Zamarin
2024-06-19 18:42 Sam James
2024-06-16 19:11 Arthur Zamarin
2024-06-16 19:11 Arthur Zamarin
2024-06-16 19:11 Arthur Zamarin
2024-06-16 19:11 Arthur Zamarin
2024-06-16 19:11 Arthur Zamarin
2024-06-01 3:56 Sam James
2024-06-01 3:44 Sam James
2024-06-01 3:44 Sam James
2024-06-01 3:31 Sam James
2024-06-01 3:07 Sam James
2024-06-01 3:07 Sam James
2024-06-01 3:07 Sam James
2024-06-01 2:25 Sam James
2024-06-01 2:25 Sam James
2024-06-01 2:25 Sam James
2024-06-01 2:25 Sam James
2024-06-01 1:38 Sam James
2024-06-01 1:38 Sam James
2024-06-01 1:27 Sam James
2024-06-01 1:27 Sam James
2024-06-01 0:50 Sam James
2024-06-01 0:50 Sam James
2024-06-01 0:50 Sam James
2024-06-01 0:50 Sam James
2024-06-01 0:50 Sam James
2024-05-16 2:20 Sam James
2024-05-16 2:20 Sam James
2024-05-16 2:20 Sam James
2024-05-16 2:20 Sam James
2024-05-16 2:20 Sam James
2024-05-16 2:20 Sam James
2024-05-16 2:20 Sam James
2024-05-16 1:12 Sam James
2024-05-16 1:12 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:51 Sam James
2024-05-16 0:09 Sam James
2024-05-16 0:08 Sam James
2024-05-16 0:08 Sam James
2024-05-16 0:08 Sam James
2024-05-15 12:06 Sam James
2024-05-15 12:06 Sam James
2024-05-15 12:06 Sam James
2024-05-15 12:06 Sam James
2024-05-15 12:06 Sam James
2024-04-29 18:11 Sam James
2024-04-25 8:55 Sam James
2024-03-26 20:17 Ionen Wolkens
2024-03-10 9:02 Arthur Zamarin
2024-03-10 5:42 Sam James
2024-03-10 5:42 Sam James
2024-03-10 5:42 Sam James
2024-03-10 5:42 Sam James
2024-03-10 5:42 Sam James
2024-03-10 5:42 Sam James
2024-03-04 11:32 Sam James
2024-02-26 7:52 Fabian Groffen
2024-02-25 7:16 Sam James
2024-02-22 4:45 Ionen Wolkens
2024-02-16 1:26 Sam James
2024-02-12 16:25 Sam James
2024-02-02 1:02 Sam James
2024-01-23 5:43 Sam James
2024-01-12 18:20 Sam James
2024-01-12 14:04 Sam James
2024-01-12 8:17 Arthur Zamarin
2024-01-12 8:17 Arthur Zamarin
2023-12-28 4:56 Sam James
2023-11-20 18:34 Sam James
2023-11-01 21:05 Robin H. Johnson
2023-08-25 17:00 Arthur Zamarin
2023-08-25 16:59 Arthur Zamarin
2023-08-21 18:35 Sam James
2023-08-11 3:26 Sam James
2023-08-04 20:20 Arthur Zamarin
2023-07-18 19:18 Sam James
2023-07-08 3:39 Sam James
2023-07-07 10:14 Sam James
2023-07-07 10:14 Sam James
2023-07-07 4:47 Sam James
2023-07-07 4:40 Sam James
2023-06-01 22:39 Sam James
2023-05-30 18:47 Arthur Zamarin
2023-05-18 12:17 Andreas Sturmlechner
2023-05-04 15:05 Arthur Zamarin
2023-05-04 15:05 Arthur Zamarin
2023-05-04 15:05 Arthur Zamarin
2023-05-04 15:04 Arthur Zamarin
2023-05-04 15:04 Arthur Zamarin
2023-05-04 12:45 Sam James
2023-05-04 12:35 Arthur Zamarin
2023-05-04 11:20 Arthur Zamarin
2023-05-04 10:52 Sam James
2023-04-25 23:17 Sam James
2023-04-25 23:17 Sam James
2023-04-09 3:42 Sam James
2023-03-13 21:14 Sam James
2023-03-07 15:49 Sam James
2023-02-26 18:25 Arthur Zamarin
2023-02-25 5:49 Robin H. Johnson
2023-02-20 21:31 Arthur Zamarin
2023-02-16 3:29 Sam James
2023-02-15 19:22 Arthur Zamarin
2023-02-15 19:22 Arthur Zamarin
2023-02-15 19:22 Arthur Zamarin
2023-02-15 5:05 Sam James
2023-02-15 5:05 Sam James
2023-02-15 5:05 Sam James
2023-02-15 5:03 Sam James
2023-02-15 5:03 Sam James
2023-02-15 5:03 Sam James
2023-02-15 5:03 Sam James
2023-02-15 5:03 Sam James
2023-02-15 5:03 Sam James
2023-02-15 4:06 Sam James
2023-02-15 4:06 Sam James
2023-02-15 4:06 Sam James
2023-02-15 4:06 Sam James
2023-02-15 4:06 Sam James
2023-02-15 4:06 Sam James
2023-02-15 1:39 Sam James
2023-02-15 1:39 Sam James
2023-02-15 1:39 Sam James
2023-01-21 19:28 Arthur Zamarin
2023-01-21 19:28 Arthur Zamarin
2023-01-21 19:28 Arthur Zamarin
2023-01-21 19:28 Arthur Zamarin
2023-01-21 19:28 Arthur Zamarin
2023-01-21 19:28 Arthur Zamarin
2023-01-21 15:54 Arthur Zamarin
2023-01-21 15:54 Arthur Zamarin
2023-01-21 15:54 Arthur Zamarin
2023-01-18 0:46 Sam James
2023-01-18 0:46 Sam James
2023-01-18 0:46 Sam James
2023-01-17 23:20 Sam James
2023-01-17 23:20 Sam James
2023-01-17 23:20 Sam James
2023-01-17 23:19 Sam James
2023-01-17 23:19 Sam James
2023-01-17 23:19 Sam James
2023-01-17 23:19 Sam James
2023-01-17 23:19 Sam James
2023-01-17 23:19 Sam James
2023-01-17 23:19 Sam James
2023-01-17 23:19 Sam James
2023-01-17 23:19 Sam James
2022-12-16 20:50 Arthur Zamarin
2022-12-16 20:50 Arthur Zamarin
2022-12-16 7:38 Sam James
2022-12-16 7:38 Sam James
2022-12-12 17:47 Sam James
2022-12-11 7:07 Robin H. Johnson
2022-12-09 22:43 Andreas K. Hüttel
2022-12-09 22:36 Andreas K. Hüttel
2022-12-06 6:39 Sam James
2022-11-30 9:22 Sam James
2022-11-30 7:48 Sam James
2022-11-24 5:00 Sam James
2022-11-18 7:23 Arthur Zamarin
2022-10-22 15:00 Arthur Zamarin
2022-10-20 10:56 Jakov Smolić
2022-10-20 10:52 Jakov Smolić
2022-10-19 6:36 Agostino Sarubbo
2022-10-19 6:36 Agostino Sarubbo
2022-10-19 0:28 Sam James
2022-10-19 0:01 Sam James
2022-10-19 0:01 Sam James
2022-10-18 17:58 Robin H. Johnson
2022-10-11 18:26 Sam James
2022-10-11 9:19 Agostino Sarubbo
2022-10-11 9:19 Agostino Sarubbo
2022-10-11 6:46 Agostino Sarubbo
2022-10-10 23:36 Sam James
2022-10-10 23:36 Sam James
2022-10-10 22:35 Sam James
2022-10-04 0:07 Sam James
2022-09-28 19:36 Sam James
2022-09-23 5:41 Sam James
2022-09-16 23:25 Sam James
2022-08-30 19:36 Sam James
2022-08-12 15:46 Sam James
2022-07-28 13:59 Sam James
2022-07-13 4:32 Sam James
2022-07-03 13:48 Sam James
2022-07-03 13:48 Sam James
2022-06-23 6:23 Lars Wendler
2022-05-07 11:17 Lars Wendler
2022-04-27 21:14 Sam James
2022-04-18 20:09 Lars Wendler
2022-04-14 6:45 Lars Wendler
2022-04-12 21:26 Lars Wendler
2022-04-12 21:22 Lars Wendler
2022-04-12 21:22 Lars Wendler
2022-04-08 14:33 Arthur Zamarin
2022-04-08 14:33 Arthur Zamarin
2022-04-02 12:04 Arthur Zamarin
2022-04-01 6:53 Arthur Zamarin
2022-03-30 11:48 Agostino Sarubbo
2022-03-28 6:52 Agostino Sarubbo
2022-03-28 6:52 Agostino Sarubbo
2022-03-28 0:19 Sam James
2022-01-29 13:23 Lars Wendler
2022-01-24 22:35 Lars Wendler
2022-01-20 8:00 Lars Wendler
2022-01-16 9:34 Fabian Groffen
2022-01-15 18:36 Lars Wendler
2022-01-10 22:41 Lars Wendler
2021-12-31 0:46 Sam James
2021-12-31 0:46 Sam James
2021-12-30 13:10 Sam James
2021-12-30 5:49 Sam James
2021-12-28 10:20 Sam James
2021-12-28 9:02 Jakov Smolić
2021-12-28 9:02 Jakov Smolić
2021-12-28 7:03 Sam James
2021-12-27 22:26 Sam James
2021-12-27 14:14 Agostino Sarubbo
2021-12-26 8:07 Agostino Sarubbo
2021-12-25 17:52 Arthur Zamarin
2021-12-25 17:52 Arthur Zamarin
2021-12-25 17:45 Arthur Zamarin
2021-12-25 17:43 Arthur Zamarin
2021-12-06 9:01 Lars Wendler
2021-11-25 9:17 Lars Wendler
2021-11-15 18:38 Mike Gilbert
2021-11-15 18:18 Robin H. Johnson
2021-11-15 17:49 Robin H. Johnson
2021-11-14 3:23 Sam James
2021-11-10 7:44 Lars Wendler
2021-11-10 6:33 Robin H. Johnson
2021-11-08 18:42 Mike Gilbert
2021-11-04 17:53 Lars Wendler
2021-11-04 17:53 Lars Wendler
2021-10-13 6:48 Lars Wendler
2021-10-13 6:48 Lars Wendler
2021-09-28 12:39 James Le Cuirot
2021-09-07 17:45 Sam James
2021-09-05 6:03 Sam James
2021-09-05 6:03 Sam James
2021-09-01 21:51 Sam James
2021-08-31 21:55 Sam James
2021-08-31 18:15 Sam James
2021-08-31 18:11 Sam James
2021-08-31 18:11 Sam James
2021-08-17 21:39 Sam James
2021-06-06 18:25 Lars Wendler
2021-06-02 14:05 Lars Wendler
2021-05-30 5:35 Sam James
2021-05-30 5:35 Sam James
2021-05-30 5:35 Sam James
2021-05-30 5:35 Sam James
2021-05-28 18:55 Lars Wendler
2021-05-27 16:51 Sergei Trofimovich
2021-05-25 11:16 Sam James
2021-05-25 11:10 Sam James
2021-05-25 0:55 Sam James
2021-05-22 15:36 Lars Wendler
2021-05-17 8:31 Lars Wendler
2021-05-17 8:31 Lars Wendler
2021-05-17 8:31 Lars Wendler
2021-04-30 22:18 Thomas Deutschmann
2021-04-30 9:54 Mikle Kolyada
2021-03-28 20:20 Sam James
2021-03-27 15:51 Lars Wendler
2021-03-26 11:50 Agostino Sarubbo
2021-03-26 11:34 Sam James
2021-03-25 23:17 Sam James
2021-03-22 18:17 Sergei Trofimovich
2021-03-22 10:07 David Seifert
2021-03-22 10:07 David Seifert
2021-03-22 0:10 Sam James
2021-03-19 18:57 Sergei Trofimovich
2021-03-19 18:06 Mikle Kolyada
2021-03-18 9:21 Lars Wendler
2021-03-18 9:21 Lars Wendler
2021-03-18 9:21 Lars Wendler
2021-03-16 13:37 Lars Wendler
2021-03-16 13:19 Lars Wendler
2021-03-16 0:39 Lars Wendler
2021-03-16 0:39 Lars Wendler
2021-03-09 21:18 Lars Wendler
2021-03-09 20:05 Robin H. Johnson
2021-03-05 10:04 Lars Wendler
2021-03-03 16:10 Lars Wendler
2021-02-26 9:30 Lars Wendler
2021-02-09 10:26 Lars Wendler
2021-02-09 9:50 Lars Wendler
2021-02-09 9:20 Lars Wendler
2021-01-06 22:58 Fabian Groffen
2020-12-28 19:44 Lars Wendler
2020-12-27 19:28 Fabian Groffen
2020-12-27 16:38 Fabian Groffen
2020-12-24 23:17 Lars Wendler
2020-12-19 18:09 Lars Wendler
2020-12-15 7:12 Lars Wendler
2020-12-07 4:46 Robin H. Johnson
2020-11-29 10:11 Fabian Groffen
2020-10-30 8:27 Lars Wendler
2020-10-26 17:08 Lars Wendler
2020-10-23 18:56 Lars Wendler
2020-10-19 20:22 Lars Wendler
2020-10-19 14:59 Lars Wendler
2020-10-19 14:59 Lars Wendler
2020-09-10 10:00 Lars Wendler
2020-07-27 18:16 Lars Wendler
2020-06-02 8:40 Lars Wendler
2020-05-27 10:54 Lars Wendler
2020-05-20 19:14 Lars Wendler
2020-05-19 8:04 Andreas K. Hüttel
2020-05-07 15:08 Michał Górny
2020-05-04 17:36 Thomas Deutschmann
2020-04-29 8:39 Lars Wendler
2020-04-26 8:58 Sergei Trofimovich
2020-04-26 8:58 Sergei Trofimovich
2020-04-26 8:58 Sergei Trofimovich
2020-04-26 8:58 Sergei Trofimovich
2020-04-23 6:29 Agostino Sarubbo
2020-04-23 6:27 Agostino Sarubbo
2020-04-23 6:26 Agostino Sarubbo
2020-04-23 6:24 Agostino Sarubbo
2020-04-23 6:21 Agostino Sarubbo
2020-04-22 17:07 Sergei Trofimovich
2020-04-22 17:07 Sergei Trofimovich
2020-04-22 17:07 Sergei Trofimovich
2020-04-22 17:07 Sergei Trofimovich
2020-04-22 13:46 Mikle Kolyada
2020-04-21 20:52 Mart Raudsepp
2020-04-21 8:24 Lars Wendler
2020-04-16 18:05 Sergei Trofimovich
2020-04-16 18:05 Sergei Trofimovich
2020-04-16 18:05 Sergei Trofimovich
2020-04-15 16:06 Lars Wendler
2020-04-15 14:33 Mart Raudsepp
2020-04-15 13:40 Agostino Sarubbo
2020-04-15 13:37 Agostino Sarubbo
2020-04-15 12:13 Agostino Sarubbo
2020-04-15 9:34 Agostino Sarubbo
2020-04-15 9:33 Agostino Sarubbo
2020-04-15 9:33 Agostino Sarubbo
2020-04-15 8:26 Agostino Sarubbo
2020-04-14 18:11 Robin H. Johnson
2020-03-23 9:11 Lars Wendler
2020-03-21 20:09 Lars Wendler
2020-03-18 10:40 Lars Wendler
2020-03-18 10:40 Lars Wendler
2020-03-15 12:54 Mikle Kolyada
2020-02-17 9:48 Lars Wendler
2020-02-12 9:35 Agostino Sarubbo
2020-01-14 8:07 Lars Wendler
2020-01-13 21:54 Robin H. Johnson
2020-01-03 13:57 Agostino Sarubbo
2019-12-25 20:39 Sergei Trofimovich
2019-12-25 20:39 Sergei Trofimovich
2019-12-24 14:06 Mikle Kolyada
2019-12-13 0:07 Thomas Deutschmann
2019-12-12 21:52 Sergei Trofimovich
2019-12-12 21:52 Sergei Trofimovich
2019-12-12 7:05 Sergei Trofimovich
2019-12-12 7:05 Sergei Trofimovich
2019-12-11 23:06 Matt Turner
2019-12-11 20:10 Sergei Trofimovich
2019-12-11 20:10 Sergei Trofimovich
2019-12-11 14:32 Aaron Bauman
2019-12-11 12:52 Mikle Kolyada
2019-12-10 20:20 Robin H. Johnson
2019-12-10 19:36 Robin H. Johnson
2019-11-14 11:55 Agostino Sarubbo
2019-11-07 18:10 Aaron Bauman
2019-11-06 8:21 Lars Wendler
2019-11-04 8:49 Lars Wendler
2019-11-04 8:35 Michał Górny
2019-11-03 15:25 Lars Wendler
2019-11-03 15:06 Lars Wendler
2019-11-03 14:41 Lars Wendler
2019-11-01 10:39 Mikle Kolyada
2019-10-26 23:19 Thomas Deutschmann
2019-10-24 14:25 Lars Wendler
2019-10-21 19:21 Sergei Trofimovich
2019-10-21 12:11 Agostino Sarubbo
2019-10-21 12:09 Agostino Sarubbo
2019-10-21 8:15 Lars Wendler
2019-10-21 8:15 Lars Wendler
2019-10-20 14:25 Agostino Sarubbo
2019-10-19 2:31 Matt Turner
2019-10-19 2:19 Matt Turner
2019-10-19 2:19 Matt Turner
2019-10-18 10:25 Agostino Sarubbo
2019-08-18 23:02 Lars Wendler
2019-08-16 23:55 Matt Turner
2019-08-16 22:58 Matt Turner
2019-08-13 8:40 Lars Wendler
2019-08-11 18:57 Lars Wendler
2019-08-03 19:37 Lars Wendler
2019-08-03 18:32 Lars Wendler
2019-06-13 8:45 Lars Wendler
2019-06-13 8:45 Lars Wendler
2019-06-11 15:35 Robin H. Johnson
2019-06-10 17:56 Robin H. Johnson
2019-06-04 9:55 Lars Wendler
2019-05-31 19:37 Lars Wendler
2019-05-20 9:24 Lars Wendler
2019-05-14 8:58 Lars Wendler
2019-05-04 22:30 Andreas K. Hüttel
2019-05-04 15:21 Mikle Kolyada
2019-04-26 10:03 Lars Wendler
2019-04-24 11:17 Lars Wendler
2019-04-23 20:59 Sergei Trofimovich
2019-04-23 20:59 Sergei Trofimovich
2019-04-20 22:48 Lars Wendler
2019-04-20 14:42 Lars Wendler
2019-04-11 19:15 Sergei Trofimovich
2019-04-09 13:53 Aaron Bauman
2019-04-07 21:58 Mikle Kolyada
2019-04-06 13:41 Mikle Kolyada
2019-04-05 19:03 Sergei Trofimovich
2019-04-05 13:06 Lars Wendler
2019-04-02 13:25 Lars Wendler
2019-03-30 19:05 Mikle Kolyada
2019-03-29 21:54 Mikle Kolyada
2019-03-03 15:36 Lars Wendler
2019-02-25 0:38 Lars Wendler
2019-02-25 0:38 Lars Wendler
2019-02-20 23:38 Lars Wendler
2019-02-19 20:24 James Le Cuirot
2019-02-15 13:25 Lars Wendler
2019-02-15 13:25 Lars Wendler
2018-12-23 15:57 Mikle Kolyada
2018-12-23 15:57 Mikle Kolyada
2018-12-16 22:52 Lars Wendler
2018-12-10 8:31 Lars Wendler
2018-12-10 8:31 Lars Wendler
2018-12-04 15:54 Mikle Kolyada
2018-12-03 11:19 Lars Wendler
2018-11-29 20:06 Sergei Trofimovich
2018-11-29 15:54 Lars Wendler
2018-11-29 10:09 Mart Raudsepp
2018-11-28 22:35 Sergei Trofimovich
2018-11-28 22:33 Sergei Trofimovich
2018-11-28 22:28 Sergei Trofimovich
2018-11-27 21:55 Thomas Deutschmann
2018-11-27 20:48 Sergei Trofimovich
2018-11-27 15:09 Mikle Kolyada
2018-11-22 0:12 Lars Wendler
2018-11-21 8:52 Lars Wendler
2018-10-31 17:17 Markus Meier
2018-10-27 18:43 Sergei Trofimovich
2018-10-14 16:19 Mikle Kolyada
2018-10-14 12:06 Mart Raudsepp
2018-10-14 9:14 Sergei Trofimovich
2018-10-14 8:59 Sergei Trofimovich
2018-10-13 16:14 Sergei Trofimovich
2018-10-13 6:56 Tobias Klausmann
2018-10-09 21:24 Thomas Deutschmann
2018-10-09 21:14 Sergei Trofimovich
2018-10-09 8:33 Mikle Kolyada
2018-10-06 22:08 Sergei Trofimovich
2018-10-06 16:48 Matt Turner
2018-10-05 20:26 Robin H. Johnson
2018-10-05 4:10 Thomas Deutschmann
2018-10-04 22:36 Sergei Trofimovich
2018-10-02 18:32 Sergei Trofimovich
2018-10-02 14:21 Mikle Kolyada
2018-09-11 8:42 Lars Wendler
2018-09-11 8:42 Lars Wendler
2018-09-05 13:19 Lars Wendler
2018-09-04 15:53 Lars Wendler
2018-08-20 15:01 Patrice Clement
2018-06-22 9:12 Lars Wendler
2018-06-15 12:36 Lars Wendler
2018-06-06 14:34 Lars Wendler
2018-06-03 13:55 Mike Frysinger
2018-06-01 6:51 Jeroen Roovers
2018-05-31 22:51 Thomas Deutschmann
2018-05-31 21:34 Mikle Kolyada
2018-05-31 8:13 Sergei Trofimovich
2018-05-31 7:50 Sergei Trofimovich
2018-05-30 8:48 Mart Raudsepp
2018-05-30 4:08 Matt Turner
2018-05-30 4:08 Matt Turner
2018-05-30 4:08 Matt Turner
2018-05-30 1:44 Aaron Bauman
2018-05-30 1:29 Thomas Deutschmann
2018-05-30 1:19 Thomas Deutschmann
2018-05-29 23:37 Thomas Deutschmann
2018-05-21 5:08 Robin H. Johnson
2018-05-20 1:10 Robin H. Johnson
2018-04-03 16:57 Patrice Clement
2018-04-03 10:34 Lars Wendler
2018-04-03 10:24 Lars Wendler
2018-03-29 20:04 Lars Wendler
2018-03-29 19:55 Lars Wendler
2018-03-23 19:47 Lars Wendler
2018-03-23 11:23 Lars Wendler
2018-03-23 8:53 Lars Wendler
2018-03-12 18:55 Lars Wendler
2018-03-12 2:07 Matt Turner
2018-03-12 2:07 Matt Turner
2018-03-06 19:40 Markus Meier
2018-03-05 13:57 Tobias Klausmann
2018-03-02 23:51 Mart Raudsepp
2018-02-25 11:58 Sergei Trofimovich
2018-02-17 21:46 Sergei Trofimovich
2018-02-17 17:36 Lars Wendler
2018-02-16 8:33 Sergei Trofimovich
2018-02-14 16:57 Jason Zaman
2018-02-14 14:30 Thomas Deutschmann
2018-02-14 13:28 Lars Wendler
2018-02-05 22:19 Robin H. Johnson
2018-01-22 20:53 Robin H. Johnson
2018-01-18 9:36 Lars Wendler
2018-01-13 17:56 Lars Wendler
2018-01-13 12:42 Lars Wendler
2018-01-12 4:10 Mike Frysinger
2018-01-08 11:59 Lars Wendler
2018-01-06 11:32 Lars Wendler
2017-12-30 1:13 Lars Wendler
2017-12-30 1:13 Lars Wendler
2017-11-29 5:15 Robin H. Johnson
2017-11-13 7:54 Sergei Trofimovich
2017-11-06 9:40 Lars Wendler
2017-11-02 19:11 Robin H. Johnson
2017-10-23 8:55 Lars Wendler
2017-10-20 13:48 Lars Wendler
2017-10-16 18:15 Markus Meier
2017-10-13 13:04 Lars Wendler
2017-10-13 13:04 Lars Wendler
2017-10-04 22:52 Thomas Deutschmann
2017-10-03 8:25 Sergei Trofimovich
2017-10-02 3:16 Robin H. Johnson
2017-09-30 7:18 Sergei Trofimovich
2017-09-30 4:12 Sergei Trofimovich
2017-09-30 2:58 Sergei Trofimovich
2017-09-27 11:21 Agostino Sarubbo
2017-09-26 17:03 Robin H. Johnson
2017-09-26 17:03 Robin H. Johnson
2017-09-08 22:12 Sergei Trofimovich
2017-09-07 20:59 Sergei Trofimovich
2017-08-27 9:08 Fabian Groffen
2017-08-23 5:00 Markus Meier
2017-08-20 16:59 Thomas Deutschmann
2017-08-19 20:56 Richard Freeman
2017-08-19 15:16 Sergei Trofimovich
2017-08-11 22:09 Sergei Trofimovich
2017-08-11 19:37 Tobias Klausmann
2017-08-10 20:13 Robin H. Johnson
2017-08-10 4:43 Robin H. Johnson
2017-08-06 0:12 Robin H. Johnson
2017-08-06 0:12 Robin H. Johnson
2017-08-04 19:18 Robin H. Johnson
2017-08-02 7:10 Lars Wendler
2017-08-02 7:10 Lars Wendler
2017-07-15 21:24 Lars Wendler
2017-07-13 9:16 Lars Wendler
2017-07-13 9:16 Lars Wendler
2017-06-25 10:31 Lars Wendler
2017-06-06 21:35 Robin H. Johnson
2017-06-06 21:35 Robin H. Johnson
2017-05-24 8:49 Lars Wendler
2017-05-20 18:34 Sergei Trofimovich
2017-05-16 21:59 Michael Weber
2017-05-16 8:01 Agostino Sarubbo
2017-05-16 4:44 Markus Meier
2017-05-13 11:09 Jeroen Roovers
2017-05-12 17:56 Tobias Klausmann
2017-05-12 14:55 Agostino Sarubbo
2017-05-11 22:00 Lars Wendler
2017-05-11 22:00 Lars Wendler
2017-05-11 14:41 Agostino Sarubbo
2017-05-10 9:14 Lars Wendler
2017-05-06 22:32 Lars Wendler
2017-04-27 7:44 Lars Wendler
2017-04-27 7:44 Lars Wendler
2017-03-27 6:27 Lars Wendler
2017-03-27 6:27 Lars Wendler
2017-03-21 9:29 Lars Wendler
2017-03-17 11:12 Michael Haubenwallner
2017-02-26 11:58 Jeroen Roovers
2017-02-26 11:31 Lars Wendler
2017-02-25 20:57 Robin H. Johnson
2017-02-24 4:16 Mike Frysinger
2017-02-02 23:14 Robin H. Johnson
2017-01-20 5:18 Jeroen Roovers
2016-12-26 16:05 Lars Wendler
2016-12-26 16:05 Lars Wendler
2016-12-17 15:36 Markus Meier
2016-12-12 10:57 Lars Wendler
2016-12-09 19:01 Tobias Klausmann
2016-11-30 1:06 Robin H. Johnson
2016-11-18 18:48 Robin H. Johnson
2016-11-05 23:45 Robin H. Johnson
2016-10-29 20:33 Lars Wendler
2016-10-29 20:33 Lars Wendler
2016-10-04 8:16 Lars Wendler
2016-09-03 19:19 Lars Wendler
2016-08-13 9:45 Lars Wendler
2016-08-13 9:45 Lars Wendler
2016-07-16 10:28 Lars Wendler
2016-07-16 10:28 Lars Wendler
2016-07-12 7:17 Lars Wendler
2016-06-14 7:02 Lars Wendler
2016-06-14 7:02 Lars Wendler
2016-06-07 12:26 Lars Wendler
2016-06-07 12:26 Lars Wendler
2016-05-20 8:02 Lars Wendler
2016-05-20 8:02 Lars Wendler
2016-05-08 23:43 Mike Gilbert
2016-04-30 15:24 Lars Wendler
2016-04-30 15:24 Lars Wendler
2016-04-09 7:59 Fabian Groffen
2016-04-04 8:07 Lars Wendler
2016-03-29 20:11 Robin H. Johnson
2016-03-29 7:39 Lars Wendler
2016-03-26 0:56 Robin H. Johnson
2016-03-22 20:28 Patrick McLean
2016-03-22 18:28 Robin H. Johnson
2016-03-22 2:25 Mike Frysinger
2016-03-20 10:21 Jeroen Roovers
2016-03-17 21:33 Robin H. Johnson
2016-03-17 10:01 Agostino Sarubbo
2016-03-17 1:56 Manuel Rüger
2016-03-16 20:32 Robin H. Johnson
2016-03-16 11:51 Agostino Sarubbo
2016-03-16 11:00 Agostino Sarubbo
2016-03-16 10:58 Agostino Sarubbo
2016-03-12 11:37 Ulrich Müller
2016-03-11 0:46 Robin H. Johnson
2016-02-23 8:52 Lars Wendler
2016-02-23 8:52 Lars Wendler
2016-02-22 18:51 Fabian Groffen
2016-02-09 19:43 Lars Wendler
2016-02-07 14:45 Lars Wendler
2016-02-07 14:45 Lars Wendler
2016-01-11 21:12 Robin H. Johnson
2016-01-05 10:04 Lars Wendler
2015-12-19 23:29 Mike Frysinger
2015-12-09 9:43 Lars Wendler
2015-12-09 9:43 Lars Wendler
2015-11-19 14:23 Lars Wendler
2015-11-08 19:45 Mikle Kolyada
2015-11-06 8:48 Lars Wendler
2015-11-05 10:58 Agostino Sarubbo
2015-11-04 14:38 Agostino Sarubbo
2015-11-03 19:18 Markus Meier
2015-11-03 19:17 Markus Meier
2015-10-21 15:17 Tobias Klausmann
2015-10-21 14:22 Tobias Klausmann
2015-10-19 4:10 Jeroen Roovers
2015-10-18 13:24 Mikle Kolyada
2015-10-18 6:39 Jeroen Roovers
2015-10-17 9:32 Mikle Kolyada
2015-10-17 9:15 Lars Wendler
2015-10-17 9:15 Lars Wendler
2015-10-11 13:40 Markus Meier
2015-10-11 13:39 Markus Meier
2015-10-06 7:30 Lars Wendler
2015-10-06 7:30 Lars Wendler
2015-09-30 10:21 Lars Wendler
2015-09-29 7:51 Lars Wendler
2015-09-29 7:51 Lars Wendler
2015-09-24 7:59 Agostino Sarubbo
2015-09-22 8:57 Agostino Sarubbo
2015-09-21 11:27 Agostino Sarubbo
2015-09-20 17:02 Julian Ospald
2015-09-20 9:30 Agostino Sarubbo
2015-09-20 6:19 Jeroen Roovers
2015-09-19 12:32 Agostino Sarubbo
2015-09-18 8:12 Lars Wendler
2015-09-18 8:12 Lars Wendler
2015-09-17 12:08 Tobias Klausmann
2015-09-17 11:29 Tobias Klausmann
2015-09-11 9:38 Lars Wendler
2015-09-11 9:38 Lars Wendler
2015-09-06 13:25 Agostino Sarubbo
2015-08-31 18:44 Fabian Groffen
2015-08-31 7:23 Lars Wendler
2015-08-31 7:23 Lars Wendler
2015-08-19 5:37 Jeroen Roovers
2015-08-14 20:55 Julian Ospald
2015-08-14 20:55 Julian Ospald
2015-08-11 16:12 Julian Ospald
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1663370727.531c986e9474c13dc5b7f0ac93af92dbe6760470.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox