libmysqlclient80
maintainer Muflone
· 2 votes
· base
mysql80
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source is a MySQL 8.0 official tarball from cdn.mysql.com, which is a legitimate host for MySQL releases; building from official project sources is normal for AUR packages, even if the domain isn't on a strict whitelist.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is a MySQL 8.0 official tarball from cdn.mysql.com, which is a legitimate host for MySQL releases; building from official project sources is normal for AUR packages, even if the domain isn't on a strict whitelist.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:19
source=("https://cdn.mysql.com/Downloads/MySQL-8.0/${_pkgbase}-boost-${pkgver}.tar.gz"{,.asc}
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Muflone http://www.muflone.com/contacts/english/
2
# Contributor: Francois Menning <f.menning@pm.me>
3
# Contributor: Rustam Tsurik <rustam.tsurik@gmail.com>
4
# Contributor: Andrea Scarpino <andrea@archlinux.org>
5
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
6
7
pkgname=('mysql80' 'libmysqlclient80' 'mysql-clients80')
8
pkgbase=mysql80
9
_pkgbase=mysql
10
pkgver=8.0.44
11
pkgrel=1
12
pkgdesc="Fast SQL database server, community edition, v8.0"
13
arch=('x86_64')
14
makedepends=('openssl' 'zlib' 'cmake' 'systemd-tools' 'systemd-libs' 'libaio'
15
'jemalloc' 'rpcsvc-proto' 'libtirpc' 'icu' 'libedit' 'libevent'
16
'libfido2' 're2' 'rapidjson')
17
license=('GPL-2.0-only')
18
url="https://www.mysql.com/products/community/"
19
source=("https://cdn.mysql.com/Downloads/MySQL-8.0/${_pkgbase}-boost-${pkgver}.tar.gz"{,.asc}
20
"my-default.cnf"
21
"mysql-ld.so.conf"
22
"mysql.sysconfig"
23
"mysqld_service.patch"
24
"systemd-tmpfiles.patch"
25
"systemd-sysusers.conf")
26
sha256sums=('a8cc09a35af63668c5235cf282aef789428c6f30c1d9a581b337c816ce8ce8bb'
27
'SKIP'
28
'6bc24ae510f6b6bbad6b3edda2d0028b29292937b482274a4c2fae335f4de328'
29
'e1c23fa0971a13d998f2790379b68c475438d05b6d6f2691b99051dbf497567f'
30
'203dcd22fea668477ac7123dbd9909fae72d3d07f8855417a669a9c94db072ae'
31
'8fbedfc2c5fe271ed13217feeceeac00202d2cb135e4283eeee2f9a13d6251af'
32
'270074dc0a01e0f959590ad95e5bbaaac3f821bb44eba32d039a6aee506b9c6a'
33
'200a992eb41c95efa99845d017439ddd4018a3e51f57ffca8cb802b0d25123f1')
34
validpgpkeys=('BCA43417C3B485DD128EC6D4B7B3B788A8D3785C') # MySQL Release Engineering
35
36
build() {
37
rm -rf build
38
mkdir build
39
cd build
40
41
cmake "../${_pkgbase}-${pkgver}" \
42
-DCMAKE_AR=/usr/bin/gcc-ar \
43
-DCMAKE_RANLIB=/usr/bin/gcc-ranlib \
44
-DBUILD_CONFIG=mysql_release \
45
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
46
-DCMAKE_INSTALL_PREFIX=/usr \
47
-DSYSCONFDIR=/etc/mysql \
48
-DMYSQL_DATADIR=/var/lib/mysql \
49
-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
50
-DENABLED_LOCAL_INFILE=ON \
51
-DINSTALL_INFODIR=share/mysql/docs \
52
-DINSTALL_MANDIR=share/man \
53
-DINSTALL_PLUGINDIR=lib/mysql/plugin \
54
-DINSTALL_SCRIPTDIR=bin \
55
-DINSTALL_INCLUDEDIR=include/mysql \
56
-DINSTALL_DOCREADMEDIR=share/mysql \
57
-DINSTALL_SUPPORTFILESDIR=share/mysql \
58
-DINSTALL_MYSQLSHAREDIR=share/mysql \
59
-DINSTALL_DOCDIR=share/mysql/docs \
60
-DINSTALL_SHAREDIR=share/mysql \
61
-DROUTER_INSTALL_CONFIGDIR=../etc/mysqlrouter \
62
-DROUTER_INSTALL_DATADIR=/var/lib/mysqlrouter \
63
-DROUTER_INSTALL_RUNTIMEDIR=/run \
64
-DROUTER_INSTALL_LOGDIR=/var/log/mysqlrouter \
65
-DWITH_SYSTEM_LIBS=ON \
66
-DWITH_FIDO=system \
67
-DWITH_SSL=system \
68
-DWITH_LIBWRAP=OFF \
69
-DWITH_LTO=ON \
70
-DWITH_JEMALLOC=ON \
71
-DWITH_READLINE=ON \
72
-DWITH_SYSTEMD=yes \
73
-DWITH_PROTOBUF=bundled \
74
-DWITH_UNIT_TESTS=OFF \
75
-DPLUGIN_EXAMPLE=NO \
76
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=ON \
77
-DPLUGIN_FEDERATED=NO \
78
-DWITHOUT_FEDERATED_STORAGE_ENGINE=ON \
79
-DPLUGIN_FEEDBACK=NO \
80
-DCMAKE_C_FLAGS="${CFLAGS}" \
81
-DCMAKE_C_LINK_FLAGS="${LDFLAGS}" \
82
-DCMAKE_CXX_FLAGS="${CXXFLAGS} -DU_DEFINE_FALSE_AND_TRUE=1" \
83
-DCMAKE_CXX_LINK_FLAGS="${LDFLAGS}" \
84
-DDEFAULT_CHARSET=utf8mb4 \
85
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
86
-DWITH_BOOST="../${_pkgbase}-${pkgver}/boost"
87
make
88
}
89
90
check() {
91
cd build/mysql-test
92
93
# Takes *really* long, so disabled by default.
94
# ./mtr --parallel=5 --mem --force --max-test-fail=0
95
}
96
97
package_libmysqlclient80(){
98
pkgdesc="MySQL client libraries, community edition, v8.0"
99
depends=('libsasl' 'zlib' 'zstd')
100
conflicts=('libmariadbclient' 'libmysqlclient' 'mariadb-libs')
101
provides=("libmariadbclient=${pkgver}" "libmysqlclient=${pkgver}" "mariadb-libs=${pkgver}")
102
103
cd build
104
for dir in include libmysql libservices
105
do
106
make -C "${dir}" DESTDIR="${pkgdir}" install
107
done
108
109
install -m 700 -d "${pkgdir}/var/lib/mysql"
110
install -m 644 -D "${srcdir}/my-default.cnf" "${pkgdir}/etc/mysql/my.cnf.default"
111
install -m 644 -D "${srcdir}/${_pkgbase}-${pkgver}/support-files/mysql.m4" "${pkgdir}/usr/share/aclocal/mysql.m4"
112
}
113
114
package_mysql-clients80(){
115
pkgdesc="MySQL client tools, community edition, v8.0"
116
depends=('libmysqlclient' 'zlib' 'openssl' 'jemalloc' 'libedit' 'lz4' 'zstd' 'bash')
117
conflicts=('mariadb-clients' 'mysql-clients')
118
provides=("mariadb-clients=${pkgver}" "mysql-clients=${pkgver}")
119
120
cd build
121
make -C "client" DESTDIR="${pkgdir}" install
122
123
install -m 755 -d "${pkgdir}/usr/bin"
124
install -m 755 "runtime_output_directory/mysql_client_test" "${pkgdir}/usr/bin"
125
install -m 755 "scripts/mysql_config" "${pkgdir}/usr/bin"
126
127
# install man pages
128
install -m 755 -d "${pkgdir}/usr/share/man/man1"
129
for man in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap mysql_config mysql_config_editor
130
do
131
install -m 644 "${srcdir}/${_pkgbase}-${pkgver}/man/${man}.1" "${pkgdir}/usr/share/man/man1/${man}.1"
132
done
133
134
# install pkgconfig
135
install -m 644 -D "${srcdir}/build/scripts/mysqlclient.pc" "${pkgdir}/usr/lib/pkgconfig/mysqlclient.pc"
136
137
# provided by mysql
138
rm "${pkgdir}/usr/bin/mysql_upgrade"
139
rm "${pkgdir}/usr/bin/mysqlbinlog"
140
rm "${pkgdir}/usr/bin/mysql_migrate_keyring"
141
rm "${pkgdir}/usr/bin/mysqlpump"
142
rm "${pkgdir}/usr/bin/mysql_secure_installation"
143
rm "${pkgdir}/usr/bin/mysql_ssl_rsa_setup"
144
rm "${pkgdir}/usr/bin/mysqltest"
145
}
146
147
package_mysql80(){
148
pkgdesc="Fast SQL database server, community edition, v8.0"
149
backup=("etc/mysql/my.cnf"
150
"etc/mysqlrouter/mysqlrouter.conf"
151
"etc/logrotate.d/mysqlrouter"
152
"etc/conf.d/${pkgname}.conf")
153
install="${pkgbase}.install"
154
depends=('mysql-clients' 'libsasl' 'zlib' 'jemalloc' 'libaio' 'libtirpc' 'icu'
155
'lz4' 'libevent' 'systemd-libs' 'zstd' 'bash')
156
conflicts=('mariadb' 'mysql')
157
provides=("mariadb=${pkgver}" "mysql=${pkgver}")
158
optdepends=('perl-dbd-mysql: for mysqlhotcopy, mysql_convert_table_format, mysql_setpermission, mysqldumpslow')
159
options=('emptydirs')
160
161
cd build
162
make DESTDIR="${pkgdir}" install
163
164
install -m 644 -D "${srcdir}/my-default.cnf" "${pkgdir}/etc/mysql/my.cnf"
165
install -m 755 -d "${pkgdir}/etc/ld.so.conf.d"
166
install -m 644 -D "${srcdir}/mysql-ld.so.conf" "${pkgdir}/etc/ld.so.conf.d/${pkgname}.conf"
167
install -m 644 -D "${srcdir}/build/packaging/rpm-common/mysqlrouter.conf" "${pkgdir}/etc/mysqlrouter/mysqlrouter.conf"
168
169
# provided by libmysqlclient
170
rm "${pkgdir}/usr/bin/mysql_config"
171
rm "${pkgdir}/usr/lib/libmysqlclient.a"
172
rm "${pkgdir}/usr/lib/libmysqlclient.so"
173
rm "${pkgdir}/usr/lib/libmysqlclient.so.21"
174
rm "${pkgdir}/usr/lib/libmysqlclient.so.21.2.44"
175
rm "${pkgdir}/usr/lib/libmysqlservices.a"
176
rm "${pkgdir}/usr/lib/pkgconfig/mysqlclient.pc"
177
rmdir "${pkgdir}/usr/lib/pkgconfig"
178
rm -r "${pkgdir}/usr/include"
179
rm "${pkgdir}/usr/share/mysql/aclocal/mysql.m4"
180
rmdir "${pkgdir}/usr/share/mysql/aclocal"
181
182
# provided by mysql-clients
183
rm "${pkgdir}/usr/bin/mysql"
184
rm "${pkgdir}/usr/bin/mysqladmin"
185
rm "${pkgdir}/usr/bin/mysqlcheck"
186
rm "${pkgdir}/usr/bin/mysqldump"
187
rm "${pkgdir}/usr/bin/mysqlimport"
188
rm "${pkgdir}/usr/bin/mysqlshow"
189
rm "${pkgdir}/usr/bin/mysqlslap"
190
rm "${pkgdir}/usr/bin/mysql_client_test"
191
rm "${pkgdir}/usr/bin/mysql_config_editor"
192
rm "${pkgdir}/usr/share/man/man1/mysql.1"
193
rm "${pkgdir}/usr/share/man/man1/mysqladmin.1"
194
rm "${pkgdir}/usr/share/man/man1/mysqlcheck.1"
195
rm "${pkgdir}/usr/share/man/man1/mysql_config.1"
196
rm "${pkgdir}/usr/share/man/man1/mysql_config_editor.1"
197
rm "${pkgdir}/usr/share/man/man1/mysqldump.1"
198
rm "${pkgdir}/usr/share/man/man1/mysqlimport.1"
199
rm "${pkgdir}/usr/share/man/man1/mysqlshow.1"
200
rm "${pkgdir}/usr/share/man/man1/mysqlslap.1"
201
202
# not needed
203
rm -r "${pkgdir}/usr/mysql-test"
204
205
# Move somewhere else
206
mv "${pkgdir}/usr/LICENSE.router" "${pkgdir}/usr/share/mysql/docs"
207
mv "${pkgdir}/usr/README.router" "${pkgdir}/usr/share/mysql/docs"
208
209
# Create environment file
210
install -m 644 -D "${srcdir}/mysql.sysconfig" "${pkgdir}/etc/conf.d/${pkgname}.conf"
211
212
# Fix permissions
213
chmod 755 "${pkgdir}/usr"
214
215
# Move systemd files
216
mv "${pkgdir}/usr/usr/lib/systemd" "${pkgdir}/usr/lib"
217
mv "${pkgdir}/usr/usr/lib/tmpfiles.d" "${pkgdir}/usr/lib"
218
install -m 755 -d "${pkgdir}/usr/lib/sysusers.d"
219
install -m 644 "${srcdir}/systemd-sysusers.conf" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
220
221
# Move logrotate files
222
install -d -m 755 "${pkgdir}/etc/logrotate.d/"
223
mv "${pkgdir}/usr/mysqlrouter-log-rotate" "${pkgdir}/etc/logrotate.d/mysqlrouter"
224
225
# Move docs files
226
mv "${pkgdir}/usr/docs/sample_mysqlrouter.conf" "${pkgdir}/usr/share/mysql/docs"
227
rmdir "${pkgdir}/usr/docs"
228
229
# Cleanup
230
rmdir "${pkgdir}/usr/usr/lib"
231
rmdir "${pkgdir}/usr/usr"
232
233
# Arch Linux specific patches:
234
# * enable PrivateTmp for a little bit more security
235
# * force preloading jemalloc for memory management
236
# * fix path to our config
237
cd "${pkgdir}"
238
patch -Np1 -i "${srcdir}/mysqld_service.patch"
239
patch -Np1 -i "${srcdir}/systemd-tmpfiles.patch"
240
}
241
242
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |