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 |
-} |