Sync with portage [Mon May 10 11:16:15 MSK 2021].

master
Calculate Linux 4 years ago
parent b6e4e73023
commit e818c56aa7

@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
MANIFEST Manifest.files.gz 29270 BLAKE2B 9912b406bc0b501b59124acd5058b43b1385a0d9033c7a895953569424b90b3d9efd87f594cb89178c01572dcaace8b67e2c2a8af54117585f00e96cad3ef750 SHA512 0d8347ab039c416d64043fb62148ed2e9eea38a9dada785a90f821a2b0c8388780be8bac6a9839452aa324f653a36a1684a2ebda5342ed98c1631d1c1990f98d
TIMESTAMP 2021-05-09T10:08:54Z
MANIFEST Manifest.files.gz 29255 BLAKE2B caf7c81e690a6bfe2ec3df1ece71d4050f5b8e8c19744c61bd4c92893de8431def7ca6040b40cf7129cf8b4311c7472952fa226af76ab9b5d9f33a435f3042f0 SHA512 eb68a0dd0eef50fd8a50575f9f8f49d7fcc3131f62b9a8b1de851b60995d0236fb2d7c11b7c8b1ab0f8a8b74a851860d4d0fb9575b994a4ab150f6222df4f819
TIMESTAMP 2021-05-10T07:38:55Z
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmCXtLZfFIAAAAAALgAo
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmCY4w9fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
klCQihAAp4IGDwg0xZPQfA71/Zd16cluUwFvgjJ5k3gW5LKHP/oZTnHGsA+8OkWE
RYtdXYf7TVC/qhkTVnicHL6PEAzu0vpHfvb1PWX3z4uXwWgBUjzt0ybfFxxrdPSk
XJjYQAvay43y4XqIrNt1fqJJS5rL8Kr3eLjZDXXSwX+cCHthddvIhdjn8JlLM1zK
Sngj/jwWKojDHQzzGwoDs8jrMxN9UlA2lkjmU8/aYSQb73UAoGT+azbZZvi48YBZ
8L4o5gwjgvDdF9D1cjge4AiYxxYjbwRsx9/dIsS9MhjNwxnkSlFtIuTmiMxsCsuo
RQ01kWgRHN97J21hjjBKEtw0La8Lqd3aa/ws1+xb/O90BFmDv04oDHZalggNPa/T
ywts1AXQvUIq8gggbHd8FH/Nk7LqOPMjhnnfL1wxivA62tAOqXuTh8qemMMdt2gv
qY4wb5xKOH5zR4gxUykjz3F7QuEDGQxvdNYdcGL12VSLjz4fva93/3V8YgwLBxWl
YYTBTcXXp8S1AvtyXvXsVuRqTp5qGUdNWfbQgH8O9KmnSIBFxQR1u6HYUxvgjnAI
V8OjscugbnzYqJXsVxz7hLJts5qFnL23SoKd6DNELVQU5ad2s423rAMaKatr/oiH
9lzK7cfnH4y3gIIyy3jPkrbUGelDUK3+5WKtwKtVmEDUsJUjYTc=
=iLFC
klBNww//YGBXyTDWMObeqpdGp+6eceyQ7ilyhs156/psMhF0FMy1fK0KyYVrmmxV
b8Dx4L/IJ2QdLQVb6gm2qUtGgOju2oOcb16cSj4y8TazQLQc3mQgbkvhLEtOvWTl
CsCPvy1vlQ5S12KnwXhgBOhLhmQ/igfsZb2CtVLSCdbmJzao8mtYcbQPzQcjxnzs
gaZJL1KK9QQ9N3Pfr3+c/8qXNFZnBx123rZDS4QqRMVJGk+S8SytPaJHZVMcdOds
j8amluYBJWTvR8wpBfelJWlWIc4ZN3v2ZKZR68JolLNXIbjuTG28e946uRQcAidA
CKEPDnEfVHZLAaxQYnACyq44u5AHzHC5iD4gkXnIjtw8riI9Oz2Wc6vldlJuARKl
wAVzrajjiLa7RI6zsTlZxtFG3Idjjm+Bb+JX6sPzFVsq8ozFSo/8bKMHcKXGVNEO
OFNxy9WYBE266aWPtQu27npx60cOBqe94EuWLujLud2lWp0MHKTzGo8mK9lbdAqr
g9U0PjeDdbSsfrtXjrhRI0GIZYChmsed+nyiTnnpmXtsDnuiS6ud1nwTN8ztxiRl
68wSIgcqrRVo/hodom2gaFKygXKqFyqaOi5iSLn8KgrNNLwt2ekvU+J2TY8f8Yv4
CnZOPpfEO20NUyGm0fstNx/1wvVWwCVXhk4hBN+s6tNJv2INItE=
=3e44
-----END PGP SIGNATURE-----

Binary file not shown.

Binary file not shown.

@ -0,0 +1,2 @@
EBUILD mogile-0.ebuild 180 BLAKE2B 437a74e6323fc20b2e356a00c63ed6d28528871efd86ac2a68413110299c4c969a08a414050a350735b753dc177d729a9470a20239b50f5afe1e004d3908dc38 SHA512 a5f8a330a8fd2bbbc9fde1c5aa80c7e6f5c62074607a0a2fa7b4222039e7c49f9c428e5829f1a9218c327610f9cd696ef52cfa569a0e1960113a72b5811e37ad
MISC metadata.xml 295 BLAKE2B 0055ed26a479f50fcee9d571fabe09579e03f49198c4ff68eaf384ecfbb4eebd06f17afbe1e5d5c84b6d8f17387ea5a68baf1e77044a96d46a93784fbb0a1769 SHA512 77c48a34b1d5fb39cdc7b1689385c80f3aa425669ec6854190c2318b5aa563ec2270326761b539ed6544758fab40dd0c93b7f9cb2e4b2e14661a06022ec7310a

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>robbat2@gentoo.org</email>
</maintainer>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
<email>perl@gentoo.org</email>
</maintainer>
</pkgmetadata>

@ -0,0 +1,9 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
DESCRIPTION="MogileFS group"
ACCT_GROUP_ID=231

Binary file not shown.

@ -0,0 +1,2 @@
EBUILD mogile-0.ebuild 248 BLAKE2B 005e3c1ba7f949fe13237176655bb5f7a9a39cae5e9d5f28ce6c905eb59af0ca0e02e3f8c628df7e035166b06771d0dfe3020df5c042d2e2829643c82c06c90c SHA512 f5847b5e4527d3288e7c59760eebab26927f85fd2668e6b8a6438170f5752bfc0a4fd8a83edbca1d7cb0cede2a307322e22bc6a2fb0ae7c0a77ecd3e0f85ff57
MISC metadata.xml 295 BLAKE2B 0055ed26a479f50fcee9d571fabe09579e03f49198c4ff68eaf384ecfbb4eebd06f17afbe1e5d5c84b6d8f17387ea5a68baf1e77044a96d46a93784fbb0a1769 SHA512 77c48a34b1d5fb39cdc7b1689385c80f3aa425669ec6854190c2318b5aa563ec2270326761b539ed6544758fab40dd0c93b7f9cb2e4b2e14661a06022ec7310a

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>robbat2@gentoo.org</email>
</maintainer>
<maintainer type="project">
<email>perl@gentoo.org</email>
</maintainer>
</pkgmetadata>

@ -0,0 +1,13 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
DESCRIPTION="MogileFS user"
ACCT_USER_ID=460
ACCT_USER_ENFORCE_ID=1
ACCT_USER_GROUPS=( mogile )
acct-user_add_deps

Binary file not shown.

@ -1,9 +1,6 @@
AUX speech-tools-2.1-gcc7.patch 612 BLAKE2B ded8216c1e7c49821fd1bd738f1c0d508afbd07115d98d3149d31eb402611c1dbe70c07d4885e82beef94bfdfe8a9261722eaf7ea43f3704cee27eb5055f7488 SHA512 6d4c9c43821f571b5fa8f476f740ee276b9a05dcb8a39cfc32f5b3a87548acf051a1abf75f3be5a8563b03c5302b9208ce894a5065899b0f43ba9d2ffe7a65db
AUX speech-tools-2.1-underlinking.patch 565 BLAKE2B 1be43841d09fe456874323a02d63253dae37dfe6f6969f7d9941c8a39d0ad9127e8fd1b87f5b6e59fcc505f2c9e2bc988b4f572ccbb01418d11ca0fda88b262d SHA512 4091b64da995f2f859f8debd7c6b7c20bf3a788c91d8aa7651f3c6f89445c9fc60b60923a3056de678ec17faee41839917131b9a3176e53c0afc11e24fe92e47
AUX speech-tools-2.5.0-fno-common.patch 1003 BLAKE2B 6b4dcdf205f2e986e659efda4d52c447b0183cc59146ec892b86d360f16fccab0a85667743c6e0f31a07f20983cce604d3202756c16eae4eff2eb88b1079407c SHA512 ae34fadda5f92dfade923af07222c1ed35b8b39bafc7604a86cebd7196888b2cf9a41fe2686e5210a556309a9c2e71076d22e3f56f1ccec0aca3d4a7bd18f3c1
DIST speech_tools-2.1-r3-patches.tar.gz 6876 BLAKE2B 84ddc30de90459f913cc32d4338097feb35dc08c48cbda7fc47a78ee0384668828d7166a5ebb1264272a6c326afd4ff2efdf1d793bb8f33937c09d2c7cd9a2b5 SHA512 db4d656a77e3fcfc43447c11b160cf9b45f0c4ec10f2697e4357f0ec86ea56e2841f1b887493a781406975003f5d8065ffbb75eeebb79fcd9873055b52c248e3
DIST speech_tools-2.1-release.tar.gz 1681999 BLAKE2B 572e7877e195c098dd2df03cda86fe58b7a55379cd01adcc22faf5e12b8c004e8c006b852cfe88c5c20df4a0e54e357b445050cdb63088edd55714a98e3eda90 SHA512 6ef9a7dd01ede152c4dafd0b2037312d62a79d875813d74ea048899a52eee505b93ffbabef9b6c0a1d15aeadb5508fd18a2f392e85276847fe071173aec5db96
DIST speech_tools-2.5.0-release.tar.gz 1328624 BLAKE2B 445dd5a5e39c02352a850fd92de5b3852ae382a4bd013dccb3fdd46b0b22ce0bd10d089f9e860ae3d3e73a489b20b7c8b78335e57a49e40ae01b0f4997d55315 SHA512 013540a5252efb57633f442143a51bc87aac719dfb46c8f47e750322d19dac9b504f55125462a2ee74a6b0bd2661a63a1fc73a8c3c6d2886e38b136a80447fd7
EBUILD speech-tools-2.1-r4.ebuild 3055 BLAKE2B 91ff2e524213950a0775e7db6933feef960594fd80847cf08849dcff0b71a1be89a74b0fe20c9944422d48abace3f8aa83e9a1bd150c7f36399521049a26dcd1 SHA512 4a89616b573de9bdbfad9bd952d29675edc9c1fca30b1a2870359bf7bea5e7e244a1cb4f1d9553c9d023c4589b5ccb5285d7847fe63cc2daeb6a9b32940baa96
EBUILD speech-tools-2.5.0.ebuild 3774 BLAKE2B 05ba61033b3cc1d62be2b19aa05890a7ff250b899e53df39a5a260b2a2264eeb96e779bd7e31a064836d70adb324b6296edce564b8aa90942b12c06df0ba7c28 SHA512 2f7608d4d48f54d499f0cfed95bf08d48ca40d01a9950090fa9f0c635d7c996a3bf1e8327c80bf5e8fe4f7322ae59cda815ac9b922824cb25f7d53bda72b192c
EBUILD speech-tools-2.5.0.ebuild 3772 BLAKE2B b7a494b2a9cf6e356271c8db84c52394657f9747f9eb84780928ffd5e5476ad66e839ffec8385dbd6a0f58a2a759f05a69bbe10e62ac4ddb10727189517c2ec0 SHA512 d6a809b62fbaaaf3b38e608c0274b516340d14c10f2092a2eb1d5ab7b0a450cfe9e7cf60786bd94ec0598545d024a41b7300e58f7fde78880d8be0f01591595c
MISC metadata.xml 482 BLAKE2B 2638ba066698967011156e0333f367bed8b4a6ffcf765afe64d976724264db09fa2dfb8c6a10f35e3bc298d0b1e9604f8081a74d130a7afbf4ddd019dfffab8b SHA512 1752986ddb186ab10d069dce7ee81c7d0077673a06682e15f4e66a5a87cb29ba4e126a2a627f5f43e388a1d180e243d5362cceae943b1f90b35f54c19de1d2ee

@ -1,20 +0,0 @@
--- a/siod/siod.cc
+++ b/siod/siod.cc
@@ -459,7 +459,7 @@ char **siod_variable_generator(char *text,int length)
matches = walloc(char *,siod_llength(lmatches)+1);
for (l=lmatches,i=0; l; l=cdr(l),i++)
matches[i] = wstrdup(PNAME(car(l)));
- matches[i] = '\0';
+ *matches[i] = '\0';
return matches;
}
@@ -498,7 +498,7 @@ char **siod_command_generator (char *text,int length)
matches = walloc(char *,siod_llength(lmatches)+1);
for (l=lmatches,i=0; l; l=cdr(l),i++)
matches[i] = wstrdup(PNAME(car(l)));
- matches[i] = '\0';
+ *matches[i] = '\0';
return matches;
}

@ -1,120 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils epatch flag-o-matic multilib toolchain-funcs
MY_P=${P/speech-/speech_}
PATCHSET="r3"
DESCRIPTION="Speech tools for Festival Text to Speech engine"
HOMEPAGE="http://www.cstr.ed.ac.uk/projects/speech_tools/"
SRC_URI="http://www.festvox.org/packed/festival/${PV}/${MY_P}-release.tar.gz
https://dev.gentoo.org/~neurogeek/${PN}/${MY_P}-${PATCHSET}-patches.tar.gz"
LICENSE="FESTIVAL HPND BSD rc regexp-UofT"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
IUSE="nas X"
RDEPEND="
nas? ( media-libs/nas )
X? ( x11-libs/libX11
x11-libs/libXt )
>=media-libs/alsa-lib-1.0.20-r1
!<app-accessibility/festival-1.96_beta
!sys-power/powerman
>=sys-libs/ncurses-5.6-r2:0=
"
DEPEND="${RDEPEND}
virtual/pkgconfig
"
S="${WORKDIR}/speech_tools"
src_prepare() {
EPATCH_SUFFIX="patch"
epatch
sed -i -e 's,{{HORRIBLELIBARCHKLUDGE}},"/usr/$(get_libdir)",' \
main/siod_main.cc || die
#WRT bug #309983
sed -i -e "s:\(GCC_SYSTEM_OPTIONS =\).*:\1:" \
"${S}"/config/systems/sparc_SunOS5.mak || die
# Fix underlinking, bug #493204
epatch "${FILESDIR}"/${PN}-2.1-underlinking.patch
# Fix gcc7 build failure, bug #634224
epatch "${FILESDIR}"/${PN}-2.1-gcc7.patch
}
src_configure() {
local CONFIG=config/config.in
sed -i -e 's/@COMPILERTYPE@/gcc42/' ${CONFIG} || die
if use nas; then
sed -i -e "s/#.*\(INCLUDE_MODULES += NAS_AUDIO\)/\1/" \
${CONFIG} || die
fi
if ! use X; then
sed -i -e "s/-lX11 -lXt//" config/modules/esd_audio.mak || die
fi
econf
}
src_compile() {
emake -j1 CC="$(tc-getCC)" CXX="$(tc-getCXX)" CXX_OTHER_FLAGS="${CXXFLAGS}" CC_OTHER_FLAGS="${CFLAGS}" \
LDFLAGS="${LDFLAGS}"
}
src_install() {
dolib.so lib/libest*.so*
dodoc "${S}"/README
dodoc "${S}"/lib/cstrutt.dtd
insinto /usr/share/doc/${PF}
doins -r lib/example_data
insinto /usr/share/speech-tools
doins -r config base_class
insinto /usr/share/speech-tools/lib
doins -r lib/siod
cd include || die
insinto /usr/include/speech-tools
doins -r *
dosym ../../include/speech-tools /usr/share/speech-tools/include
cd ../bin || die
for file in *; do
[ "${file}" = "Makefile" ] && continue
dobin ${file}
dstfile="${D}/usr/bin/${file}"
sed -i -e "s:${S}/testsuite/data:/usr/share/speech-tools/testsuite:g" \
${dstfile} || die
sed -i -e "s:${S}/bin:/usr/$(get_libdir)/speech-tools:g" \
${dstfile} || die
sed -i -e "s:${S}/main:/usr/$(get_libdir)/speech-tools:g" \
${dstfile} || die
# This just changes LD_LIBRARY_PATH
sed -i -e "s:${S}/lib:/usr/$(get_libdir):g" ${dstfile} || die
done
cd "${S}" || die
exeinto /usr/$(get_libdir)/speech-tools
for file in `find main -perm /111 -type f`; do
doexe ${file}
done
#Remove /usr/bin/resynth as it is broken. See bug #253556
rm "${D}/usr/bin/resynth" || die
# Remove bcat (only useful for testing on windows, see bug #418301).
rm "${D}/usr/bin/bcat" || die
rm "${D}/usr/$(get_libdir)/speech-tools/bcat" || die
}

@ -16,7 +16,7 @@ S="${WORKDIR}/speech_tools"
LICENSE="FESTIVAL HPND BSD rc regexp-UofT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ppc ppc64 sparc ~x86"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
IUSE="nas openmp X"
RDEPEND="

Binary file not shown.

@ -1,3 +1,3 @@
DIST gnome-abrt-1.3.6.tar.gz 112255 BLAKE2B d0e87ef5543e84c246f9e98aac8f92984af9e8220357359ffa76f91e00bb35ccb9b60a00c8e0b00d3464ecfc9ddffaeb61fb15b57480066d957a2af44b49c3be SHA512 7bd15c9956d2e4bafce7d1ef73e930f679119fe8ccebda8a27171a5b3b1dfa90255c572e3a0c70606fe389d50079870399b89f61f683896d4ca6380a7d3f7cc2
EBUILD gnome-abrt-1.3.6.ebuild 1158 BLAKE2B cad8b6ffd29eee5d8383512f316688cb6890e5d74c91413c7d44c076704e2422e5e7564e518f13577b48eb62a5b32c9f01df1c3fc3fc59e1d09ed729c6507aed SHA512 d035095657ef1449c146e87ef7b56836f180b2a4ecd33352343858a9d4cfa56fe91cec0254edc033d79998a4c78c37adadbc5930a76605cb92ebc6b7efbe199c
EBUILD gnome-abrt-1.3.6.ebuild 1161 BLAKE2B 2a8a3a444f592bed4ed15a2f2503814f4017d36de6dc9be0f16a9eb15f02507e86fc3727f654e1c7062321ee5b0695e6cd6b431ca9abfc47f608f902e24568b7 SHA512 ebf07063571c949d8ab39bd16dc742424e2239f856f9141ce29bc7ac94ee7552ecba8c7b7f467d6426be608091ef7a8fd0647ea243eeeb825d3aa76eb7fd42ea
MISC metadata.xml 333 BLAKE2B 1207865e26d4788f381ecb07b1c2d83cfa845ff4e3ccd6476d7c319ae14fcbce62ac5a0c868f60eba27a7451b577a33427b44ea2784bd63e5670f7d0971a47de SHA512 242ba1baed89b8710643a23de1ae61848cb3565696e11b1347696cdc16f14616827582031c7e94a2bf7614051af0f9f388cf4d5596373e50abf52ad393ba8c73

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -19,7 +19,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
>=x11-libs/gtk+-3.10.0:3
>=dev-libs/libreport-2.0.20[python,${PYTHON_USEDEP}]
>=dev-libs/libreport-2.0.20:0=[python,${PYTHON_USEDEP}]
>=app-admin/abrt-2.10.10-r1
>=dev-python/pygobject-3.29.1:3[${PYTHON_USEDEP}]
>=dev-python/pyxdg-0.19[${PYTHON_USEDEP}]

@ -1,4 +1,5 @@
AUX socklog-2.1.0-headers.patch 925 BLAKE2B f1f283e27a1e4e260e5c9313304090a9b62d8f0f4854be19e1fcfcb8af764346c650cb28e610779020ff7183d16d32a0e61745addcdcec52031057398b8d3d94 SHA512 d522a421a592813992646d9d2679b26c7c70a87645e06705ba212b26decd6f7dd969b4a35f54732b0b383783956c1b9ab2fc3cd402f6f5ff1a941ef1863c1419
AUX socklog-2.1.0-respect-ar-ranlib.patch 372 BLAKE2B 44d1c60100a6cc1a044cc7ab440ecb4d66f9bae8d0dae18a1e0e7b60848736439e9acf56dec6644e612ae7515749ca5b74b44a3dd86bdb33e12ff0dc50c41141 SHA512 862178c36bb87367436b59851bea30351c15cbef8c2a4d26b8a3d9cbb522eee3a4589add0b476d53f07869d0c7b833b6255727eda7430e02c9a37a7160167986
DIST socklog-2.1.0.tar.gz 56942 BLAKE2B 4f88044bb075dc8e503956f0ddf50fd4e748bf090e62acd34701e716d1dd34a639590b319b4377de06d3b0305d865652abd303210745e355ae67f5dff41cb895 SHA512 920ce5e661a6a3d970fa77ee3c228d48699ea03530be2b43b7517458b25e31a0a7f352ece2d076c715b6d34dbb26b424b48eb0f55b9bcd0355b74d3e34c77ac7
EBUILD socklog-2.1.0.ebuild 887 BLAKE2B aedc1324c4e6f4d668d209bfaeb06f78cf9fe1559b94ca9a00a7455444a9ca40b0726b906496d33ad007dcb5580bba8b251997bf3a321c46bff1d97c829b6f27 SHA512 eea0c954eaaf06931a9e237f2997abc2748e37f52b9afa2362b13b3ec282c1432261c3838c22741b0902dc524667e10a39c63497b30cf29406cae3407405980b
EBUILD socklog-2.1.0.ebuild 968 BLAKE2B 746e36953d4a23ab2c1611c047ced05d503a2e7af12b7720d8b4bfa688ddc5e28ad078a791295b59db8f3dc7a210fff3bc4b3050a8f0bd2ce72863ff5bb88fe3 SHA512 d3a71cb40d570ffe4c992a2fd17716d2e658483447f5d17d5fe7234bb1163314a47377aeab023aa8a77ec8dfbd4bf570df30ce642ae27bf7cc2d193b8e165692
MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555

@ -0,0 +1,18 @@
--- a/print-ar.sh
+++ b/print-ar.sh
@@ -1,7 +1,7 @@
cat warn-auto.sh
echo 'main="$1"; shift'
echo 'rm -f "$main"'
-echo 'ar cr "$main" ${1+"$@"}'
+echo '${AR} cr "$main" ${1+"$@"}'
case "`cat systype`" in
sunos-5.*) ;;
unix_sv*) ;;
@@ -10,5 +10,5 @@
dgux-*) ;;
hp-ux-*) ;;
sco*) ;;
- *) echo 'ranlib "$main"' ;;
+ *) echo '${RANLIB} "$main"' ;;
esac

@ -1,13 +1,14 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit flag-o-matic toolchain-funcs
DESCRIPTION="Small secure replacement for syslogd with automatic log rotation"
HOMEPAGE="http://smarden.org/socklog/"
SRC_URI="http://smarden.org/socklog/${P}.tar.gz"
S="${WORKDIR}/admin/${P}/src"
LICENSE="BSD"
SLOT="0"
@ -16,15 +17,16 @@ IUSE="static"
RDEPEND=">=sys-process/runit-1.4.0"
PATCHES=( "${FILESDIR}"/${PN}-2.1.0-headers.patch )
PATCHES=(
"${FILESDIR}"/${PN}-2.1.0-headers.patch
"${FILESDIR}"/${PN}-2.1.0-respect-ar-ranlib.patch
)
S=${WORKDIR}/admin/${P}/src
src_prepare() {
default
src_configure() {
use static && append-ldflags -static
echo "$(tc-getCC) ${CFLAGS} ${CPPFLAGS}" > conf-cc || die
echo "$(tc-getCC) ${CFLAGS} ${LDFLAGS}" > conf-ld || die
tc-export AR RANLIB
}
src_install() {
@ -33,6 +35,8 @@ src_install() {
cd .. || die
dodoc package/CHANGES
dohtml doc/*.html
docinto html
dodoc doc/*.html
doman man/*
}

Binary file not shown.

@ -1,3 +1,4 @@
AUX kfoldersync-3.4.1-kwindowsystem-5.82.patch 795 BLAKE2B 3d570880a72687e2add10742c2fb95683736c2dbe912e88f2ca1dca5520b78a9a1aa5cda7922df04723110b0a779513eff1e979aa933402a3ee5266e51583562 SHA512 a95ae41a7dfd46d6f3c864e73a2403ee07e8e321759b0d1034c4d62324bced9801d462e2b43a7d4f444bde776580f40731b07f023bdedf9364651bc036be8e63
DIST kfoldersync-3.4.1.tar.xz 49308 BLAKE2B b2d928d7b4111d69f9fdf28efcddb72da715b6bc143d94cc6d37fd8e5888f5ebd70d11e57a1cdce046ced7f55b6ba4a3da9d64947928d60ddb560b593af9a996 SHA512 b51c005942f0627f8ab3428e860c5f336df0282fd3dc184cac6897755a740ca873241e63828b1af7704b373e0a92de1a4bd9dbe8db3b7a35fbbafc2a509603d0
EBUILD kfoldersync-3.4.1.ebuild 962 BLAKE2B 3beb77087a0ff57f27aa0287cdc5adbafa7fb221fd6950516708276d98b8a8a6ce48bb72fc3de862fdc6355d910f1f303f006557ddb811b5bd8e5bbcfc901f5c SHA512 229d62df5c4f0357d834523ff63b52f966d6d2c65e1a052a1fdf96b21e5febe26122936f2cf5acd608ff4ee390be8965dacf59fd451f4535e6c6fd9abdfbbfd7
EBUILD kfoldersync-3.4.1.ebuild 1038 BLAKE2B d6a69e9680c7dff233d46148b83bfaf3173eb9224d22ca75d20b22ca9cf31c9226a779322a9b430eb1788fd24a69c107b8c8cbb1608b0cfb643700bf06ab4859 SHA512 ea7415f6d04de1b27f27ec14adaaf6d3decad37cdd9912f5667dce5fe8d9015236e36cfb87bb917ed7b286c0910b3f0658a6b6a9dcdcbb7cec2ab44080e52405
MISC metadata.xml 521 BLAKE2B c1b348ed6b4d0ec451a6da0508000c2f67a56f41e7c85c80535fdcd87e7fcc16b91efa957052e82f4cde5e44a5147410b0c5a7b22a51a09a893d6eb887682de2 SHA512 23ce04633c404da4e581a1931230ccff3069093280a0e049b2612f881005296c358f4c01d8ab9fcc344a176d143b9dbd87b5218204a7eace67fc2ea55f8b7d61

@ -0,0 +1,11 @@
--- a/src/kfoldersync.cxx 2017-01-24 10:27:17.000000000 +0100
+++ b/src/kfoldersync.cxx 2021-05-08 23:52:28.891166974 +0200
@@ -173,7 +173,7 @@
{
// Connect to dbus (keep it without parent to avoid potential SIGABRT)
static const KDBusService dbus_service(KDBusService::Unique);
- connect(&dbus_service, &KDBusService::activateRequested, this, [&]{KStartupInfo::setNewStartupId(this, KStartupInfo::startupId()); KWindowSystem::forceActiveWindow(winId());}, Qt::DirectConnection);
+ connect(&dbus_service, &KDBusService::activateRequested, this, [&]{KStartupInfo::setNewStartupId(this->window()->windowHandle(), KStartupInfo::startupId()); KWindowSystem::forceActiveWindow(winId());}, Qt::DirectConnection);
// Setup toolbar
QMenu * const app_menu = new QMenu(this);

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -34,3 +34,5 @@ DEPEND="
>=kde-frameworks/kxmlgui-${KFMIN}:5
"
RDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}/${P}-kwindowsystem-5.82.patch" ) # downstream patch

Binary file not shown.

@ -1,5 +1,5 @@
AUX brasero-3.12.2-tracker3.patch 8745 BLAKE2B a3ca65c2354bc87f7d9c9bd4ec2dce06f7a97208193a48674ffb60ace244528e9f45e25b15c768af9cf5b002db549d058433eb069ad13cee2d1a2e76afee9b69 SHA512 0595dda2259c8a1a4b005ac6d8886a1b9333102df61a24cbaf61895160395374abcb2391e487b6e98eaa441fcc3164187c451edb6ddc0c19cb1b7d12658aff1b
DIST brasero-3.12.2.tar.xz 3742120 BLAKE2B 42cc60d3f4e26e948321c34f2514172aeac5a1b2624e6b23f27cc9725efd5cf0844a54175161b4c94601bbd5c4a6f18ccdd62353e862eddaab17e0d164f4694c SHA512 14886e772123f179f79d3172b59e21ced990fd8834cd27e8717eb635a75163c44c1d5084818b53da559a0c2ef25e7c0da4a3a7d3781e2ea74b59cfe98987384f
EBUILD brasero-3.12.2-r2.ebuild 2092 BLAKE2B 1c0dbb77b9eb0119c82e7617966053f0e9970c356b7e395eab70c9081c94f2e7f4b0d6f44188aa804ee0371b9cec4eb5008685f3fb72162b8654cbccde71ce55 SHA512 dfe209442fbf441d96c252cdb4a81bc76fb41144c07f307aa49fe271593dd90f77ac0abe81521f448692342e9cc16eaf8e30554e640460aa80cc1f44385ad16d
EBUILD brasero-3.12.2-r3.ebuild 2164 BLAKE2B fe1ec87a46cb98f9076de2a741f9ced7baaf055dccbc3da30959f470a9598bd41e37531596970b91e1274db987e8858316cf5ea49722211dc6b7ed9090f649a0 SHA512 af9449847b0e724983e188cab93b396114d3a842005b6ac497e8d8f61320c28f2d4fe414d1040ba26ece8f9fbd0f7f103b1303f6d5ffea0622be35b679387835
EBUILD brasero-3.12.2-r3.ebuild 2081 BLAKE2B 46a30a1de3e7a2c79a8d9bca5518a3b3e207bb186c85bffe4d6b4e0ae8c7bc6f0d50d9d386aec8f8d4470ffe3f3be255d1e98f2e9863bfa1f4ab8ec38570192b SHA512 bcd90407bbf8a95300a2a1fc8cfd9ffe9416ccaf7421f457c8166aa1cf6bf72ed232c7c63a72ca7cb376838f1a09a31335a4d2823dbb39b2d484171dfbe283ea
MISC metadata.xml 746 BLAKE2B cc74b666873593a356e42643f62e16a4919441f08ce9645e367ce5f52b6b3c3d0a2bd1a5bc64b49348239b04c7543a66993926d216a7ada19f2129417106e1dd SHA512 9824ae80fa067cedf46aa47f83d481b18704b94af6258657eb099bde328abae196b8f86ce7e92a800fea6b657b5a774afc37888fb92b560fda1403d8adf06c7d

@ -12,11 +12,11 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Brasero"
LICENSE="GPL-2+ CC-BY-SA-3.0"
SLOT="0/3.1" # subslot is 3.suffix of libbrasero-burn3
IUSE="+css +introspection +libburn mp3 nautilus packagekit playlist test tracker"
IUSE="+css +introspection +libburn mp3 nautilus playlist test tracker"
RESTRICT="!test? ( test )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
COMMON_DEPEND="
DEPEND="
>=dev-libs/glib-2.29.14:2
>=x11-libs/gtk+-3:3[introspection?]
media-libs/gstreamer:1.0
@ -36,7 +36,7 @@ COMMON_DEPEND="
playlist? ( >=dev-libs/totem-pl-parser-2.29.1:= )
tracker? ( app-misc/tracker:3= )
"
RDEPEND="${COMMON_DEPEND}
RDEPEND="${DEPEND}
media-libs/gst-plugins-good:1.0
media-plugins/gst-plugins-meta:1.0[mp3?]
x11-themes/hicolor-icon-theme
@ -46,9 +46,8 @@ RDEPEND="${COMMON_DEPEND}
app-cdr/cdrtools
app-cdr/dvd+rw-tools
)
packagekit? ( app-admin/packagekit-base )
"
DEPEND="${COMMON_DEPEND}
BDEPEND="
>=dev-util/intltool-0.50
dev-util/itstool
>=dev-util/gtk-doc-am-1.12

Binary file not shown.

@ -2,7 +2,7 @@ DIST certbot-1.13.0.tar.gz 1426058 BLAKE2B 661aeb430e468a46362c537efd253bb581c7e
DIST certbot-1.14.0.tar.gz 1415709 BLAKE2B db06b380f70eb6e674d935870582489a722fb8b38fba7535a642200dd6a9d036f55742286129266556f6313e232b2a45003b17f7c34e5f7087b6ab14261a8132 SHA512 39ae44374cdbac11c544d4d3194debf4f98c8d8459138a650ab276f59c84e8c8d738bdc056d444506a326280c1f9fb84356a9a8f4fa6a138d701bdf792b817e5
DIST certbot-1.15.0.tar.gz 1379695 BLAKE2B 002fe05d7ba0bdcb142b57ef2ce6cae4d3e69603f253af6be6e8381311e4962a4c51ef0212d1dfc151af5b40a27a13c22bfff261dead5f8c5bc0ade7f595ca28 SHA512 373447e150974cb1d72cb4eaffe6a8563ce7a43cdd84286bd11dab69d83f52f2736b6538cf5d38c10f7af838437124da9f2de71b6819fcf9347230df05df8259
EBUILD acme-1.13.0.ebuild 1679 BLAKE2B ff4806292419911de014008dc51d250464f90368325db9a0cd73b6ba2881c6f60563fd7831d999ffba75772cbfa24af517d9fa52556f260f13c5855400d635bf SHA512 fbdc63af62a50e9ca6f98ed17b1b1be58a0a206b4e0940557b592f715a3d8bb81c6432132623e497e94806d595d4e71f0a660512c8ee23bd15b84088a62821cf
EBUILD acme-1.14.0.ebuild 1681 BLAKE2B 99d1e35c97f0a33d8d9efc1d0ba4b6d3d83b8e86eaf0cb999ed1d85017e56e4ce6a11184632877eaaf9c66042782cd9041e5530276757169c0f1541fda8fb926 SHA512 3d77ea011b3a5a170987be3d50b652d88e5c9ced6241a52c523b75fc5a4f75ae954b4bb72df047697aa3f4d6fc06ea5fdfa6341ee4ab2811e6fe0cf3ad6200cb
EBUILD acme-1.14.0.ebuild 1679 BLAKE2B 64e0de8b2918b8646553f73125ee0fb9b50b0214281f650dbbd9c4aa5dd626fa11a3e15733825c492c321ee94a1af2ebb3d9389baf7ec06f66437065472f8913 SHA512 4e76ab6eb91592eb0cc43786df06b78ab3f7ac3e1ca8d4039feb9dc3583c6ecb562302bcbbb8d83a9443180c91c9b987db751cbd6f903f76605f41b82f895f93
EBUILD acme-1.15.0.ebuild 1681 BLAKE2B b3ede9a67c5e6462e623921bc02190a909c2b22d712c527a9de590af5892fc4770d9d3bd1174a0f0f1fcb054a93fdb88862b315260b74aae3755f666d1d91cfa SHA512 61652a5c834a08bcfe9aa806a985c25c9845022db1d458b7e8d77629a483269e41e583cfff536097bde43ad02a021be3652c5a73eda0f4661aa206aaff800eda
EBUILD acme-9999.ebuild 1681 BLAKE2B b3ede9a67c5e6462e623921bc02190a909c2b22d712c527a9de590af5892fc4770d9d3bd1174a0f0f1fcb054a93fdb88862b315260b74aae3755f666d1d91cfa SHA512 61652a5c834a08bcfe9aa806a985c25c9845022db1d458b7e8d77629a483269e41e583cfff536097bde43ad02a021be3652c5a73eda0f4661aa206aaff800eda
MISC metadata.xml 400 BLAKE2B a09af005ab6b00b9eb6e9252814273c932609e4dd6020c2289f5dafc8aa3e6bcb9696dc887767f29271af4a93fae73116f688937613ff9a340d5747a801097e5 SHA512 92c877fdfd16f55997573f2719eed9a9609fe34baff4c8b09bdb500c9eaf3e2bd3536e60127f171a92c4a1b8d9446e00208856754758c21779a8bbd137c3fab7

@ -11,7 +11,7 @@ if [[ ${PV} == 9999* ]]; then
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
S=${WORKDIR}/certbot-${PV}/acme
fi

@ -2,7 +2,7 @@ DIST certbot-1.13.0.tar.gz 1426058 BLAKE2B 661aeb430e468a46362c537efd253bb581c7e
DIST certbot-1.14.0.tar.gz 1415709 BLAKE2B db06b380f70eb6e674d935870582489a722fb8b38fba7535a642200dd6a9d036f55742286129266556f6313e232b2a45003b17f7c34e5f7087b6ab14261a8132 SHA512 39ae44374cdbac11c544d4d3194debf4f98c8d8459138a650ab276f59c84e8c8d738bdc056d444506a326280c1f9fb84356a9a8f4fa6a138d701bdf792b817e5
DIST certbot-1.15.0.tar.gz 1379695 BLAKE2B 002fe05d7ba0bdcb142b57ef2ce6cae4d3e69603f253af6be6e8381311e4962a4c51ef0212d1dfc151af5b40a27a13c22bfff261dead5f8c5bc0ade7f595ca28 SHA512 373447e150974cb1d72cb4eaffe6a8563ce7a43cdd84286bd11dab69d83f52f2736b6538cf5d38c10f7af838437124da9f2de71b6819fcf9347230df05df8259
EBUILD certbot-apache-1.13.0.ebuild 916 BLAKE2B 4f18cd312b4ffec9ceaa76506f41a9c444bc633683aad355040042bb15685c8ea2f3ccf65cdd6956187e28bd86615e4a2e246f989af9761acce44d1cad3f6ae7 SHA512 a3d47c298d4561c7d87e261f054880a7bdc59dd9f09566696fe9f77e261238fddfd510069eac5511507dc53d49f6d214770fb9f701abfddd0ab233d0562e2ffb
EBUILD certbot-apache-1.14.0.ebuild 918 BLAKE2B 27d7ede9a9f1e9617833c483492277ccb0fab3715072b826134de1d460701fe5e99f69450d2ad54be818040f7f9315585b454188fb99eea55737e7128e496a9d SHA512 ecc7e71a5e4655d5e6ef3d79099130a30f8be29dc041e3e273c8e22599e8f70b36f32572f3d36b35894e095f55cb11cabf9a654bd315c0622e4edb5c29249294
EBUILD certbot-apache-1.14.0.ebuild 916 BLAKE2B 4f18cd312b4ffec9ceaa76506f41a9c444bc633683aad355040042bb15685c8ea2f3ccf65cdd6956187e28bd86615e4a2e246f989af9761acce44d1cad3f6ae7 SHA512 a3d47c298d4561c7d87e261f054880a7bdc59dd9f09566696fe9f77e261238fddfd510069eac5511507dc53d49f6d214770fb9f701abfddd0ab233d0562e2ffb
EBUILD certbot-apache-1.15.0.ebuild 918 BLAKE2B 27d7ede9a9f1e9617833c483492277ccb0fab3715072b826134de1d460701fe5e99f69450d2ad54be818040f7f9315585b454188fb99eea55737e7128e496a9d SHA512 ecc7e71a5e4655d5e6ef3d79099130a30f8be29dc041e3e273c8e22599e8f70b36f32572f3d36b35894e095f55cb11cabf9a654bd315c0622e4edb5c29249294
EBUILD certbot-apache-9999.ebuild 918 BLAKE2B 27d7ede9a9f1e9617833c483492277ccb0fab3715072b826134de1d460701fe5e99f69450d2ad54be818040f7f9315585b454188fb99eea55737e7128e496a9d SHA512 ecc7e71a5e4655d5e6ef3d79099130a30f8be29dc041e3e273c8e22599e8f70b36f32572f3d36b35894e095f55cb11cabf9a654bd315c0622e4edb5c29249294
MISC metadata.xml 358 BLAKE2B c94560461dda9d2d671208dd9a7e25586f86fe262bb06303a2a5e7f6f717d6936abe8c16dc6c7308aed4f8d11d4d5ae69969367b14d5bcfe838f60fc8b583642 SHA512 04670ec371be696e3da0328059ac4a336995a230823b10b6e5073fdb780ad1b873d510f31ec6c324b82562c0cfc86bfd3cbd797ef577fba7dccfe50c496627f7

@ -11,7 +11,7 @@ if [[ ${PV} == 9999* ]]; then
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/${PN%-apache}/${PN%-apache}/archive/v${PV}.tar.gz -> ${PN%-apache}-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86"
KEYWORDS="amd64 ~arm64 x86"
S=${WORKDIR}/${PN%-apache}-${PV}/${PN}
fi

@ -2,7 +2,7 @@ DIST certbot-1.13.0.tar.gz 1426058 BLAKE2B 661aeb430e468a46362c537efd253bb581c7e
DIST certbot-1.14.0.tar.gz 1415709 BLAKE2B db06b380f70eb6e674d935870582489a722fb8b38fba7535a642200dd6a9d036f55742286129266556f6313e232b2a45003b17f7c34e5f7087b6ab14261a8132 SHA512 39ae44374cdbac11c544d4d3194debf4f98c8d8459138a650ab276f59c84e8c8d738bdc056d444506a326280c1f9fb84356a9a8f4fa6a138d701bdf792b817e5
DIST certbot-1.15.0.tar.gz 1379695 BLAKE2B 002fe05d7ba0bdcb142b57ef2ce6cae4d3e69603f253af6be6e8381311e4962a4c51ef0212d1dfc151af5b40a27a13c22bfff261dead5f8c5bc0ade7f595ca28 SHA512 373447e150974cb1d72cb4eaffe6a8563ce7a43cdd84286bd11dab69d83f52f2736b6538cf5d38c10f7af838437124da9f2de71b6819fcf9347230df05df8259
EBUILD certbot-nginx-1.13.0.ebuild 933 BLAKE2B b64ce9678fdf0d6a7cb66c4f8270764d04726c9942aff1288cb278af75dd53fc0b9dc5790146458d0187c2d24c5d87643bfad7befca642178f3c97d927268c6c SHA512 8b149b8dbb4938d826a06bdda5bd526a7abd3afd3123148496220e620058717e754345dc9326a96ff83c02d5570d0803fd59154cfce9c4892bf11688c60c0d0b
EBUILD certbot-nginx-1.14.0.ebuild 935 BLAKE2B 1eed182016c7f44b8ed6339e2adcfad6789663f04dcbbfd76239ac0b43a84388c05f3e73af0b7a76d2cd25710ea8f260a93022e1e81efc55d4c039b144fa469c SHA512 9199c62a00c96c4e839774a78e4a7477e95621574a78415110755ad5e856ad5ecabe957cf1c19a2c263e03bf265724f224c31ee7a43cd2cc00561e1a57de7340
EBUILD certbot-nginx-1.14.0.ebuild 933 BLAKE2B b64ce9678fdf0d6a7cb66c4f8270764d04726c9942aff1288cb278af75dd53fc0b9dc5790146458d0187c2d24c5d87643bfad7befca642178f3c97d927268c6c SHA512 8b149b8dbb4938d826a06bdda5bd526a7abd3afd3123148496220e620058717e754345dc9326a96ff83c02d5570d0803fd59154cfce9c4892bf11688c60c0d0b
EBUILD certbot-nginx-1.15.0.ebuild 935 BLAKE2B 1eed182016c7f44b8ed6339e2adcfad6789663f04dcbbfd76239ac0b43a84388c05f3e73af0b7a76d2cd25710ea8f260a93022e1e81efc55d4c039b144fa469c SHA512 9199c62a00c96c4e839774a78e4a7477e95621574a78415110755ad5e856ad5ecabe957cf1c19a2c263e03bf265724f224c31ee7a43cd2cc00561e1a57de7340
EBUILD certbot-nginx-9999.ebuild 935 BLAKE2B 1eed182016c7f44b8ed6339e2adcfad6789663f04dcbbfd76239ac0b43a84388c05f3e73af0b7a76d2cd25710ea8f260a93022e1e81efc55d4c039b144fa469c SHA512 9199c62a00c96c4e839774a78e4a7477e95621574a78415110755ad5e856ad5ecabe957cf1c19a2c263e03bf265724f224c31ee7a43cd2cc00561e1a57de7340
MISC metadata.xml 334 BLAKE2B e7b28e7d3e7c6fdce0c5120b29fbf5aa607408e2add6c0ad42e921fb1add9def38c6cb191129a5a6e1f0e3ea119caa6cdc74955b572e5d2c6f854d0b7c7c521a SHA512 a24ccf633fc9c2670dcd35801d95bd8ca0f4ea4d3d53b6651f2e8e3e280b95ec8a464d99f5423942c14b0777ae4551f46c1ff285caea460bc91cbc417a7a5b70

@ -11,7 +11,7 @@ if [[ ${PV} == 9999* ]]; then
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/${PN%-nginx}/${PN%-nginx}/archive/v${PV}.tar.gz -> ${PN%-nginx}-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
KEYWORDS="amd64 ~arm ~arm64 x86"
S=${WORKDIR}/${PN%-nginx}-${PV}/${PN}
fi

@ -2,7 +2,7 @@ DIST certbot-1.13.0.tar.gz 1426058 BLAKE2B 661aeb430e468a46362c537efd253bb581c7e
DIST certbot-1.14.0.tar.gz 1415709 BLAKE2B db06b380f70eb6e674d935870582489a722fb8b38fba7535a642200dd6a9d036f55742286129266556f6313e232b2a45003b17f7c34e5f7087b6ab14261a8132 SHA512 39ae44374cdbac11c544d4d3194debf4f98c8d8459138a650ab276f59c84e8c8d738bdc056d444506a326280c1f9fb84356a9a8f4fa6a138d701bdf792b817e5
DIST certbot-1.15.0.tar.gz 1379695 BLAKE2B 002fe05d7ba0bdcb142b57ef2ce6cae4d3e69603f253af6be6e8381311e4962a4c51ef0212d1dfc151af5b40a27a13c22bfff261dead5f8c5bc0ade7f595ca28 SHA512 373447e150974cb1d72cb4eaffe6a8563ce7a43cdd84286bd11dab69d83f52f2736b6538cf5d38c10f7af838437124da9f2de71b6819fcf9347230df05df8259
EBUILD certbot-1.13.0.ebuild 1150 BLAKE2B 7a15d3853c2820587c808cca3817262417220af4433930273b8acf79ffc71a133fe6f70d26a068e1c0b138ad0f1b4a310f3f7373e636c1a15704c7dca6a7dbc0 SHA512 1062c0d646822f8179a5b054d2ccacbb29b0c2ca3b7d0ae4481a02133baa3752d9c6d2f4a56282e634ec58b1691001fe490e0b3b21e6e0c41d639d3b69097d6e
EBUILD certbot-1.14.0.ebuild 1152 BLAKE2B 427c31271d42843567d0d985b66079a85854a596e8da91142634bfc160e0b2e3fcf78af602a53bb3e9643d5c80068d37269f79e25e1b1fbdb8752f9dfb7c507b SHA512 3e32d7ad4e129d87d05d84365aab483bf7715eb10a730b1e195495461ac03d1cada5705f0c68477b56621761431dbdd3989e81929f99f453d91734de74075aea
EBUILD certbot-1.14.0.ebuild 1150 BLAKE2B 7a15d3853c2820587c808cca3817262417220af4433930273b8acf79ffc71a133fe6f70d26a068e1c0b138ad0f1b4a310f3f7373e636c1a15704c7dca6a7dbc0 SHA512 1062c0d646822f8179a5b054d2ccacbb29b0c2ca3b7d0ae4481a02133baa3752d9c6d2f4a56282e634ec58b1691001fe490e0b3b21e6e0c41d639d3b69097d6e
EBUILD certbot-1.15.0.ebuild 1152 BLAKE2B 427c31271d42843567d0d985b66079a85854a596e8da91142634bfc160e0b2e3fcf78af602a53bb3e9643d5c80068d37269f79e25e1b1fbdb8752f9dfb7c507b SHA512 3e32d7ad4e129d87d05d84365aab483bf7715eb10a730b1e195495461ac03d1cada5705f0c68477b56621761431dbdd3989e81929f99f453d91734de74075aea
EBUILD certbot-9999.ebuild 1152 BLAKE2B 427c31271d42843567d0d985b66079a85854a596e8da91142634bfc160e0b2e3fcf78af602a53bb3e9643d5c80068d37269f79e25e1b1fbdb8752f9dfb7c507b SHA512 3e32d7ad4e129d87d05d84365aab483bf7715eb10a730b1e195495461ac03d1cada5705f0c68477b56621761431dbdd3989e81929f99f453d91734de74075aea
MISC metadata.xml 358 BLAKE2B c94560461dda9d2d671208dd9a7e25586f86fe262bb06303a2a5e7f6f717d6936abe8c16dc6c7308aed4f8d11d4d5ae69969367b14d5bcfe838f60fc8b583642 SHA512 04670ec371be696e3da0328059ac4a336995a230823b10b6e5073fdb780ad1b873d510f31ec6c324b82562c0cfc86bfd3cbd797ef577fba7dccfe50c496627f7

@ -10,7 +10,7 @@ if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
fi
S=${WORKDIR}/${P}/${PN}

Binary file not shown.

@ -1,3 +1,3 @@
DIST vile-9.8t.tgz 2352119 BLAKE2B fc1c75eba09e8be99945ba0d178fd150576d8108f906afb20dba265adaee9e5bea4869415d3ebceabf0b6b56c147add79e9c7e4fe34d7f4744930c3728e4a4a4 SHA512 4be4e37c7231395cae9236796073c2c3e428f1945283785a931c5d4cce94e0f970efa6634b0f9053679a00f4b4577704ea38ded2129e444b26ee9935a1c3d229
EBUILD vile-9.8t.ebuild 921 BLAKE2B 673d5ff4ccdabf5a4f4bdd3d31bb23dc84fb80af53b35b7c8b8a5d9564104874975a48ab3867ab01898e069f21cfb946d2906cbd9baee400abee37dcba3c4d2e SHA512 51e426b58461b8abb10bc6615cb88822f9d512697ed67778f2f336b78686abbcee2cdd4c0a76632a7f0b5e41ee8e371dfdc4c0c02d0c4c4ae78171d98a32ead5
MISC metadata.xml 249 BLAKE2B 7ae6eac3ca23edbcbaa6aee682bb4aec155e3166f169eef8e4400e59fa56113ecc3593680d55cc57f08a4a718963dd3d0bb804bd1e8771ed60a4bebaae9db281 SHA512 4051dd059d975d2e1799125f7defbf5a62a168241d8b83d83710592efd60808800951c4fd6da1294044d7e7ec6b757b8d50593fd076696f826dec761e99645c7
MISC metadata.xml 346 BLAKE2B aa1d8324ae0a63097138e7e87ed1c43fd6cf76eab1a2e33645f788691f9b96595e6edfb40a5560ac5e5ec4ca36d0dd972a444ebf9c3cf800344d7137d7d526f8 SHA512 5e073e0fa1ed8d705cbb1cf8f750c61a46692dc6914d6ebb8fc3281d8bd4d206fe17b544bcb3e05033296de8a4a4f34189deef26800521a22d04be275089e084

@ -5,4 +5,7 @@
<email>vim@gentoo.org</email>
<name>Gentoo Vim Project</name>
</maintainer>
<upstream>
<changelog>https://invisible-island.net/vile/CHANGES.html</changelog>
</upstream>
</pkgmetadata>

@ -1,3 +1,3 @@
DIST vile-9.8t.tgz 2352119 BLAKE2B fc1c75eba09e8be99945ba0d178fd150576d8108f906afb20dba265adaee9e5bea4869415d3ebceabf0b6b56c147add79e9c7e4fe34d7f4744930c3728e4a4a4 SHA512 4be4e37c7231395cae9236796073c2c3e428f1945283785a931c5d4cce94e0f970efa6634b0f9053679a00f4b4577704ea38ded2129e444b26ee9935a1c3d229
EBUILD xvile-9.8t.ebuild 862 BLAKE2B a4e91bf79dac14018df1d79004375a608eb98afb407acacea681ae9887af065688aabb82cb6b4a7bcae3d2d3bfa59a70a5a707504be8a4e5f5a0acf7b783baf5 SHA512 7bd7b12aba51c326a76155d411d652b2f397c11032cdf1f45365516b41e260f7997f1a7e3fd7574181f54fd57770ba2381277f3732e821136551294c1b5af666
MISC metadata.xml 245 BLAKE2B d4f5ef381d0a479a17bfde792cd6828e5fa0ecdd26732c1a13c97fcae2f22396b879fb430aaea7680920d5ba897f78cfbb6e50bb2f65165613a5a0ba1f7dc609 SHA512 6d6d35ccbb839c939bc663cecb55e2178f5fd4e455ee3088b8847416d558dd3e7969f4c78bc445ff29503d6906fec12d302d7249e9adc8cb708d0790e681e5a2
MISC metadata.xml 346 BLAKE2B aa1d8324ae0a63097138e7e87ed1c43fd6cf76eab1a2e33645f788691f9b96595e6edfb40a5560ac5e5ec4ca36d0dd972a444ebf9c3cf800344d7137d7d526f8 SHA512 5e073e0fa1ed8d705cbb1cf8f750c61a46692dc6914d6ebb8fc3281d8bd4d206fe17b544bcb3e05033296de8a4a4f34189deef26800521a22d04be275089e084

@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>vim@gentoo.org</email>
<name>Gentoo Vim Project</name>
</maintainer>
<maintainer type="project">
<email>vim@gentoo.org</email>
<name>Gentoo Vim Project</name>
</maintainer>
<upstream>
<changelog>https://invisible-island.net/vile/CHANGES.html</changelog>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -1,5 +1,6 @@
AUX lxc-2.0.5-omit-sysconfig.patch 259 BLAKE2B 977e151fbb8c9d98e89aaa5ee0426e64ab4286b4440af1582086a0ced8c6568efb470ccf68786da6ea52c82d1f4e81feac45bec411febc04fc31d108f05ccde2 SHA512 0aed9aca687accc6df79e97f48ab333043256e8ae68c8643f2b2452cc8013191238867d64ec71f7d399c59a43d3ba698b35d965090c5cb149b4f41302432e6e7
AUX lxc-3.0.0-bash-completion.patch 915 BLAKE2B 8bb879e391cec349d211b47d321c64ea091c8475ac9a8c4adfb45918c044f6c49d9b9bce546082907d696f697baf0870893c4427abeafa496db89f99190cd091 SHA512 2f3728fcf5e88eecc1ae05bf038ef83baa375194c5bef0d0ef68feaf4d8092cdd8efef6b3c27207c4abd28b085f087af517242c65747b47d0a8fa840f6b9d279
AUX lxc-4.0.9-handle-kernels-with-CAP_SETFCAP.patch 3529 BLAKE2B 6a9ac29e1c38643383df135981a3893e8bea631af85271499f687614a3c779d5a2adfee7d20ca3eca5358ac8b123ee1c969af9d41b1d5bc85749a91937f1845d SHA512 62640563ec638b9a2c9e66c533a604585d8289b7f71362b70fb1110ec2e840b68758cc217b1953d181cd34e1b8881bb24ff7fca6d2c3145ac2b973d157d1a979
AUX lxc.initd.8 3669 BLAKE2B 50d41e0923ba26b9653ca3b5b559dd0905e61ec81969e709650fe7f1b26a4dcdc17158b7e449d666e2103047d9f196e53df8beca15fffd529fa8e743de97bd82 SHA512 1182b53a65399746f6d6bced0df5c1fde09c1ede4a28bfe95b5ed0bbd969d6f6423f63021d4b6f1dc62c7b2703f6963c03d881291650bdf21cfcf8432586c1b4
AUX lxc_at.service.4.0.0 284 BLAKE2B 1adc76b9861f2499b7b703f7076782a258f9b21a3d1e32b69334f753faca9ecd8c6fb2a03baf04698e765f079e73ee683434d8c7c6d3b3082427a6af74ab33b1 SHA512 4c2f9846ca60bb78df7e652309900c0e788b45d569f268a9e5b98842518542b35fce253e2aedeb0eded3d37274390988ef887b01d1d37859ccddf6225286b4bb
DIST lxc-4.0.6.tar.gz 1363162 BLAKE2B e2d9d281cf521575aeecefbcba0c7b7f336ab73193be94e760b37eb6f3423ec3520f194549def6f64c1662f22b7df5a03dfc6b4e6dac1bf229c5f726f51b4d43 SHA512 98514796ef2091a291516ed7fde737df07ccfe374a0f8b4314e0ee992837e98ed02aa9f7809f8808a2f5ee1c7ae2dcea163531cdaedbb577211eeb9beff90c15
@ -7,5 +8,5 @@ DIST lxc-4.0.6.tar.gz.asc 833 BLAKE2B 04b6bda0ed52a6ab8eebde4d3d5f1f6cb19eea017a
DIST lxc-4.0.9.tar.gz 1500310 BLAKE2B 3796d36b6f76ec595dc28207e66ec9f5a7c1a39f5c5ebc851638c519be35f59b4ec06a71b2866cd8fef0a6140f61fd4b70c900f5a8ffd42d7da7a30d3ff59975 SHA512 4ef9d9efdd4118fdffde8b49c6ae71cf5eb060be51daaa4f4ceb804c743fbf3278e6518e6a694faefc720f2834f98ac48d67842d589a2120b8f7ec4c3b61fa84
DIST lxc-4.0.9.tar.gz.asc 833 BLAKE2B 2d275c968831410d987aa7f8062f4e35ba15043f92f38fd3bdd6bf80964906741d05ccd93789132d421ee1c8778cec6a2e76c4f0eb2165cf0107261495fa6856 SHA512 4c90dfbdba90959ee8df5da8ca8b240f65ab03ab91637833c677e2a73592c09f9c5a55b9a261be6efb0888156c916223ff1aa9003b18d46e667908aaa550c944
EBUILD lxc-4.0.6.ebuild 4641 BLAKE2B 7344c4c288841bf83d9e55cf80487927fe5faa329d9eddbf6ca9009fe16aaf26957d7e5fb5dd61735b20bc1b93a81cfc3a06b52d53ecff51c869a280add09ca0 SHA512 9882e81775f6c5b3fa0075ce3c0b143419b4b11e838f16160d2466e19c82c5bd20fee58a25a64d72f613e08719339cdf47a15ff5e801d260e5cbd664f841ffd8
EBUILD lxc-4.0.9.ebuild 4671 BLAKE2B 445b62d24e7b11fe9aff915ff52edc5fce05076e4c725b69ff8c2de2f694669ddbb70fbe58980bb9935d619015569482eafd1ed7a7c8f60a5f3f43abb0ec7b30 SHA512 7f2b725301619dc29b8376976dfa34e8d8ac1a728be2080717991b054e4e8f9b824db067f44d4dbe94400f5f12ba8c3a5ad2b1c7abd55330678575057327ddc6
EBUILD lxc-4.0.9-r1.ebuild 4747 BLAKE2B c2dc493c2b7130884f76af358e12d8a84faeecdcd15c86fec6cbe7a1d5326406d2a6117588d85eebf0e0d8a1f24c51d0f691086e1a3405f5a2adf2702aa5b804 SHA512 6a3a7764a35493d99bc1d8ae9e00f27f3c4e316b39cec79256cb7d8e4ceb36c4eb5097c3744c27aba2feaef4529d38aac63e238117df675d354ff6aebd563f2b
MISC metadata.xml 620 BLAKE2B 459aa85a0e432faff7d0a2a1e61d536bde2e07e057ce8da642e07582219605643740f1241f83d19335a96de568841234bc2505273570bafbd187bb51da64a674 SHA512 303ca453f18cdbeef118e6a452b1a0e56d2466cba47fec8d021c1b8e4a9998ba743a729fdadc71e27e98f1fe12f43d17d76820986aeb93f286e74565c1a852f6

@ -0,0 +1,93 @@
From 91ad9b94bcd964adfbaa8d84d8f39304d39835d0 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner@ubuntu.com>
Date: Thu, 6 May 2021 18:16:45 +0200
Subject: [PATCH] conf: handle kernels with CAP_SETFCAP
LXC is being very clever and sometimes maps the caller's uid into the
child userns. This means that the caller can technically write fscaps
that are valid in the ancestor userns (which can be a security issue in
some scenarios) so newer kernels require CAP_SETFCAP to do this. Until
newuidmap/newgidmap are updated to account for this simply write the
mapping directly in this case.
Cc: stable-4.0
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
---
src/lxc/conf.c | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 72e21b5300..f388946970 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -2978,6 +2978,9 @@ static int lxc_map_ids_exec_wrapper(void *args)
return -1;
}
+static struct id_map *find_mapped_hostid_entry(const struct lxc_list *idmap,
+ unsigned id, enum idtype idtype);
+
int lxc_map_ids(struct lxc_list *idmap, pid_t pid)
{
int fill, left;
@@ -2991,12 +2994,22 @@ int lxc_map_ids(struct lxc_list *idmap, pid_t pid)
char mapbuf[STRLITERALLEN("new@idmap") + STRLITERALLEN(" ") +
INTTYPE_TO_STRLEN(pid_t) + STRLITERALLEN(" ") +
LXC_IDMAPLEN] = {0};
- bool had_entry = false, use_shadow = false;
+ bool had_entry = false, maps_host_root = false, use_shadow = false;
int hostuid, hostgid;
hostuid = geteuid();
hostgid = getegid();
+ /*
+ * Check whether caller wants to map host root.
+ * Due to a security fix newer kernels require CAP_SETFCAP when mapping
+ * host root into the child userns as you would be able to write fscaps
+ * that would be valid in the ancestor userns. Mapping host root should
+ * rarely be the case but LXC is being clever in a bunch of cases.
+ */
+ if (find_mapped_hostid_entry(idmap, 0, ID_TYPE_UID))
+ maps_host_root = true;
+
/* If new{g,u}idmap exists, that is, if shadow is handing out subuid
* ranges, then insist that root also reserve ranges in subuid. This
* will protected it by preventing another user from being handed the
@@ -3014,7 +3027,9 @@ int lxc_map_ids(struct lxc_list *idmap, pid_t pid)
else if (!gidmap)
WARN("newgidmap is lacking necessary privileges");
- if (uidmap > 0 && gidmap > 0) {
+ if (maps_host_root) {
+ INFO("Caller maps host root. Writing mapping directly");
+ } else if (uidmap > 0 && gidmap > 0) {
DEBUG("Functional newuidmap and newgidmap binary found");
use_shadow = true;
} else {
@@ -4229,14 +4244,14 @@ static struct id_map *mapped_nsid_add(const struct lxc_conf *conf, unsigned id,
return retmap;
}
-static struct id_map *find_mapped_hostid_entry(const struct lxc_conf *conf,
+static struct id_map *find_mapped_hostid_entry(const struct lxc_list *idmap,
unsigned id, enum idtype idtype)
{
struct id_map *map;
struct lxc_list *it;
struct id_map *retmap = NULL;
- lxc_list_for_each (it, &conf->id_map) {
+ lxc_list_for_each (it, idmap) {
map = it->elem;
if (map->idtype != idtype)
continue;
@@ -4265,7 +4280,7 @@ static struct id_map *mapped_hostid_add(const struct lxc_conf *conf, uid_t id,
return NULL;
/* Reuse existing mapping. */
- tmp = find_mapped_hostid_entry(conf, id, type);
+ tmp = find_mapped_hostid_entry(&conf->id_map, id, type);
if (tmp) {
memcpy(entry, tmp, sizeof(*entry));
} else {

@ -72,6 +72,7 @@ pkg_setup() {
}
PATCHES=(
"${FILESDIR}"/lxc-4.0.9-handle-kernels-with-CAP_SETFCAP.patch # bug 789012
"${FILESDIR}"/${PN}-3.0.0-bash-completion.patch
"${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854
)

@ -1,5 +1,3 @@
DIST xcpc-0.35.0.tar.gz 1058202 BLAKE2B f5002fcc69a078cd05c05a981522edd15900295136419157f997effd81a89f7452cec335bbdba0be3b303bdc8f8537d4aac255ee7cf4e9ec53cc1143413ad1c1 SHA512 667db6db33f2cab85647960edb5b1c200037bfc464527a60eca85c31549360226893853a38d98e657bde111a28aca47d9741b16b13284759b66cb6213da27458
DIST xcpc-0.36.0.tar.gz 1092363 BLAKE2B 4f799aefa417f6e2c04c0c3760c4d15b10b863f528e5051cfe90ea5a8ccb4c3f83fb592bbf510a351c02dc42a2a2a42f9fcb33b65a5e2dd997feeb5ea22f5342 SHA512 0cf6e718daf6b7db981aa607036e57eddb2ae18665393b0a691d8fd6978278ca077ae45a205eae93b6107b83d5d219702018f1afcda84ae7b83a7b6d68a68cba
EBUILD xcpc-0.35.0-r1.ebuild 571 BLAKE2B 475b1a073db3c2662f11f065fee8c45a8fa1a94cf482b3ec5fb40e0b90f5ccaa68c395119fc0b61e57cafeaa02dd9147abfe24249b095d4b47a05a3f7829a0e2 SHA512 37097b2d544a373f6824e09b082f65d50fc06b898b91da205df11741f1d9b8ff05940010b8451ba06c919d59c01eb6be7a5480c6bf65b10817e60b149a32292f
EBUILD xcpc-0.36.0.ebuild 586 BLAKE2B 3253621b8950be262fb991c899184eb586874f96e6c4a2189ba4740fad658ad961eca75e01e750ab76c00b67a7c07e00a4065b09dc7c701309c111e2ce1992e3 SHA512 1d108f7a5bb7ef7e2bd2b626b0209f3f61b00366d27ddd24fe056e4dfbdaf482a4f316a59342da680b7c24328b4acfd45bb5a9f352992c95f54cc40e02a970dc
DIST xcpc-0.37.0.tar.gz 1094259 BLAKE2B 670de05f53d05d375c9cb252e672f8fa9027419302b521b88dc1904ec99571fa95b390bfdc5eea3eb2355730c02a955c10cbc2f29d7e4c52506173e8f5d6c540 SHA512 8579711595ac5234c1c8a6e9d0279950c97966a2a8919d4f0ba404c5bd5609f299ab0b5131d6973f5decfc12bff184facf3009522bef568a108b5cfb7e74be11
EBUILD xcpc-0.37.0.ebuild 586 BLAKE2B 3253621b8950be262fb991c899184eb586874f96e6c4a2189ba4740fad658ad961eca75e01e750ab76c00b67a7c07e00a4065b09dc7c701309c111e2ce1992e3 SHA512 1d108f7a5bb7ef7e2bd2b626b0209f3f61b00366d27ddd24fe056e4dfbdaf482a4f316a59342da680b7c24328b4acfd45bb5a9f352992c95f54cc40e02a970dc
MISC metadata.xml 241 BLAKE2B 81cba32d3549528c5580b252ea1d827f5b8a72f02da156bef7c434d60d9356140f4f86ca455d6230970659413ef6d40e6ec3648f66ce110816a611ecd608677c SHA512 917345e02375f9f0638188543e2479a7b88616d7e4c732570eb0b5a903fa74d62386a8729000737e9697ef14c0ca73a82d2d0ec4fe39bfa98aa0d7ef796950b9

@ -1,29 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit xdg
DESCRIPTION="XCPC is a portable Amstrad CPC 464/664/6128 emulator written in C."
HOMEPAGE="http://www.xcpc-emulator.net/doku.php/index"
SRC_URI="https://bitbucket.org/ponceto/xcpc/downloads/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
app-arch/bzip2
sys-libs/zlib
x11-libs/libX11
x11-libs/libXext
x11-libs/libXt
x11-libs/motif"
RDEPEND="${DEPEND}"
src_configure() {
econf \
--disable-athena \
--enable-motif2
}

Binary file not shown.

@ -1,5 +1,5 @@
DIST ibus-m17n-1.4.3.tar.gz 489392 BLAKE2B bd37fb1f7160d4306be008e4f27fc5852db54318e6075f0887294f7ce30406ff697f41c5cc56734cffa4605b37f28cb89b3eb04a942e6acf352be50a273bd71f SHA512 8b42bcac8662b4924f54b6fe56427b32603746a3d1b0dfafb6dfec1296ec52847119f94fabb0a276f9de5918414fdf5f7b5aceaaabd8c01632cfd677344598ab
DIST ibus-m17n-1.4.4.tar.gz 490328 BLAKE2B e7b5c417d4cc16cea736dfadc504137218397ed1ce6318dc6edc48ec33b13051b43d2f7926a959aafe79025c2af1a35374a7dcb4cb4fee952df85b25b604d07a SHA512 df8be7ceaa2183ffb377e39f52b271f18825a8970f88972d0a43ed1fa2721d36bf564a20f89311541ffe19546441322fc568c4819e42e41bdff45ee137d6de80
EBUILD ibus-m17n-1.4.3.ebuild 894 BLAKE2B e546c29fed4e3155af586f96836a8720427d272a3eccd432d92778b765dc7ec3347056168eb1decfa0166ede011225a95c80cefa28d68a11d69b30cda91f0590 SHA512 a7e6fd76f12992613c486857b0dd30471175bf56bc0ee5cc273bb21e999cd59a309e1922b204633dd113e18b220051dfc6bf1b6289e56f168b5302fe77fa2a38
EBUILD ibus-m17n-1.4.4.ebuild 896 BLAKE2B a8a7a9cbf44d8325aa3f59c87ab7b2d1407ae9306c089aad54c7368f315be9bf83bc3b712b9e6e2f42b48e428af4af1431a4b51e24bc5861be6061bd06e47451 SHA512 f78da526515464797d8e98ed7af6879d53da7b61131ffd8332a3e7631d6b8f886b3d7aeb4dfc0a954d0603d2a1bb81d69864fe1742b52592644cc9e110aca12d
DIST ibus-m17n-1.4.5.tar.gz 493250 BLAKE2B a5fd4de169997dea78acf6273a7e44cefbc9ab4499cbee92c30f394ef7267c15fb1af42d45d227bc160150f35195477f9ec3d2534f9764bab4fa86c0fae046eb SHA512 64bed564d59b0992ebc8a931e0845f687c176e5336d7c7fbc1d575433eb276714615f8fee412a532ec2c8870e46d8d6c41636c984b666c92427dadbdc84838b5
EBUILD ibus-m17n-1.4.4.ebuild 894 BLAKE2B e546c29fed4e3155af586f96836a8720427d272a3eccd432d92778b765dc7ec3347056168eb1decfa0166ede011225a95c80cefa28d68a11d69b30cda91f0590 SHA512 a7e6fd76f12992613c486857b0dd30471175bf56bc0ee5cc273bb21e999cd59a309e1922b204633dd113e18b220051dfc6bf1b6289e56f168b5302fe77fa2a38
EBUILD ibus-m17n-1.4.5.ebuild 896 BLAKE2B a8a7a9cbf44d8325aa3f59c87ab7b2d1407ae9306c089aad54c7368f315be9bf83bc3b712b9e6e2f42b48e428af4af1431a4b51e24bc5861be6061bd06e47451 SHA512 f78da526515464797d8e98ed7af6879d53da7b61131ffd8332a3e7631d6b8f886b3d7aeb4dfc0a954d0603d2a1bb81d69864fe1742b52592644cc9e110aca12d
MISC metadata.xml 679 BLAKE2B a374aafbf949a9cb71906396787329ea1cd31775b29bf1675b30c98098e1025ee5e96dcdce2e8324bd6d3bfc05e854f89b1120a2e9410834a4dab767db1336b0 SHA512 c07286ebfb6f8bcf82c4fe6b5d02cf0a49287c7609daa42a356b8bfe7b3c074558d39d987decbffd15b10a33d475630b5f7194ff9941c9762c87dbcbefada953

@ -11,7 +11,7 @@ SRC_URI="https://github.com/ibus/${PN}/releases/download/${PV}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE="gtk gtk2 nls"
REQUIRED_USE="gtk2? ( gtk )"

@ -11,7 +11,7 @@ SRC_URI="https://github.com/ibus/${PN}/releases/download/${PV}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 x86"
KEYWORDS="~amd64 ~x86"
IUSE="gtk gtk2 nls"
REQUIRED_USE="gtk2? ( gtk )"

@ -1,4 +1,5 @@
AUX librime-1.5.3-log_files_mode.patch 458 BLAKE2B acd2f59f409b3643807ea845fd08bfcfe730cfedaacb7d70a4b1ba017a299cb95b8d815bbbf53b2c0e3c86c4482a2d71a97fef362a6f0404dd45e96b57f78be7 SHA512 d8b12367916ed1ad5deb2e982437d3e5e04592baa6c1e12f6b78ff99b8cc407f2c9fc6f47c0715054572f6f8a5edafcb6f6da033902175cc4357a07faad04420
AUX librime-1.6.0-boost-1.76.patch 717 BLAKE2B 9abca897e4a3a23ec7ea2355148e34ef93b331b084634b0011815ec0d7d231626ebc0af53c71cd0b76ee3a5de50e1779a79de118433eca399e17ad06026d0eb2 SHA512 f2dad5927e7c0c95a09900581dff04f99d26ebc877ed4cd2c0fc3f226cb072fbe769fe67166976cbb848599a19b9a8ece926b2538ae2df0cb09a4e5b7b83fe11
AUX librime-1.6.0-plugins.patch 7447 BLAKE2B c2429bedb7eeabfeafeee310e5380ef22f65c3590f70f387376cdb9ea1c9a9a6c072d87bf2174067378104d31c7de6b2f4ea1fd37f8db3a76343e1849fb6d737 SHA512 dc39a5e9d8cb432b232ce82af31994912c24d446a9b0db908c543a605a047434d5afb7fd79aa8a6ea74d0b4431e2af67a48081e3edc338de75a3b2eafc28dbf9
AUX librime-1.6.1-plugins.patch 7447 BLAKE2B 95f1b8f412e6e12c8c702d2295966831d4c2d06fd75a691460a2cd83b73ab033ae495a6d51ff2c0f5115b366ca33079159f5d9a026165acde7ca9c0e9c936983 SHA512 b32e6d736a0d26cc4dc5b6ac54f51a737e93f52a356e59d54d51523884eca64066a413cd3f9caa2d4db4574d96524c2688810921555ada0018c064afb1827307
DIST librime-1.5.3.tar.gz 2847083 BLAKE2B 4ffb2c5ddaf52f9c9227fa4ea019ef2965e61139f678798c08ef37dc52b863763651b63ed820caad0de1b06f48ab5c1a7a2682653340d2ae7f5f9eec3cec80b2 SHA512 4d7f6ec43bd5728f59f0b3581bcd8a46128651430b6873017d80659942b8f6aa1a2f25f439ba8fba461fe22acbf701c2da7a786104a2e4852a70a89cdc0452d3
@ -6,7 +7,7 @@ DIST librime-1.6.0.tar.gz 2856645 BLAKE2B de6d843a5028f6b0308c3432ada7dd00c08a71
DIST librime-1.6.1.tar.gz 2856751 BLAKE2B c6b01342dcc9e8ee571cb14a36b851a50bf7b191211197421647ab05e6fa64c676f8936920870dcc335d06c635e354fed706832e41192bccd0a17aff02df1a43 SHA512 944361e9459662bb97b97ce9e2651acf0beb368b3769d1b9576cf4e5c2779302cae470fa39f5bc262cabb6a0e8590bcb77d32ffc87d7385b9465869fe7d5bcb3
DIST librime-1.7.3.tar.gz 2859513 BLAKE2B 834622860cdc3038d1b983f476bca70f211dfbc3bc2b565a998163e22688841ee3a0c7f9a64bce285e2f3f5b5a9a802bd5506f17904ccb3291babf80d4748fb5 SHA512 8767d17c3d14a5a1bbb8269fab1627b907de72c288b362fdbc6191223937da21e8b18471b4ae8f83ce5afc0ec5c3ab12fbcb49930eb9969c1764c7390d9ee4b0
EBUILD librime-1.5.3-r1.ebuild 1598 BLAKE2B e2bea3ac09fb0f5f132382caa6a37b8fc3e674688fbbba71e68a5a48e1375248633ec5de170030a5d734f18e294aeb8c3b2b2cba9d033c56bdd88e9709c14c1d SHA512 9c389f0f4ad573bada9c18bdfb3af3cac4f17e42f3bc1fe5d308fed123a3458a28e243f0ac4134753d24b1cbffb644707adbf693fc0f01d5fbc5eb25177bf416
EBUILD librime-1.6.0.ebuild 1584 BLAKE2B 035bd99e4e49b12cbafc581771d287c0743716af721c674be05c1b7d5a0df8586c504532485a169c535b51ccb332a5a1d43d504d758ebb17c0ee1915d1c5afaa SHA512 381fa20d6a5da0b34d05aed7c53bba10a36029eae10a062c86f40dc7767e07ff1800d799e80b14b7a4e5719e6b32e5364fdc03d557344f24cb14a8097095a9b4
EBUILD librime-1.6.1.ebuild 1584 BLAKE2B a066ec82c81cd7d1252a24160c340dd8a44a88dee42638aafddc98944344dcc8cc367dda92f0e6f9b006e18bbbd84621acfc5bba48cbbdf23ec4e77c7a6e7381 SHA512 1599d5dcfef15e4c7627fc716fd57ea5e9aeaec60d45f82d0c51893cc363d1d53d235cbba029d6079a368ef43a14ed450873f7efc4ed8ff2cc9b31b109f3cd01
EBUILD librime-1.7.3.ebuild 1535 BLAKE2B 903bf96d278e0bfabe6d0a23ba027a6580d41ef7349c4193622a3501ac2163b3d1fa247d057668b9a18177d08d8bd1fbdc9bf333c15916ef70b0b95d5f2b9474 SHA512 a346fc3b445df6dc5c111f9ab04be4c655247e47aa101c9cf3e433294870bd0d0676056cdb0555f4452eb79a63765e434a8e8229cc576eee927c6d16a7661c9a
EBUILD librime-1.6.0.ebuild 1635 BLAKE2B 13cf817648886c13fc1c6c3913c9bdce4a3c1947928a70a5d904b6dd8160905e1e9651c6bd758a6c6711c7d37781776af75c90b4f7e22bdc6bf4b218e44bac6f SHA512 ff4577d82f8c7e00a565ebae6d8a6b9ad3ad49f33319de9c65c9b50c8599b00ad71ae69f9d304aee217458df858ce78a4557fa52d3f8943281ef9d1633f327d1
EBUILD librime-1.6.1.ebuild 1635 BLAKE2B d69511b155960827c1d9a058132c5b9e36d03021688aadf7f42634526f10f4f0fe860b93b81dadf35da6486f8322cdf10d1d26912eba0cd172d4da764f77272c SHA512 c8766ba24f6b5f52cd200655796bc3621d4fe51fc115ad97ba59638c2c1d8ab9e5856832159c6c48854826a6ac8f6f338f9fa49f3325e5e2faad51a5b7838ab5
EBUILD librime-1.7.3.ebuild 1587 BLAKE2B 27305c10770cfa6912ca0bef85d14cfb66c006045ad9e7ab651949de024be75e9783dd88f786f3bf5afc8b3a84842b938f5e6f94c08b65dd6ec6b1e58bd4401d SHA512 8fad27e7c333754cbe05c899f6e9649890527c19d263b2efb89fc2598bd9c2e830dcf57749e2ec82dd2ed420850ef3aebc0dbe02babc89818d2a1eed154c9f0f
MISC metadata.xml 776 BLAKE2B b362c5696516b756bb9c9c3102d7d5f52f843807d523f26bb12adb6b2c077f98c0aaa2d5d7d87c0a413b8ed69994f35a7fb02db423592ffc5529150df4253f83 SHA512 1bf10d3e1394b0f9512cfe564dfa4eac007e5b343831a482764f1c7c99500ad55cd99e10f07a4428c67fb262b80a2e2be41f9c36f3a937f5521c72d969403817

@ -0,0 +1,24 @@
https://github.com/rime/librime/issues/462
https://github.com/rime/librime/pull/463
https://github.com/rime/librime/commit/57cffcd02ac70148e21ce982be834876b3df87db
--- /src/rime/gear/script_translator.cc
+++ /src/rime/gear/script_translator.cc
@@ -8,6 +8,7 @@
//
#include <algorithm>
#include <stack>
+#include <cmath>
#include <boost/algorithm/string/join.hpp>
#include <boost/range/adaptor/reversed.hpp>
#include <rime/composition.h>
--- /src/rime/gear/table_translator.cc
+++ /src/rime/gear/table_translator.cc
@@ -6,6 +6,7 @@
//
#include <boost/algorithm/string.hpp>
#include <boost/range/adaptor/reversed.hpp>
+#include <cmath>
#include <utf8.h>
#include <rime/candidate.h>
#include <rime/common.h>

@ -1,4 +1,4 @@
# Copyright 2012-2020 Gentoo Authors
# Copyright 2012-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@ -43,6 +43,7 @@ DEPEND="${RDEPEND}
DOCS=(CHANGELOG.md README.md)
src_prepare() {
eapply "${FILESDIR}/${PN}-1.6.0-boost-1.76.patch"
eapply "${FILESDIR}/${PN}-1.6.0-plugins.patch"
# Use headers of dev-libs/darts, dev-libs/utfcpp and x11-base/xorg-proto.

@ -1,4 +1,4 @@
# Copyright 2012-2020 Gentoo Authors
# Copyright 2012-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@ -43,6 +43,7 @@ DEPEND="${RDEPEND}
DOCS=(CHANGELOG.md README.md)
src_prepare() {
eapply "${FILESDIR}/${PN}-1.6.0-boost-1.76.patch"
eapply "${FILESDIR}/${PN}-1.6.1-plugins.patch"
# Use headers of dev-libs/darts, dev-libs/utfcpp and x11-base/xorg-proto.

@ -43,6 +43,8 @@ DEPEND="${RDEPEND}
DOCS=(CHANGELOG.md README.md)
src_prepare() {
eapply "${FILESDIR}/${PN}-1.6.0-boost-1.76.patch"
# Use headers of dev-libs/darts, dev-libs/utfcpp and x11-base/xorg-proto.
sed -e "/\${PROJECT_SOURCE_DIR}\/thirdparty/d" -i CMakeLists.txt || die
rm -r thirdparty || die

Binary file not shown.

@ -1,7 +1,6 @@
AUX mc-4.8.26-file-seccomp.patch 4794 BLAKE2B f6b2ba15b2f7f57aa620fc5745816be434d357f8b4023197691f8827c1e5d6555fa542e0aa3b471036c7d60a3ab5761d261e62d3fc599fd14593c82c4cd238dd SHA512 a65b414dfbb4f934351a87496e012131b1e811cd1fd21a91c167e8db212ee7485f097d3a5a4faed2d904e50e34cb7488a6ffbbcb41bf341167f3837f891e85b5
AUX mc-4.8.26-shadow-crash.patch 936 BLAKE2B 65bf04b92a193de03457f95b94c7eff7677cedc0886fff4d934bd4e3bf94babf3650d5e56ad54eb73e41791e67089c9a65b6628615b87609035e6b823fd317e6 SHA512 8874e98bc5a9b032ff094d3042c71bf279f42c71840920ac3221011ae991fb199050e60d47ee8a65ef82bc5b64e4c14233fd3909c49de807fabf771a953a6c6a
DIST mc-4.8.26.tar.xz 2492612 BLAKE2B e13ab99fb7d5a9e2cf1149ad96d763681b0186fbf5c03fc9e349a57a4a6f48b598c9eeed85e4cb94a18c5c5b89d4ee0e21f6d34c8cfd5e21da53551085aa3469 SHA512 f2f06915b775ecc94016fe5d5db9301e953cc89ee0708e79ee96e14a9f53142a467b27061ca57f65b40310fa86d4d13e2f2a29a601f8fefa6216fb10f73007be
EBUILD mc-4.8.26-r1.ebuild 2841 BLAKE2B ba0cf54b91292f2184b0e05203d0a407efe28eb13ff378ecd0b881bf46506d43d4a52e1d8d2218f2e864fcfad7167dbdbc0ad19030c3988fac6fd2075eaf238f SHA512 40e67c95d0a0bcf350d25a36edcc00bb850152328794b5a0a03a4243b43a31c82f910e11a10e15ef0eb40bf3f0845454802af223fb20b75fcac24aaad4ebdf17
EBUILD mc-4.8.26-r2.ebuild 3289 BLAKE2B 32b33f2266c28eda35403d1e9d50e12a1e4e5d8867390033cad1f87e63f94752e5edab760758a8c816ad58dc32a9f5124f477362f9b25230fcf896b8c1310b5f SHA512 1bc54410a2d5728c70433deddfcadec844d17ca92c33a416ce3b631ae990ca1b62a6855eba57faa3a7ee32e7a92d3a5b7d667b6be3548cc954f222c966e05c77
EBUILD mc-9999.ebuild 3362 BLAKE2B 28f6d8342efa7d7a5220f96037919a29c85bbae55c3379d81bccce6889e346f9589431a54f183d31991c79c000f3d931d75efd1df5fca4b842ab6e2e0ee37970 SHA512 b356eec5b771b2b977e084caf61bdc0448091caa2fd422552339c9ca56afdc7fde364dac504e8667ecce69816687e66c4d0e625f8133d1e080e7862caca96d7a
MISC metadata.xml 773 BLAKE2B c7f3bb9bfb49c380a0493eabadcedec215df8696c5d52433aaccdffa0bf5ba3b89c77c291e19ed88c5ac29718e34eece1d3dabbc3ba6c1ec7862970f3900e204 SHA512 c5c0ca5a41a78cf746e14264b291f81ccffaa9c34a4149d27a9293cca8d304cb4844c07979b31218b250c3baeaccef2cba529c2ab43e81dc5552dca34ddbd4da

@ -1,108 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic
MY_P=${P/_/-}
DESCRIPTION="GNU Midnight Commander is a text based file manager"
HOMEPAGE="https://www.midnight-commander.org"
SRC_URI="http://ftp.midnight-commander.org/${MY_P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
IUSE="+edit gpm nls samba sftp +slang spell test unicode X +xdg"
REQUIRED_USE="spell? ( edit )"
RDEPEND=">=dev-libs/glib-2.26.0:2
gpm? ( sys-libs/gpm )
kernel_linux? ( sys-fs/e2fsprogs )
samba? ( net-fs/samba )
sftp? ( net-libs/libssh2 )
slang? ( >=sys-libs/slang-2 )
!slang? ( sys-libs/ncurses:0=[unicode?] )
spell? ( app-text/aspell )
X? ( x11-libs/libX11
x11-libs/libICE
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libSM )"
DEPEND="${RDEPEND}
app-arch/xz-utils
virtual/pkgconfig
nls? ( sys-devel/gettext )
test? ( dev-libs/check )
"
PATCHES=("${FILESDIR}"/${P}-shadow-crash.patch)
RESTRICT="!test? ( test )"
S="${WORKDIR}/${MY_P}"
pkg_pretend() {
if use slang && use unicode ; then
ewarn "\"unicode\" USE flag only takes effect when the \"slang\" USE flag is disabled."
fi
}
src_configure() {
[[ ${CHOST} == *-solaris* ]] && append-ldflags "-lnsl -lsocket"
local myeconfargs=(
--enable-charset
--enable-vfs
--with-homedir=$(usex xdg 'XDG' '.mc')
--with-screen=$(usex slang 'slang' "ncurses$(usex unicode 'w' '')")
$(use_enable kernel_linux vfs-undelfs)
# Today mclib does not expose any headers and is linked to
# single 'mc' binary. Thus there is no advantage of having
# a library. Let's avoid shared library altogether
# as it also conflicts with sci-libs/mc: bug #685938
--disable-mclib
$(use_enable nls)
$(use_enable samba vfs-smb)
$(use_enable sftp vfs-sftp)
$(use_enable spell aspell)
$(use_enable test tests)
$(use_with gpm gpm-mouse)
$(use_with X x)
$(use_with edit internal-edit)
)
econf "${myeconfargs[@]}"
}
src_test() {
# CK_FORK=no to avoid using fork() in check library
# as mc mocks fork() itself: bug #644462.
#
# VERBOSE=1 to make test failures contain detailed
# information.
CK_FORK=no emake check VERBOSE=1
}
src_install() {
emake DESTDIR="${D}" install
dodoc AUTHORS README NEWS
# fix bug #334383
if use kernel_linux && [[ ${EUID} == 0 ]] ; then
fowners root:tty /usr/libexec/mc/cons.saver
fperms g+s /usr/libexec/mc/cons.saver
fi
if ! use xdg ; then
sed 's@MC_XDG_OPEN="xdg-open"@MC_XDG_OPEN="/bin/false"@' \
-i "${ED}"/usr/libexec/mc/ext.d/*.sh || die
fi
}
pkg_postinst() {
elog "To enable exiting to latest working directory,"
elog "put this into your ~/.bashrc:"
elog ". ${EPREFIX}/usr/libexec/mc/mc.sh"
}

Binary file not shown.

@ -1,9 +1,5 @@
DIST nattka-0.2.11.1.tar.gz 94986 BLAKE2B fa80b514913e1752c2bb581b7d7f2dc1f9e2b7ffdf7672a61fdd2cf49ff5677cd1842949885beb9f9fd7228aa89e1e7b9091fcf77a4a7d3c71b372ba40c9edb3 SHA512 22fb3f3685fb454f768c754a2574efc4b40d1c3abaa4b8283e38a426d1f443f5328ca5c6eb2c06a7240166de36ee9e3af88623dc7ef3f14b99903177bde1cdc5
DIST nattka-0.2.11.tar.gz 93992 BLAKE2B ad088de5f96ec5f7f8b0922420d22ef507e1e79ef3bc3161e6a88cd4714f1007a000ab06a7e21245b2792fd3056474459bf424da0560b8666c5cf46f04a2d763 SHA512 5d9de9f437a15e149ce58348f40f86101c10fe1f4c4ce869e7038ba25fc212c22e024a9999a6197179a0a1e1e82380356d304841c33333e04949caaadef96db7
DIST nattka-0.2.12.tar.gz 92954 BLAKE2B c4ffd44030da0224963d7fa367336d7ab9076b17f03292f5e65b7855823b34374b8d7626c4b97c155d10797f2d550f3c20cac39f68cfbfc4b8038406f37b21b0 SHA512 f1e775895d66505b09a3098525f998f87bb1561538f0e75b993b264f87f61937d7d5c71999018fe93c683366ef81dff5b7fef1e1d44af63153003f70d7933273
DIST nattka-0.2.13.tar.gz 93917 BLAKE2B 48e5245234d0ef0fd47353bac0d971d6187f59d94c0fb58f4cce160ee28f847a8fb32f8399af3148daaac299b32b590899de716dee1ee9cf107b1efe2451189f SHA512 0d3428cb3b5dee3fcdc29b9d22b5c05d626d26060fcd5518f789493fc68e51762edf9162a9b5b19c6c08fb9cb9c0e350faa41d96c53bd924b50475176140ccdb
EBUILD nattka-0.2.11.1.ebuild 979 BLAKE2B 071ea8c0d880ea43d82aaa3fd44c0eb83a27181c8b084c662478e6d3427cd97d0a0cf6924619441a088e932429b189501fd3af5075a7e0060559374f6787bb70 SHA512 b35ffa8f92f25a9571f6bce9dc60ad9e5617773392fc66823fb12113a8ff035d3f093400b526c96c55bcfa6ff4d4ff99bdc8b23df870c834408be726654c1b7a
EBUILD nattka-0.2.11.ebuild 942 BLAKE2B bedbc2c2306b19a18f3971ef21962bfb64c74a13bb624e7ba458b18cf032015a70a2ecef2e64098775f69569b61f70f3c85d4c6de9d8327c1a216f4c28c62b18 SHA512 7b4283778561eaad03f333e6d7900ffec1cc10e8b957a7300ae108a2ec4a6a0a80ac7273c7b33547a70c357bbe32f282bc614e2d72bf2727dd89c60e91a03db0
EBUILD nattka-0.2.12.ebuild 901 BLAKE2B f3d6838efeb395764fe0e1c98792e6061fe6b015f81ff325cfd0ae743a3bd10e20759822246b4bfedbbfc519e9645b18625a08d08a83aeff4621249f9f498abb SHA512 9734db90cc7964e6c9b274a41dd8be93380b632e936bacdf27e250f837042a866bfa113237ebe5e8e791cfd826af0739474903fa4883ba65c2930ca4aadc1f2a
EBUILD nattka-0.2.13.ebuild 909 BLAKE2B 0c2b80451df8b3a41c88349c1e9827e7321253a087f89505fd5952a0ac1eb26e8af1acc5ec020f4ca9bc7fe77da526067111482065a692327024b7655dd571a8 SHA512 da0dc01fa9c5367e69c802fe78993295e9964c08dcb1df009a5f50ad7a275b5c9e02c06504386916c008675d36edc54736a64cf607e55646913b188d7f73177a
EBUILD nattka-9999.ebuild 851 BLAKE2B f451fe8c8b8b742e217607780e1f3f34e8ce1f3dc3f2dde019b79807fc802284906c40e42fd7ca7e33ac3ddd117117cb5e05b806baed2e54485a9d63351ccd17 SHA512 9dc88faf76c7c84e49ee69b9e899547c215fc86823c446a5bba052d9d4eb11f537578f1063b2d4fa9a4f5122ba157e8226514c913d7080eab52424d7a7446f50

@ -1,37 +0,0 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_{8..9} )
inherit distutils-r1
DESCRIPTION="A New Arch Tester Toolkit -- open-source stable-bot replacement"
HOMEPAGE="https://github.com/mgorny/nattka/"
SRC_URI="https://github.com/mgorny/nattka/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-macos"
IUSE="depgraph-order"
RESTRICT="test"
RDEPEND="
dev-python/lxml[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
<dev-util/pkgcheck-0.9[${PYTHON_USEDEP}]
dev-vcs/git
<sys-apps/pkgcore-0.11.3[${PYTHON_USEDEP}]
depgraph-order? (
dev-python/networkx[${PYTHON_USEDEP}]
)"
BDEPEND="
test? (
dev-python/freezegun[${PYTHON_USEDEP}]
dev-python/vcrpy[${PYTHON_USEDEP}]
)"
distutils_enable_sphinx doc --no-autodoc
distutils_enable_tests pytest

@ -1,36 +0,0 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_{8..9} )
inherit distutils-r1
DESCRIPTION="A New Arch Tester Toolkit -- open-source stable-bot replacement"
HOMEPAGE="https://github.com/mgorny/nattka/"
SRC_URI="https://github.com/mgorny/nattka/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~x64-macos"
IUSE="depgraph-order"
RDEPEND="
dev-python/lxml[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-util/pkgcheck[${PYTHON_USEDEP}]
dev-vcs/git
sys-apps/pkgcore[${PYTHON_USEDEP}]
depgraph-order? (
dev-python/networkx[${PYTHON_USEDEP}]
)"
BDEPEND="
test? (
dev-python/freezegun[${PYTHON_USEDEP}]
dev-python/vcrpy[${PYTHON_USEDEP}]
)"
distutils_enable_sphinx doc --no-autodoc
distutils_enable_tests pytest

Binary file not shown.

@ -1,20 +1,32 @@
DIST fzf-0.25.0.tar.gz 176905 BLAKE2B fd0fa18643947428d8a7257f9aebf579e3d57fbc0216d4629ed77616d1729d2cc68514125b5de5b2e85b65b26d6c95e69942f076aa99aa27e57d4f9b778f8923 SHA512 73b65374334531ac81a64bb973cb976f4dab7c6458eb2705f323349223880294fa6238b0eeea3412ff121c5c1b70905b261ceb7994c2b00425b02c88286b36e3
DIST fzf-0.25.1.tar.gz 177955 BLAKE2B e5bb5e40ccdb36ba015196ba6e5abfff6b7c6f4b6ebc4c824d5e2c4e8107a08d49f03210732358bcbb56d1765448f8eecfe4a2e61405ebdd36984c3c54b7d818 SHA512 755046b4a8604fd3d1f2b66b967ad79cf5d4581dba1e40abed338c767d4421620df0f1f6a81a6c22c20da54dfdb1ff6847bad8f58ed83fc5e1928038c9d042f2
DIST fzf-0.27.0.tar.gz 182950 BLAKE2B 07aecedddded92af879d0ffc3e15721834cc0b2942b19cb9471b25e60c802b43bcbbbb0cfebbd6e7ea647c0654228974097a04ef7ac2428c2b1307d586249f83 SHA512 7a14a85d962a409e5008a135acb3f18d489dbd615696e925d2854e6304e289f59f573bcb267d8447ca2112087099b7115143b85f11decaa893ac2196328109ed
DIST github.com%2Fgdamore%2Fencoding%2F@v%2Fv1.0.0.mod 77 BLAKE2B 1b81c4c20a890027242b50f1566f4dfdaf120ee26d3dc56d0c2b6465df2ba79b208289eb40c3d7b666a4e7e874210f59aea545d5125c9a55c5597a3ca7f37feb SHA512 fb153c4e481c073133f0c933c67eba8a1f160ab146921f2c77125b6ff5c348cea57e3a5701a557c8db2212d32e3cba1c09b9509210660c17b66c2a45ba97cb75
DIST github.com%2Fgdamore%2Fencoding%2F@v%2Fv1.0.0.zip 19867 BLAKE2B a772206ce6dc48b32d7125a25b26694325d367ebcbad85466b2e6cfdb9fc9f0e08b98b7ecede5397344e5f7e623c4c76edcf69dcee99917adccf5b31aad80bf8 SHA512 127767c725e376b43fe4e2003ddc12fe89693d6d7e52b01e6d47d73fd04496decc0fd60b64c7a65303428e00a52ece1848610ea35231789a814187ef8503bee3
DIST github.com%2Fgdamore%2Ftcell%2F@v%2Fv1.4.0.mod 250 BLAKE2B 46093e9211011e814962ba2eafec4392948f185d27a202a8b626e16299e3a3fa4554a604933ceab584b27cca2b7a6b1f51d4e5fe10d673e875e38eca08de64ec SHA512 412dee57c525bd5a3c0ce9c482e7933814758e36ebb226a16392e648f57e280485f86e30f17be2339eed427b52e4b0b601401503d0bd324c7fa874e2fcba2b60
DIST github.com%2Fgdamore%2Ftcell%2F@v%2Fv1.4.0.zip 226363 BLAKE2B e690c6673285d12ffbf0d3ee6ff39f0bb1d072c872767c709150ef34b8ea40f0c8adc8196388a704126596051c3e1b722aae96fa54ee2baccdbca4f7683316ba SHA512 5fdd7b7b3b2826de6142d2dc0e6b19372636c4442c8878925f8c2af8bdfd2eef3c0cdbe331d0889345eb1e5a1d8c04ac80b3e46be7203d2475df86e04819af80
DIST github.com%2Flucasb-eyer%2Fgo-colorful%2F@v%2Fv1.0.3.mod 51 BLAKE2B be532e33c9a0e83b9d0b760b21d97ac83850299adb329f754f31e4b46dc7fb7a7157d2a41cdc258924ef8ee5c111a95ac3b0037d749cc936e1988a46612522cd SHA512 270b19446ac9a396f5ce7a000873928a44edb1457f86d294971dae08be37cd64ddb8edc0293e100ee60d56c504851aa69ab11db0b4cfd46649c5f79459e40011
DIST github.com%2Flucasb-eyer%2Fgo-colorful%2F@v%2Fv1.0.3.zip 442291 BLAKE2B 02ee4982a588e0fd1575206340bd97663147459664a2942edf151c4aec2bd20da83984c68c76e1c505c1ef930b77f934a8210f6c0ca106a0c0c91ff63733b92d SHA512 8e275955eb9e5034c155c6e469e2a3117bee30fbe42e8ae394f496b83f473a1568847707707716dd5a3c57dd0e0a4bb4f4cc9af04940218ce24420493e923f14
DIST github.com%2Flucasb-eyer%2Fgo-colorful%2F@v%2Fv1.2.0.mod 51 BLAKE2B be532e33c9a0e83b9d0b760b21d97ac83850299adb329f754f31e4b46dc7fb7a7157d2a41cdc258924ef8ee5c111a95ac3b0037d749cc936e1988a46612522cd SHA512 270b19446ac9a396f5ce7a000873928a44edb1457f86d294971dae08be37cd64ddb8edc0293e100ee60d56c504851aa69ab11db0b4cfd46649c5f79459e40011
DIST github.com%2Flucasb-eyer%2Fgo-colorful%2F@v%2Fv1.2.0.zip 958042 BLAKE2B 62ba67a66c0b5e159d7b12c8e32aec36f6f442411951024fe0b95fddce22c0e00d1f855f987aa39eddcb59165da582d0ee17fbf410630b6bad8424c17b85c431 SHA512 89b52255dd45791100b58a693036c772d27b26011754caa15df2badc4a93038b70060c7358aa12e01494e2f24e94533cd4ea7f7cb78686e61540383d1680ba2f
DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.12.mod 104 BLAKE2B a8f54d5566d54ac27763dd535705d64dddd862f32d23f234b1ffbf759cbf4aa16886c90a96198ae2f4c0d0bc892932f1b8244e8ff0f8150bb87123947d734016 SHA512 7bd9f6a38aa9a16c3569142164389d1c4046170f66b5e9044f7aaa3192e9d2e2ccec486e3bc7fbac868c9693b6d333068c1a34ccd9e79dec1746a86348951503
DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.12.zip 8902 BLAKE2B 7257687403b9f8f066147fdd4ee1bec7e4b02cfd3fddda8349a89d9b9ea5b93d9bef61280ed48d68adac4dfed7e382ee96886aa0d65d85406fb93dc6fe0c53b1 SHA512 79ba14a04838c509500e6098553e8aadcd7105445387160a8aa1a6d7b0e70f0e807c99036c31faf51920544da2156195174c8530e317a72728719cb0a9a66098
DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.12.mod 84 BLAKE2B 9eb09ef8bbaf550ee520bdc9e35c7c221f85842959082d661425c15073001853e3b9bcf1ca1b552626f418de752f0a5542bbd76dd7f1d23ef131f4a169606e30 SHA512 939623ea34e482faf1cb055cd861471367cd69257abb28bd348efb4572ac95428330947ca0a1cac2820cc2cf7bbc6cada12623ff873d9ebc8c4af490d8237fbe
DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.12.zip 20977 BLAKE2B e9a9da9c1383fd4011c9d934467ce94b00b04cdfb58faa0a531fa4b71d956b45cc1e6b9afc9011a2dad60fadd3a0c1fce7eda5de1e6eeabd53cc9f541ed48029 SHA512 05a554dc62146f8251376ec07e521594941e6f7c0173fb0c0ca48e6d9e512a92a29e059acdce83a5a0af503c0391fee4bbab57d2e256efb44b1ac137bfae59c2
DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.7.mod 45 BLAKE2B a7d3b1ffaf20b96cc98161ea6756d62d8380e7557859606dc7975b3de91a2d4142932d5008caf40b41d8ff2ac1ff33f672dbfac351f3e518922a036d7c116a93 SHA512 0cfd4101dd8ed90f80b7f4ce2928cd322b93855764abae65d66c5ff9888a7c8aec6ee6581c7f05d1c80db5c78003ee2afc8537fda8a3855e2349bfb8267aba61
DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.9.mod 45 BLAKE2B a7d3b1ffaf20b96cc98161ea6756d62d8380e7557859606dc7975b3de91a2d4142932d5008caf40b41d8ff2ac1ff33f672dbfac351f3e518922a036d7c116a93 SHA512 0cfd4101dd8ed90f80b7f4ce2928cd322b93855764abae65d66c5ff9888a7c8aec6ee6581c7f05d1c80db5c78003ee2afc8537fda8a3855e2349bfb8267aba61
DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.9.zip 20005 BLAKE2B c0f71323efd262296b78867d2b387a74491cfae3f4498e0dd22c036b20dd6fc1b6569171eebf267effd140ec009527fa5ccbcedda4f8cebab2679582766331ea SHA512 fad08292597cbd4a359e06f85bc7cc37b3d3d84b8046e47828259e36872063069c4ab17b7c89f2a5de4b5d0ab1ca5cc66cc515847a7887339a3a04b5f44e3c92
DIST github.com%2Fmattn%2Fgo-shellwords%2F@v%2Fv1.0.10.mod 47 BLAKE2B 4a848f4f2e5cc615dfc3fc62a9523eb7b3d79244393ce8203978051a34f981b0219f13f10bbae5169e03d919404f0ed6502b39c536218f8c8c8a5492561c1112 SHA512 c1a6d910b914ceef7ffea53c61f2225ebffeba2fc87c290aebdb739bf520494e35fef046eb9ced4fc9a3767523efefcce41ef5026fe11bad97c005b8e55d96f8
DIST github.com%2Fmattn%2Fgo-shellwords%2F@v%2Fv1.0.10.zip 7653 BLAKE2B 634fa4a231f31f291e49731e9a5e5d57aa289c86ec8c8fe879e6d03a28291dac034547b6bcc239539cf67f36d6e6e6990bd4e03a92621ecdf01ec899e1c03325 SHA512 075011dfc750263fdc03e80c69feaea71db12c9af8c99b49ebb35c494f5e3ac5a4faab3bdc1530322ea38ff3eb2671f0a3871097dea918f736f757e50cb05b4f
DIST github.com%2Fmattn%2Fgo-shellwords%2F@v%2Fv1.0.11.mod 47 BLAKE2B 4a848f4f2e5cc615dfc3fc62a9523eb7b3d79244393ce8203978051a34f981b0219f13f10bbae5169e03d919404f0ed6502b39c536218f8c8c8a5492561c1112 SHA512 c1a6d910b914ceef7ffea53c61f2225ebffeba2fc87c290aebdb739bf520494e35fef046eb9ced4fc9a3767523efefcce41ef5026fe11bad97c005b8e55d96f8
DIST github.com%2Fmattn%2Fgo-shellwords%2F@v%2Fv1.0.11.zip 8916 BLAKE2B 2d3735c7229348b12148a77ab7057473bb37db5667024f481d7ba309b90e92046416e17cc4ca8db0b903eac6311716c01052c9959ca2f884ce4f9bead6a21575 SHA512 54ac2b14cc0b8cd161d6514f9ee877aaa0035edf09c883680595e49e4b572f5cf5db1f88ef5a192a32c6f14cd8e049ebd73097e7866e199a289ce4ffe2934f54
DIST github.com%2Frivo%2Funiseg%2F@v%2Fv0.1.0.mod 39 BLAKE2B c619b92efed318039eb06878b084372e8f3f45426623a9c1f045f21bf44f86347472a28a4164f607cb9fca3c253d4c9df0dd33d1dd8baaa02230af9feb8dc7f6 SHA512 d6089badd618722b8d3584965f1a10290097f259024a444744f625fe5b439fef62c7e14f060fb8593197d003ecd6c29f0cb85700de0bdfbf2511ca66729db3bc
DIST github.com%2Frivo%2Funiseg%2F@v%2Fv0.2.0.mod 39 BLAKE2B c619b92efed318039eb06878b084372e8f3f45426623a9c1f045f21bf44f86347472a28a4164f607cb9fca3c253d4c9df0dd33d1dd8baaa02230af9feb8dc7f6 SHA512 d6089badd618722b8d3584965f1a10290097f259024a444744f625fe5b439fef62c7e14f060fb8593197d003ecd6c29f0cb85700de0bdfbf2511ca66729db3bc
DIST github.com%2Frivo%2Funiseg%2F@v%2Fv0.2.0.zip 45731 BLAKE2B f4a1442027b29625c694298e10ec9c107edd8437d8749110cd56440dae791c0e6d88a68187240cbc521f79fa7bdc4307e4b3b4edad38d57d5834644342a066e0 SHA512 88f37961ebe3a1701265a2f5cb606e97fe4ddd09e36ff13ca8c026e98640af5d35cb930e4d12b6690a97e5d934705102554c6d2912ebbb5ee08976c698cce2db
DIST github.com%2Fsaracen%2Fwalker%2F@v%2Fv0.1.1.mod 104 BLAKE2B dd83516b0472a51d68d638c72db945b5640bae9fb4a81687b7c406f7bb67eb086161b99fd7f69ff13476b352c90ced4906b7a30db52a6adfbb3c862a1185a37d SHA512 21f6fea86dafb4b32ef61014700a7563e6c273fa8c23c6ce0a8776408511a8b4ab2d3391e21628054be2a94062f72aa7e9cc2f133b7ba1b2b10a758dce783d43
DIST github.com%2Fsaracen%2Fwalker%2F@v%2Fv0.1.1.zip 16956 BLAKE2B e948f2d90376ac6a14e890d4e39b035e0cfa00eec384977126adcad7e8064e6d1da57b709ac1943b67a7d94b9aca71b276effdcce1866dfa026fb5c984a6d806 SHA512 05597cd8812d21477152a021a982405d18e65884ca5658bca43bc4c933eccdc9450ec9d57a3dc6a39da72a7a7a821f5c953cbd2b35c6e04f1d757df1cb0be453
DIST github.com%2Fsaracen%2Fwalker%2F@v%2Fv0.1.2.mod 104 BLAKE2B dd83516b0472a51d68d638c72db945b5640bae9fb4a81687b7c406f7bb67eb086161b99fd7f69ff13476b352c90ced4906b7a30db52a6adfbb3c862a1185a37d SHA512 21f6fea86dafb4b32ef61014700a7563e6c273fa8c23c6ce0a8776408511a8b4ab2d3391e21628054be2a94062f72aa7e9cc2f133b7ba1b2b10a758dce783d43
DIST github.com%2Fsaracen%2Fwalker%2F@v%2Fv0.1.2.zip 17973 BLAKE2B 841f2a011bcda5fe793802c7caf80b8811cc871060259b126707647220ad12b13fb2548e2a094255fac635b4ac42dd67141fd5606a59c957e716a7c41d25c975 SHA512 805094a1745b2c20d9c6265e84f92ee9fa05a46fd93408d10e62c855985a7f2838ff9fffed61e705875eb0c49530fe9b21c7586ccba01a4b53c8f4dffba3b228
DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.zip 1776515 BLAKE2B 5833fc2a16dec541a1362c9df7c02abe04a54e92e04eaafd5767c1a923e3a9cf90bc8d8ae0ee3c60b9745f5f0e3234350be1cafd984052353594d6e6b9fba041 SHA512 a1418dbc50d1e41495fd68ccba2ac84fed5edfd3e613c68850068afcce1136c3456e99d226674908a77c9648f16d7861edacb70afebcf3a7e73ea3dcdf8edbe7
DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20201016220609-9e8e0b390897.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
@ -23,6 +35,8 @@ DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAK
DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20200317015054-43a5402ce75a.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20201020160332-67f06af15bc9.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20201020160332-67f06af15bc9.zip 28627 BLAKE2B 616de462c5c7d1ad7d5b792caf2e3c9d45c5095d723dace2038e012672055b6c052a043414db7b87b26f43c1688d8c353fc63b666ebd9569f832fc08f7ac99ca SHA512 eda82aa21a23db9ccdf960f6fb0583223839623643525410764e5684d8551e725c3bf76fcf68a4b4ef1d1fb48505d248b9600c736e0e9497d9efd4bfe5bd059e
DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20210220032951-036812b2e83c.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20210220032951-036812b2e83c.zip 28693 BLAKE2B 3d6a34fa6da642f5ca71c930bd69a41439013f20ee60dde5d4dfab4bf688f1edb150a0477cb006670424c6c59e90d4bac9e5eb34f9fb4c518d903dfd26fb6cb7 SHA512 48b983589bd682ff9275c47733ec73637ebb5e58e1bca0c7744101229237d5cb34170efab63db0061aec857052cce9ef03c3497702b90a86287e6be88e1b33aa
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190626150813-e07cf5db2756.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
@ -30,11 +44,19 @@ DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190626150813-e07cf5db2756.zip 1810550
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200116001909-b77594299b42.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201026173827-119d4633e4d1.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201026173827-119d4633e4d1.zip 1496749 BLAKE2B 6f665574261f31847b1fafb76bf05483808610124bdf9bb22b976b93ef0d722a8cfd4892f48320ee0e7404b0876f65c37d945ce4466547d692d6fc00f4802c63 SHA512 604c6790250b7d05360cbd341cde88fc5c2a499bae119d51de5b073df0704089abd3b1536c5ef7008db7a5ef6dd8512824e77553ee8216134a2daa6cacb357c2
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201119102817-f84b799fce68.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210403161142-5e06dd20ab57.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210403161142-5e06dd20ab57.zip 1668376 BLAKE2B 1011c91fa59172406554b0d169e83b2d82121f5902f7d29f444a7df4cf1d5545595fcb9e150fed96478dc9328608af540fae5baf5bde49d3f3e09b258d3a3745 SHA512 77c0219da635612968016f4f7e95c0e5394384f736eeb457e359ddebb95a0079c07be7c106a2364b89bfe8064583024eba675fda5c9b3d0da9f67973ce9036c1
DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20210317153231-de623e64d2a6.mod 95 BLAKE2B 8385688f2081360fc2694f05d128ff0c587ef131e1b5757a942d9335870200e06545318afb1a7d1f059d060f51fe94fc16a48a1d7ec31a9a83e07b3c93f34ce3 SHA512 a3401e3d20dc1aaaebbf3c296a783668003f2182ed77ec830431f97339e07eda1859fe8c3c7fdfb0125b3ed331d23208519df520f86e20c1a05c822b3d766b08
DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20210317153231-de623e64d2a6.zip 23415 BLAKE2B 7b67ba682ce566564d78910a6854418708f329ee424c922ad8c8082df64a4ac3f643647fe235e64340f91364005d361c398c19c546faba0db070ab4da7b52a05 SHA512 390acf2a26428b88b213f16d28860c00f2255ee49a1d516e044c5ce51cbcb01545d10dd5868dba88c7aee5381ec07c68fb62a9e391eacf1a26ea4c318356175d
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.zip 6349244 BLAKE2B 0aa464ac7b7d17fa7ec0627b64cd2301ed4f2819f837807db7a55725950dacb40be899b5148b07ea31b51530818edcccc6444a9800755e1d369ba8f1bce949b0 SHA512 982d78f580a7eac99a0c51e6f1fd2b2c3b91f56cd5e2b96fe960510049f7daf5915264f73f55f05675eee232a52998f9667fa84a9ccba15ed7819e4c93f583a7
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.zip 8010747 BLAKE2B 78d999113a75f84966ffd23356e7cf60811b614754936851f197e547657cb6ff40acd074593c9cb6a2ae39ba625b36731c2fc0bc4b2b5ff68a2d377a6c7192db SHA512 024719305765ca737b225fec6268f84fc4c7d17c04e31eadfacafbb24a5f30af61920f4633e95d74dd2a266de40d1d2d13587881a3c22829ffeafb01fd75959f
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.6.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.6.zip 8610726 BLAKE2B 78870544de29f5cd9216befa8822c2387654c3987e09994dccf55d210ad7c517edb93bddcc68bd981f2c083a4ec5e012d558b0164901e2d74f6f447e75edfadf SHA512 494d58f2bc02819ec24d8e55f668a06694568e63bc4b41064a7e44aefcb2778c74983fc9126b50277845da8e6739e83fc1334aed989981e8e53b869878803d17
DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
EBUILD fzf-0.25.0.ebuild 3402 BLAKE2B cf7e0d862812d3d1529b09d39dd3b63672481cb95d7b6c6437ce0a913a5835658a8f1a59f15d557e1930124acaedfc29ce8970f8e492bf24522bfeac4acd895a SHA512 9562bfd4473d057f1100b682206b950d05fd12d005e9f3069eb0d1a98049d234300df88de12d940ccc50240cdbcd62838f60a08f6e468401078fcf02c755f49e
EBUILD fzf-0.25.1.ebuild 3402 BLAKE2B b4542f11eb53df1956d9d63069e21a20ec2b142e8010bc250ae0191d15d7e2503a231b9611ab6d7c53b83a7ba13134e0742d8fda35dc5b7444eb6a60e4bd78c6 SHA512 1c9cb16972c49ddb6bc741ee723da333c9e094341cb714ba212aa77e0eba4896b7bb18611ad8bd464ade3cefe574ec442b9eb73143757f8f3c210de5f515c4ec
EBUILD fzf-0.27.0.ebuild 3235 BLAKE2B 5bda0a1eceedea7734e41ca7e9d6391f7d241fed7de030937f4d70607e517277ae55395a2e9aae31a847fd1ebba737f57d50e8d2279b13df9974ffddeab74b69 SHA512 e1d1cbccce0a42d539b4dd70477cd1afbf509bb7be3d7abe9813d74f0518ea24bfb32d2a2c52d01be4e0af0cc76a4b2e27a73ef1c690dda946c6e5b1c7468ad2
MISC metadata.xml 619 BLAKE2B d2af10f888ca5c627b85697491455ba012f109741fb638e665c41c38c52f3b38be91fc2b4807087c638ac3a10ee0e07e9143086197e24c22747e88450f12ed63 SHA512 246cf19de9de22665c17d1023d5ee3252c9833251e741c32ada34e8b2d4c708d9a0c61b560152c6125b07d8d9d06ee8e186b89abb3b37a194e70aecc943c5bd3

@ -0,0 +1,104 @@
# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1 go-module
DESCRIPTION="A general-purpose command-line fuzzy finder, written in GoLang"
HOMEPAGE="https://github.com/junegunn/fzf"
# For fancy versioning only. Bump on the next release!
MY_GIT_REV=6654239
EGO_SUM=(
"github.com/gdamore/encoding v1.0.0"
"github.com/gdamore/encoding v1.0.0/go.mod"
"github.com/gdamore/tcell v1.4.0"
"github.com/gdamore/tcell v1.4.0/go.mod"
"github.com/lucasb-eyer/go-colorful v1.0.3/go.mod"
"github.com/lucasb-eyer/go-colorful v1.2.0"
"github.com/lucasb-eyer/go-colorful v1.2.0/go.mod"
"github.com/mattn/go-isatty v0.0.12"
"github.com/mattn/go-isatty v0.0.12/go.mod"
"github.com/mattn/go-runewidth v0.0.7/go.mod"
"github.com/mattn/go-runewidth v0.0.12"
"github.com/mattn/go-runewidth v0.0.12/go.mod"
"github.com/mattn/go-shellwords v1.0.11"
"github.com/mattn/go-shellwords v1.0.11/go.mod"
"github.com/rivo/uniseg v0.1.0/go.mod"
"github.com/rivo/uniseg v0.2.0"
"github.com/rivo/uniseg v0.2.0/go.mod"
"github.com/saracen/walker v0.1.2"
"github.com/saracen/walker v0.1.2/go.mod"
"golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod"
"golang.org/x/sync v0.0.0-20210220032951-036812b2e83c"
"golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod"
"golang.org/x/sys v0.0.0-20190626150813-e07cf5db2756/go.mod"
"golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod"
"golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
"golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57"
"golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod"
"golang.org/x/term v0.0.0-20210317153231-de623e64d2a6"
"golang.org/x/term v0.0.0-20210317153231-de623e64d2a6/go.mod"
"golang.org/x/text v0.3.0/go.mod"
"golang.org/x/text v0.3.6"
"golang.org/x/text v0.3.6/go.mod"
"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
)
go-module_set_globals
SRC_URI="
https://github.com/junegunn/fzf/archive/${PV}.tar.gz -> ${P}.tar.gz
${EGO_SUM_SRC_URI}
"
LICENSE="MIT BSD-with-disclosure"
SLOT="0"
KEYWORDS="~amd64 ~x86"
src_compile() {
emake PREFIX="${EPREFIX}"/usr VERSION=${PV} REVISION=${MY_GIT_REV} bin/${PN}
}
src_install() {
dobin bin/${PN}
doman man/man1/${PN}.1
dobin bin/${PN}-tmux
doman man/man1/${PN}-tmux.1
insinto /usr/share/vim/vimfiles/plugin
doins plugin/${PN}.vim
insinto /usr/share/nvim/runtime/plugin
doins plugin/${PN}.vim
newbashcomp shell/completion.bash ${PN}
insinto /usr/share/zsh/site-functions
newins shell/completion.zsh _${PN}
insinto /usr/share/fzf
doins shell/key-bindings.bash
doins shell/key-bindings.fish
doins shell/key-bindings.zsh
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]; then
elog "To add fzf support to your shell, make sure to use the right file"
elog "from /usr/share/fzf."
elog
elog "For bash, add the following line to ~/.bashrc:"
elog
elog " # source /usr/share/bash-completion/completions/fzf"
elog " # source /usr/share/fzf/key-bindings.bash"
elog
elog "Plugins for Vim and Neovim are installed to respective directories"
elog "and will work out of the box."
elog
elog "For fzf support in tmux see fzf-tmux(1)."
fi
}

Binary file not shown.

@ -2,12 +2,8 @@ AUX poppler-0.57.0-disable-internal-jpx.patch 892 BLAKE2B 811ce3bbeb3b3c0720902a
AUX poppler-20.12.1-qt5-deps.patch 1626 BLAKE2B 7dfd227e1e8d4449e0cc72ca297afa78b58e97dea19fe7f72bc65a599890db586dcb46780b3c737e2c2723749cf53078fddf565aa58bec0cbf553993d18bb6ce SHA512 286ddcae2bb639107f3d3ffab9317b10c437014d466efc8e39407d6350acc77900ee60888863b9dfa95c546c39b5b7f1a97a8936a4ac3ed7c6b2a30666eee537
AUX poppler-21.04.0-respect-cflags.patch 5738 BLAKE2B d09ed8ca5211b89a06b56d8e7f3564ca6b388f36469d174444a5b974ef0403e55061900b79049ad9192a0a5e2baa0bee295904c3ea27a74dfba7eb8813501600 SHA512 f9f915f3343f42f504080320fb1e35164f489abfa55bd7bc0889dffe05db56f49c8a528bc253e315e5616e6baccb413710a562021538ad4fa7f081b673bc688b
DIST poppler-21.02.0.tar.xz 1684496 BLAKE2B f62399a70baa0af36abd9bf7f5bc69003fcdc9b668a64475a6373dbdd9885092a8beb42f887eafdafac5ee17e9aac5b610bad1c9a64af8112e72c82f47e6a304 SHA512 3964990749f38f4468b244c579ff1f2dab7357dfddecb3035d14d3aaeac6ee4be42e76b4a1cc1a8cf53715518def9e92cc59d08c1e22592ced00a9c948989035
DIST poppler-21.03.0.tar.xz 1690848 BLAKE2B 60aef92bdfdc603b38dfb2a1aebd59c9085e6d51a2e22864edb3b0fd535421f47fb8041241e321d44cd8539538b61c6e19fe2d99a8a2d21fd85c3757ccadb5d2 SHA512 0eea1b5f32d79c3a497351a6491b5f617b089bef0a9a446723e87185acadba535e3146c0c141f4c2165ced1aa6fa853b54760a322d0932cfe3049c0ad94d64fa
DIST poppler-21.04.0.tar.xz 1694132 BLAKE2B 759a22b175ca8b64fa666d61e394cb7b6baa34a3dbc9c6cceb24c7ad4b0892ee34faea90278d9889d72d7b9558fc9abf52ab74fd739dc12e7314c3a755661350 SHA512 c3391787456e8a4a3bd6e57f96faa25051bb5e15ae7eeb7072ad6fbc25e3f8a34818945cc49d90a0e6ebc3d38dd4e70d3c60ba0a5cb42c4000bd8c15c947e5bc
DIST poppler-21.05.0.tar.xz 1700632 BLAKE2B 5e277f3d9d6fafbd39b395d7730182ec028c0ccdbb59e0b9d6ea93e079eb6dc8ff6e46a2b378ec4502055e8748973d353e1f947d734cdee4c5abb9f1bb6dba2c SHA512 428f63a85fc8a227efebcd64ca7e89fec487fea07c93f9dd990fae343532547bcfec29a3288dd9ffce698cf994ccc2ce5055e4fa677ebceb216c1caaa3e0cdae
EBUILD poppler-21.02.0.ebuild 3248 BLAKE2B 6eea98c0df7d157fedf39f8ed52f1305542f888b19c8a5adf741bd85df6fc7d5724c8ec03ad88ee9bec30bda82aa30e3fca370d407a6234a4f97aa5d4b3f76ce SHA512 2657dd6d87197953c09ab1ed4852f07e33475e1ceeadea0dcd0627f771500f13057eee927b8341286ba25820c4f2ce6b3f8d6b00d0b75510b27b3b9740585375
EBUILD poppler-21.03.0.ebuild 3256 BLAKE2B 392e3cb27b1e618b9eb23bc7bbc6702e3be28bb3ead308a0b086791d737b991a8a4dfb63aecee92ff6151a45a28e0e839f6cf4fe6105b2ce0ab158c6ecdc0c82 SHA512 c379804521b46abd8bb0d2185e7a6b34f1e278e8d40f9474b8474ede37c5b1000d0d0e566a9266b088fef098dd6b7af0e1d6802a06621c29195e05cb43895d30
EBUILD poppler-21.04.0.ebuild 3256 BLAKE2B 46cf4d6288aee53437e58c698110a58da3a395cc4ee078dd7c2d5c2e3b06a56c69e773f8ba7c33280efb67fd61000c943c10715bf46661835efad7c970270dc0 SHA512 c090442121d2c2275b1c82c67ad2ce24358d0b55f0cb9e3a509aeb60191423a984a126c6233332477a92d1d09f8d266e4d94c135b40e3c6f699108ba613e4068
EBUILD poppler-21.05.0.ebuild 3283 BLAKE2B 1b094db33956feade86e5089cc845878439d6fdf8595f4d795d6c253d4a26601b3e4ab2df6ec95ee1b718f442efd3d23748768dffe492445f95077f7cdeaf4d4 SHA512 ccaf9605e0bef9343ffe3346a60ed774dc93b0bc268d6235d88407d60f1580662425dc39c7626ea4f329a0953c3d2b6c6824fbc7fdc95baacef7afe181b2068e
EBUILD poppler-9999.ebuild 3283 BLAKE2B 1b094db33956feade86e5089cc845878439d6fdf8595f4d795d6c253d4a26601b3e4ab2df6ec95ee1b718f442efd3d23748768dffe492445f95077f7cdeaf4d4 SHA512 ccaf9605e0bef9343ffe3346a60ed774dc93b0bc268d6235d88407d60f1580662425dc39c7626ea4f329a0953c3d2b6c6824fbc7fdc95baacef7afe181b2068e
MISC metadata.xml 995 BLAKE2B 0d99fda69e6b020fd1b6fa879a0c3af278b92111be31d97cabe88703f06b4af56ce64ce9e0fc556d2b056c6770e547ae3b88dcc82da9cc26e15e2d1d0b5f685b SHA512 ae813761c5ab4dab475b737085f14f5874655b31f247f26495c43d8fcc47805dfceb2a8cd23ead39a3f8ee75ac820edc7c2554e573c338c09e5ec8b9d383417c

@ -1,122 +0,0 @@
# Copyright 2005-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake toolchain-funcs xdg-utils
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.freedesktop.org/git/poppler/poppler.git"
SLOT="0/9999"
else
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT="0/108" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
fi
DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
HOMEPAGE="https://poppler.freedesktop.org/"
LICENSE="GPL-2"
IUSE="cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
# No test data provided
RESTRICT="test"
BDEPEND="
dev-util/glib-utils
virtual/pkgconfig
"
DEPEND="
media-libs/fontconfig
media-libs/freetype
sys-libs/zlib
cairo? (
dev-libs/glib:2
x11-libs/cairo
introspection? ( dev-libs/gobject-introspection:= )
)
curl? ( net-misc/curl )
jpeg? ( virtual/jpeg:0 )
jpeg2k? ( >=media-libs/openjpeg-2.3.0-r1:2= )
lcms? ( media-libs/lcms:2 )
nss? ( >=dev-libs/nss-3.19:0 )
png? ( media-libs/libpng:0= )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtxml:5
)
tiff? ( media-libs/tiff:0 )
"
RDEPEND="${DEPEND}
cjk? ( app-text/poppler-data )
"
DOCS=( AUTHORS NEWS README.md README-XPDF )
PATCHES=(
"${FILESDIR}/${PN}-20.12.1-qt5-deps.patch"
"${FILESDIR}/${PN}-21.04.0-respect-cflags.patch"
"${FILESDIR}/${PN}-0.57.0-disable-internal-jpx.patch"
)
src_prepare() {
cmake_src_prepare
# Clang doesn't grok this flag, the configure nicely tests that, but
# cmake just uses it, so remove it if we use clang
if [[ ${CC} == clang ]] ; then
sed -e 's/-fno-check-new//' -i cmake/modules/PopplerMacros.cmake || die
fi
if ! grep -Fq 'cmake_policy(SET CMP0002 OLD)' CMakeLists.txt ; then
sed -e '/^cmake_minimum_required/acmake_policy(SET CMP0002 OLD)' \
-i CMakeLists.txt || die
else
einfo "policy(SET CMP0002 OLD) - workaround can be removed"
fi
}
src_configure() {
xdg_environment_reset
local mycmakeargs=(
-DBUILD_GTK_TESTS=OFF
-DBUILD_QT5_TESTS=OFF
-DBUILD_CPP_TESTS=OFF
-DRUN_GPERF_IF_PRESENT=OFF
-DENABLE_SPLASH=ON
-DENABLE_ZLIB=ON
-DENABLE_ZLIB_UNCOMPRESS=OFF
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON
-DUSE_FLOAT=OFF
-DWITH_Cairo=$(usex cairo)
-DENABLE_LIBCURL=$(usex curl)
-DENABLE_CPP=$(usex cxx)
-DWITH_JPEG=$(usex jpeg)
-DENABLE_DCTDECODER=$(usex jpeg libjpeg none)
-DENABLE_LIBOPENJPEG=$(usex jpeg2k openjpeg2 none)
-DENABLE_CMS=$(usex lcms lcms2 none)
-DWITH_NSS3=$(usex nss)
-DWITH_PNG=$(usex png)
$(cmake_use_find_package qt5 Qt5Core)
-DWITH_TIFF=$(usex tiff)
-DENABLE_UTILS=$(usex utils)
-DENABLE_QT6=OFF
)
use cairo && mycmakeargs+=( -DWITH_GObjectIntrospection=$(usex introspection) )
cmake_src_configure
}
src_install() {
cmake_src_install
# live version doesn't provide html documentation
if use cairo && use doc && [[ ${PV} != *9999* ]]; then
# For now install gtk-doc there
insinto /usr/share/gtk-doc/html/poppler
doins -r "${S}"/glib/reference/html/*
fi
}

@ -1,122 +0,0 @@
# Copyright 2005-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake toolchain-funcs xdg-utils
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.freedesktop.org/git/poppler/poppler.git"
SLOT="0/9999"
else
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT="0/109" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
fi
DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
HOMEPAGE="https://poppler.freedesktop.org/"
LICENSE="GPL-2"
IUSE="cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
# No test data provided
RESTRICT="test"
BDEPEND="
dev-util/glib-utils
virtual/pkgconfig
"
DEPEND="
media-libs/fontconfig
media-libs/freetype
sys-libs/zlib
cairo? (
dev-libs/glib:2
x11-libs/cairo
introspection? ( dev-libs/gobject-introspection:= )
)
curl? ( net-misc/curl )
jpeg? ( virtual/jpeg:0 )
jpeg2k? ( >=media-libs/openjpeg-2.3.0-r1:2= )
lcms? ( media-libs/lcms:2 )
nss? ( >=dev-libs/nss-3.19:0 )
png? ( media-libs/libpng:0= )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtxml:5
)
tiff? ( media-libs/tiff:0 )
"
RDEPEND="${DEPEND}
cjk? ( app-text/poppler-data )
"
DOCS=( AUTHORS NEWS README.md README-XPDF )
PATCHES=(
"${FILESDIR}/${PN}-20.12.1-qt5-deps.patch"
"${FILESDIR}/${PN}-21.04.0-respect-cflags.patch"
"${FILESDIR}/${PN}-0.57.0-disable-internal-jpx.patch"
)
src_prepare() {
cmake_src_prepare
# Clang doesn't grok this flag, the configure nicely tests that, but
# cmake just uses it, so remove it if we use clang
if [[ ${CC} == clang ]] ; then
sed -e 's/-fno-check-new//' -i cmake/modules/PopplerMacros.cmake || die
fi
if ! grep -Fq 'cmake_policy(SET CMP0002 OLD)' CMakeLists.txt ; then
sed -e '/^cmake_minimum_required/acmake_policy(SET CMP0002 OLD)' \
-i CMakeLists.txt || die
else
einfo "policy(SET CMP0002 OLD) - workaround can be removed"
fi
}
src_configure() {
xdg_environment_reset
local mycmakeargs=(
-DBUILD_GTK_TESTS=OFF
-DBUILD_QT5_TESTS=OFF
-DBUILD_CPP_TESTS=OFF
-DRUN_GPERF_IF_PRESENT=OFF
-DENABLE_SPLASH=ON
-DENABLE_ZLIB=ON
-DENABLE_ZLIB_UNCOMPRESS=OFF
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON
-DUSE_FLOAT=OFF
-DWITH_Cairo=$(usex cairo)
-DENABLE_LIBCURL=$(usex curl)
-DENABLE_CPP=$(usex cxx)
-DWITH_JPEG=$(usex jpeg)
-DENABLE_DCTDECODER=$(usex jpeg libjpeg none)
-DENABLE_LIBOPENJPEG=$(usex jpeg2k openjpeg2 none)
-DENABLE_CMS=$(usex lcms lcms2 none)
-DWITH_NSS3=$(usex nss)
-DWITH_PNG=$(usex png)
$(cmake_use_find_package qt5 Qt5Core)
-DWITH_TIFF=$(usex tiff)
-DENABLE_UTILS=$(usex utils)
-DENABLE_QT6=OFF
)
use cairo && mycmakeargs+=( -DWITH_GObjectIntrospection=$(usex introspection) )
cmake_src_configure
}
src_install() {
cmake_src_install
# live version doesn't provide html documentation
if use cairo && use doc && [[ ${PV} != *9999* ]]; then
# For now install gtk-doc there
insinto /usr/share/gtk-doc/html/poppler
doins -r "${S}"/glib/reference/html/*
fi
}

@ -4,6 +4,6 @@ DIST qpdf-10.3.1.tar.gz 18956768 BLAKE2B 1581799b7bd08e28829fd26571ddaa06fc8460f
DIST qpdf-10.3.2.tar.gz 18943834 BLAKE2B 5b4e320ddd663721d8201139842bb09a752347f86c3e33116063b2fff1426aed5ff6e3c581c120771a712a8ed278102e0d41816db207a25dabd84e5b89490d35 SHA512 4e630959abf27d1801e36d0cbd754945ded42ade9299057a6b9a642c7cb2a3f8242e274642f1c33a65b4a5a77562d91dcbe64fd5772d483cbe5edb4a6a389219
EBUILD qpdf-10.0.4.ebuild 1244 BLAKE2B 2884f1c0754b6ffb8e4bc21f0d760d02d0a6073329eaf8bd455d027f27d15a711c787d308ce94da5728417c164486175e8e1c37dc00edd71ced7428655bf073c SHA512 01f9701a9be098c2332bd96fc04882b6bf67be4ab862c5f370ab3ee370de396d44ddb9cd38cbe9df895caa07dd975f3cd88a1552247095514b559de2c1566b5f
EBUILD qpdf-10.1.0.ebuild 1244 BLAKE2B 2884f1c0754b6ffb8e4bc21f0d760d02d0a6073329eaf8bd455d027f27d15a711c787d308ce94da5728417c164486175e8e1c37dc00edd71ced7428655bf073c SHA512 01f9701a9be098c2332bd96fc04882b6bf67be4ab862c5f370ab3ee370de396d44ddb9cd38cbe9df895caa07dd975f3cd88a1552247095514b559de2c1566b5f
EBUILD qpdf-10.3.1.ebuild 1249 BLAKE2B b5e184db99326067946ba1b9b43299a4862b4ac89f5592b635c709a804c043feaffdf9514c5adcf500f0c68ca657f7cdf3d889b3115e71c1616a793cd26c1a01 SHA512 02f5e0bb292408359ffbda3b77ba195678437b892faa31a86dbc899c1427bfa97ca8d27432d5e768599efebe28b8a15185dff7229eaeb1cda11c76a6e68830bd
EBUILD qpdf-10.3.1.ebuild 1248 BLAKE2B de70ef785858417afd2d14ed04b8ccb0bb5f0f63a1e821e8585e4112bb9218a46c3e8fdc8c43de41872ff3a1c1ea37d9eee8acf273e66a119a9a28f717c63ffb SHA512 4689def9f70b7806c09333ad2c42b005effadbaaafa1d730ac50fd4f0d214280f76ed075110626e2aa2782aceb43451ac03b50f543b183b7ce7b5152ad30133c
EBUILD qpdf-10.3.2.ebuild 1252 BLAKE2B e056b468f2e2a91633c132781422402028fea6b1720212eb0f4621223532f891173253150fef6cb8d691bf996b68a2c073395ad099de785e7754d3bb2bae203b SHA512 370eba25d739b339bdaaa3a5e139f364ca42c0dc1985cdda0e36c17a08956ded863e47d16f1710fd0e0881246d5dc9dbda0268dd606bce8b6a0cc6467bbd34cd
MISC metadata.xml 443 BLAKE2B 4522681371216196a58ef46575aad835e548c7f4e18a7137d6c780b1a5b8596f121e223fbfa6face7e33d5fe487b20219f0a40c68c5b0cb4d7eae1dfe7e8dc92 SHA512 1fcc6699cc87a906f341f9ebf45158a18870df921c573bba5f348375cd1ef0a204270abc9c6337e81d48082bf970ba16b09d940c4dea94b92d1d4efbeac5fbde

@ -10,7 +10,7 @@ SRC_URI="mirror://sourceforge/qpdf/${P}.tar.gz"
LICENSE="|| ( Apache-2.0 Artistic-2 )"
# subslot = libqpdf soname version
SLOT="0/28"
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris"
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris"
IUSE="doc examples ssl test"
RESTRICT="!test? ( test )"

Binary file not shown.

@ -2,11 +2,7 @@ AUX eigen-3.3.7-gentoo-cmake.patch 910 BLAKE2B 9cad2b9c54fb1299dfe45f9a94a427d1c
AUX eigen-3.3.8-no-error-counting-in-openmp-parallelize_gemm.patch 2382 BLAKE2B 99d69381ebb3ecf8b097eef69916bde88ab5cec075df623a46537281b37059876ce39e687de4ca441ebe6459c66438f3282d051d0e85b0574df98205be8cf6d0 SHA512 26cdf877d4d3378b322cc08c0430b0628a07279a030732661ba4acb85d6c835956c99474fc4587a170d11437ca6715e56d8eaabb625a1eba7c46ce4d6e4d66f9
AUX eigen-3.3.9-max-macro.patch 476 BLAKE2B aa2e810a7be5a934a8bf5844b7e24633ab8f6b6a58388d6d9cb9b4b925f68311443f79cb3f94c8c50adc14f2165530c43b735abc4aa21340868d9330c1e9b4fa SHA512 ad8d10c90136188ffda547b8d8781e9d26bc43d1dba7e9c3ff12f8a73725d1b331dd47bccdd331f998a0b03251eb2e3373a8cb39284f82c4bc63a5a703f21a46
DIST eigen-3.3.7-gitlab.tar.bz2 1663474 BLAKE2B 70c2f6305ca205d62755cf5e90961088938b8daf56b7cc27abf52f0731064858ada523009d6bf5f014e24b34ceeafe59f918c385d12ccfe249ddb675e13d37a8 SHA512 ea3f1570de3be9ec230d2fbd0f2ae246bf5fd13da79835bf546eb31524796f26f9f633ee779f77942b370a8d540c5cbbd8dd033ccec53a44b692c7e407d6266f
DIST eigen-3.3.7.tar.bz2 1665168 BLAKE2B 544d35d1c7a4125affa094c6aa372c2aeca4e99bc60c496ff393d538c1c467b454491a772121450e3a1a43a582d073b4b7584918354d0b9175121fde88947c4b SHA512 c12bfd034d0a1112bf2df3f773ad98f36b2b53fbbfceac5f143ee1793322746fb8a6546d7db7da2a1000da6a535bd8cea0c4125b549afc90a6570743b02dcf3d
DIST eigen-3.3.8.tar.gz 2141903 BLAKE2B c33e699ba08338e7b9b215c9466e161229164ed3c466ce3d760c6917749af33c0414c3bc4bbdd216e3466e69ece8a38ca8beb78b7e0f1609894df6bb4a7fcca3 SHA512 5b4b5985b0294e07b3ed1155720cbbfea322fe9ccad0fc8b0a10060b136a9169a15d5b9cb7a434470cadd45dff0a43049edc20d2e1070005481a120212edc355
DIST eigen-3.3.9.tar.gz 2142379 BLAKE2B 437dc190fdf7a416d0a5cf81703ef4cc73c195f0f3e7c853e0ab38cf904608ddd4485cc4e15eb0cd5e3c401276f270f3c86f538f205cc91b8c83e131d1bc916d SHA512 16244cc89f2e1879543232b965cbf653b3ccf10e967c8c437a41e27d8320392bdf584d8c24b8a97406ab7d1481d5154da74e0702ec1334ae6a46de83f4573a46
EBUILD eigen-3.3.7-r1.ebuild 2251 BLAKE2B 8ac30181d5c64ecb1a5ba47d386b00962e772319dfaeb393deb1c0d742a8c4721b4ea57de43ee79c754634872b455e0ae6a086617b46b4ca9bf19b9ff038a20e SHA512 02b5f22b042d817b9d4729bc13bea27b54683508db23d22ae0215003f49a7b9f70069e92911f9e4e40d5f71ac847035cc89843f426b7dcfca214e1e4cd3034eb
EBUILD eigen-3.3.7.ebuild 2432 BLAKE2B 2312d5d606907923882c74f4842128d95f9fa25eff68ab7217a58131c2fab11f42d8e1658129f29a7dbc68d3ab42510f6289ff1fe9ec7987596f691aebb67fd6 SHA512 e411a3a4c08776dc667d2145e52b23225d88b6bc9e6b36e664392fc26bd34195fcfcf2b54d0b20dec4ad8597f6e262d4dd7671513ab3581b10d0a16ed2713701
EBUILD eigen-3.3.8-r1.ebuild 2292 BLAKE2B ec49dbace8c35444eb8a823270845eca371973500d187d91dbc897329fbe295c0ffdd5bc566301a51b1cc1ac26d51618762fd41c2d958ab4d7d813860df7ad45 SHA512 1aa8b8db7450a986fd3df736de11f7b1060523e30173d0240dc5bbdf18db0cbaf6b5657f2517e8dcdf4dd34b55efba88b3e51686c145b7c0a97502424be2aab8
EBUILD eigen-3.3.9.ebuild 2499 BLAKE2B 3b9577b804ab4059a94f5fd2fdf0f55fa094d570bc998ea41feb3e0ab3ec3014492b78466e0602d4b9be448b3c82c243b41bfd635f62fe2b0f53bf16fa055e8e SHA512 68b000a435dc937d09d21c6ef3528b561548f7f4903cf902bf32c9c116fdec53ae12bd504b552e39244b06cf1d08d419d4ba07b767a40e4abcbcebd808676585
MISC metadata.xml 945 BLAKE2B 11864f5eb57e7a8ecfa9d1869536fbfbd9fcb24bc965edad51ec5013bea87a48d63c1b6427b5bffe26191de7e24b950a1c7ad1f0a801fed6b77a41bad4786334 SHA512 99fe52d30c344b957a76a7f6add1dd4251c606f47befa6f517fa50cbd8ba1ef325e66051ff799093cef8281bf1099709e86d3f3a896b078267c665ad68063203
MISC metadata.xml 886 BLAKE2B 650db5b70b6440feb58275f3c949a9b191121798f47baba77e10e53f176470084136fc880914a7cce29d7424472f1f0116a81e33ab7eb25541e1fa549a9aa362 SHA512 32adfdc1a0501b1926b027d729c2c204d8b84c00623ff250bd8b66877371f812a966aed20efc71b5bf47c3fcfe5249f68a4ef0fb3ab2422eec9c8e7f6af341ca

@ -1,107 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
FORTRAN_NEEDED="test"
inherit cmake-utils cuda fortran-2
DESCRIPTION="C++ template library for linear algebra"
HOMEPAGE="http://eigen.tuxfamily.org/"
SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="MPL-2.0"
SLOT="3"
KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
IUSE="c++11 cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_ppc_vsx cuda debug doc openmp test" #zvector
RESTRICT="!test? ( test )"
RDEPEND="!dev-cpp/eigen:0"
DEPEND="
cuda? ( dev-util/nvidia-cuda-toolkit )
doc? (
app-doc/doxygen[dot]
dev-texlive/texlive-bibtexextra
dev-texlive/texlive-fontsextra
dev-texlive/texlive-fontutils
dev-texlive/texlive-latex
dev-texlive/texlive-latexextra
)
test? (
dev-libs/gmp:0
dev-libs/mpfr:0
media-libs/freeglut
media-libs/glew
sci-libs/adolc[sparse]
sci-libs/cholmod
sci-libs/fftw:3.0
sci-libs/pastix
sci-libs/umfpack
sci-libs/scotch
sci-libs/spqr
sci-libs/superlu
virtual/opengl
virtual/pkgconfig
)
"
# Missing:
# METIS-5
# GOOGLEHASH
src_unpack() {
default
mv ${PN}* ${P} || die
}
src_prepare() {
cmake-utils_src_prepare
sed -e 's:-g2::g' \
-i cmake/EigenConfigureTesting.cmake || die
sed -e "/add_subdirectory(demos/d" \
-i CMakeLists.txt || die
if ! use test; then
sed -e "/add_subdirectory(test/d" \
-i CMakeLists.txt || die
sed -e "/add_subdirectory(blas/d" \
-e "/add_subdirectory(lapack/d" \
-i CMakeLists.txt || die
fi
sed -e "/Unknown build type/d" \
-i CMakeLists.txt || die
use cuda && cuda_src_prepare
}
src_compile() {
cmake-utils_src_compile
use doc && cmake-utils_src_compile doc
}
src_test() {
local mycmakeargs=(
-DEIGEN_TEST_NOQT=ON
-DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)"
-DEIGEN_TEST_CXX11="$(usex c++11)"
-DEIGEN_TEST_CUDA="$(usex cuda)"
-DEIGEN_TEST_OPENMP="$(usex openmp)"
-DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)"
-DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)"
)
cmake-utils_src_configure
cmake-utils_src_compile blas
cmake-utils_src_compile buildtests
cmake-utils_src_test
}
src_install() {
use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
cmake-utils_src_install
# Debian installs it and some projects started using it.
insinto /usr/share/cmake/Modules/
doins "${S}/cmake/FindEigen3.cmake"
}

@ -1,101 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
FORTRAN_NEEDED="test"
inherit cmake cuda fortran-2
DESCRIPTION="C++ template library for linear algebra"
HOMEPAGE="http://eigen.tuxfamily.org/index.php?title=Main_Page"
SRC_URI="https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
LICENSE="MPL-2.0"
SLOT="3"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
IUSE="cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_ppc_vsx cuda debug doc openmp test" #zvector
RESTRICT="!test? ( test )"
BDEPEND="
doc? (
app-doc/doxygen[dot]
dev-texlive/texlive-bibtexextra
dev-texlive/texlive-fontsextra
dev-texlive/texlive-fontutils
dev-texlive/texlive-latex
dev-texlive/texlive-latexextra
)
test? ( virtual/pkgconfig )
"
DEPEND="
cuda? ( dev-util/nvidia-cuda-toolkit )
test? (
dev-libs/gmp:0
dev-libs/mpfr:0
media-libs/freeglut
media-libs/glew
sci-libs/adolc[sparse]
sci-libs/cholmod
sci-libs/fftw:3.0
sci-libs/pastix
sci-libs/scotch
sci-libs/spqr
sci-libs/superlu
sci-libs/umfpack
virtual/opengl
)
"
# Missing:
# METIS-5
# GOOGLEHASH
PATCHES=(
"${FILESDIR}"/${PN}-3.3.7-gentoo-cmake.patch
"${FILESDIR}"/${P}-no-error-counting-in-openmp-parallelize_gemm.patch
)
src_prepare() {
cmake_src_prepare
cmake_comment_add_subdirectory demos
if ! use test; then
sed -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \
-e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \
-e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \
-i CMakeLists.txt || die
fi
use cuda && cuda_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCMAKEPACKAGE_INSTALL_DIR=$(get_libdir)/cmake/${PN}${SLOT}
)
use test && mycmakeargs+=(
-DEIGEN_TEST_CXX11=ON
-DEIGEN_TEST_NOQT=ON
-DEIGEN_TEST_ALTIVEC=$(usex cpu_flags_ppc_altivec)
-DEIGEN_TEST_CUDA=$(usex cuda)
-DEIGEN_TEST_OPENMP=$(usex openmp)
-DEIGEN_TEST_NEON64=$(usex cpu_flags_arm_neon)
-DEIGEN_TEST_VSX=$(usex cpu_flags_ppc_vsx)
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
use doc && cmake_src_compile doc
if use test; then
cmake_src_compile blas
cmake_src_compile buildtests
fi
}
src_install() {
use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
cmake_src_install
}

@ -17,7 +17,6 @@
providing optimal speed with GCC.
</longdescription>
<use>
<flag name="c++11">Build using the C++11 standard</flag>
<flag name="cuda">Build with cuda support</flag>
</use>
<upstream>

Binary file not shown.

@ -3,7 +3,6 @@ AUX mariadb-10.4-CVE-2020-15180.patch 1654 BLAKE2B 331536012f2e6bacef9f5ab75e93b
AUX my.cnf-10.2 140 BLAKE2B 3a56b7e38c3dc00215cae4bdc3270e30e85299d3290c0c995a611e4b8b15e66f40d6ac40ab18369e7863742ab6eda94259be5a7f363a26020c6fce28a7582e94 SHA512 85c650670e364f5f71842d9ab07b59c5de6e26e774e7192102562e56f94ed5f8fbc487cef31c134209c22b72fde38f7f53b7279cead97a8af608436d1ecc8857
AUX my.cnf.distro-client 643 BLAKE2B 5ffd286907ee28c92c85bbcc9a6266555733f1115f2d6b8009183dba6939b978ae8d1b8e0a53e672b8e1a1f621650399231723603fc5f96ef7218db84236e176 SHA512 801f6ab8be3110bb4dc38eaa4367715b8d342b69cadfe13dff987ef6c3aedb67d19449f8f2483e63df5d8b444ca30701b0d96f85e211de6b1e3db923b029acbc
AUX my.cnf.distro-server 998 BLAKE2B a7f2977a96d394cb7e24d72d82a1c21095c4b55607e5ca4a2c10619278796c328931a5ec076c15b60afef370c2e5da02ca0c628f330e876b4d2c984eeb54df5f SHA512 d9ab6f7fdfe08e6c242f84410ec680ef6aa6778c4bd55fee67c644e1a7d997446d8ef2129be6fc9833d16fe40cf17e09cdf0cf015f06bb145bbf9cfecb51e882
DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2
DIST mariadb-10.2.32-patches-03.tar.xz 6048 BLAKE2B a6f8f25ec23d1d86d228d719927daa9131779239917b86eab9f82086744294c0a4f03b1a73a3baa599e367775457d6c345fa0820b89063b2e6379c0fb7076ad0 SHA512 324804f13f59593d26cc5fd8c1cdeac2f16cf55012ca65b0a7223512920e1ea94619991fdcb3d19184b6428e4a627fec75532c88ae8297f9b8398fcf730058a9
DIST mariadb-10.2.32.tar.gz 73646729 BLAKE2B 581906d67f0aada9e85aec7bfee03ed8927a4e836f0639fa5f31576f5df70ce2b6ed3da0b96ad616f5ed71d7717531a073cb911c6d92274f6724911e086104af SHA512 824aa94724b639337a5b4c2e86a1f5ceaeaa940eb234f852df1ba0aafd64e269335e2aca0b05d52164e090cfd6f7d14477df9e096473aa5d9286d47944a765b4
DIST mariadb-10.2.33-patches-01.tar.xz 6024 BLAKE2B cb4283a36b303b1422d53c454bc6390ce80f3a88c9f9cd459468cf9bff792a1af197a5e5b3f7e45376024ef78bc6049cecafd8654e1b767f741f35129624ab12 SHA512 ebe9c1295089c04e869516f3ef278673986c1227b92bb9cd96cc561b0392f22870200cf58db91fdfe7e113b04b5b6d66c904b2d1353011cbd89723a8ce83fec2
@ -14,16 +13,14 @@ DIST mariadb-10.2.36-patches-01.tar.xz 6032 BLAKE2B d1ca7e8469e0f0b8a14d5f993894
DIST mariadb-10.2.36.tar.gz 73892597 BLAKE2B 610fea30b944e46483f4a9630f8af22afcbcc8b461ce2b13e28b3376271dce8436df9bd771f048fb8af5e0ef9e5e3986be02af742937504e71413710e4f6462d SHA512 0f1ced570a79036fafd318ceaae06de71cfc748b0c99d31487a00f7fcebed993ef7e05614e866f48b1811660a7a4ad7c36d6bb0133bdb0228cc017199f182406
DIST mariadb-10.2.37-patches-03.tar.xz 6404 BLAKE2B c814ae967beac459810d1ecf4b5b21da99241e571c9c42fadeef0a27a1928459bb7d2a79461693fb6dd8821302891e459c3848f65738cda61f27bc8e174657e9 SHA512 b2b002ca1b390b251a0b6bce3dd996cc6aa0da4a9787d747c4ae276237e5c67ada7fc79a1acef9e3469232d5903ac8d1dcc30540e29974899c4128239a1569ba
DIST mariadb-10.2.37.tar.gz 74041747 BLAKE2B 81ed5ada9f27c7dadf2daa88c52e1e40c834e8f243eb416a4a1e486d7e756d2bcb86f545b013fb1bb83987eef19239b2e8c3312a50be10eb13fee1a9c824095f SHA512 e4214d5f013917fff2606aa0b827373c228c06ba72ceaddee01459105ba08316f360ad930bd36e71bcc98d371162a0894560a7a36d2b242629cc970798660854
DIST mariadb-10.3.23-patches-03.tar.xz 5520 BLAKE2B 30bc247ed6d97aefaa1ed48f379fc9aab3df3409aa9a108728313c7c69ab0641b69ccb0289eda9539df367f85b2db494473d3836807dfbf60df1e0c832e57369 SHA512 64bff196d1651348d303571fd551a5666d9514c1ee17cd9296b9d420c4b3d7d9b339644a1cad029bae3c35a666b405d471a37846138f2551f3b1b88d99b80844
DIST mariadb-10.3.23.tar.gz 72582611 BLAKE2B 493605519f714cbe87b938f6ca3243d29189adbfcbb33c4e10a4a3f01b08d875f18b96b647dc92566b785c2cef9862ebacfd55954d13ab0a7a745606e40fb6e9 SHA512 535cd2ce80a95b6c0a1aa559cc3275dfcd559c3a4f958fab3382923190a16e6bc5b4ad79acaa518244512ff618568c239c0edef8a701d958362ede19a29c2986
DIST mariadb-10.3.24-patches-01.tar.xz 5508 BLAKE2B c3b75205ecec0b73c85696a3382dd9271d495389f05d1bff66548f5f316f6d5f2ee7204020f265a6dd7ee7c28e1a010d74b056b9c9ab244651ba417e496fb1a9 SHA512 d9d408e6ba08a8a321b9a6e72a6347c4317652e91ade0056ff8621dafbbaf398e33d6b15247e89a2d60b731021d30cba9611356ced2cf848d1807cb3d376c378
DIST mariadb-10.3.25.tar.gz 72710424 BLAKE2B 95029946e2ed04368beadf33b42121c612fa9d146e648fd584078e4df88e3c93f6373e1e996817644e06f3b2713a257e3079167434e9227db01dc1a2ad08aad0 SHA512 9504e401db3b65b2b2bd4d3c91a468d357e82fdafbf90d54539a291e46570c2bed66ae047b17b9da95e925f8970fa048d329ba06c2dd6de7d46d5a0f2aad1f4d
DIST mariadb-10.3.26-patches-01.tar.xz 6720 BLAKE2B 5c7ae688e628bc5831bf4c1680bddbfda8aae33a033444a2a2cc27a920804570c669834779342db21fff1c1c4da3efc689bf5e7b1ee3b058dbac02a68695ab01 SHA512 e906fdb75c6b0baa495c10ffdc2ed4d28851193f123d70b2f8c1f4b0171f1c2cc75c54bad5f511892e542cbc75bad6b01a0e83577094aababcb69145cd9a537b
DIST mariadb-10.3.26.tar.gz 72867143 BLAKE2B 5ab012e014e855bc5dab9bc5060bdf179fbe0fc67e564e25bb1059a0f19d5c90fa8fb6ccb9482eff6babe602eaf7b6c768eaa0ecb53bfed5ad6db9eb4e18e97c SHA512 28c593b26dcfd2208105ace87e85e86b37511821bc5f1fa65c7bfa5732d386e0b68af3b83a8259feb9af878e29d61f1da5c45b50c8e2f57a22e4001652c61140
DIST mariadb-10.2.38-patches-01.tar.xz 5796 BLAKE2B 51a574eab28c16394e3e953654d31f9d6fe88f55292ccaea35b0463d122a749ed52cb8d5e19f14b0d630bf22381ee0bddcf1e1b80c1445a82b931dd9461339ac SHA512 48fcfdb685bac516ee3388fc05adce5b53bbb42bee7b3681a887c76c63cb71b671d4089721a9b16f281496be9e9a87a556d44e4a6834c96345c6ada900dc9fe8
DIST mariadb-10.2.38.tar.gz 74250852 BLAKE2B 5d75a38d7d892d93c5971713a4ab47c2803c03934ba301ea239b0a7565692272339ca0c3360a7bd533adcfef1af392c906b8f0136c18a25f5a1dd6127c8a6902 SHA512 4918a04877e16a0d33baca61b7c207b21b646df3be5e9ac125cb65404c0c6d6706b054106f437acfeef402238b35018a3cd764ceb31144a98791137c44e273a9
DIST mariadb-10.3.27-patches-01.tar.xz 5516 BLAKE2B e78cc8514a3597b6ab38f00142a82c81e7482f1fd9afbcfd6f10ee92803a131f483f32361aebf288f9912e58140caeee1c536086e3f733c3a8dfe9c5afc5a590 SHA512 d1744bd83e099b67faa3c5385803c4eac58200c1a2ca30b5723e401c72e434d752be26c80da3b036431024c6a7d1ee889bde34a3143a43a9851984697d43e362
DIST mariadb-10.3.27.tar.gz 72870472 BLAKE2B 46d203ba018ba00ffee2e5e9bec7f0a9a4d27f0aa30b26651215c7b3fca803dae1080d075bb4938a403c1f78a46ec4fec4bd59736c0eb9a0b84763445efe097b SHA512 96507307cf95d319898e23cb46a5f46937907592e421eb4a4373f47ca54291623010d18414e58bdba88a78255b1996984b14b41fb8f32e3593a3b02ed852aac5
DIST mariadb-10.3.28-patches-03.tar.xz 5896 BLAKE2B bd9d7c3b32f17e0ce8c2149e5c2981dbb09647d56295eb9a2585a2c79f7e3aef46267e55a30a3440e57b1dbebe98a5a72d08aacb9a4b2fc3f30bb1f83d3b38c3 SHA512 0f8e8f9a50bbcb037bd22116ec826d01b15937f934d91fee11a37da0d4f91944762bfe3560c8edc4e5b9cdd9443fcce9b0e02373c4bfd97ed8570ff944d0b803
DIST mariadb-10.3.28.tar.gz 73040177 BLAKE2B 4fff746e7c04b239055c8528bcfd31e4911e6daae3427dc8a6e2e0e21c2888d2145b5383c6b0876b307949f122c2645d42fc7efaeec594bae1f02aff4037e676 SHA512 f6941bcc818f9b3640e4b5fdbdd3a32b45c62c04087e583f1f0e1c0258b09a21c7639abd1c902e183c057838308ad5eedc00ffee76d44a02043e8e349015fb20
DIST mariadb-10.3.29-patches-01.tar.xz 5280 BLAKE2B 262c8f89508d915a13c3c309c885af68ff044ba28b4c3d631a5be90b709c882fa3cf521380c9d2a2f7695477d7bcd364ccb98d90750e524deb0aa0daddb94bde SHA512 95d04edf54b722ed7022bd2b915d722ae4153eb2c12a3d6c499469be0de4d03582226ef525be9e9af265674ef31ce2376442a09c583222c64ad9994ddc51c8b7
DIST mariadb-10.3.29.tar.gz 73261682 BLAKE2B 81ac5c7d1ad343c7d1c6788dafe07c45ec096d975a3197c6a6940da60a4a73383dff18e15d1940f1248dc34f290603629e95fbeca31c0749c5b0ae2b3de92b8f SHA512 fe868cde5ac3536ff5bbf34f235253c79e897e61bb34f7fdaca8fa8fcdb83e4a19c615beab27d3fdb5daee64ac0c8f36ec7e8089a9422c8540f7e92b1999a769
DIST mariadb-10.4.13-patches-03.tar.xz 5520 BLAKE2B 949b7f6ee5a9a6077424264e53d2b7af8ceb56cb38b204800e1c3ec93fc929d57b201e075f8ed735364b5421a3b922ba45fc94ba006f1e6d94494efa17b521ef SHA512 042c3ca8a75ebbb1c2baa508603d4248a178f87b7126b439ef6894eaab979f01c47cd8fbea3c106cce2a951e9308c76e72b4e444dcbee09a991cb524f2b9fac8
DIST mariadb-10.4.13.tar.gz 80608459 BLAKE2B e9ada14da6ec7492311068549a5b6e5a66e1177312013b25472c084a21fbace543ec43b47f2e12190d45432648d508f311198521f42359561f8d75ea60f98205 SHA512 68919ceffb3d4afdd0d94daa77439a954c82ce4e08fbe06044fc397940eeb88a39ec75932cbd08ff26ef3cf7636fdb779947cda5b2764aa1fd888be19c44b566
DIST mariadb-10.4.14-patches-01.tar.xz 5512 BLAKE2B f32e1d383ffd99de431bc34c36101c71c5e631344527e96b80ca6bd0a68015b45a4c33d6f0518cb4aa2bcfd493b64b6607671450ca045243404c0d65ebbc66fd SHA512 201fe82cbcca705dba52b32405d463b5569d97a5ffd9fd2967ec7fc3c3ff305011b3d2c3c0e9f7c19aaac57b26661bd361f3b6da6f3812f25934ec18856c7051
@ -34,33 +31,27 @@ DIST mariadb-10.4.17-patches-01.tar.xz 5524 BLAKE2B a9424a8cd68a5106087e24f08a3c
DIST mariadb-10.4.17.tar.gz 80986181 BLAKE2B 68dc7e0a7a809d1d26c75351e2f934f07a7c2e73651a8253db658d8d93375545a97f50650f0ea92387b4f5e13aabe6de8567d22fb0434d40058a392a58ad9ee4 SHA512 51bbdbae9ba48e3e7b0b614a5e19a0549979b727797e2742a130c6bed23d06eea6d18da63759a3f5f3ba751bcaaef4cdbf6a3456f4d23ff9149b3b0ea07e7079
DIST mariadb-10.4.18-patches-03.tar.xz 5896 BLAKE2B e7d16fb0177a468b190ed0a3fd1c9e1bac369e0ddff034a999351af1a1020271013dd6dec52013aa7055c4b4177436ca3f5ebcca06d14355be88f55f0bd875f3 SHA512 2b6acff0ad88d4bca3dfa4703c651de6f7c94cf209f5c00d03d5cc4bac220490e7ec7ccd257bdc19617847074d372f24b2804aa6d37fd24f1c4acf40315890f9
DIST mariadb-10.4.18.tar.gz 81733656 BLAKE2B 6eb0a9bff586dab3efc4edb4e9d1a7e2f5ceb1341de08ffc4d63787a83b8eece18b96fcfae48e68262350e71dd28e2e4d328746fadcb006cd9d5e1bfb63187a3 SHA512 085c2468484d997facb021ea7cba4895729b6c5769d715e30cf1dfd62c3a291e5025774420ed278f9470de20be8d3537f03c7d1cc5482d957bc91eb072cd9c12
DIST mariadb-10.5.5-patches-02.tar.xz 6060 BLAKE2B 185a2016836721f76c19228ca39c1c7610c34210e23b42f254e4c4fde34c74d9c77bb0d1a441175c14938ecafea3e9575fa3b7349db826aef63e7d7e7a21901a SHA512 8a26bdbec19d45739ef7accd3cea999bde465714141532d999500df2ebd93bb98a00b8b86b1e855ea4f0cba6984b21ff09beee75372f840282a91f5dc95db432
DIST mariadb-10.5.6.tar.gz 86884252 BLAKE2B b0230acf43d54e976c4e757139dbaa2bb6ed992b0d056728142fc7fa41bd62539be22eae5aac614ea49acf220646ee57ecc67ff1373c6aa142434e6743a4d174 SHA512 c62bd6278d389baf179962bc6f617693cf3ba748382e96963b1ef5bbee8d1c9f0964025cf00fb7ff5de088a79362b65657ed30a8adbb61fe524bfd0d8d753421
DIST mariadb-10.5.7-patches-02.tar.xz 8992 BLAKE2B ec9acc1f09ac08319c5ad7e952e7521d722bf1c4deba15c3f2cfd72b89eea6c724b00c83be1b28e6261aadc94abcdffde8e978e4f13910367f4ccf56a3d02f45 SHA512 2adc499fbcf6fc895a5cf8643ca86866ab29d216cbdd62f55c1b0e66939e222fac310fb6a34f39cc76142b404febdb592e21be75aa3d16fab6c2bc7e725c44a1
DIST mariadb-10.5.7.tar.gz 88214625 BLAKE2B 8ec53b4b98565d99a707899fd6adfdc5bffbf722528e0042ab16b5e186d32229a386881f2781a0ce435585f338b48dc66459bef9d8921fadc00a3d770b62bf5c SHA512 d964c61d6ba7cf21fea97b8e0b6a0bf1ee50fc7a7995753dafd710f4656001bd6e03c243896efb5802cce16dd6470849ed036d09b17415a538e008f64e974a9f
DIST mariadb-10.5.8-patches-01.tar.xz 6212 BLAKE2B 7e4358d02d25edc51f5926a75646052ccf07fe2b5cab1901a133b27764793c94ca2a6c4d4b90b5d911b25a6d86f1cb7d2659edbcdab52c445fd6959ea080275d SHA512 f7a5d948c6d7d97896538b7df0de60c8e7969dd15b4ff406e8955a282e69fb7f19fe91424afc332029ac2a36c52781617bbf1c5f6d57dd3bfc21d3ea20ff4c5a
DIST mariadb-10.5.8.tar.gz 88206163 BLAKE2B eaaddaf240102428a23602655920bdf543d25cf85e669b1b07bedba5119a5e0f4498e999db39031dcff168ac810ed0b28f5fa9ac995b3634b84b99b753b4636c SHA512 9801a68440a3502b49655e34dcbfd09734f4a4f1ba8621ed9b895e194cea461a8c69fb0ff66488d5defd3065b43f73e5083a60142e11cc7e4a442f86769b06e5
DIST mariadb-10.4.19-patches-01.tar.xz 5288 BLAKE2B b97a8b2c55ad2b78b4f27dbab3893c777e15ef237fc66a9ef62d391772caaada3e23949a63ae170aa72e4b07f9bf34f32da72614756bdbe0712efe6c39f0da59 SHA512 e26b12230b965fe0facfd447a815a88fe8edaaeb8e209cc53df2d76c580dacdab59afb09c09ef471fb0b46c0cde8eeed84f3eff851751316eb12f06de235d52f
DIST mariadb-10.4.19.tar.gz 82042449 BLAKE2B 6137c84852b6b770efa908b49f03ca52726a537bda410b324ed388a82667bf0e3ff37cbb62d6a541ca39ce4841efa861553c7cead11030dc9deacdeb7cdb0d5f SHA512 837bd4e46e2033d0e996c33125c50b98e141e4c31cf4753a4bd1a7bd1e6a25ebe2a0ea7c8061d29f3c635e24d8e4bf2bbca62ea3b0089bde6576c39ffc6f5e28
DIST mariadb-10.5.10-patches-01.tar.xz 5944 BLAKE2B ce374e58b7730d45a8dbca4cccd459c1660182d6aed4ac54f06139e28ec254d4993b2135b2774e08eee740099803398a25b28ce9d227702bffab1867f1725fc2 SHA512 9d41b7796c5e43d037e75eb8d6c9b570a9b3d72166f832d3d0831646b2ec8c838fe94eb8eab8c6e427e96640287d58f7eca2c653a3c503bf01240c9f7c60a8c5
DIST mariadb-10.5.10.tar.gz 99019617 BLAKE2B 85b5c43ae9eeb1dbf9ff7935d4cf4bddbd18cadeffb79a3bff172b4522e196c7ac8916c63a6750d0b3b910c6f0f933213b3b4f6c7bf0d43bbb07714ed9337750 SHA512 93dd1405f8b31989e130dee5b7d4a0b447aa0e017fb9ee02c792c52142d84d1103e8fd591101d72deda1ac65b10c48053582f6e61bd1757e6aa92e42d98c56cd
DIST mariadb-10.5.9-patches-05.tar.xz 17120 BLAKE2B a6ea7c3ba3718e9667510db9fdfcedb3fa4a6a2da89f1c49f9a419c84191af9bf6148815afa836e31f47d752cafdaefdd98b530c29c849fa86af4ff0be9732ea SHA512 e39393505d5c5d45b3352d15b9e10a02a1057d5eb381335953c5dfca312791976be9e0e3b2adb6536a2f5cc6f00f01b9379a17806a029a9b73eb674a2a1fb583
DIST mariadb-10.5.9.tar.gz 88639930 BLAKE2B 512c3fb0541bbeb19878979104f7858ce18ce67187507c8395798cfc9ffe92bd83e39bd47251419363600348a85716406286bd27b3c28662ea63e8ec761a4e01 SHA512 d23d5bf8510b3c36a6521fb3244cf323ef0f5d100ba379ed7b5bbc2acae1765a5b46c17bd929f0b27b28923eb1b5975314abdf7ffb96905cf7a93a5c8837294e
DIST mysql-extras-20190305-2052Z.tar.bz2 331304 BLAKE2B 1d2c35a961159fa5ce9ee6699fce943f5a5b5cf60b11c9bb4bcccee4943f4508a9eb6d01050c642353ac592ce1a6b421abf2a1bebc706c44c4c8a36aa698ec43 SHA512 ae63403320e010acbb92f8aec6da8ed4f267cef0bad37147d594076fd94571de7f98bfc2afbe94af5d716f58d57696fd958b1e13e20e87052f252ed4a188cd3c
EBUILD mariadb-10.2.22-r2.ebuild 32315 BLAKE2B b9183e2e160163b3a3b186975f0e4585b982ce143710cd19c2f8f92cdcf8f9662ee030271a3edf825e7532fcb9e31ce1a286e90e66e94ee8eea815f7c39c041d SHA512 4bb7ef86f27b53323a72c017efcf15ca2d1a90a6fecd88b8234a85c6f095edeaf11744af95f336a5b37f620f7944256958f5b4543d4657439a827c5e3eb6bfd0
EBUILD mariadb-10.2.32-r3.ebuild 33618 BLAKE2B c9f924641af200d6d8003a17a1957259f16afe200c5a9abb9e010eac1bfd8a841d961c768adc67efe85237cce4ecf9100baf5dc13b252f522df6cd52c670ca58 SHA512 9ef436d76eca6064224ef124a4c5d421d952ddc8e2caec6abbca9b02e601c17c3a54ce46ac1df3498dffdca2de7e7169c644659b3e173825fa7be976a5838d16
EBUILD mariadb-10.2.34.ebuild 33748 BLAKE2B 4dee3db71121d7def075565402634c367f9f8dd6c89ec11a9b1ba627adc7a852d227e576681b99b413fe23de4e479c2c644b97d84f2b33c05ef67109c519387e SHA512 71e783e629845ee3438b144ab364d64a5f8a82e5b2b6df40371c1d2c07cec6e2e470476e5faf1b9e6529c39277b14da2572208499d2ce3026498f5c54a9724e0
EBUILD mariadb-10.2.35.ebuild 33806 BLAKE2B 21ff73af7ab337ceeebec5a660fed44fbd124660e214a8f1accf7f8463ee1b1f0b175876cd6dbd3c42e34e0b06a4831344b87266606061c578144a10be5136e9 SHA512 9ca3d6e2a6651ff3b01ac7670d45dc0b56672c3ba63501dfd132defa39e0b1ec948c2dc4c04c872bce98b020411312fbe3303a91b6d862ebdf17c0f159ee8f5a
EBUILD mariadb-10.2.35.ebuild 33807 BLAKE2B 75c52a9c1c744a0b58f3a81ed5163df352dde9eadfa41ef0b0d598aea0faa024796c1c7a2164688744ead3e950db5aa87789dc6aad412e751fbd44d9ff541aa8 SHA512 6904ed0f3217ee3d4ab0139e67d7c1312bcd9771c534fb637279722ebba24af9c5168efb8e4391d553acc38add3229fb2ee62a92bed22262fa4076d0520cd6ea
EBUILD mariadb-10.2.36.ebuild 33802 BLAKE2B 951616432079ee5e54eaafc8ae1e2e893eeed6b78e0d82f0f600c00eefaa17af32d5280c89c28c377f9f96b930a3d2219062fd9d0214e1addaa612c1c4c0f5af SHA512 551aefbe395f7c35150b59abfd72643316f11fac00116c3119f0b2ffee63afa9d82b3d335455c3cbe402283f98c67966d2767a6d9759db262f8b461a6b956967
EBUILD mariadb-10.2.37-r3.ebuild 41505 BLAKE2B c72e7fd67c44884cbbb19777e51822abafb598e61ed7f6934d45a8bf20858a6577317852dd642b7cf7caff69d42bfc0eb3dcc0d879652769c1e34d97894ffb2c SHA512 6703492272ef7da489164ff17f4ce1e3802032c16d51eade850ba4caa7222ff3fac55967d5174a7164cca2362c9187743c3e67f79282f601e0f6042bdb37008f
EBUILD mariadb-10.3.23-r3.ebuild 33371 BLAKE2B 0bcf4c198170f65d1fbbf2fef3e37e8cc6a70645988bdaef58e1569b1d0da4ede4a1b5673b4c23624b6aa7231114703959ef57f1a8d652d828104f6122cf32a1 SHA512 203b646a7bbdac1aace671830b0c77b56dd5a507131914f7c52b4be3b9501e3fb0005aa8886b249b57e73c1a6e003342611968f599b4da7b4c4ccc29862ce92c
EBUILD mariadb-10.3.25.ebuild 33261 BLAKE2B ca786256bc87dd9f4488c47cafa4ccb015203d8d52cd07a4f88ca3900231711d065d097ca4bba6d25eb49bb3bac2dd38283e8d18534b269a7370e8e401ad083b SHA512 d7f2a91c67d6a6ffe2f9a2f7b760c6ec91b6cb16d1b30de3b6c85cf4ff9d20064d07deff280150098797e61008a908094ff93d8e59f87319a666d0e2433af977
EBUILD mariadb-10.3.26.ebuild 33320 BLAKE2B 7eca76a2c5b15dbe6074a387a747c97c8ed2eb98239cc74d5e9f629831839273fd4eaba1babb729640123cacab421eebc5634949a4b2602d017a3146482a5c33 SHA512 02e4406fcfa20cd6899eba47dbc33c5c94991cb01977e99e33433e0a87a1f92b261dfb76939d6aab8c12aaf127d9d8a572539fc85d2ab6a5b1dffa841978b07c
EBUILD mariadb-10.2.38.ebuild 41711 BLAKE2B e430b670278937e7149e42caa6b2a66681c42f326f3b39d5ed4b2a60beaed702564d90808e514e10a9adfcaf6cf7d8cde5ad9c591f7e5f14fa0c11839041be2d SHA512 69798a7af8475ed881ab259ca7e8425277934a4ab502d46d348f494a25fd3e57bd94377fcd82ffb2f24c4671b3ecbfd1910e58ba4756931ca294ecfbbb3628b9
EBUILD mariadb-10.3.27.ebuild 33315 BLAKE2B dddcb00e569ab38a470fc69932fa1974b18e78e3bc5315dd99281a8b3b491eed9078844abb0c21d4b60e4abbb3e2a1c9468ffbb7414f34410c1b8fa748dff2cd SHA512 da81a47686f868cb881711cfd14736a98ee21fa23a5cb1a7a034f4efef9d36021cac376af976301fb6170e665140a6a04b065f7ad21801d7533609be416f66d4
EBUILD mariadb-10.3.28-r3.ebuild 41037 BLAKE2B b57fe4df2bbca5c9c1433bc1718447efa4d499c5700734203897aa2bbb48a5ba48f1a84789d06bf879e6fd558e8699d8a2feffa9e680117c74e925eff70adfd9 SHA512 5f67b938748f65f07b101391a3c07296513ccd93d4733198f62faa51701c16d27ebc4f2deb44ae166baed9ab5e72896b661fce6f73a154adbc5f76032bc9267a
EBUILD mariadb-10.3.29.ebuild 41267 BLAKE2B 4d8dc205c9d9ade8a43c800892e1a59f55607fcfaa6fbe05dc5e442d48d0c787269cefb5e5cb34fa54dc5223e9c15bd6612457e518e642b4029b50d66dfc427f SHA512 821118c1bbdd1d3bd55dacfcce99f3d323ef157304fa5d01489c3d74759c46d23819eedd5da60c371af4295855eeee02b7d6872e122db15b49c35508a93b2d77
EBUILD mariadb-10.4.13-r3.ebuild 33935 BLAKE2B 74eb39d6fec14db04ca11891db579ffec0245794eae688119b74b3e6ca6fecd362494132d3fc64ffd6780e70cc1e0432dc5b98c925decf12f57b3c3648ecec93 SHA512 d48420d78d7357c8c3fe492a0c45380823246ad29ff71b8c5f8ac164089723d78dc8cc6169127247f699c1404199b6d996788583c3d4f48bcd603cb91f9a6ee4
EBUILD mariadb-10.4.15.ebuild 33966 BLAKE2B 7102c4c5010816fb80199b030218ec7d57b3e7867dacab26cfbefd415e159cd098a51988a78da7cf691d986596112ea6432c823bc791be538ea13ba12fcb7a55 SHA512 94d386d0af525b59d33deca8dcc0af1deb0328218ff371151fcd876d5b0ec586d062ee64391d74c3259e72c6b3ce55eebf6ec8f75bb3fe684136459d472f5e72
EBUILD mariadb-10.4.16.ebuild 34099 BLAKE2B 88476cfc7a91578451236805dc2d73ecd83535dd7114d5f9bea673fbecad5798b46c0b5a471e0d3b6a00b63a3b05ca01320f2002214e8e4b212ce9116ae35abc SHA512 6d9417fc8d7992dda73b544fdb73b1be24bcfae1de138f84b4560ec7336ad8694b98bab2de3349f477c54865e51d899645f08a9643baf39e17d573b31119c77f
EBUILD mariadb-10.4.17.ebuild 34094 BLAKE2B 62c8a5485a629e07c61fa493f0852da45d8512f3465da758816c7bbed7844ef59a99ec821cff9378fc6bed05f3588f757727fc0c1eedb0e39f2684662f5e7e98 SHA512 9c1daebbeaea6d7feb31f30e0576d2e1188f1fce35f15914b6cc51748bc0057642a975c536a35714ea075302427dbbc45ae2cd33470af84be2f9b122bc95554e
EBUILD mariadb-10.4.18-r3.ebuild 41594 BLAKE2B 9e3c6f1794df4e08dd99363acd40a3568d46fa188ca03ce32e8bbf8353ae17d0ee20263166cf56b2d55eb0f0f78dad1dc8137688e812cc421cd3136a810aa6a7 SHA512 4660aac0f5b3f97c1931a6cf3a25278d03e5f34454c8fd686d730fe87edf39ddbd445b352b24e7824dc6a572a03fb8b99f867dcf38032e33f05cd85a6419ff12
EBUILD mariadb-10.5.6.ebuild 33394 BLAKE2B 827ff099c532ac7b1f5c8e7e0a43ede4631acfb94c980d155657073a65badbfeb61b8ad268195edd53c3da53c01beed7082510874baf6cfa7f80b5555ae7cdc5 SHA512 6a10bad9c77180e0e1782540aa0cd9cececac0136aa1ee56a76f3912446642455c8075a554e270fd8836518931468e1838e4cfd2ecd4f3e108123a335fde888b
EBUILD mariadb-10.5.7.ebuild 33527 BLAKE2B 87a9477900678bc034505cfd9a91b0a4929e214d0771d6ac3a33e4a0125650f276eecba4cb94a729f79b5684962b70eb43403869181d387a80b541437c5da86b SHA512 9cd732e738711482490eaa64b3e277cdb9a3929168458c29af605a5c4cea9352a23370ef681097db7deeff1c79297aa13708b49bd038b452a27744a2a9fcbe82
EBUILD mariadb-10.5.8.ebuild 33527 BLAKE2B 6961f96df00829edb22c9b27a7f4d679b22e7f426348aaef7a1fea89fed789444277eee38a4f48542337cc4bf475aeb1b21db6f72e7c8a22532b0ffe59b1e619 SHA512 648e491fe28240a835254e2f5681ac826d8a0862db584a2c3bba612e07f49e815faa27bb31d9c41049d382426e40ee662ac83ef88343318ff73c9b8333c8195c
EBUILD mariadb-10.4.19.ebuild 41979 BLAKE2B 95786b6d6859ccc8a23aeda87b3080c2604d575f49210437cefb49da53617c5fd1e1cd14557451b827092e39876830cf2d6b3a90fb54439a313d45a81fead33a SHA512 29ee6e07174fbe4fe10d75f48e156bdb54ad32a3a7d9dda7847ecefd86389eb7eb9d4581be0617905ef6b6c7b316b78bcedf03b8a410ae84992100709c4f691d
EBUILD mariadb-10.5.10.ebuild 41406 BLAKE2B 6333ccdc250905ffb507b1b20256ebdccdba22ceda178ef08c853272ce951a5aa04d10def4fed485dbd199ef0c3ec9796526a353139e126304b81c1633a1b24d SHA512 3f2a02d2bb605f8f5e092d893a568168f2e2effc8cee7846315139a56eb1363af32b0d155599faa48920e8f3897d07db8b084cb2987694521f7979843e8e90d0
EBUILD mariadb-10.5.9-r5.ebuild 41092 BLAKE2B 8bde28f7f5a3ef726b8bc77f62cc7da65c061699d76b98692d8434866cf4e9c9b8278ddad852ffedce939a57cc34ae3fed72c7c3663b760aa5c835739dcbc569 SHA512 17815ddb3321640897ea839193c324b9c68c56eb666e3d575babebaafb595b6d29a57bfd77bf0a6ed918a5e14c26462fb772dd7adb186957553209a5ef5b142d
MISC metadata.xml 2625 BLAKE2B 649e3bfdce49ed2352d31849a7d4547e0eeee23fab8ee58705fab62f8e1dee1874885027897bcb2895def5dcfeeea66caa69f83161ac1cfd19154a8712bdf573 SHA512 edbbfc7be64f124c0969f7de67337ba0b579292837d10e18da56b7e4e1cca88a36ac304e7c2625d9ae2bcf625d632a707f9813a0382242fc3d59d384b5b7bd54

@ -1,975 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20190305-2052Z"
SUBSLOT="18"
JAVA_PKG_OPT_USE="jdbc"
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils systemd flag-o-matic prefix toolchain-funcs \
java-pkg-opt-2 user cmake-utils
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
SLOT="10.2/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
test tokudb xml yassl"
RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="ppc ppc64"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
EGIT_CLONE_TYPE=shallow
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
else
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
"${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
"${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
"${MY_PATCH_DIR}"/20035_all_mariadb-10.2-atomic-detection.patch
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
kernel_linux? (
sys-process/procps:0=
dev-libs/libaio:0=
)
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
>=sys-libs/zlib-1.2.3:0=
kerberos? ( virtual/krb5 )
yassl? ( net-libs/gnutls:0= )
!yassl? (
>=dev-libs/openssl-1.0.0:0=
)
sys-libs/ncurses:0=
!bindist? (
sys-libs/binutils-libs:0=
>=sys-libs/readline-4.1:0=
)
server? (
backup? ( app-arch/libarchive:0= )
cracklib? ( sys-libs/cracklib:0= )
extraengine? (
odbc? ( dev-db/unixODBC:0= )
xml? ( dev-libs/libxml2:2= )
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
innodb-snappy? ( app-arch/snappy )
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
numa? ( sys-process/numactl )
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( sys-libs/pam:0= )
systemd? ( sys-apps/systemd:= )
tokudb? ( app-arch/snappy )
)
>=dev-libs/libpcre-8.41-r1:3=
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
!dev-db/mariadb:0
!dev-db/mariadb:5.5
!dev-db/mariadb:10.1
!dev-db/mariadb:10.3
!dev-db/mariadb:10.4
!dev-db/mariadb:10.5
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
!<virtual/mysql-5.6-r11
${COMMON_DEPEND}
server? ( galera? (
sys-apps/iproute2
=sys-cluster/galera-25*
sst-rsync? ( sys-process/lsof )
sst-mariabackup? ( net-misc/socat[ssl] )
sst-xtrabackup? ( net-misc/socat[ssl] )
) )
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
server? ( ~virtual/mysql-5.6[static=]
galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
fi
java-pkg-opt-2_pkg_setup
if has test ${FEATURES} && \
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_preinst() {
java-pkg-opt-2_pkg_preinst
# Here we need to see if the implementation switched client libraries
# We check if this is a new instance of the package and a client library already exists
local SHOW_ABI_MESSAGE libpath
if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
elog "Due to ABI changes when switching between different client libraries,"
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
elog "Please run: revdep-rebuild --library ${libpath}"
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
fi
}
pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
if use server ; then
if use pam; then
einfo
elog "This install includes the PAM authentication plugin."
elog "To activate and configure the PAM plugin, please read:"
elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
einfo
fi
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
if use galera ; then
einfo
elog "Be sure to edit the my.cnf file to activate your cluster settings."
elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
elog "The first time the cluster is activated, you should add"
elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
elog "This option should then be removed for subsequent starts."
einfo
if use sst-xtrabackup ; then
ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
ewarn "sst-xtrabackup is being removed in 10.3 and higher."
fi
fi
fi
# Note about configuration change
einfo
elog "This version of mariadb reorganizes the configuration from a single my.cnf"
elog "to several files in /etc/mysql/${PN}.d."
elog "Please backup any changes you made to /etc/mysql/my.cnf"
elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
elog "You may have as many files as needed and they are read alphabetically."
elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
einfo
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR%/}/${P}" "${S}" || die
}
src_prepare() {
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
local malloc
for malloc in jemalloc tcmalloc ; do
if use ${malloc}; then
echo "TARGET_LINK_LIBRARIES(mysqld ${malloc})" >> "${S}/sql/CMakeLists.txt"
fi
done
# Don't build bundled xz-utils for tokudb
echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
local plugin
local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
locale_info qc_info server_audit sql_errlog )
local test_plugins=( audit_null auth_examples daemon_example fulltext
debug_key_management example_key_management )
if ! use server; then # These plugins are for the server
for plugin in "${server_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
if ! use test; then # These plugins are only used during testing
for plugin in "${test_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
_disable_engine test_sql_discovery
fi
_disable_engine example
if ! use oqgraph ; then # avoids extra library checks
_disable_engine oqgraph
fi
if use mroonga ; then
# Remove the bundled groonga
# There is no CMake flag, it simply checks for existance
rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
else
_disable_engine mroonga
fi
cmake-utils_src_prepare
java-pkg-opt-2_src_prepare
}
src_configure() {
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cxxflags -felide-constructors
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
-DSYSCONFDIR="${EPREFIX}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mariadb
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
-DWITH_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
-DWITH_LIBEDIT=0
-DWITH_ZLIB=system
-DWITHOUT_LIBWRAP=1
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
-DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
-DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
-DCONC_WITH_EXTERNAL_ZLIB=YES
-DWITH_EXTERNAL_ZLIB=YES
-DSUFFIX_INSTALL_DIR=""
-DWITH_UNITTEST=OFF
-DWITHOUT_CLIENTLIBS=YES
-DCLIENT_PLUGIN_DIALOG=OFF
-DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
-DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
-DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
else
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
fi
if ! use yassl ; then
mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
else
mycmakeargs+=( -DWITH_SSL=bundled )
fi
# bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
mycmakeargs+=(
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
-DENABLE_DTRACE=$(usex systemtap)
)
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
mycmakeargs+=(
-DPLUGIN_FEDERATED=NO
-DPLUGIN_FEDERATEDX=NO )
fi
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-DWITH_PCRE=system
-DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
-DPLUGIN_TOKUDB=$(usex tokudb YES NO)
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
-DPLUGIN_CASSANDRA=NO
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
-DPLUGIN_CONNECT=$(usex extraengine YES NO)
-DCONNECT_WITH_MYSQL=1
-DCONNECT_WITH_LIBXML2=$(usex xml)
-DCONNECT_WITH_ODBC=$(usex odbc)
-DCONNECT_WITH_JDBC=$(usex jdbc)
# Build failure and autodep wrt bug 639144
-DCONNECT_WITH_MONGO=OFF
-DWITH_WSREP=$(usex galera)
-DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
-DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
-DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
-DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
-DWITH_MARIABACKUP=$(usex backup ON OFF)
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
-DINSTALL_SQLBENCHDIR=share/mariadb
-DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
# systemd is only linked to for server notification
-DWITH_SYSTEMD=$(usex systemd yes no)
-DWITH_NUMA=$(usex numa ON OFF)
)
# Workaround for MDEV-14524
use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
if use test ; then
# This is needed for the new client lib which tests a real, open server
mycmakeargs+=( -DSKIP_TESTS=ON )
fi
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
mycmakeargs+=(
-DEXTRA_CHARSETS=all
-DMYSQL_USER=mysql
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
-DWITH_EMBEDDED_SERVER=OFF
-DWITH_PROFILING=$(usex profiling)
)
if use static; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
if use jemalloc || use tcmalloc ; then
mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
fi
# Storage engines
mycmakeargs+=(
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
)
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DWITH_EMBEDDED_SERVER=OFF
-DEXTRA_CHARSETS=none
-DINSTALL_SQLBENCHDIR=
-DWITH_SYSTEMD=no
)
fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
src_install() {
cmake-utils_src_install
# Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
rm "${ED}/usr/include/mysql/server/private/config.h" || die
fi
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED}/usr/data" ]] ; then
rm -Rf "${ED}/usr/data" || die
fi
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
fi
# Configuration stuff
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
eprefixify "${TMPDIR}/my.cnf"
doins "${TMPDIR}/my.cnf"
insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
eprefixify "${TMPDIR}/50-distro-client.cnf"
doins "${TMPDIR}/50-distro-client.cnf"
if use server ; then
mycnf_src="my.cnf.distro-server"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR}/${mycnf_src}" \
> "${TMPDIR}/my.cnf.ok" || die
if use prefix ; then
sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
"${TMPDIR}/my.cnf.ok" || die
fi
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR}/my.cnf.ok" || die
fi
eprefixify "${TMPDIR}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
einfo "Including support files and sample configurations"
docinto "support-files"
local script
for script in \
"${S}"/support-files/magic
do
[[ -f "$script" ]] && dodoc "${script}"
done
docinto "scripts"
for script in "${S}"/scripts/mysql* ; do
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
done
# Manually install supporting files that conflict with other packages
# but are needed for galera and initial installation
exeinto /usr/libexec/mariadb
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
fi
#Remove mytop if perl is not selected
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
}
# Official test instructions:
# USE='extraengine perl server' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname reason
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ $UID -eq 0 ]]; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
# Enable parallel testing, auto will try to detect number of cores
# You may set this by hand.
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
# Run mysql tests
pushd "${TESTDIR}" > /dev/null || die
touch "${T}/disabled.def"
# These are failing in MariaDB 10.0 for now and are believed to be
# false positives:
#
# main.mysql_client_test, main.mysql_client_test_nonblock
# main.mysql_client_test_comp:
# segfaults at random under Portage only, suspect resource limits.
local t
for t in plugins.cracklib_password_check plugins.two_password_validations ; do
_disable_test "$t" "False positive due to varying policies"
done
for t in main.mysql_client_test main.mysql_client_test_nonblock \
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
_disable_test "$t" "False positives in Gentoo"
done
_disable_test main.plugin_auth "Needs client libraries built"
_disable_test main.mysqldump "Test fails past 2018-12-31 due to event expiration"
# Likely environment issues as only number of clients connected fails
_disable_test rpl.rpl_semi_sync_uninstall_plugin \
"Fails intermittently on parallel testing"
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd > /dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
if [[ -e "${MY_DATADIR}" ]] ; then
# If you get this and you're wondering about it, see bug #207636
elog "MySQL datadir found in ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]]; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_config() {
_getoptval() {
local mypd="${EROOT}"/usr/bin/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
einfo "Please provide a password for the mysql 'root' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see https://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR}/mysqld-help"
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in grant-tables host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [ $? -ne 0 ]; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
fi
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
use prefix || options="${options} --user=mysql"
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
local mysqld="${EROOT}/usr/sbin/mysqld \
${options} \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

@ -25,7 +25,7 @@ IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
test tokudb xml yassl"
RESTRICT="!bindist? ( bindist ) test? ( test )"
RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
server? ( tokudb? ( jemalloc !tcmalloc ) )

@ -10,7 +10,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
# Patch version
PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.24-patches-01.tar.xz"
PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.2.38-patches-01.tar.xz"
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
${PATCH_SET}"
@ -18,11 +18,11 @@ SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
SLOT="10.3/${SUBSLOT:-0}"
SLOT="10.2/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
sst-rsync sst-mariabackup static systemd systemtap tcmalloc
sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
test tokudb xml yassl"
RESTRICT="!bindist? ( bindist ) !test? ( test )"
@ -85,7 +85,7 @@ BDEPEND="virtual/yacc
"
DEPEND="static? ( sys-libs/ncurses[static-libs] )
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
test? ( acct-group/mysql acct-user/mysql )
)
${COMMON_DEPEND}"
@ -94,9 +94,10 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mariadb:0
!dev-db/mariadb:5.5
!dev-db/mariadb:10.1
!dev-db/mariadb:10.2
!dev-db/mariadb:10.3
!dev-db/mariadb:10.4
!dev-db/mariadb:10.5
!dev-db/mariadb:10.6
!<virtual/mysql-5.6-r11
${COMMON_DEPEND}
server? (
@ -105,21 +106,23 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql )
=sys-cluster/galera-25*
sst-rsync? ( sys-process/lsof )
sst-mariabackup? ( net-misc/socat[ssl] )
sst-xtrabackup? ( net-misc/socat[ssl] )
)
!prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
extraengine? ( jdbc? ( >=virtual/jre-1.6 ) )
)
perl? (
!dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes
extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
)
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
server? (
galera? (
sst-xtrabackup? (
|| ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup )
)
)
)"
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
@ -245,7 +248,7 @@ src_prepare() {
local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
locale_info qc_info server_audit sql_errlog auth_ed25519 )
local test_plugins=( audit_null auth_examples daemon_example fulltext
debug_key_management example_key_management versioning )
debug_key_management example_key_management )
if ! use server; then # These plugins are for the server
for plugin in "${server_plugins[@]}" ; do
_disable_plugin "${plugin}"
@ -309,7 +312,7 @@ src_configure() {
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mariadb
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
-DINSTALL_SCRIPTDIR=bin
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
@ -370,6 +373,7 @@ src_configure() {
fi
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-DWITH_PCRE=system
-DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
@ -394,7 +398,7 @@ src_configure() {
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
-DWITH_MARIABACKUP=$(usex backup ON OFF)
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
-DINSTALL_SQLBENCHDIR=""
-DINSTALL_SQLBENCHDIR=share/mariadb
-DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
# systemd is only linked to for server notification
-DWITH_SYSTEMD=$(usex systemd yes no)
@ -556,9 +560,12 @@ src_test() {
local -a disabled_tests
disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
disabled_tests+=( "main.grant;0;Sporadically failing test" )
disabled_tests+=( "main.join_cache;0;Sporadically failing test" )
disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
@ -571,6 +578,7 @@ src_test() {
if ! use latin1 ; then
disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
fi
@ -682,23 +690,21 @@ src_install() {
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
fi
# Remove mytop if perl is not selected
if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
rm -f "${ED}/usr/bin/mytop" || die
fi
# Remove bundled mytop in favor of dev-db/mytop
local mytop_file
for mytop_file in \
"${ED}/usr/bin/mytop" \
"${ED}/usr/share/man/man1/mytop.1" \
; do
if [[ -e "${mytop_file}" ]] ; then
rm -v "${mytop_file}" || die
fi
done
# Fix a dangling symlink when galera is not built
if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
fi
# Remove broken SST scripts that are incompatible
local scriptremove
for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
rm "${ED}/usr/bin/${scriptremove}" || die
fi
done
}
pkg_preinst() {
@ -756,6 +762,12 @@ pkg_postinst() {
elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
elog "This option should then be removed for subsequent starts."
einfo
if use sst-xtrabackup ; then
ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
ewarn "sst-xtrabackup is being removed in 10.3 and higher."
fi
fi
fi
@ -772,63 +784,312 @@ pkg_postinst() {
pkg_config() {
_getoptval() {
local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults
local section="$1"
local section="${1}"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
local cmd=(
"${my_print_defaults_binary}"
"${extra_options}"
"${section}"
)
local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
if [[ ${#results[@]} -gt 0 ]] ; then
# When option is set multiple times only return last value
echo "${results[-1]}"
fi
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
_mktemp_dry() {
# emktemp has no --dry-run option
local template="${1}"
if [[ -z "${template}" ]] ; then
if [[ -z "${T}" ]] ; then
template="/tmp/XXXXXXX"
else
template="${T}/XXXXXXX"
fi
fi
local template_wo_X=${template//X/}
local n_X
let n_X=${#template}-${#template_wo_X}
if [[ ${n_X} -lt 3 ]] ; then
echo "${FUNCNAME[0]}: too few X's in template ${template}" >&2
return
fi
local attempts=0
local character tmpfile
while [[ true ]] ; do
let attempts=attempts+1
new_file=
while read -n1 character ; do
if [[ "${character}" == "X" ]] ; then
tmpfile+="${RANDOM:0:1}"
else
tmpfile+="${character}"
fi
done < <(echo -n "${template}")
if [[ ! -f "${tmpfile}" ]]
then
echo "${tmpfile}"
return
fi
if [[ ${attempts} -ge 100 ]] ; then
echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
return
fi
done
}
local mysql_binary="${EROOT}/usr/bin/mysql"
if [[ ! -x "${mysql_binary}" ]] ; then
die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local mysqld_binary="${EROOT}/usr/sbin/mysqld"
if [[ ! -x "${mysqld_binary}" ]] ; then
die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
if [[ ! -x "${mysql_install_db_binary}" ]] ; then
die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
if [[ ! -x "${my_print_defaults_binary}" ]] ; then
die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
fi
if [[ -z "${MYSQL_USER}" ]] ; then
MYSQL_USER=mysql
if use prefix ; then
MYSQL_USER=$(id -u -n 2>/dev/null)
if [[ -z "${MYSQL_USER}" ]] ; then
die "Failed to determine current username!"
fi
fi
fi
if [[ -z "${MYSQL_GROUP}" ]] ; then
MYSQL_GROUP=mysql
if use prefix ; then
MYSQL_GROUP=$(id -g -n 2>/dev/null)
if [[ -z "${MYSQL_GROUP}" ]] ; then
die "Failed to determine current user groupname!"
fi
fi
fi
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX}/root
local -x HOME="${EROOT}/root"
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
# Read currently set data directory
MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MY_DATADIR}" ]] ; then
die "Sorry, unable to find MY_DATADIR!"
elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
ewarn "Please rename or delete its content if you wish to initialize a new data directory."
die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
# These are dir+prefix
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
# Create missing directories.
# Always check if mysql user can write to directory even if we just
# created directory because a parent directory might be not
# accessible for that user.
PID_DIR="${EROOT}/run/mysqld"
if [[ ! -d "${PID_DIR}" ]] ; then
einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
|| die "Failed to create PID directory '${PID_DIR}'!"
fi
local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_pid_dir_testfile}" ]] \
&& die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_pid_dir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
else
rm "${_pid_dir_testfile}" || die
unset _pid_dir_testfile
fi
if [[ ! -d "${MY_DATADIR}" ]] ; then
einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
|| die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
fi
local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_datadir_testfile}" ]] \
&& die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_datadir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
else
rm "${_my_datadir_testfile}" || die
unset _my_datadir_testfile
fi
if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
|| die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
fi
if [[ -z "${MYSQL_TMPDIR}" ]] ; then
MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
[[ -z "${MYSQL_TMPDIR}" ]] \
&& die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
mkdir "${MYSQL_TMPDIR}" || die
chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
fi
# Now we need to test MYSQL_TMPDIR...
local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_tmpdir_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_tmpdir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
else
rm "${_my_tmpdir_testfile}" || die
unset _my_tmpdir_testfile
fi
if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
|| die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
fi
if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_logbin_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_logbin_testfile}" &>/dev/null
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
else
rm "${_my_logbin_testfile}" || die
unset _my_logbin_testfile
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
|| die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
fi
if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_relaylog_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
if use prefix ; then
touch "${_my_relaylog_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
else
rm "${_my_relaylog_testfile}" || die
unset _my_relaylog_testfile
fi
fi
local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
[[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
# Limit access
chmod 0770 "${SETUP_TMPDIR}" || die
chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
echo ""
einfo "Detected settings:"
einfo "=================="
einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
fi
if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
fi
einfo "PID DIR:\t\t\t\t${PID_DIR}"
einfo "Install db log:\t\t\t${mysql_install_log}"
einfo "Install server log:\t\t\t${mysqld_logfile}"
echo
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
for tmp_mysqld_password_source in mysql client ; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
@ -840,167 +1101,188 @@ pkg_config() {
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then
einfo "Please provide a password for the mysql 'root'@'localhost' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local pwd1="a"
local pwd2="b"
echo
einfo "No password for mysql 'root' user was specified via environment"
einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
einfo "file like '${HOME}/.my.cnf'."
einfo "To continue please provide a password for the mysql 'root' user"
einfo "now on console:"
ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
die "Passwords are not the same!"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
echo
fi
local options
local sqltmp="$(emktemp)"
local -a mysqld_options
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see https://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR}/mysqld-help"
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in grant-tables host-cache name-resolve networking slave-start \
local opt optexp optfull
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Prepare timezones, see
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
local tz_sql="${SETUP_TMPDIR}/tz.sql"
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
echo "USE mysql;" >"${tz_sql}"
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
if [[ $? -ne 0 ]] ; then
die "mysql_tzinfo_to_sql failed!"
fi
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
local cmd=(
"${mysql_install_db_binary}"
"${mysqld_options[@]}"
"--init-file='${tz_sql}'"
"--basedir='${EROOT}/usr'"
"--datadir='${MY_DATADIR}'"
"--tmpdir='${MYSQL_TMPDIR}'"
"--log-error='${mysql_install_log}'"
"--rpm"
"--cross-bootstrap"
"--user=${MYSQL_USER}"
)
pushd "${TMPDIR}" &>/dev/null || die
einfo "Initializing ${PN} data directory: ${cmd[@]}"
eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
# Filling timezones, see
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
local cmd=( "${EROOT}/usr/share/mariadb/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" )
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [[ $? -ne 0 ]]; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
fi
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
use prefix || options="${options} --user=mysql"
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
local mysqld="${EROOT}/usr/sbin/mysqld \
${options} \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
local x=${RANDOM}
local socket="${PID_DIR}/mysqld.${x}.sock"
[[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
local pidfile="${PID_DIR}/mysqld.${x}.pid"
[[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
unset x
cmd=(
"${mysqld_binary}"
"${mysqld_options[@]}"
"--basedir='${EROOT}/usr'"
"--datadir='${MY_DATADIR}'"
"--tmpdir='${MYSQL_TMPDIR}'"
--max_allowed_packet=8M
--net_buffer_length=16K
"--socket='${socket}'"
"--pid-file='${pidfile}'"
"--log-error='${mysqld_logfile}'"
"--user=${MYSQL_USER}"
)
einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
echo -n "Waiting for mysqld to accept connections "
local maxtry=15
while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
if [[ -S "${socket}" ]] ; then
# Even with a socket we don't know if mysqld will abort
# start due to an error so just wait a little bit more...
maxtry=5
while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
fi
echo
if [[ ! -S "${socket}" ]] ; then
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
fi
local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
touch "${mysql_logfile}" || die
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
cmd=(
"${mysql_binary}"
--no-defaults
"--socket='${socket}'"
-hlocalhost
"-e \"${sql}\""
)
eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
local rc=$?
eend ${rc}
if [[ ${rc} -ne 0 ]] ; then
# Poor man's solution which tries to avoid having password
# in log. NOTE: sed can fail if user didn't follow advice
# and included character which will require escaping...
sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
fi
# Stop the server
if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
echo -n "Stopping the server "
pkill -F "${pidfile}" &>/dev/null
maxtry=10
while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
echo
if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
# We somehow failed to stop server.
# However, not a fatal error. Just warn the user.
ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
fi
fi
rm -r "${SETUP_TMPDIR}" || die
einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
}

File diff suppressed because it is too large Load Diff

@ -10,7 +10,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
# Patch version
PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.26-patches-01.tar.xz"
PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.29-patches-01.tar.xz"
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
${PATCH_SET}"
@ -85,7 +85,7 @@ BDEPEND="virtual/yacc
"
DEPEND="static? ( sys-libs/ncurses[static-libs] )
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
test? ( acct-group/mysql acct-user/mysql )
)
${COMMON_DEPEND}"
@ -97,6 +97,7 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mariadb:10.2
!dev-db/mariadb:10.4
!dev-db/mariadb:10.5
!dev-db/mariadb:10.6
!<virtual/mysql-5.6-r11
${COMMON_DEPEND}
server? (
@ -107,14 +108,7 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql )
sst-mariabackup? ( net-misc/socat[ssl] )
)
!prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
extraengine? ( jdbc? ( >=virtual/jre-1.6 ) )
)
perl? (
!dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes
extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
)
"
# For other stuff to bring us in
@ -231,9 +225,9 @@ src_prepare() {
}
if use jemalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
elif use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
fi
# Don't build bundled xz-utils for tokudb
@ -309,7 +303,7 @@ src_configure() {
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mariadb
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
-DINSTALL_SCRIPTDIR=bin
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
@ -556,6 +550,8 @@ src_test() {
local -a disabled_tests
disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
disabled_tests+=( "main.grant;0;Sporadically failing test" )
@ -683,10 +679,16 @@ src_install() {
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
fi
# Remove mytop if perl is not selected
if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
rm -f "${ED}/usr/bin/mytop" || die
fi
# Remove bundled mytop in favor of dev-db/mytop
local mytop_file
for mytop_file in \
"${ED}/usr/bin/mytop" \
"${ED}/usr/share/man/man1/mytop.1" \
; do
if [[ -e "${mytop_file}" ]] ; then
rm -v "${mytop_file}" || die
fi
done
# Fix a dangling symlink when galera is not built
if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
@ -773,63 +775,312 @@ pkg_postinst() {
pkg_config() {
_getoptval() {
local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults
local section="$1"
local section="${1}"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
local cmd=(
"${my_print_defaults_binary}"
"${extra_options}"
"${section}"
)
local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
if [[ ${#results[@]} -gt 0 ]] ; then
# When option is set multiple times only return last value
echo "${results[-1]}"
fi
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
_mktemp_dry() {
# emktemp has no --dry-run option
local template="${1}"
if [[ -z "${template}" ]] ; then
if [[ -z "${T}" ]] ; then
template="/tmp/XXXXXXX"
else
template="${T}/XXXXXXX"
fi
fi
local template_wo_X=${template//X/}
local n_X
let n_X=${#template}-${#template_wo_X}
if [[ ${n_X} -lt 3 ]] ; then
echo "${FUNCNAME[0]}: too few X's in template ${template}" >&2
return
fi
local attempts=0
local character tmpfile
while [[ true ]] ; do
let attempts=attempts+1
new_file=
while read -n1 character ; do
if [[ "${character}" == "X" ]] ; then
tmpfile+="${RANDOM:0:1}"
else
tmpfile+="${character}"
fi
done < <(echo -n "${template}")
if [[ ! -f "${tmpfile}" ]]
then
echo "${tmpfile}"
return
fi
if [[ ${attempts} -ge 100 ]] ; then
echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
return
fi
done
}
local mysql_binary="${EROOT}/usr/bin/mysql"
if [[ ! -x "${mysql_binary}" ]] ; then
die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local mysqld_binary="${EROOT}/usr/sbin/mysqld"
if [[ ! -x "${mysqld_binary}" ]] ; then
die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
if [[ ! -x "${mysql_install_db_binary}" ]] ; then
die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
if [[ ! -x "${my_print_defaults_binary}" ]] ; then
die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
fi
if [[ -z "${MYSQL_USER}" ]] ; then
MYSQL_USER=mysql
if use prefix ; then
MYSQL_USER=$(id -u -n 2>/dev/null)
if [[ -z "${MYSQL_USER}" ]] ; then
die "Failed to determine current username!"
fi
fi
fi
if [[ -z "${MYSQL_GROUP}" ]] ; then
MYSQL_GROUP=mysql
if use prefix ; then
MYSQL_GROUP=$(id -g -n 2>/dev/null)
if [[ -z "${MYSQL_GROUP}" ]] ; then
die "Failed to determine current user groupname!"
fi
fi
fi
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX}/root
local -x HOME="${EROOT}/root"
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
# Read currently set data directory
MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MY_DATADIR}" ]] ; then
die "Sorry, unable to find MY_DATADIR!"
elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
ewarn "Please rename or delete its content if you wish to initialize a new data directory."
die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
# These are dir+prefix
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
# Create missing directories.
# Always check if mysql user can write to directory even if we just
# created directory because a parent directory might be not
# accessible for that user.
PID_DIR="${EROOT}/run/mysqld"
if [[ ! -d "${PID_DIR}" ]] ; then
einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
|| die "Failed to create PID directory '${PID_DIR}'!"
fi
local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_pid_dir_testfile}" ]] \
&& die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_pid_dir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
else
rm "${_pid_dir_testfile}" || die
unset _pid_dir_testfile
fi
if [[ ! -d "${MY_DATADIR}" ]] ; then
einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
|| die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
fi
local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_datadir_testfile}" ]] \
&& die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_datadir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
else
rm "${_my_datadir_testfile}" || die
unset _my_datadir_testfile
fi
if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
|| die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
fi
if [[ -z "${MYSQL_TMPDIR}" ]] ; then
MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
[[ -z "${MYSQL_TMPDIR}" ]] \
&& die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
mkdir "${MYSQL_TMPDIR}" || die
chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
fi
# Now we need to test MYSQL_TMPDIR...
local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_tmpdir_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_tmpdir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
else
rm "${_my_tmpdir_testfile}" || die
unset _my_tmpdir_testfile
fi
if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
|| die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
fi
if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_logbin_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_logbin_testfile}" &>/dev/null
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
else
rm "${_my_logbin_testfile}" || die
unset _my_logbin_testfile
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
|| die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
fi
if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_relaylog_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
if use prefix ; then
touch "${_my_relaylog_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
else
rm "${_my_relaylog_testfile}" || die
unset _my_relaylog_testfile
fi
fi
local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
[[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
# Limit access
chmod 0770 "${SETUP_TMPDIR}" || die
chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
echo ""
einfo "Detected settings:"
einfo "=================="
einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
fi
if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
fi
einfo "PID DIR:\t\t\t\t${PID_DIR}"
einfo "Install db log:\t\t\t${mysql_install_log}"
einfo "Install server log:\t\t\t${mysqld_logfile}"
echo
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
for tmp_mysqld_password_source in mysql client ; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
@ -841,167 +1092,189 @@ pkg_config() {
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then
einfo "Please provide a password for the mysql 'root'@'localhost' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local pwd1="a"
local pwd2="b"
echo
einfo "No password for mysql 'root' user was specified via environment"
einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
einfo "file like '${HOME}/.my.cnf'."
einfo "To continue please provide a password for the mysql 'root' user"
einfo "now on console:"
ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
die "Passwords are not the same!"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
echo
fi
local options
local sqltmp="$(emktemp)"
local -a mysqld_options
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see https://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR}/mysqld-help"
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in grant-tables host-cache name-resolve networking slave-start \
local opt optexp optfull
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Prepare timezones, see
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
local tz_sql="${SETUP_TMPDIR}/tz.sql"
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
echo "USE mysql;" >"${tz_sql}"
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
if [[ $? -ne 0 ]] ; then
die "mysql_tzinfo_to_sql failed!"
fi
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
local cmd=(
"${mysql_install_db_binary}"
"${mysqld_options[@]}"
"--init-file='${tz_sql}'"
"--basedir='${EROOT}/usr'"
"--datadir='${MY_DATADIR}'"
"--tmpdir='${MYSQL_TMPDIR}'"
"--log-error='${mysql_install_log}'"
"--rpm"
"--cross-bootstrap"
"--skip-test-db"
"--user=${MYSQL_USER}"
)
pushd "${TMPDIR}" &>/dev/null || die
einfo "Initializing ${PN} data directory: ${cmd[@]}"
eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
# Filling timezones, see
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
local cmd=( "${EROOT}/usr/share/mariadb/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" )
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [[ $? -ne 0 ]]; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
fi
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
use prefix || options="${options} --user=mysql"
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
local mysqld="${EROOT}/usr/sbin/mysqld \
${options} \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
local x=${RANDOM}
local socket="${PID_DIR}/mysqld.${x}.sock"
[[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
local pidfile="${PID_DIR}/mysqld.${x}.pid"
[[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
unset x
cmd=(
"${mysqld_binary}"
"${mysqld_options[@]}"
"--basedir='${EROOT}/usr'"
"--datadir='${MY_DATADIR}'"
"--tmpdir='${MYSQL_TMPDIR}'"
--max_allowed_packet=8M
--net_buffer_length=16K
"--socket='${socket}'"
"--pid-file='${pidfile}'"
"--log-error='${mysqld_logfile}'"
"--user=${MYSQL_USER}"
)
einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
echo -n "Waiting for mysqld to accept connections "
local maxtry=15
while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
if [[ -S "${socket}" ]] ; then
# Even with a socket we don't know if mysqld will abort
# start due to an error so just wait a little bit more...
maxtry=5
while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
fi
echo
if [[ ! -S "${socket}" ]] ; then
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
fi
local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
touch "${mysql_logfile}" || die
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
cmd=(
"${mysql_binary}"
--no-defaults
"--socket='${socket}'"
-hlocalhost
"-e \"${sql}\""
)
eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
local rc=$?
eend ${rc}
if [[ ${rc} -ne 0 ]] ; then
# Poor man's solution which tries to avoid having password
# in log. NOTE: sed can fail if user didn't follow advice
# and included character which will require escaping...
sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
fi
# Stop the server
if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
echo -n "Stopping the server "
pkill -F "${pidfile}" &>/dev/null
maxtry=10
while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
echo
if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
# We somehow failed to stop server.
# However, not a fatal error. Just warn the user.
ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
fi
fi
rm -r "${SETUP_TMPDIR}" || die
einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
}

@ -10,7 +10,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
# Patch version
PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.8-patches-01.tar.xz"
PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.4.19-patches-01.tar.xz"
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
${PATCH_SET}"
@ -18,16 +18,17 @@ SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
SLOT="10.5/${SUBSLOT:-0}"
IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
SLOT="10.4/${SUBSLOT:-0}"
IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
test xml yassl"
sst-rsync sst-mariabackup static systemd systemtap tcmalloc
test tokudb xml yassl"
RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
@ -40,30 +41,28 @@ S="${WORKDIR}/mysql"
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
>=dev-libs/libpcre-8.41-r1:3=
kernel_linux? (
sys-process/procps:0=
dev-libs/libaio:0=
)
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
sys-libs/ncurses:0=
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
>=sys-libs/zlib-1.2.3:0=
kerberos? ( virtual/krb5 )
yassl? ( net-libs/gnutls:0= )
!yassl? (
>=dev-libs/openssl-1.0.0:0=
)
sys-libs/ncurses:0=
!bindist? (
sys-libs/binutils-libs:0=
>=sys-libs/readline-4.1:0=
)
jemalloc? ( dev-libs/jemalloc:0= )
kerberos? ( virtual/krb5 )
kernel_linux? (
sys-process/procps:0=
dev-libs/libaio:0=
)
server? (
app-arch/bzip2
app-arch/xz-utils
backup? ( app-arch/libarchive:0= )
columnstore? (
app-arch/snappy
dev-libs/boost:0=
dev-libs/libxml2:2=
)
cracklib? ( sys-libs/cracklib:0= )
extraengine? (
odbc? ( dev-db/unixODBC:0= )
@ -76,40 +75,33 @@ COMMON_DEPEND="
numa? ( sys-process/numactl )
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( sys-libs/pam:0= )
s3? ( net-misc/curl )
systemd? ( sys-apps/systemd:= )
tokudb? ( app-arch/snappy )
)
systemtap? ( >=dev-util/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
yassl? ( net-libs/gnutls:0= )
!yassl? (
>=dev-libs/openssl-1.0.0:0=
)
>=dev-libs/libpcre-8.41-r1:3=
"
BDEPEND="virtual/yacc
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
"
DEPEND="${COMMON_DEPEND}
DEPEND="static? ( sys-libs/ncurses[static-libs] )
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
test? ( acct-group/mysql acct-user/mysql )
)
static? ( sys-libs/ncurses[static-libs] )
"
RDEPEND="${COMMON_DEPEND}
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
!dev-db/mariadb:0
!dev-db/mariadb:5.5
!dev-db/mariadb:10.1
!dev-db/mariadb:10.2
!dev-db/mariadb:10.3
!dev-db/mariadb:10.4
!dev-db/mariadb:10.5
!dev-db/mariadb:10.6
!<virtual/mysql-5.6-r11
!<virtual/libmysqlclient-18-r1
selinux? ( sec-policy/selinux-mysql )
${COMMON_DEPEND}
server? (
columnstore? ( dev-db/mariadb-connector-c )
extraengine? ( jdbc? ( >=virtual/jre-1.6 ) )
galera? (
sys-apps/iproute2
=sys-cluster/galera-26*
@ -117,13 +109,7 @@ RDEPEND="${COMMON_DEPEND}
sst-mariabackup? ( net-misc/socat[ssl] )
)
!prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
)
perl? (
!dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes
extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
)
"
# For other stuff to bring us in
@ -191,6 +177,13 @@ pkg_setup() {
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
@ -233,11 +226,16 @@ src_prepare() {
}
if use jemalloc; then
echo "TARGET_LINK_LIBRARIES(mariadbd jemalloc)" >> "${S}/sql/CMakeLists.txt"
echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
elif use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mariadbd tcmalloc)" >> "${S}/sql/CMakeLists.txt"
echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
fi
# Don't build bundled xz-utils for tokudb
echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
local plugin
local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
locale_info qc_info server_audit sql_errlog auth_ed25519 )
@ -319,7 +317,7 @@ src_configure() {
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mariadb
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
-DINSTALL_SCRIPTDIR=bin
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
@ -376,21 +374,19 @@ src_configure() {
if ! use extraengine ; then
mycmakeargs+=(
-DPLUGIN_FEDERATED=NO
-DPLUGIN_FEDERATEDX=NO
)
-DPLUGIN_FEDERATEDX=NO )
fi
mycmakeargs+=(
-DWITH_PCRE=system
-DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
-DPLUGIN_TOKUDB=$(usex tokudb YES NO)
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
-DPLUGIN_CASSANDRA=NO
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
-DPLUGIN_S3=$(usex s3 YES NO)
-DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
-DPLUGIN_CONNECT=$(usex extraengine YES NO)
-DCONNECT_WITH_MYSQL=1
-DCONNECT_WITH_LIBXML2=$(usex xml)
@ -413,6 +409,9 @@ src_configure() {
-DWITH_NUMA=$(usex numa ON OFF)
)
# Workaround for MDEV-14524
use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
if use test ; then
# This is needed for the new client lib which tests a real, open server
mycmakeargs+=( -DSKIP_TESTS=ON )
@ -565,17 +564,21 @@ src_test() {
local -a disabled_tests
disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
disabled_tests+=( "mariabackup.*;0;Broken test suite" )
disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
if ! use latin1 ; then
disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
@ -599,7 +602,7 @@ src_test() {
# run mysql-test tests
pushd "${TESTDIR}" &>/dev/null || die
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def"
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd &>/dev/null || die
@ -697,10 +700,16 @@ src_install() {
fi
fi
# Remove mytop if perl is not selected
if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
rm -f "${ED}/usr/bin/mytop" || die
fi
# Remove bundled mytop in favor of dev-db/mytop
local mytop_file
for mytop_file in \
"${ED}/usr/bin/mytop" \
"${ED}/usr/share/man/man1/mytop.1" \
; do
if [[ -e "${mytop_file}" ]] ; then
rm -v "${mytop_file}" || die
fi
done
# Fix a dangling symlink when galera is not built
if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
@ -787,63 +796,312 @@ pkg_postinst() {
pkg_config() {
_getoptval() {
local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults
local section="$1"
local section="${1}"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
local cmd=(
"${my_print_defaults_binary}"
"${extra_options}"
"${section}"
)
local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
if [[ ${#results[@]} -gt 0 ]] ; then
# When option is set multiple times only return last value
echo "${results[-1]}"
fi
}
_mktemp_dry() {
# emktemp has no --dry-run option
local template="${1}"
if [[ -z "${template}" ]] ; then
if [[ -z "${T}" ]] ; then
template="/tmp/XXXXXXX"
else
template="${T}/XXXXXXX"
fi
fi
local template_wo_X=${template//X/}
local n_X
let n_X=${#template}-${#template_wo_X}
if [[ ${n_X} -lt 3 ]] ; then
echo "${FUNCNAME[0]}: too few X's in template ${template}" >&2
return
fi
local attempts=0
local character tmpfile
while [[ true ]] ; do
let attempts=attempts+1
new_file=
while read -n1 character ; do
if [[ "${character}" == "X" ]] ; then
tmpfile+="${RANDOM:0:1}"
else
tmpfile+="${character}"
fi
done < <(echo -n "${template}")
if [[ ! -f "${tmpfile}" ]]
then
echo "${tmpfile}"
return
fi
if [[ ${attempts} -ge 100 ]] ; then
echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
return
fi
done
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
local mysql_binary="${EROOT}/usr/bin/mysql"
if [[ ! -x "${mysql_binary}" ]] ; then
die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local mysqld_binary="${EROOT}/usr/sbin/mysqld"
if [[ ! -x "${mysqld_binary}" ]] ; then
die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
if [[ ! -x "${mysql_install_db_binary}" ]] ; then
die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
if [[ ! -x "${my_print_defaults_binary}" ]] ; then
die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
fi
if [[ -z "${MYSQL_USER}" ]] ; then
MYSQL_USER=mysql
if use prefix ; then
MYSQL_USER=$(id -u -n 2>/dev/null)
if [[ -z "${MYSQL_USER}" ]] ; then
die "Failed to determine current username!"
fi
fi
fi
if [[ -z "${MYSQL_GROUP}" ]] ; then
MYSQL_GROUP=mysql
if use prefix ; then
MYSQL_GROUP=$(id -g -n 2>/dev/null)
if [[ -z "${MYSQL_GROUP}" ]] ; then
die "Failed to determine current user groupname!"
fi
fi
fi
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX}/root
local -x HOME="${EROOT}/root"
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
# Read currently set data directory
MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MY_DATADIR}" ]] ; then
die "Sorry, unable to find MY_DATADIR!"
elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
ewarn "Please rename or delete its content if you wish to initialize a new data directory."
die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
# These are dir+prefix
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
# Create missing directories.
# Always check if mysql user can write to directory even if we just
# created directory because a parent directory might be not
# accessible for that user.
PID_DIR="${EROOT}/run/mysqld"
if [[ ! -d "${PID_DIR}" ]] ; then
einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
|| die "Failed to create PID directory '${PID_DIR}'!"
fi
local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_pid_dir_testfile}" ]] \
&& die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_pid_dir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
else
rm "${_pid_dir_testfile}" || die
unset _pid_dir_testfile
fi
if [[ ! -d "${MY_DATADIR}" ]] ; then
einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
|| die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
fi
local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_datadir_testfile}" ]] \
&& die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_datadir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
else
rm "${_my_datadir_testfile}" || die
unset _my_datadir_testfile
fi
if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
|| die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
fi
if [[ -z "${MYSQL_TMPDIR}" ]] ; then
MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
[[ -z "${MYSQL_TMPDIR}" ]] \
&& die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
mkdir "${MYSQL_TMPDIR}" || die
chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
fi
# Now we need to test MYSQL_TMPDIR...
local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_tmpdir_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_tmpdir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
else
rm "${_my_tmpdir_testfile}" || die
unset _my_tmpdir_testfile
fi
if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
|| die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
fi
if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_logbin_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_logbin_testfile}" &>/dev/null
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
else
rm "${_my_logbin_testfile}" || die
unset _my_logbin_testfile
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
|| die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
fi
if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_relaylog_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_relaylog_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
else
rm "${_my_relaylog_testfile}" || die
unset _my_relaylog_testfile
fi
fi
local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
[[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
# Limit access
chmod 0770 "${SETUP_TMPDIR}" || die
chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
echo ""
einfo "Detected settings:"
einfo "=================="
einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
fi
if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
fi
einfo "PID DIR:\t\t\t\t${PID_DIR}"
einfo "Install db log:\t\t\t${mysql_install_log}"
einfo "Install server log:\t\t\t${mysqld_logfile}"
echo
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
for tmp_mysqld_password_source in mysql client ; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
@ -855,179 +1113,189 @@ pkg_config() {
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then
einfo "Please provide a password for the mysql 'root'@'localhost' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
einfo "Not entering a password defaults to UNIX authentication"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local pwd1="a"
local pwd2="b"
echo
einfo "No password for mysql 'root' user was specified via environment"
einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
einfo "file like '${HOME}/.my.cnf'."
einfo "To continue please provide a password for the mysql 'root' user"
einfo "now on console:"
ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
read -rsp " >" pwd1 ; echo
if [[ -n "${pwd1}" ]] ; then
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
die "Passwords are not the same!"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
echo
fi
local options
local sqltmp="$(emktemp)"
local -a mysqld_options
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see https://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR}/mysqld-help"
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
local opt optexp optfull
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Prepare timezones, see
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
local tz_sql="${SETUP_TMPDIR}/tz.sql"
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
echo "USE mysql;" >"${tz_sql}"
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
if [[ $? -ne 0 ]] ; then
die "mysql_tzinfo_to_sql failed!"
fi
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
local cmd=(
"${mysql_install_db_binary}"
"${mysqld_options[@]}"
"--init-file='${tz_sql}'"
"--basedir='${EROOT}/usr'"
"--datadir='${MY_DATADIR}'"
"--tmpdir='${MYSQL_TMPDIR}'"
"--log-error='${mysql_install_log}'"
"--rpm"
"--cross-bootstrap"
"--skip-test-db"
"--user=${MYSQL_USER}"
)
pushd "${TMPDIR}" &>/dev/null || die
einfo "Initializing ${PN} data directory: ${cmd[@]}"
eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
# Filling timezones, see
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
local cmd=( "${EROOT}/usr/share/mariadb/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" )
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [[ $? -ne 0 ]]; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
fi
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
if [[ -z ${sqltmp} && -z ${MYSQL_ROOT_PASSWORD} ]] ; then
einfo "Done"
exit 0
fi
local x=${RANDOM}
local socket="${PID_DIR}/mysqld.${x}.sock"
[[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
local pidfile="${PID_DIR}/mysqld.${x}.pid"
[[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
unset x
cmd=(
"${mysqld_binary}"
"${mysqld_options[@]}"
"--basedir='${EROOT}/usr'"
"--datadir='${MY_DATADIR}'"
"--tmpdir='${MYSQL_TMPDIR}'"
--max_allowed_packet=8M
--net_buffer_length=16K
"--socket='${socket}'"
"--pid-file='${pidfile}'"
"--log-error='${mysqld_logfile}'"
"--user=${MYSQL_USER}"
)
einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
use prefix || options="${options} --user=mysql"
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
local mysqld="${EROOT}/usr/sbin/mysqld \
${options} \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
echo -n "Waiting for mysqld to accept connections "
local maxtry=15
while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
if [[ -S "${socket}" ]] ; then
# Even with a socket we don't know if mysqld will abort
# start due to an error so just wait a little bit more...
maxtry=5
while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
fi
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}')"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
unset sql
eend $?
echo
if [[ ! -S "${socket}" ]] ; then
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
fi
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
touch "${mysql_logfile}" || die
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
cmd=(
"${mysql_binary}"
--no-defaults
"--socket='${socket}'"
-hlocalhost
"-e \"${sql}\""
)
eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
local rc=$?
eend ${rc}
if [[ ${rc} -ne 0 ]] ; then
# Poor man's solution which tries to avoid having password
# in log. NOTE: sed can fail if user didn't follow advice
# and included character which will require escaping...
sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
# Stop the server
if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
echo -n "Stopping the server "
pkill -F "${pidfile}" &>/dev/null
maxtry=10
while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
echo
if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
# We somehow failed to stop server.
# However, not a fatal error. Just warn the user.
ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
fi
fi
rm -r "${SETUP_TMPDIR}" || die
einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
}

@ -10,7 +10,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
# Patch version
PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.7-patches-02.tar.xz"
PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.10-patches-01.tar.xz"
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
${PATCH_SET}"
@ -40,7 +40,7 @@ S="${WORKDIR}/mysql"
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
>=dev-libs/libpcre-8.41-r1:3=
>=dev-libs/libpcre2-10.34:=
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
sys-libs/ncurses:0=
@ -91,7 +91,7 @@ BDEPEND="virtual/yacc
"
DEPEND="${COMMON_DEPEND}
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
test? ( acct-group/mysql acct-user/mysql )
)
static? ( sys-libs/ncurses[static-libs] )
@ -104,12 +104,13 @@ RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb:10.2
!dev-db/mariadb:10.3
!dev-db/mariadb:10.4
!dev-db/mariadb:10.6
!<virtual/mysql-5.6-r11
!<virtual/libmysqlclient-18-r1
selinux? ( sec-policy/selinux-mysql )
server? (
columnstore? ( dev-db/mariadb-connector-c )
extraengine? ( jdbc? ( >=virtual/jre-1.6 ) )
extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
galera? (
sys-apps/iproute2
=sys-cluster/galera-26*
@ -118,13 +119,6 @@ RDEPEND="${COMMON_DEPEND}
)
!prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
)
perl? (
!dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes
)
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
@ -233,9 +227,9 @@ src_prepare() {
}
if use jemalloc; then
echo "TARGET_LINK_LIBRARIES(mariadbd jemalloc)" >> "${S}/sql/CMakeLists.txt"
echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
elif use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mariadbd tcmalloc)" >> "${S}/sql/CMakeLists.txt"
echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
fi
local plugin
@ -319,7 +313,7 @@ src_configure() {
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mariadb
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
-DINSTALL_SCRIPTDIR=bin
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
@ -565,17 +559,21 @@ src_test() {
local -a disabled_tests
disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
disabled_tests+=( "mariabackup.*;0;Broken test suite" )
disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
if ! use latin1 ; then
disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
@ -697,10 +695,16 @@ src_install() {
fi
fi
# Remove mytop if perl is not selected
if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
rm -f "${ED}/usr/bin/mytop" || die
fi
# Remove bundled mytop in favor of dev-db/mytop
local mytop_file
for mytop_file in \
"${ED}/usr/bin/mytop" \
"${ED}/usr/share/man/man1/mytop.1" \
; do
if [[ -e "${mytop_file}" ]] ; then
rm -v "${mytop_file}" || die
fi
done
# Fix a dangling symlink when galera is not built
if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
@ -787,63 +791,312 @@ pkg_postinst() {
pkg_config() {
_getoptval() {
local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults
local section="$1"
local section="${1}"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
local cmd=(
"${my_print_defaults_binary}"
"${extra_options}"
"${section}"
)
local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
if [[ ${#results[@]} -gt 0 ]] ; then
# When option is set multiple times only return last value
echo "${results[-1]}"
fi
}
_mktemp_dry() {
# emktemp has no --dry-run option
local template="${1}"
if [[ -z "${template}" ]] ; then
if [[ -z "${T}" ]] ; then
template="/tmp/XXXXXXX"
else
template="${T}/XXXXXXX"
fi
fi
local template_wo_X=${template//X/}
local n_X
let n_X=${#template}-${#template_wo_X}
if [[ ${n_X} -lt 3 ]] ; then
echo "${FUNCNAME[0]}: too few X's in template ${template}" >&2
return
fi
local attempts=0
local character tmpfile
while [[ true ]] ; do
let attempts=attempts+1
new_file=
while read -n1 character ; do
if [[ "${character}" == "X" ]] ; then
tmpfile+="${RANDOM:0:1}"
else
tmpfile+="${character}"
fi
done < <(echo -n "${template}")
if [[ ! -f "${tmpfile}" ]]
then
echo "${tmpfile}"
return
fi
if [[ ${attempts} -ge 100 ]] ; then
echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
return
fi
done
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
local mysql_binary="${EROOT}/usr/bin/mysql"
if [[ ! -x "${mysql_binary}" ]] ; then
die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local mysqld_binary="${EROOT}/usr/sbin/mysqld"
if [[ ! -x "${mysqld_binary}" ]] ; then
die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
if [[ ! -x "${mysql_install_db_binary}" ]] ; then
die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
fi
local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
if [[ ! -x "${my_print_defaults_binary}" ]] ; then
die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
fi
if [[ -z "${MYSQL_USER}" ]] ; then
MYSQL_USER=mysql
if use prefix ; then
MYSQL_USER=$(id -u -n 2>/dev/null)
if [[ -z "${MYSQL_USER}" ]] ; then
die "Failed to determine current username!"
fi
fi
fi
if [[ -z "${MYSQL_GROUP}" ]] ; then
MYSQL_GROUP=mysql
if use prefix ; then
MYSQL_GROUP=$(id -g -n 2>/dev/null)
if [[ -z "${MYSQL_GROUP}" ]] ; then
die "Failed to determine current user groupname!"
fi
fi
fi
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX}/root
local -x HOME="${EROOT}/root"
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
# Read currently set data directory
MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MY_DATADIR}" ]] ; then
die "Sorry, unable to find MY_DATADIR!"
elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
ewarn "Please rename or delete its content if you wish to initialize a new data directory."
die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
# These are dir+prefix
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
# Create missing directories.
# Always check if mysql user can write to directory even if we just
# created directory because a parent directory might be not
# accessible for that user.
PID_DIR="${EROOT}/run/mysqld"
if [[ ! -d "${PID_DIR}" ]] ; then
einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
|| die "Failed to create PID directory '${PID_DIR}'!"
fi
local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_pid_dir_testfile}" ]] \
&& die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_pid_dir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
else
rm "${_pid_dir_testfile}" || die
unset _pid_dir_testfile
fi
if [[ ! -d "${MY_DATADIR}" ]] ; then
einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
|| die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
fi
local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_datadir_testfile}" ]] \
&& die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_datadir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
else
rm "${_my_datadir_testfile}" || die
unset _my_datadir_testfile
fi
if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
|| die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
fi
if [[ -z "${MYSQL_TMPDIR}" ]] ; then
MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
[[ -z "${MYSQL_TMPDIR}" ]] \
&& die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
mkdir "${MYSQL_TMPDIR}" || die
chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
fi
# Now we need to test MYSQL_TMPDIR...
local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_tmpdir_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_tmpdir_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
else
rm "${_my_tmpdir_testfile}" || die
unset _my_tmpdir_testfile
fi
if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
|| die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
fi
if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_logbin_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
if use prefix ; then
touch "${_my_logbin_testfile}" &>/dev/null
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
else
rm "${_my_logbin_testfile}" || die
unset _my_logbin_testfile
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
|| die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
fi
if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
[[ -z "${_my_relaylog_testfile}" ]] \
&& die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
if use prefix ; then
touch "${_my_relaylog_testfile}" &>/dev/null
else
su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
fi
if [[ $? -ne 0 ]] ; then
die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
else
rm "${_my_relaylog_testfile}" || die
unset _my_relaylog_testfile
fi
fi
local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
[[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
# Limit access
chmod 0770 "${SETUP_TMPDIR}" || die
chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
echo ""
einfo "Detected settings:"
einfo "=================="
einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
fi
if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
fi
einfo "PID DIR:\t\t\t\t${PID_DIR}"
einfo "Install db log:\t\t\t${mysql_install_log}"
einfo "Install server log:\t\t\t${mysqld_logfile}"
echo
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
for tmp_mysqld_password_source in mysql client ; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
@ -855,179 +1108,189 @@ pkg_config() {
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then
einfo "Please provide a password for the mysql 'root'@'localhost' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
einfo "Not entering a password defaults to UNIX authentication"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local pwd1="a"
local pwd2="b"
echo
einfo "No password for mysql 'root' user was specified via environment"
einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
einfo "file like '${HOME}/.my.cnf'."
einfo "To continue please provide a password for the mysql 'root' user"
einfo "now on console:"
ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
read -rsp " >" pwd1 ; echo
if [[ -n "${pwd1}" ]] ; then
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
MYSQL_ROOT_PASSWORD="${pwd1}"
if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
die "Passwords are not the same!"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
echo
fi
local options
local sqltmp="$(emktemp)"
local -a mysqld_options
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see https://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR}/mysqld-help"
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
local opt optexp optfull
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Prepare timezones, see
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
local tz_sql="${SETUP_TMPDIR}/tz.sql"
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
echo "USE mysql;" >"${tz_sql}"
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
if [[ $? -ne 0 ]] ; then
die "mysql_tzinfo_to_sql failed!"
fi
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
local cmd=(
"${mysql_install_db_binary}"
"${mysqld_options[@]}"
"--init-file='${tz_sql}'"
"--basedir='${EROOT}/usr'"
"--datadir='${MY_DATADIR}'"
"--tmpdir='${MYSQL_TMPDIR}'"
"--log-error='${mysql_install_log}'"
"--rpm"
"--cross-bootstrap"
"--skip-test-db"
"--user=${MYSQL_USER}"
)
pushd "${TMPDIR}" &>/dev/null || die
einfo "Initializing ${PN} data directory: ${cmd[@]}"
eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
# Filling timezones, see
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
local cmd=( "${EROOT}/usr/share/mariadb/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" )
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [[ $? -ne 0 ]]; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
fi
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
if [[ -z ${sqltmp} && -z ${MYSQL_ROOT_PASSWORD} ]] ; then
einfo "Done"
exit 0
fi
local x=${RANDOM}
local socket="${PID_DIR}/mysqld.${x}.sock"
[[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
local pidfile="${PID_DIR}/mysqld.${x}.pid"
[[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
unset x
cmd=(
"${mysqld_binary}"
"${mysqld_options[@]}"
"--basedir='${EROOT}/usr'"
"--datadir='${MY_DATADIR}'"
"--tmpdir='${MYSQL_TMPDIR}'"
--max_allowed_packet=8M
--net_buffer_length=16K
"--socket='${socket}'"
"--pid-file='${pidfile}'"
"--log-error='${mysqld_logfile}'"
"--user=${MYSQL_USER}"
)
use prefix || options="${options} --user=mysql"
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
local mysqld="${EROOT}/usr/sbin/mysqld \
${options} \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
echo -n "Waiting for mysqld to accept connections "
local maxtry=15
while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
if [[ -S "${socket}" ]] ; then
# Even with a socket we don't know if mysqld will abort
# start due to an error so just wait a little bit more...
maxtry=5
while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
fi
echo
if [[ ! -S "${socket}" ]] ; then
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
fi
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}')"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
unset sql
eend $?
local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
touch "${mysql_logfile}" || die
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
cmd=(
"${mysql_binary}"
--no-defaults
"--socket='${socket}'"
-hlocalhost
"-e \"${sql}\""
)
eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
local rc=$?
eend ${rc}
if [[ ${rc} -ne 0 ]] ; then
# Poor man's solution which tries to avoid having password
# in log. NOTE: sed can fail if user didn't follow advice
# and included character which will require escaping...
sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
fi
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
# Stop the server
if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
echo -n "Stopping the server "
pkill -F "${pidfile}" &>/dev/null
maxtry=10
while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
echo
if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
# We somehow failed to stop server.
# However, not a fatal error. Just warn the user.
ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
fi
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
rm -r "${SETUP_TMPDIR}" || die
einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
}

File diff suppressed because it is too large Load Diff

@ -12,16 +12,19 @@ DIST sqlite-doc-3350100.zip 10175402 BLAKE2B c8ac8814837dc88320ae0f6973b5ec0b815
DIST sqlite-doc-3350200.zip 10182547 BLAKE2B f50b04495aa79eca1ce935c8a96fe83d0a415f15ec55fda0cd982d02b4473ba8f5175c97d9816de2b79526787bc958b3be5e1234994e5f00d8ee1b432627391e SHA512 7ef973b804d059cf00c759a0ae001b7714df0472398e7cd55e34f59222df816a36511cefd15fa99abf67dec4291ee6babbc12bd87855194608ff556a5c1182ae
DIST sqlite-doc-3350300.zip 10197905 BLAKE2B ffe3e800fa7c9066c6f180a5989cceb89dfff81729258278256901eee717872ef6993a8bb30ebb6c1de5a66c128009c21494ec9bf0011accdd6f8beef712213a SHA512 260981abaf54f452777e37e99474d100010ec2340c740f78445b7794fa17bcbb814e90f004f870d929a9ccab1d89417ee3d65ffe3b65dbf511ca1de7b6a6a4c8
DIST sqlite-doc-3350400.zip 10206227 BLAKE2B 82572a771e72e76149fc7ca4e3d5b6f268d6b2d441cc8a4c02be7f2062582b55cefd1577dbb3c77d2e932e93f1a0403f55a9ffc8b74f7eada06435ef23a6b065 SHA512 cc967b6625e0ae3ffb4a84f87a6efb5bc0e2d3cb2080e438c9e1ba3b8c2ba707612b8bdfc2bf3291ef2ad2836780127050762945a3ff7503f662cf30ab4fde4a
DIST sqlite-doc-3350500.zip 10205830 BLAKE2B e078713786522f8da7984df6ddf62671c24ec5381cac88fe976c97fcdf4800cff8dc1a595df9c9010c687c9929cb5ab070957f8ccbc0b5e8bd7add88ae9a0514 SHA512 2da5357623f4db7003f46ec7ea8bdd8a794ad6e1be9a25a8ebccfe5222da43eabc32d9d17acfd7766aa4cf1fd010e476a8087fab78ac6f6596c7c5b8a06de685
DIST sqlite-src-3340100.zip 12623711 BLAKE2B 08c98d0c56d46fe909f449f322002ae4d69fd952930d2f04514988a939b31744a13aea85935d84bc05db52faca1aad6a70d7c31e7da0e396bb649685a49699bb SHA512 5ed02fe609b3d08c3297cc43b21e6ee3f56fb51a6616ac391a0e50cd1677dbad03c6bf9bf9c8409cf94b83b16fe6b6e4a112640b18c7d4fd95328066da3c3943
DIST sqlite-src-3350000.zip 12814378 BLAKE2B f77880bfb335da078623841f9d9d9fc690085630757d8d8e3d40d42646902f809febf8dcc5048d38be0e2d74c0114c35f09789bc261e51d49f9685201f6d1297 SHA512 4b77d963092a6aed61b50e59450edf2af187f16b185b05ca54d81c3eecf71b1cb9bc2883a8aadeb971fcebe343fa430ea788aedb77e3712c8b39d4892c93a797
DIST sqlite-src-3350100.zip 12814875 BLAKE2B bc4f6913ce93c32e1c6fbd39f45666a14476096b09f7534047aee56cbb18e949bf5225c080c813281a0abae9198a35165161393db39df0c2af2a92138b4604d9 SHA512 004bcca9c2ae883b05d8f15c8bf28a12fd2fdf9527d1560d137f8e2570c153d14ea5405c500d0e79966a3881a516df4d9ed07be751712f1584df411e86c60977
DIST sqlite-src-3350200.zip 12815298 BLAKE2B a65034fc59c32e950b5337ef4fe1b2476190fe6f1272494b12f9e1d048aac759ac31e7c0f252774c850b0f313bf44b34a97fc563c049e30d2a896f262b199dce SHA512 d5382bf31d812bc51533d28a583c78d3f389b1ecbe1f9f30cc755059f2867f832c0529e9f97b090be5c5bc855c45611b220b8c29b5648c451490566a70cc5122
DIST sqlite-src-3350300.zip 12817388 BLAKE2B 5b07d15ec5ed934ffa776ae4e079d4b4a3d9c91c526577683c7eea4f95ba62738d82b6fd26f1c10560a6f87fd02b070e5786bcc45e908a338a316071009e5b92 SHA512 5b994833e37e5f7579f4e3eefbbadd5b2a3d691b5f662b7d3dc2bbf80ff1cdaf89262ce5612513fcb2daa0a7d1db3de871dfc462f9d162c954593ff7f4ad90fd
DIST sqlite-src-3350400.zip 12818802 BLAKE2B c671c5666d754c763e70f20e742e017320ceb27e1a8668e8713dbe5257aa0842ba8d7343e535be06eefd371dc2bae9ded6718194b7891e46c6eb4081531b4944 SHA512 3a3fa1df47b8f148fffbb056522e0e671d9e295c154173124208b7b1348d321eba410a40fbdea02fdc1af3b55cdfce37044ed09f328502fc50f42f5ecabc1236
EBUILD sqlite-3.34.1.ebuild 13150 BLAKE2B e8cef65b984256447f0d4b8fcb941e2f2541b33d8f3532b53f7b736416b9d3a3c7bed96040b9747bc3e22eb8c525d416deb25133ffd7f024ecd1f481f716bd38 SHA512 377603c5f7e76626304730b469d1367a2819dde5a74b15778fd7825440d5c07c100dfe6eeaa537fd0352c9dc372ac7832d51371b81a44cdf933f013484b35b8b
EBUILD sqlite-3.35.0.ebuild 13158 BLAKE2B c9ce490c5e4cd50f93761aefd0188e590f4cea4791d7d9b9e5c31dfa9ac7826422dc1309448ca55e2f3ddc571ea61e96ab61e5d60818c3c6ee0b89696c6226a6 SHA512 85b1d98d677b504aa826d78b12cd8a2ec8db25279bf8a855108160fedd3f5d216d0538b589a76ec7cc66f388feede97118f0f57a8b1af8ea97fd91584f6d6599
EBUILD sqlite-3.35.1.ebuild 13158 BLAKE2B c9ce490c5e4cd50f93761aefd0188e590f4cea4791d7d9b9e5c31dfa9ac7826422dc1309448ca55e2f3ddc571ea61e96ab61e5d60818c3c6ee0b89696c6226a6 SHA512 85b1d98d677b504aa826d78b12cd8a2ec8db25279bf8a855108160fedd3f5d216d0538b589a76ec7cc66f388feede97118f0f57a8b1af8ea97fd91584f6d6599
EBUILD sqlite-3.35.2.ebuild 13158 BLAKE2B c9ce490c5e4cd50f93761aefd0188e590f4cea4791d7d9b9e5c31dfa9ac7826422dc1309448ca55e2f3ddc571ea61e96ab61e5d60818c3c6ee0b89696c6226a6 SHA512 85b1d98d677b504aa826d78b12cd8a2ec8db25279bf8a855108160fedd3f5d216d0538b589a76ec7cc66f388feede97118f0f57a8b1af8ea97fd91584f6d6599
EBUILD sqlite-3.35.3.ebuild 13158 BLAKE2B c9ce490c5e4cd50f93761aefd0188e590f4cea4791d7d9b9e5c31dfa9ac7826422dc1309448ca55e2f3ddc571ea61e96ab61e5d60818c3c6ee0b89696c6226a6 SHA512 85b1d98d677b504aa826d78b12cd8a2ec8db25279bf8a855108160fedd3f5d216d0538b589a76ec7cc66f388feede97118f0f57a8b1af8ea97fd91584f6d6599
EBUILD sqlite-3.35.4.ebuild 13158 BLAKE2B c9ce490c5e4cd50f93761aefd0188e590f4cea4791d7d9b9e5c31dfa9ac7826422dc1309448ca55e2f3ddc571ea61e96ab61e5d60818c3c6ee0b89696c6226a6 SHA512 85b1d98d677b504aa826d78b12cd8a2ec8db25279bf8a855108160fedd3f5d216d0538b589a76ec7cc66f388feede97118f0f57a8b1af8ea97fd91584f6d6599
DIST sqlite-src-3350500.zip 12819198 BLAKE2B 0f0d39cd663d78a3c698df62dd533019c32244e8c998e625354cb069f5839cc374476b825e2e2a6408916301333a9954c0c7b9cbab5493522fdffe8859f9b6a5 SHA512 f9afd11b3c42a8241f91e2ecafc3928e7391cc0f1fbee236b8122c2d3ca922d0c82d2605968b131351b6c5e38f983f8eed29b86c94cfa72799e2387b3b3db561
EBUILD sqlite-3.34.1.ebuild 12985 BLAKE2B 57570ade0291598cf3f0e03f3140d893a0159da4c801243320351dbbf2e443d65cff9416690c10c46bf49fc1c24c556cf7c474b923f378e04bdfbdeed83c9f90 SHA512 ecdfbf4b70e5727c08efe571242a659a04332189e669d422bbe6a41c56aa5f5d45f829f7bb19fa4d8679f4ce26539b48ab4fcec2836ec695109594cfeac05b6e
EBUILD sqlite-3.35.0.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f008395df7faa1b0d13e970f7240aa9b371250f3ce318c97da956a611014b76d74aadd74beef7e3435d533d4ab7437e3 SHA512 62e893f13ea89fd7cf4f557554bee924dbac9dec449275fa7e89f369e2cef03a9599cb89197e2dc1116c469e5403615c39ee3d0c28aff3b85b59223f271c1d0a
EBUILD sqlite-3.35.1.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f008395df7faa1b0d13e970f7240aa9b371250f3ce318c97da956a611014b76d74aadd74beef7e3435d533d4ab7437e3 SHA512 62e893f13ea89fd7cf4f557554bee924dbac9dec449275fa7e89f369e2cef03a9599cb89197e2dc1116c469e5403615c39ee3d0c28aff3b85b59223f271c1d0a
EBUILD sqlite-3.35.2.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f008395df7faa1b0d13e970f7240aa9b371250f3ce318c97da956a611014b76d74aadd74beef7e3435d533d4ab7437e3 SHA512 62e893f13ea89fd7cf4f557554bee924dbac9dec449275fa7e89f369e2cef03a9599cb89197e2dc1116c469e5403615c39ee3d0c28aff3b85b59223f271c1d0a
EBUILD sqlite-3.35.3.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f008395df7faa1b0d13e970f7240aa9b371250f3ce318c97da956a611014b76d74aadd74beef7e3435d533d4ab7437e3 SHA512 62e893f13ea89fd7cf4f557554bee924dbac9dec449275fa7e89f369e2cef03a9599cb89197e2dc1116c469e5403615c39ee3d0c28aff3b85b59223f271c1d0a
EBUILD sqlite-3.35.4.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f008395df7faa1b0d13e970f7240aa9b371250f3ce318c97da956a611014b76d74aadd74beef7e3435d533d4ab7437e3 SHA512 62e893f13ea89fd7cf4f557554bee924dbac9dec449275fa7e89f369e2cef03a9599cb89197e2dc1116c469e5403615c39ee3d0c28aff3b85b59223f271c1d0a
EBUILD sqlite-3.35.5.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f008395df7faa1b0d13e970f7240aa9b371250f3ce318c97da956a611014b76d74aadd74beef7e3435d533d4ab7437e3 SHA512 62e893f13ea89fd7cf4f557554bee924dbac9dec449275fa7e89f369e2cef03a9599cb89197e2dc1116c469e5403615c39ee3d0c28aff3b85b59223f271c1d0a
MISC metadata.xml 743 BLAKE2B 4e2cdd6391c851ad8a705895fc9a5b5f8d77df3ae9cdd96310b1a72d5f4963d19427b8c97f5690f49262e91e9f321f6aafcdd5fee222eede0505810a803265cc SHA512 06315ac56dd1d0e738e3d1161b611c4db053de49e1a35e536b06b9ad7c0f9276b50c390ea6572802b58d49b84c7f1a3c8e63496d04d0f4b0d603bba804fb1757

@ -320,12 +320,6 @@ multilib_src_configure() {
options+=(--disable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
# sys/mman.h not available in MiNTLib.
# https://sqlite.org/compile.html#omit_wal
append-cppflags -DSQLITE_OMIT_WAL
fi
if [[ "${ABI}" == "x86" ]]; then
if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
append-cflags -mfpmath=sse

@ -320,12 +320,6 @@ multilib_src_configure() {
options+=(--disable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
# sys/mman.h not available in MiNTLib.
# https://sqlite.org/compile.html#omit_wal
append-cppflags -DSQLITE_OMIT_WAL
fi
if [[ "${ABI}" == "x86" ]]; then
if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
append-cflags -mfpmath=sse

@ -320,12 +320,6 @@ multilib_src_configure() {
options+=(--disable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
# sys/mman.h not available in MiNTLib.
# https://sqlite.org/compile.html#omit_wal
append-cppflags -DSQLITE_OMIT_WAL
fi
if [[ "${ABI}" == "x86" ]]; then
if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
append-cflags -mfpmath=sse

@ -320,12 +320,6 @@ multilib_src_configure() {
options+=(--disable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
# sys/mman.h not available in MiNTLib.
# https://sqlite.org/compile.html#omit_wal
append-cppflags -DSQLITE_OMIT_WAL
fi
if [[ "${ABI}" == "x86" ]]; then
if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
append-cflags -mfpmath=sse

@ -320,12 +320,6 @@ multilib_src_configure() {
options+=(--disable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
# sys/mman.h not available in MiNTLib.
# https://sqlite.org/compile.html#omit_wal
append-cppflags -DSQLITE_OMIT_WAL
fi
if [[ "${ABI}" == "x86" ]]; then
if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
append-cflags -mfpmath=sse

@ -320,12 +320,6 @@ multilib_src_configure() {
options+=(--disable-tcl)
fi
if [[ "${CHOST}" == *-mint* ]]; then
# sys/mman.h not available in MiNTLib.
# https://sqlite.org/compile.html#omit_wal
append-cppflags -DSQLITE_OMIT_WAL
fi
if [[ "${ABI}" == "x86" ]]; then
if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
append-cflags -mfpmath=sse

@ -0,0 +1,428 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
if [[ "${PV}" != "9999" ]]; then
SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
DOC_PV="${SRC_PV}"
# DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
fi
DESCRIPTION="SQL database engine"
HOMEPAGE="https://sqlite.org/"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
SRC_URI="https://sqlite.org/2021/${PN}-src-${SRC_PV}.zip
doc? ( https://sqlite.org/2021/${PN}-doc-${DOC_PV}.zip )"
fi
LICENSE="public-domain"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
if [[ "${PV}" == "9999" ]]; then
PROPERTIES="live"
fi
RESTRICT="!test? ( test )"
if [[ "${PV}" == "9999" ]]; then
BDEPEND=">=dev-lang/tcl-8.6:0
dev-vcs/fossil"
else
BDEPEND="app-arch/unzip
>=dev-lang/tcl-8.6:0"
fi
RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
tools? ( dev-lang/tcl:0= )"
DEPEND="${RDEPEND}
test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
if [[ "${PV}" == "9999" ]]; then
S="${WORKDIR}/${PN}"
else
S="${WORKDIR}/${PN}-src-${SRC_PV}"
fi
_fossil_fetch() {
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
local repo_id="${1}"
local repo_uri="${2}"
local -x FOSSIL_HOME="${HOME}"
mkdir -p "${T}/fossil/${repo_id}" || die
pushd "${T}/fossil/${repo_id}" > /dev/null || die
if [[ -n "${EVCS_OFFLINE}" ]]; then
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
fi
else
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil"
fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die
echo
else
cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die
einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}"
fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die
echo
fi
(
addwrite "${distdir}"
mkdir -p "${distdir}/fossil-src/${repo_id}" || die
cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die
)
fi
popd > /dev/null || die
}
_fossil_checkout() {
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
local repo_id="${1}"
local branch_or_commit="${2}"
local target_directory="${3}"
local -x FOSSIL_HOME="${HOME}"
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
fi
if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then
mkdir -p "${T}/fossil/${repo_id}" || die
cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die
fi
mkdir "${target_directory}" || die
pushd "${target_directory}" > /dev/null || die
einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}"
fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die
echo
popd > /dev/null || die
}
fossil_fetch() {
local repo_id="${1}"
local repo_uri="${2}"
local target_directory="${3}"
local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}"
_fossil_fetch "${repo_id}" "${repo_uri}"
_fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}"
}
src_unpack() {
if [[ "${PV}" == "9999" ]]; then
fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
if use doc; then
fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
fi
else
default
fi
}
src_prepare() {
eapply "${FILESDIR}/"${PN}-3.35.0-build_{1.1,1.2,2.1,2.2}.patch
eapply_user
eautoreconf
multilib_copy_sources
}
multilib_src_configure() {
local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
local options=()
options+=(
--enable-load-extension
--enable-threadsafe
)
# Support detection of misuse of SQLite API.
# https://sqlite.org/compile.html#enable_api_armor
append-cppflags -DSQLITE_ENABLE_API_ARMOR
# Support bytecode and tables_used virtual tables.
# https://sqlite.org/compile.html#enable_bytecode_vtab
# https://sqlite.org/bytecodevtab.html
append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
# Support column metadata functions.
# https://sqlite.org/compile.html#enable_column_metadata
# https://sqlite.org/c3ref/column_database_name.html
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
# Support sqlite_dbpage virtual table.
# https://sqlite.org/compile.html#enable_dbpage_vtab
# https://sqlite.org/dbpage.html
append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
# Support dbstat virtual table.
# https://sqlite.org/compile.html#enable_dbstat_vtab
# https://sqlite.org/dbstat.html
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
# Support sqlite3_serialize() and sqlite3_deserialize() functions.
# https://sqlite.org/compile.html#enable_deserialize
# https://sqlite.org/c3ref/serialize.html
# https://sqlite.org/c3ref/deserialize.html
append-cppflags -DSQLITE_ENABLE_DESERIALIZE
# Support comments in output of EXPLAIN.
# https://sqlite.org/compile.html#enable_explain_comments
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
# Support Full-Text Search versions 3, 4 and 5.
# https://sqlite.org/compile.html#enable_fts3
# https://sqlite.org/compile.html#enable_fts3_parenthesis
# https://sqlite.org/compile.html#enable_fts4
# https://sqlite.org/compile.html#enable_fts5
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
options+=(--enable-fts5)
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
# Support JSON1 extension.
# https://sqlite.org/compile.html#enable_json1
# https://sqlite.org/json1.html
append-cppflags -DSQLITE_ENABLE_JSON1
# Support memsys5 memory allocator.
# https://sqlite.org/compile.html#enable_memsys5
# https://sqlite.org/malloc.html#memsys5
append-cppflags -DSQLITE_ENABLE_MEMSYS5
# Support sqlite3_normalized_sql() function.
# https://sqlite.org/c3ref/expanded_sql.html
append-cppflags -DSQLITE_ENABLE_NORMALIZE
# Support sqlite_offset() function.
# https://sqlite.org/compile.html#enable_offset_sql_func
# https://sqlite.org/lang_corefunc.html#sqlite_offset
append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
# Support pre-update hook functions.
# https://sqlite.org/compile.html#enable_preupdate_hook
# https://sqlite.org/c3ref/preupdate_count.html
append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
# Support Resumable Bulk Update extension.
# https://sqlite.org/compile.html#enable_rbu
# https://sqlite.org/rbu.html
append-cppflags -DSQLITE_ENABLE_RBU
# Support R*Trees.
# https://sqlite.org/compile.html#enable_rtree
# https://sqlite.org/compile.html#enable_geopoly
# https://sqlite.org/rtree.html
# https://sqlite.org/geopoly.html
append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
# Support Session extension.
# https://sqlite.org/compile.html#enable_session
# https://sqlite.org/sessionintro.html
append-cppflags -DSQLITE_ENABLE_SESSION
# Support scan status functions.
# https://sqlite.org/compile.html#enable_stmt_scanstatus
# https://sqlite.org/c3ref/stmt_scanstatus.html
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
# Support sqlite_stmt virtual table.
# https://sqlite.org/compile.html#enable_stmtvtab
# https://sqlite.org/stmt.html
append-cppflags -DSQLITE_ENABLE_STMTVTAB
# Support unknown() function.
# https://sqlite.org/compile.html#enable_unknown_sql_function
append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
# Support unlock notification.
# https://sqlite.org/compile.html#enable_unlock_notify
# https://sqlite.org/c3ref/unlock_notify.html
# https://sqlite.org/unlock_notify.html
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
# Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
# https://sqlite.org/compile.html#enable_update_delete_limit
# https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
# https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
# Support soundex() function.
# https://sqlite.org/compile.html#soundex
# https://sqlite.org/lang_corefunc.html#soundex
append-cppflags -DSQLITE_SOUNDEX
# Support URI filenames.
# https://sqlite.org/compile.html#use_uri
# https://sqlite.org/uri.html
append-cppflags -DSQLITE_USE_URI
# debug USE flag.
options+=($(use_enable debug))
# icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
append-cppflags -DSQLITE_ENABLE_ICU
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
# readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
if use readline; then
options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
fi
# secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/compile.html#secure_delete
# https://sqlite.org/pragma.html#pragma_secure_delete
append-cppflags -DSQLITE_SECURE_DELETE
fi
# static-libs USE flag.
options+=($(use_enable static-libs static))
# tcl, test, tools USE flags.
if use tcl || use test || { use tools && multilib_is_native_abi; }; then
options+=(
--enable-tcl
--with-tcl="${ESYSROOT}/usr/$(get_libdir)"
)
else
options+=(--disable-tcl)
fi
if [[ "${ABI}" == "x86" ]]; then
if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
append-cflags -mfpmath=sse
else
append-cflags -ffloat-store
fi
fi
econf "${options[@]}"
}
multilib_src_compile() {
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
fi
if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
emake tclsqlite3.c
local build_directory="$(pwd)"
build_directory="${build_directory##*/}"
mkdir "${WORKDIR}/${PN}-doc-build" || die
pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die
emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc
rmdir doc/matrix{/*,} || die
popd > /dev/null || die
fi
}
multilib_src_test() {
if [[ "${EUID}" -eq 0 ]]; then
ewarn "Skipping tests due to root permissions"
return
fi
local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
}
multilib_src_install() {
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
if use tools && multilib_is_native_abi; then
install_tool() {
if [[ -f ".libs/${1}" ]]; then
newbin ".libs/${1}" "${2}"
else
newbin "${1}" "${2}"
fi
}
install_tool changeset sqlite3-changeset
install_tool dbdump sqlite3-db-dump
install_tool dbhash sqlite3-db-hash
install_tool dbtotxt sqlite3-db-to-txt
install_tool index_usage sqlite3-index-usage
install_tool rbu sqlite3-rbu
install_tool scrub sqlite3-scrub
install_tool showdb sqlite3-show-db
install_tool showjournal sqlite3-show-journal
install_tool showshm sqlite3-show-shm
install_tool showstat4 sqlite3-show-stat4
install_tool showwal sqlite3-show-wal
install_tool sqldiff sqlite3-diff
install_tool sqlite3_analyzer sqlite3-analyzer
install_tool sqlite3_checker sqlite3-checker
install_tool sqlite3_expert sqlite3-expert
install_tool sqltclsh sqlite3-tclsh
unset -f install_tool
fi
}
multilib_src_install_all() {
find "${ED}" -name "*.la" -delete || die
doman sqlite3.1
if use doc; then
if [[ "${PV}" == "9999" ]]; then
pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
else
pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
fi
find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
if [[ "${PV}" != "9999" ]]; then
rm search search.d/admin || die
rmdir search.d || die
find -name "*~" -delete || die
fi
(
docinto html
dodoc -r *
)
popd > /dev/null || die
fi
}

Binary file not shown.

@ -3,6 +3,6 @@ DIST jaxen-1.1.4-src.tar.gz 268493 BLAKE2B ff51cf3b6507f19549ab864fa4cd53d0b2d0c
DIST jaxen-1.1.6.jar 409677 BLAKE2B 55e03939420c103fb5a6d323595ff0cb7653885eb9ba233fd581c5376d2ac90eecde7aa5576f602cdc459cfd9ba9e79c6bb5bfab3ed7805e717a21670a5748ee SHA512 979044fe959493eb6d66fa92b420251cd9c12414051ff6956d5835888a8999d4f337c18646c53806fc19203cef744f53b7597850cd2f695910c90df7a9725b48
DIST jaxen-1.2.0.tar.gz 282829 BLAKE2B 4d89d4fd3dfd8c4113fe7ecc05597ea9dd743d9c871f320936809016ae8cb3a3d4fb3f935de19463e6c99db1b67eff3545e909b707e81f4c0f114ec0f0e7bb97 SHA512 cecfc62eab1cf6586b28594855bd983679a932dbdc6cbdd07d85a9a9458e78b2e784dfd6287e6e87e4f4443239eefbeac59a7316dae53b818379daaccae56b53
EBUILD jaxen-1.1.4-r1.ebuild 1082 BLAKE2B 5a63323c265e84a70008b4f44788ab50f0c370906f63d46aecd4e476b23c31aa37162b21d9d6ad950c3e59e758ffd711d204b8d8bf05fe1ee3e4076ec07d5daf SHA512 82a7a8b205958e9e81d28887c747a9731077458f213af8c30551fd9eed78cdcf9cd7e29fe385e3c9513f3421fb222c4aad8f959bc1c59d1e42da38847e3e1f0d
EBUILD jaxen-1.1.6-r2.ebuild 863 BLAKE2B 859d58fd895b3ace5e8362ee646ab092b832c7b4e91f7cac23e14e9032fd13d34d6aa054b21dcb903d71464496138ae135dfb0ccd8028a97ccbc9f565203a571 SHA512 7ffdeaf9cde0f3c0f2129eef7c78166544abcd8f37a1d1a56eec06ba1566e9c0eacba19f812b821b3aa7241ecf9c08e519e268ac66b936285f6d4a5ea8487ef5
EBUILD jaxen-1.1.6-r2.ebuild 862 BLAKE2B 9ff56c92543733c389227c44b32b219cc84374e96dbd1aacabe123de5d9c940862cc93e0f9822312112e93b585c10fa0905e2a5adbd8076a818e39e295f9e89b SHA512 13e3ab9d0223f7b9448e0c125d29422652b4d6298d1d4b002b1cf66a3a11e480478e03d16fed59650b97b61438a425f2e6b87e5a4eb4601e5a23daada78ee128
EBUILD jaxen-1.2.0-r1.ebuild 1919 BLAKE2B 90a69225c4086bf95f16cb8308842f703970cdc0ebd95e354d6868d29172ec6b9af479fa3ef546f1f8432afc807643bcf2de6ea937524fd32ee26a7f10807d8b SHA512 51df4c02d9ff569fb37b2f4629f2ea9b7817fdb3030d303728401c424f0feec73528b328af05e910de5a9b7b1dee7e48cda55e5662a903a0c0272df842ef3990
MISC metadata.xml 718 BLAKE2B 14654870dfbaef53f3fc46124c5df04970de2699ed0d3f453a1b98603dee6f805fc6018477b08ea82c01617d17969a06233c0cc1e41038dc43c5ae4ffe3d16b8 SHA512 d37502fe1c0e32f28599da74657433561cddb87d15b80c3fe05242cbb0032a7abcb04180890126f89ff5c30b39f9614b1eb255bce7af01ca51eda3807902aafa

@ -13,7 +13,7 @@ SRC_URI="https://repo1.maven.org/maven2/${PN}/${PN}/${PV}/${P}-sources.jar -> ${
LICENSE="JDOM"
SLOT="1.1"
KEYWORDS="amd64 ~arm ~arm64 ppc64 ~x86"
KEYWORDS="amd64 ~arm ~arm64 ppc64 x86"
RDEPEND="
${CDEPEND}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save