libmysqlclient

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

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion