Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/
Date: Wed, 30 May 2018 01:29:25
Message-Id: 1527643741.826b0d45dfea7e855ce336f4592acd9a1c9149ac.whissi@gentoo
1 commit: 826b0d45dfea7e855ce336f4592acd9a1c9149ac
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 30 01:29:01 2018 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Wed May 30 01:29:01 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=826b0d45
7
8 dev-vcs/git: drop vulnerable v2.17.0 version
9
10 Bug: https://bugs.gentoo.org/656868
11 Package-Manager: Portage-2.3.40, Repoman-2.3.9
12
13 dev-vcs/git/Manifest | 3 -
14 dev-vcs/git/git-2.17.0.ebuild | 715 ------------------------------------------
15 2 files changed, 718 deletions(-)
16
17 diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
18 index e6a38a8e599..d9bcf01f766 100644
19 --- a/dev-vcs/git/Manifest
20 +++ b/dev-vcs/git/Manifest
21 @@ -1,15 +1,12 @@
22 DIST git-2.16.1.tar.xz 4961656 BLAKE2B d94328da5d027cb82f1f23804a12dfc5df1577bf2c28cc376d4bb5c9e34d317886437f7eee2ac4503b8e2639d2e24c35660ab82a50207f500b7ed6fb104d3624 SHA512 09e30ada7bcf41f78f15784908062c10162d58d2fd7a68ad27e42fd49dc37eb0e82c19ad21db31034a189a8cdd009013a29f943e1ae5d5ab5688c913d2a4d42a
23 DIST git-2.16.3.tar.xz 4966248 BLAKE2B cd4d2573afd02a23766c4dd0da8397ac36193f68e18c162fc85d60d7595a50da7707f592ccc3a9f00a22fdcb8a8cada82139fe30f97af193fb367a4e392cbaa8 SHA512 73520cf3500b2d13b77eb1e5ec0d60263aad07732d25631732f0d986abd023f97b8a6db4abff64d342cb053018289b5f7a3e32f10b86bd9092a37ee0585adc8a
24 DIST git-2.16.4.tar.xz 4968252 BLAKE2B 77f76408bde02bfacdb99d22baca05893f63c96d1fb7508c7e92541f8f7ec9ced0dad650be788fd28a1e03b5d88b88708652d07a47bedaae60a9cbd4e2eec858 SHA512 f54e431e78289349dcb927ec34873dfb801c49a41cbb3d0138346d603af26bd7d86f9ac95e7a61a4831017f3503f33374510ccf68b0e62b0691fc5a43283f1ac
25 -DIST git-2.17.0.tar.xz 5011556 BLAKE2B 73b3ad74d85759704c034b7ab2f604150c08aec45f4b86f5fcfa826801da49f4922599de210d8056b25781f77ff826610ef4a47309dc9e9e3ce18ef97a8e34da SHA512 dab1c1d5d384b36720abc049a66ba60631e17958b214cfbec467be7adc02e82190e5282554da71797892c16bfe52d65b6244a281f504385083125bcb98ec7ee9
26 DIST git-2.17.1.tar.xz 5015484 BLAKE2B d3a61023872a15e3176e4dae6df83d4c2369a377244d44dfd7a63a15ecc3a7b145093afd5d6fa72e4eca98ba4f81f7ccd89ac2400c9cf8107ac04fd35d8bf6e4 SHA512 77c27569d40fbae1842130baa0cdda674a02e384631bd8fb1f2ddf67ce372dd4903b2ce6b4283a4ae506cdedd5daa55baa2afe6a6689528511e24e4beb864960
27 DIST git-htmldocs-2.16.1.tar.xz 1160372 BLAKE2B d426fbc85772e5f04550071dea50a75e6d581fd040e8b37b3b342a8d6569d0dcf456445bab1dec3d84e254e82468c900afff7c6be1ebd6771e7fad5884b92515 SHA512 f2bb8b88ab5aa3d6204874aae583249d5137193c5fe3925df7ae1bcdaec0564b496df9a648c180bebb0c8ff4573f27e330802020d3c9207c2738ddd5c52d99c9
28 DIST git-htmldocs-2.16.3.tar.xz 1164252 BLAKE2B 43d5b0317d3cb181c24347933b6ee3ce586f7be7e38ae30555bc732b369287f080879ff0408601db125a4104b665956f6bcef3f243496008d3ec1601110b06df SHA512 6271ff7780053347ceba47754db00fa8a0a39ff622c490e273ed286faa6ade3f7d6580fa396c913b4485a942b2ad0cdd898de467fde497de1d850fb6d3debd1e
29 DIST git-htmldocs-2.16.4.tar.xz 1164256 BLAKE2B 88a7ab5b094f15bc2b6c0f4d4c3eae185f6e6c0f00f4aca75492f0cc964428d1bf53002e0e43468b60b62058af5f13b061231061247e19b32bc70c2c8adb04eb SHA512 8f4a8c51656559af81296fb064ecf0f88444952c7f8ee91b85e5a61b20d200267d7432f720ded12046bab986361cff48cf7a2f5d21e05c1ac7648cc3168a0049
30 -DIST git-htmldocs-2.17.0.tar.xz 1172652 BLAKE2B 9e6ccc120aa45ee98a21ac862a130a964e6cd04cd85d51ddf40cbb34197f699fd8f5046f53265a0685191a96ef5aa0cb398367679b719cb3a2bba0156732d45b SHA512 441d485d42a8b3ba8ef5617e47480be0b587f0f5d35c4288a6cfe8f2b8a84fffcd13a414dcce44855cf580af817b411654999e80502073782c7da38aa40209ba
31 DIST git-htmldocs-2.17.1.tar.xz 1173296 BLAKE2B 5133a86fb73cd58d6a9d4ed05d32949f642c9a670a49ea67c7170dfb39c4ff3f63d5f220abebcc979f87a360ec2990ccf5a9e3c18e8fcb07082bac111ecb12c7 SHA512 69054b087ffd1c88532672c6edea3cd27e08421f25c09a1a304420ec6aa20806888f71e4ef21aac1bc2fed81a045a64ae164a9dc377eb48d61887bf8d787782c
32 DIST git-manpages-2.16.1.tar.xz 417188 BLAKE2B 239fb33967d17c8b10efb2e0d1963f7be3404b7f262b49f89b3f4a538135d80268fbe7fe0e561c9cb2d86840eb46b61653ed363d8da27d1169c435d8e1d5e851 SHA512 20c7646b5f1e3c633ce6aae5ee5fcbe4ca1e59fc9253ec9a9e45c7cd8a8ac7a5e71e36258eb747e3bd6d51b3b7971137315dcdbdff493e0f8774ecd3e309735a
33 DIST git-manpages-2.16.3.tar.xz 417152 BLAKE2B 2719a9a603dc49db1a61a2cec42427bdcdc96fab9d21d16c5a8c70d7dba271a1e5b29f4f83f32c525c4866e3497352017af3777a769893c9543e65d625972375 SHA512 b34a3658412a144fed6f818acc05c0b4be2453ae63f9430dcd53cda750f737bd3da50390bd3f4266e69befa521eddd222985fd531acca1ebd4ca62c6c5b2a85c
34 DIST git-manpages-2.16.4.tar.xz 417136 BLAKE2B 9a75913dae62fa2eb31cf48e77e266aa8d91c67b8a753c1740283b1d626dea1e9aa8d7cea06d9b97887f801b4d1f1b927014851105cefd3241ca7ab7330bfc8b SHA512 8029e9fac1eca542e809da1247f4eec3a2c81c0eb12d03aa816dcf120677011d3e409b06c28c8e7dbf41cbbcca873ec93846dc317bc73e57f4d4701ce7abf73d
35 -DIST git-manpages-2.17.0.tar.xz 419316 BLAKE2B f8c4e586d376c31e7728e1fb78032249cc8b20d356e2d7c8d42f1c4a6025dc89d5de81548ea2fb1af5c95276bd3b3f9e650379357f30edd773000b98371fcceb SHA512 b2f7734416f5c336cea272baa87efd10b175a357f5f722f20bb5d287b1886bdb213c4fc2f0c6a3b83fa34423e83139bab5eac70dc9669a72c75c2392dbd517f1
36 DIST git-manpages-2.17.1.tar.xz 419400 BLAKE2B af8cef1ac43c6b5ee073c7e18c161ba3ebe0669e474833211c95e72b33524050c30ca133ada98e07c8b481ffc4a5cbce1e7d68427b7aeb9bb80534c2ef3623f0 SHA512 fbdd4ef99419d244bc7c03b10cf09e92d1f0894879fe159ee1f53262daebdc7fe72d6c2bbe9e21fe354f8afb26fa06b35788e54b0c078b686706b511bf7c33ee
37
38 diff --git a/dev-vcs/git/git-2.17.0.ebuild b/dev-vcs/git/git-2.17.0.ebuild
39 deleted file mode 100644
40 index 5f55ce0d640..00000000000
41 --- a/dev-vcs/git/git-2.17.0.ebuild
42 +++ /dev/null
43 @@ -1,715 +0,0 @@
44 -# Copyright 1999-2018 Gentoo Foundation
45 -# Distributed under the terms of the GNU General Public License v2
46 -
47 -EAPI=6
48 -
49 -GENTOO_DEPEND_ON_PERL=no
50 -
51 -# bug #329479: git-remote-testgit is not multiple-version aware
52 -PYTHON_COMPAT=( python2_7 )
53 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
54 -if [[ ${PV} == *9999 ]]; then
55 - SCM="git-r3"
56 - EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
57 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
58 - # See https://git-scm.com/docs/gitworkflows#_graduation
59 - # In order of stability:
60 - # 9999-r0: maint
61 - # 9999-r1: master
62 - # 9999-r2: next
63 - # 9999-r3: pu
64 - case "${PVR}" in
65 - 9999) EGIT_BRANCH=maint ;;
66 - 9999-r1) EGIT_BRANCH=master ;;
67 - 9999-r2) EGIT_BRANCH=next;;
68 - 9999-r3) EGIT_BRANCH=pu ;;
69 - esac
70 -fi
71 -
72 -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
73 -
74 -MY_PV="${PV/_rc/.rc}"
75 -MY_P="${PN}-${MY_PV}"
76 -
77 -DOC_VER=${MY_PV}
78 -
79 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
80 -HOMEPAGE="https://www.git-scm.com/"
81 -if [[ ${PV} != *9999 ]]; then
82 - SRC_URI_SUFFIX="xz"
83 - SRC_URI_KORG="mirror://kernel/software/scm/git"
84 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
85 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
86 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
87 - doc? (
88 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
89 - )"
90 - [[ "${PV}" = *_rc* ]] || \
91 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~amd64-fbsd"
92 -fi
93 -
94 -LICENSE="GPL-2"
95 -SLOT="0"
96 -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
97 -
98 -# Common to both DEPEND and RDEPEND
99 -CDEPEND="
100 - gnome-keyring? ( app-crypt/libsecret )
101 - !libressl? ( dev-libs/openssl:0= )
102 - libressl? ( dev-libs/libressl:= )
103 - sys-libs/zlib
104 - pcre? (
105 - pcre-jit? ( dev-libs/libpcre2[jit(+)] )
106 - !pcre-jit? ( dev-libs/libpcre )
107 - )
108 - perl? ( dev-lang/perl:=[-build(-)] )
109 - tk? ( dev-lang/tk:0= )
110 - curl? (
111 - net-misc/curl
112 - webdav? ( dev-libs/expat )
113 - )
114 - emacs? ( virtual/emacs )
115 -"
116 -
117 -RDEPEND="${CDEPEND}
118 - gpg? ( app-crypt/gnupg )
119 - perl? (
120 - dev-perl/Error
121 - dev-perl/MailTools
122 - dev-perl/Net-SMTP-SSL
123 - dev-perl/Authen-SASL
124 - cgi? (
125 - dev-perl/CGI
126 - highlight? ( app-text/highlight )
127 - )
128 - cvs? (
129 - >=dev-vcs/cvsps-2.1:0
130 - dev-perl/DBI
131 - dev-perl/DBD-SQLite
132 - )
133 - mediawiki? (
134 - dev-perl/DateTime-Format-ISO8601
135 - dev-perl/HTML-Tree
136 - dev-perl/MediaWiki-API
137 - )
138 - subversion? (
139 - dev-vcs/subversion[-dso,perl]
140 - dev-perl/libwww-perl
141 - dev-perl/TermReadKey
142 - )
143 - )
144 - python? ( ${PYTHON_DEPS} )
145 -"
146 -
147 -# This is how info docs are created with Git:
148 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
149 -# .xml/docbook --(docbook2texi.pl)--> .texi
150 -# .texi --(makeinfo)---------> .info
151 -DEPEND="${CDEPEND}
152 - doc? (
153 - app-text/asciidoc
154 - app-text/docbook2X
155 - sys-apps/texinfo
156 - app-text/xmlto
157 - )
158 - nls? ( sys-devel/gettext )
159 - test? ( app-crypt/gnupg )"
160 -
161 -# Live ebuild builds man pages and HTML docs, additionally
162 -if [[ ${PV} == *9999 ]]; then
163 - DEPEND="${DEPEND}
164 - app-text/asciidoc"
165 -fi
166 -
167 -SITEFILE="50${PN}-gentoo.el"
168 -S="${WORKDIR}/${MY_P}"
169 -
170 -REQUIRED_USE="
171 - cgi? ( perl )
172 - cvs? ( perl )
173 - mediawiki? ( perl )
174 - mediawiki-experimental? ( mediawiki )
175 - subversion? ( perl )
176 - webdav? ( curl )
177 - pcre-jit? ( pcre )
178 - python? ( ${PYTHON_REQUIRED_USE} )
179 -"
180 -
181 -PATCHES=(
182 - # bug #350330 - automagic CVS when we don't want it is bad.
183 - "${FILESDIR}"/git-2.17.0_rc1-optional-cvs.patch
184 -
185 - "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
186 -
187 - # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
188 - "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
189 -)
190 -
191 -pkg_setup() {
192 - if use subversion && has_version "dev-vcs/subversion[dso]"; then
193 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
194 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
195 - ewarn "have been warned."
196 - fi
197 - if use python ; then
198 - python-single-r1_pkg_setup
199 - fi
200 -}
201 -
202 -# This is needed because for some obscure reasons future calls to make don't
203 -# pick up these exports if we export them in src_unpack()
204 -exportmakeopts() {
205 - local myopts=(
206 - ASCIIDOC_NO_ROFF=YesPlease
207 - $(usex cvs '' NO_CVS=YesPlease)
208 - $(usex elibc_musl NO_REGEX=YesPlease '')
209 - $(usex iconv '' NO_ICONV=YesPlease)
210 - $(usex nls '' NO_GETTEXT=YesPlease)
211 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
212 - $(usex python '' NO_PYTHON=YesPlease)
213 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
214 - $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
215 - $(usex tk '' NO_TCLTK=YesPlease)
216 - )
217 -
218 - if use blksha1 ; then
219 - myopts+=( BLK_SHA1=YesPlease )
220 - elif use ppcsha1 ; then
221 - myopts+=( PPC_SHA1=YesPlease )
222 - fi
223 -
224 - if use curl ; then
225 - use webdav || myopts+=( NO_EXPAT=YesPlease )
226 - else
227 - myopts+=( NO_CURL=YesPlease )
228 - fi
229 -
230 - # broken assumptions, because of static build system ...
231 - myopts+=(
232 - NO_FINK=YesPlease
233 - NO_DARWIN_PORTS=YesPlease
234 - INSTALL=install
235 - TAR=tar
236 - SHELL_PATH="${EPREFIX}/bin/sh"
237 - SANE_TOOL_PATH=
238 - OLD_ICONV=
239 - NO_EXTERNAL_GREP=
240 - )
241 -
242 - # For svn-fe
243 - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
244 -
245 - # can't define this to null, since the entire makefile depends on it
246 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
247 -
248 - if use pcre; then
249 - if use pcre-jit; then
250 - myopts+=( USE_LIBPCRE2=YesPlease )
251 - extlibs+=" -lpcre2-8"
252 - else
253 - myopts+=(
254 - USE_LIBPCRE1=YesPlease
255 - NO_LIBPCRE1_JIT=YesPlease
256 - )
257 - extlibs+=" -lpcre"
258 - fi
259 - fi
260 -# Disabled until ~m68k-mint can be keyworded again
261 -# if [[ ${CHOST} == *-mint* ]] ; then
262 -# myopts+=(
263 -# NO_MMAP=YesPlease
264 -# NO_IPV6=YesPlease
265 -# NO_STRLCPY=YesPlease
266 -# NO_MEMMEM=YesPlease
267 -# NO_MKDTEMP=YesPlease
268 -# NO_MKSTEMPS=YesPlease
269 -# )
270 -# fi
271 - if [[ ${CHOST} == ia64-*-hpux* ]]; then
272 - myopts+=( NO_NSEC=YesPlease )
273 - fi
274 - if [[ ${CHOST} == *-*-aix* ]]; then
275 - myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
276 - fi
277 - if [[ ${CHOST} == *-solaris* ]]; then
278 - myopts+=(
279 - NEEDS_LIBICONV=YesPlease
280 - HAVE_CLOCK_MONOTONIC=1
281 - )
282 - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
283 - myopts+=( HAVE_GETDELIM=1 )
284 - fi
285 -
286 - has_version '>=app-text/asciidoc-8.0' \
287 - && myopts+=( ASCIIDOC8=YesPlease )
288 -
289 - # Bug 290465:
290 - # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
291 - [[ "${CHOST}" == *-uclibc* ]] && \
292 - myopts+=( NO_NSEC=YesPlease )
293 -
294 - export MY_MAKEOPTS="${myopts[@]}"
295 - export EXTLIBS="${extlibs}"
296 -}
297 -
298 -src_unpack() {
299 - if [[ ${PV} != *9999 ]]; then
300 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
301 - cd "${S}" || die
302 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
303 - if use doc ; then
304 - pushd "${S}"/Documentation &>/dev/null || die
305 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
306 - popd &>/dev/null || die
307 - fi
308 - else
309 - git-r3_src_unpack
310 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
311 - fi
312 -
313 -}
314 -
315 -src_prepare() {
316 - # add experimental patches to improve mediawiki support
317 - # see patches for origin
318 - if use mediawiki-experimental ; then
319 - PATCHES+=(
320 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
321 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
322 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
323 - )
324 - fi
325 -
326 - default
327 -
328 - sed -i \
329 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
330 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
331 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
332 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
333 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
334 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
335 - Makefile contrib/svn-fe/Makefile || die
336 -
337 - # Fix docbook2texi command
338 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
339 - Documentation/Makefile || die
340 -
341 - # Fix git-subtree missing DESTDIR
342 - sed -i \
343 - -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
344 - -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
345 - contrib/subtree/Makefile || die
346 -}
347 -
348 -git_emake() {
349 - # bug #320647: PYTHON_PATH
350 - local PYTHON_PATH=""
351 - use python && PYTHON_PATH="${PYTHON}"
352 - emake ${MY_MAKEOPTS} \
353 - prefix="${EPREFIX}"/usr \
354 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
355 - perllibdir="$(perl_get_raw_vendorlib)" \
356 - sysconfdir="${EPREFIX}"/etc \
357 - DESTDIR="${D}" \
358 - GIT_TEST_OPTS="--no-color" \
359 - OPTAR="$(tc-getAR)" \
360 - OPTCC="$(tc-getCC)" \
361 - OPTCFLAGS="${CFLAGS}" \
362 - OPTLDFLAGS="${LDFLAGS}" \
363 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
364 - PERL_MM_OPT="" \
365 - PYTHON_PATH="${PYTHON_PATH}" \
366 - V=1 \
367 - "$@"
368 -}
369 -
370 -src_configure() {
371 - exportmakeopts
372 -}
373 -
374 -src_compile() {
375 - git_emake || die "emake failed"
376 -
377 - if use emacs ; then
378 - elisp-compile contrib/emacs/git{,-blame}.el
379 - fi
380 -
381 - if use perl && use cgi ; then
382 - git_emake \
383 - gitweb \
384 - || die "emake gitweb (cgi) failed"
385 - fi
386 -
387 - if [[ ${CHOST} == *-darwin* ]]; then
388 - pushd contrib/credential/osxkeychain &>/dev/null || die
389 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
390 - || die "emake credential-osxkeychain"
391 - popd &>/dev/null || die
392 - fi
393 -
394 - pushd Documentation &>/dev/null || die
395 - if [[ ${PV} == *9999 ]] ; then
396 - git_emake man \
397 - || die "emake man failed"
398 - if use doc ; then
399 - git_emake info html \
400 - || die "emake info html failed"
401 - fi
402 - else
403 - if use doc ; then
404 - git_emake info \
405 - || die "emake info html failed"
406 - fi
407 - fi
408 - popd &>/dev/null || die
409 -
410 - if use subversion ; then
411 - pushd contrib/svn-fe &>/dev/null || die
412 - # by defining EXTLIBS we override the detection for libintl and
413 - # libiconv, bug #516168
414 - local nlsiconv=
415 - use nls && use !elibc_glibc && nlsiconv+=" -lintl"
416 - use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
417 - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
418 - if use doc ; then
419 - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
420 - fi
421 - popd &>/dev/null || die
422 - fi
423 -
424 - if use gnome-keyring ; then
425 - pushd contrib/credential/libsecret &>/dev/null || die
426 - git_emake || die "emake git-credential-libsecret failed"
427 - popd &>/dev/null || die
428 - fi
429 -
430 - pushd contrib/subtree &>/dev/null || die
431 - git_emake
432 - use doc && git_emake doc
433 - popd &>/dev/null || die
434 -
435 - pushd contrib/diff-highlight &>/dev/null || die
436 - git_emake
437 - popd &>/dev/null || die
438 -
439 - if use mediawiki ; then
440 - pushd contrib/mw-to-git &>/dev/null || die
441 - git_emake
442 - popd &>/dev/null || die
443 -
444 - fi
445 -}
446 -
447 -src_install() {
448 - git_emake \
449 - install || \
450 - die "make install failed"
451 -
452 - if [[ ${CHOST} == *-darwin* ]]; then
453 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
454 - fi
455 -
456 - # Depending on the tarball and manual rebuild of the documentation, the
457 - # manpages may exist in either OR both of these directories.
458 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
459 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
460 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
461 - use doc && dodir /usr/share/doc/${PF}/html
462 - for d in / /howto/ /technical/ ; do
463 - docinto ${d}
464 - dodoc Documentation${d}*.txt
465 - if use doc ; then
466 - docinto ${d}/html
467 - dodoc Documentation${d}*.html
468 - fi
469 - done
470 - docinto /
471 - # Upstream does not ship this pre-built :-(
472 - use doc && doinfo Documentation/{git,gitman}.info
473 -
474 - newbashcomp contrib/completion/git-completion.bash ${PN}
475 - bashcomp_alias git gitk
476 - # Not really a bash-completion file (bug #477920)
477 - # but still needed uncompressed (bug #507480)
478 - insinto /usr/share/${PN}
479 - doins contrib/completion/git-prompt.sh
480 -
481 - if use emacs ; then
482 - elisp-install ${PN} contrib/emacs/git.{el,elc}
483 - elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
484 - #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
485 - # don't add automatically to the load-path, so the sitefile
486 - # can do a conditional loading
487 - touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
488 - elisp-site-file-install "${FILESDIR}"/${SITEFILE}
489 - fi
490 -
491 - #dobin contrib/fast-import/git-p4 # Moved upstream
492 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
493 - newbin contrib/fast-import/import-tars.perl import-tars
494 - exeinto /usr/libexec/git-core/
495 - newexe contrib/git-resurrect.sh git-resurrect
496 -
497 - # git-subtree
498 - pushd contrib/subtree &>/dev/null || die
499 - git_emake install || die "Failed to emake install git-subtree"
500 - if use doc ; then
501 - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
502 - fi
503 - newdoc README README.git-subtree
504 - dodoc git-subtree.txt
505 - popd &>/dev/null || die
506 -
507 - if use mediawiki ; then
508 - pushd contrib/mw-to-git &>/dev/null || die
509 - git_emake install
510 - popd &>/dev/null || die
511 - fi
512 -
513 - # diff-highlight
514 - dobin contrib/diff-highlight/diff-highlight
515 - newdoc contrib/diff-highlight/README README.diff-highlight
516 -
517 - # git-jump
518 - exeinto /usr/libexec/git-core/
519 - doexe contrib/git-jump/git-jump
520 - newdoc contrib/git-jump/README git-jump.txt
521 -
522 - # git-contacts
523 - exeinto /usr/libexec/git-core/
524 - doexe contrib/contacts/git-contacts
525 - dodoc contrib/contacts/git-contacts.txt
526 -
527 - if use gnome-keyring ; then
528 - pushd contrib/credential/libsecret &>/dev/null || die
529 - dobin git-credential-libsecret
530 - popd &>/dev/null || die
531 - fi
532 -
533 - if use subversion ; then
534 - pushd contrib/svn-fe &>/dev/null || die
535 - dobin svn-fe
536 - dodoc svn-fe.txt
537 - if use doc ; then
538 - doman svn-fe.1
539 - docinto html
540 - dodoc svn-fe.html
541 - fi
542 - popd &>/dev/null || die
543 - fi
544 -
545 - dodir /usr/share/${PN}/contrib
546 - # The following are excluded:
547 - # completion - installed above
548 - # diff-highlight - done above
549 - # emacs - installed above
550 - # examples - these are stuff that is not used in Git anymore actually
551 - # git-jump - done above
552 - # gitview - installed above
553 - # p4import - excluded because fast-import has a better one
554 - # patches - stuff the Git guys made to go upstream to other places
555 - # persistent-https - TODO
556 - # mw-to-git - TODO
557 - # subtree - build seperately
558 - # svnimport - use git-svn
559 - # thunderbird-patch-inline - fixes thunderbird
560 - local contrib_objects=(
561 - buildsystems
562 - fast-import
563 - hg-to-git
564 - hooks
565 - remotes2config.sh
566 - rerere-train.sh
567 - stats
568 - workdir
569 - )
570 - for i in "${contrib_objects[@]}" ; do
571 - cp -rf \
572 - "${S}"/contrib/${i} \
573 - "${ED%/}"/usr/share/${PN}/contrib \
574 - || die "Failed contrib ${i}"
575 - done
576 -
577 - if use perl && use cgi ; then
578 - # We used to install in /usr/share/${PN}/gitweb
579 - # but upstream installs in /usr/share/gitweb
580 - # so we will install a symlink and use their location for compat with other
581 - # distros
582 - dosym /usr/share/gitweb /usr/share/${PN}/gitweb
583 -
584 - # INSTALL discusses configuration issues, not just installation
585 - docinto /
586 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
587 - newdoc "${S}"/gitweb/README README.gitweb
588 -
589 - for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
590 - if test -d "$d" ; then find "$d" \
591 - -name .packlist \
592 - -delete || die
593 - fi
594 - done
595 - else
596 - rm -rf "${ED%/}"/usr/share/gitweb
597 - fi
598 -
599 - if ! use subversion ; then
600 - rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
601 - "${ED%/}"/usr/share/man/man1/git-svn.1*
602 - fi
603 -
604 - if use xinetd ; then
605 - insinto /etc/xinetd.d
606 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
607 - fi
608 -
609 - if use !prefix ; then
610 - newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
611 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
612 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
613 - systemd_dounit "${FILESDIR}/git-daemon.socket"
614 - fi
615 -
616 - perl_delete_localpod
617 -
618 - # Remove disabled linguas
619 - # we could remove sources in src_prepare, but install does not
620 - # handle missing locale dir well
621 - rm_loc() {
622 - if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
623 - rm -r "${ED%/}/usr/share/locale/${1}" || die
624 - fi
625 - }
626 - l10n_for_each_disabled_locale_do rm_loc
627 -}
628 -
629 -src_test() {
630 - local disabled=()
631 - local tests_cvs=(
632 - t9200-git-cvsexportcommit.sh
633 - t9400-git-cvsserver-server.sh
634 - t9401-git-cvsserver-crlf.sh
635 - t9402-git-cvsserver-refs.sh
636 - t9600-cvsimport.sh
637 - t9601-cvsimport-vendor-branch.sh
638 - t9602-cvsimport-branches-tags.sh
639 - t9603-cvsimport-patchsets.sh
640 - t9604-cvsimport-timestamps.sh
641 - )
642 - local tests_perl=(
643 - t3701-add-interactive.sh
644 - t5502-quickfetch.sh
645 - t5512-ls-remote.sh
646 - t5520-pull.sh
647 - t7106-reset-unborn-branch.sh
648 - t7501-commit.sh
649 - )
650 - # Bug #225601 - t0004 is not suitable for root perm
651 - # Bug #219839 - t1004 is not suitable for root perm
652 - # t0001-init.sh - check for init notices EPERM* fails
653 - local tests_nonroot=(
654 - t0001-init.sh
655 - t0004-unwritable.sh
656 - t0070-fundamental.sh
657 - t1004-read-tree-m-u-wf.sh
658 - t3700-add.sh
659 - t7300-clean.sh
660 - )
661 - # t9100 still fails with symlinks in SVN 1.7
662 - local test_svn=( t9100-git-svn-basic.sh )
663 -
664 - # Unzip is used only for the testcase code, not by any normal parts of Git.
665 - if ! has_version app-arch/unzip ; then
666 - einfo "Disabling tar-tree tests"
667 - disabled+=( t5000-tar-tree.sh )
668 - fi
669 -
670 - local cvs=0
671 - use cvs && let cvs=${cvs}+1
672 - if [[ ${EUID} -eq 0 ]]; then
673 - if [[ ${cvs} -eq 1 ]]; then
674 - ewarn "Skipping CVS tests because CVS does not work as root!"
675 - ewarn "You should retest with FEATURES=userpriv!"
676 - disabled+=( ${tests_cvs[@]} )
677 - fi
678 - einfo "Skipping other tests that require being non-root"
679 - disabled+=( ${tests_nonroot[@]} )
680 - else
681 - [[ ${cvs} -gt 0 ]] && \
682 - has_version dev-vcs/cvs && \
683 - let cvs=${cvs}+1
684 - [[ ${cvs} -gt 1 ]] && \
685 - has_version "dev-vcs/cvs[server]" && \
686 - let cvs=${cvs}+1
687 - if [[ ${cvs} -lt 3 ]]; then
688 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
689 - disabled+=( ${tests_cvs[@]} )
690 - fi
691 - fi
692 -
693 - if ! use perl ; then
694 - einfo "Disabling tests that need Perl"
695 - disabled+=( ${tests_perl[@]} )
696 - fi
697 -
698 - einfo "Disabling tests that fail with SVN 1.7"
699 - disabled+=( ${test_svn[@]} )
700 -
701 - # Reset all previously disabled tests
702 - pushd t &>/dev/null || die
703 - local i
704 - for i in *.sh.DISABLED ; do
705 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
706 - done
707 - einfo "Disabled tests:"
708 - for i in ${disabled[@]} ; do
709 - [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
710 - done
711 -
712 - # Avoid the test system removing the results because we want them ourselves
713 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
714 - -i Makefile || die
715 -
716 - # Clean old results first, must always run
717 - nonfatal git_emake clean
718 - popd &>/dev/null || die
719 -
720 - # Now run the tests, keep going if we hit an error, and don't terminate on
721 - # failure
722 - local rc
723 - einfo "Start test run"
724 - #MAKEOPTS=-j1
725 - nonfatal git_emake --keep-going test
726 - rc=$?
727 -
728 - # Display nice results, now print the results
729 - pushd t &>/dev/null || die
730 - nonfatal git_emake aggregate-results
731 -
732 - # And bail if there was a problem
733 - [ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
734 -}
735 -
736 -showpkgdeps() {
737 - local pkg=$1
738 - shift
739 - elog " $(printf "%-17s:" ${pkg}) ${@}"
740 -}
741 -
742 -pkg_postinst() {
743 - use emacs && elisp-site-regen
744 - einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
745 - einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
746 - einfo "Note that the prompt bash code is now in that separate script"
747 - elog "These additional scripts need some dependencies:"
748 - echo
749 - showpkgdeps git-quiltimport "dev-util/quilt"
750 - showpkgdeps git-instaweb \
751 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
752 - echo
753 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
754 -}
755 -
756 -pkg_postrm() {
757 - use emacs && elisp-site-regen
758 -}