Spec URL: http://n25.nux.se/maxscale/fedora/maxscale.spec SRPM URL: http://n25.nux.se/maxscale/fedora/maxscale-0.5.0-1.fc20.src.rpm Description: A database-centric proxy that works with MariaDB and MySQL Fedora Account System Username: oden
http://koji.fedoraproject.org/koji/taskinfo?taskID=6701944 It won't build on arm though, and I'm not able to fix it. However, it builds on rhel6 with sysv and fedora with systemd using conditionals.
Drop "%defattr(-,root,root)"; no longer necessary, as it is default. Use %global instead of %define. I assume you can drop "Requires: (mariadb|mysql)-libs and -embedded" and leave the dependency generation to rpmbuild. "%if 0%{?fedora} >= 18" is outdated. "Requires: /sbin/ldconfig" doesn't have to be specified. Should you add a user to run the service at? The clean section was only necessary up to and including EL5. Same goes for buildroot and "rm -rf %{buildroot}".
Fixed now, thanks. It has to pull in (mariadb|mysql)-libs as there's no autodeps generated on the required %{_datadir}/mysql/english/errmsg.sys file. It does not support running as a unpriv user yet, maybe future versions will and then I fix that.
(In reply to Oden Eriksson from comment #3) > Fixed now, thanks. > > It has to pull in (mariadb|mysql)-libs as there's no autodeps generated on > the required %{_datadir}/mysql/english/errmsg.sys file. It sounds like a good time to introduce such a provide name, in case some packages need it. Say something like 'mysql(errmsg.sys)'? > It does not support running as a unpriv user yet, maybe future versions will > and then I fix that. What exactly the daemon needs to have root privileges for? Wouldn't mysql user's privileges be enough? I mean the daemon would run under mysql user.
(In reply to Honza Horak from comment #4) > (In reply to Oden Eriksson from comment #3) > > Fixed now, thanks. > > > > It has to pull in (mariadb|mysql)-libs as there's no autodeps generated on > > the required %{_datadir}/mysql/english/errmsg.sys file. > > It sounds like a good time to introduce such a provide name, in case some > packages need it. Say something like 'mysql(errmsg.sys)'? No please don't clutter the rpm database with that. This package is an exception. The problem is that softwares using the embedded mysql server (libmysqld.x) directly needs the errmsg.sys file, otherwise libmysqld barfs. In redhat these (except english) are also under %lang control. > > It does not support running as a unpriv user yet, maybe future versions will > > and then I fix that. > > What exactly the daemon needs to have root privileges for? Wouldn't mysql > user's privileges be enough? I mean the daemon would run under mysql user. If so preferably under a new user (maxscale), but I don't really know how to do that in a good way. Using su? How to do that in systemd?
(In reply to Oden Eriksson from comment #5) > (In reply to Honza Horak from comment #4) > > (In reply to Oden Eriksson from comment #3) > > > Fixed now, thanks. > > > > > > It has to pull in (mariadb|mysql)-libs as there's no autodeps generated on > > > the required %{_datadir}/mysql/english/errmsg.sys file. > > > > It sounds like a good time to introduce such a provide name, in case some > > packages need it. Say something like 'mysql(errmsg.sys)'? > > No please don't clutter the rpm database with that. This package is an > exception. The problem is that softwares using the embedded mysql server > (libmysqld.x) directly needs the errmsg.sys file, otherwise libmysqld barfs. > In redhat these (except english) are also under %lang control. OK, so shouldn't we instead solve this in the mariadb/mysql packages, i.e. to ensure that as soon as the embedded server (libmysqld.so) is installed, there will be also the errmsg file present? > > > It does not support running as a unpriv user yet, maybe future versions will > > > and then I fix that. > > > > What exactly the daemon needs to have root privileges for? Wouldn't mysql > > user's privileges be enough? I mean the daemon would run under mysql user. > > If so preferably under a new user (maxscale), but I don't really know how to > do that in a good way. Using su? How to do that in systemd? In systemd unit file it is very simple, just set the User= and Group= in the [Service] section of your unit file: http://www.freedesktop.org/software/systemd/man/systemd.exec.html#User= For creating the user, consult the Users and Groups section of the Guidelines: https://fedoraproject.org/wiki/Packaging:UsersAndGroups
Yes, the dangling symlink will be resolved once (mariadb|mysql)-libs is pulled in. Fixed now as well as permissions where needed. (same release number)
On a quick look, I can say that I do not like when one does not run a proper "make install" in %install, this can easily break in subtle ways, if not in the first spec write, whenever the package is updated. I see the Makefile at least appears to respect $DESTDIR for the install target. You should run "make testall" in %check and give good reasons if it does not work. This way both you and reviewer will at least have a good hint the package is functional if it pass %check. Please post a link to the failed arm build, to have an idea of why it fails. I suggest renaming the patches to maxscale-xyz.patch, and use "PatchN: %{name}-xyz.patch", but this is a cosmetic change, just a common pattern in fedora packages. Instead of using CFLAGS="%{optflags} -fpie" you should use https://fedoraproject.org/wiki/Packaging:Guidelines#PIE that automatically does it for you; could then just need to force CFLAGS="%{optflags} and LDFLAGS="%{__global_ldflags}" But I am not sure if it is handled the same way for rhel.
(In reply to Paulo Andrade from comment #8) > On a quick look, I can say that I do not like when > one does not run a proper "make install" in %install, > this can easily break in subtle ways, if not in the > first spec write, whenever the package is updated. > I see the Makefile at least appears to respect > $DESTDIR for the install target. I know. The problem is that libtool for some reason swaps linking order when relinking while doing make install. I'm not a autopoo or libtool guru enough to fix that. Upstream knows that autopoo should be implemented and this might happen in a future release. > You should run "make testall" in %check and give > good reasons if it does not work. This way both you > and reviewer will at least have a good hint the > package is functional if it pass %check. Same here. Poor autopoo support. > Please post a link to the failed arm build, to > have an idea of why it fails. http://koji.fedoraproject.org/koji/taskinfo?taskID=6713406 > I suggest renaming the patches to maxscale-xyz.patch, > and use "PatchN: %{name}-xyz.patch", but this is a > cosmetic change, just a common pattern in fedora > packages. > > Instead of using CFLAGS="%{optflags} -fpie" you > should use https://fedoraproject.org/wiki/Packaging:Guidelines#PIE > that automatically does it for you; could then just need > to force CFLAGS="%{optflags} and LDFLAGS="%{__global_ldflags}" > But I am not sure if it is handled the same way for rhel. No it doesn't. Sure, I could use conditionals here but...
1. LDFLAGS? Try %{__global_ldflags} macro. 2. MaxScale is an open-source, database-centric proxy that works with MariaDB and MySQL Dot should be at the end, right? 3. Do you manage your software with no configure system? I hope you can persuade someone to do that(CMake or autocrap, up to you :) --------------------ARM-------------------- Error output: skygw_utils.cc: In function 'int atomic_add(int*, int)': skygw_utils.cc:144:15: error: impossible constraint in 'asm' : "memory" ); Code block: int atomic_add( int *variable, int value) { asm volatile( "lock; xaddl %%eax, %2;" :"=a" (value) : "a" (value), "m" (*variable) : "memory" ); return value; } Looks like it used some special hacks to suppress the compiler? I think that volatile may bring some drastic effects to ARM platform.
(In reply to Christopher Meng from comment #10) > 1. LDFLAGS? Try %{__global_ldflags} macro. > > 2. MaxScale is an open-source, database-centric proxy that works with > MariaDB and > MySQL > > Dot should be at the end, right? > > 3. Do you manage your software with no configure system? I hope you can > persuade someone to do that(CMake or autocrap, up to you :) > > --------------------ARM-------------------- > > Error output: > > skygw_utils.cc: In function 'int atomic_add(int*, int)': > skygw_utils.cc:144:15: error: impossible constraint in 'asm' > : "memory" ); > > Code block: > > int atomic_add( > int *variable, > int value) > { > asm volatile( > "lock; xaddl %%eax, %2;" > :"=a" (value) > : "a" (value), "m" (*variable) > : "memory" ); > return value; > } > > Looks like it used some special hacks to suppress the compiler? I think that > volatile may bring some drastic effects to ARM platform. This looks bad. $ grep -r atomic_add maxscale-0.5.0/ | wc -l 68 $ grep -l -r atomic_add maxscale-0.5.0|wc -l 18 Used 68 times in 18 files. The problem obviously is that it is ix86/x86_64 code. For arm AFAIK there are two way to implement it in asm, depending on if using arm or thumb instruction set. But the proper solution would be using gcc __atomic_add_fetch, untested should be to rewrite atomic_add body as: __atomic_add_fetch(variable, value, MEMMODEL_ACQ_REL); but this is "relatively" new, for gcc4 family it was named __sync_fetch_and_add. Obviously could make it conditional and only support other architectures if using a gcc new enough that supports it.
(In reply to Oden Eriksson from comment #9) > (In reply to Paulo Andrade from comment #8) > > On a quick look, I can say that I do not like when > > one does not run a proper "make install" in %install, > > this can easily break in subtle ways, if not in the > > first spec write, whenever the package is updated. > > I see the Makefile at least appears to respect > > $DESTDIR for the install target. > > I know. The problem is that libtool for some reason swaps linking order when > relinking while doing make install. I'm not a autopoo or libtool guru enough > to fix that. Upstream knows that autopoo should be implemented and this > might happen in a future release. Can you give a few more details, like an example of what it does wrong? Anyway, let me do it :-) <my test> Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.dP7HCf + umask 022 + cd /home/pcpa/rpmbuild/BUILD + '[' /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64 '!=' / ']' + rm -rf /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64 ++ dirname /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64 + mkdir -p /home/pcpa/rpmbuild/BUILDROOT + mkdir /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64 + cd maxscale-0.5.0 + make install DESTDIR=/home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64 (cd server; make DESTDIR=/home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64 install) make[1]: Entering directory `/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/server' install -b MaxScale_template.cnf /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/etc install ../Documentation/*.pdf /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/share/doc/maxscale (cd core; make DESTDIR=/home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64 install) make[2]: Entering directory `/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/server/core' install -c -d /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/bin libtool --mode=install install -c -m 755 maxscale /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/bin libtool: install: install -c -m 755 maxscale /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/bin/maxscale libtool --mode=install install -c -m 755 maxkeys /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/bin libtool: install: install -c -m 755 maxkeys /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/bin/maxkeys libtool --mode=install install -c -m 755 maxpasswd /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/bin libtool: install: install -c -m 755 maxpasswd /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/bin/maxpasswd #install -c -d /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/lib #install -c -D /home/pcpa/usr/lib64/libmysqld.a /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/lib #install -c -d /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/MaxScale/mysql #install -c /home/pcpa/usr/share/mysql/errmsg.sys /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/MaxScale/mysql make[2]: Leaving directory `/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/server/core' (cd modules/routing; make DESTDIR=/home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64 install) make[2]: Entering directory `/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/server/modules/routing' install -c -d /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/lib/maxscale/modules libtool --mode=install install -c libtestroute.la /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/lib/maxscale/modules libtool: install: error: cannot install `libtestroute.la' to a directory not ending in /usr/lib64/maxscale/modules make[2]: *** [install] Error 1 make[2]: Leaving directory `/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/server/modules/routing' make[1]: *** [install] Error 2 make[1]: Leaving directory `/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/server' make: *** [install] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.dP7HCf (%install) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.dP7HCf (%install) </my test> At first, apparently it is not properly replacing $(libdir), i.e. lib != lib64 (probably make install would work on i586). > > You should run "make testall" in %check and give > > good reasons if it does not work. This way both you > > and reviewer will at least have a good hint the > > package is functional if it pass %check. > > Same here. Poor autopoo support. Do you mean "make testall" only works after installing to / instead of %{buildroot}? <my test> + make testall make -C test HAVE_SRV=Y testall make[1]: Entering directory `/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/test' make cleantests make[2]: Entering directory `/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/test' rm -fr *~ make -C /home/pcpa/src/bazaar/tmp/maxscale/log_manager cleantests make: Entering an unknown directory make: *** /home/pcpa/src/bazaar/tmp/maxscale/log_manager: No such file or directory. Stop. make: Leaving an unknown directory make[2]: *** [cleantests] Error 2 make[2]: Leaving directory `/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/test' make[1]: *** [testall] Error 2 make[1]: Leaving directory `/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/test' make: *** [testall] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.FbAJsu (%check) </my test> Looks like something is improperly hardcoded ($HOME/src/bazaar/tmp/maxscale) > > Please post a link to the failed arm build, to > > have an idea of why it fails. > > http://koji.fedoraproject.org/koji/taskinfo?taskID=6713406 > > > I suggest renaming the patches to maxscale-xyz.patch, > > and use "PatchN: %{name}-xyz.patch", but this is a > > cosmetic change, just a common pattern in fedora > > packages. > > > > Instead of using CFLAGS="%{optflags} -fpie" you > > should use https://fedoraproject.org/wiki/Packaging:Guidelines#PIE > > that automatically does it for you; could then just need > > to force CFLAGS="%{optflags} and LDFLAGS="%{__global_ldflags}" > > But I am not sure if it is handled the same way for rhel. > > No it doesn't. Sure, I could use conditionals here but... My instinct says epel6 supports it :-) Do you need it this package in rhel5?
I'm back. There is nothing more I can do to the source code to make it conform to the requests made in this bugreport. The source surely needs good autopoo but for now there is none. It builds, it installs, it works, should be enough, no? $ cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago) $ rpm --eval %{__global_ldflags} %{__global_ldflags} The intended target was RHEL6, RHEL7 and fedora+ using just one source rpm package. But, on RHEL6 I just realized it needs a newer mariadb version so I removed RHEL6 support from this package. I think when I worked with this I must have had the yum.mariadb.org mariadb packages installed. Heh. New spec and src.rpm files up at the same location.
(In reply to Oden Eriksson from comment #13) > $ rpm --eval %{__global_ldflags} > %{__global_ldflags} Remember using this: %{?__global_ldflags} EL systems don't contain this macro(don't ask me why).
(In reply to Oden Eriksson from comment #13) > I'm back. Sorry for the delay, did not reply earlier because I did want to try to help and work a bit on it to help it getting fixed... > There is nothing more I can do to the source code to make it conform to the > requests made in this bugreport. The source surely needs good autopoo but > for now there is none. It builds, it installs, it works, should be enough, > no? I cannot confirm it works, %check (make testall) does not work either :-) I started patching it a bit to get "make install" to work, but it really is quite broken... starting with a simple: %if %__isa_bits == 64 sed -i 's|\(libdir = \).*|\1%{_libdir}|' makefile.inc %endif I got past the first error I noticed in #12, but then, in make install there are bad dependencies, so I started running make install in subdirectories, at first "log_manager" and "query_classifier", but the problem is that it fails to link because it installs query_classifier stuff in /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/lib64/maxscale/modules/ instead of home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/lib64/ and then fails to link; sample error message from where I stopped: ---%<--- libtool: install: (cd /home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/server/modules/routing/readwritesplit; /bin/sh /usr/bin/libtool --tag CC --mode=relink cc -c -fPIC -I/usr/include -I../../include -I../../../include -I/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/log_manager -I/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/utils -I/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/query_classifier -I/usr/include/mysql/ -I/usr/include/mysql/private/ -I/usr/include/mysql/extra/ -Wall -g -Wall -fPIC -shared -L/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/log_manager -L/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/query_classifier -L/usr/lib64 -rpath /usr/lib64/maxscale/modules -avoid-version -module -o libreadwritesplit.la readwritesplit.o /home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/utils/skygw_utils.o -lssl -pthread -L/usr/lib64/mysql -lmysqld /home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/query_classifier/libquery_classifier.la /home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/log_manager/liblog_manager.la -inst-prefix-dir /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64) *** Warning: Linking the shared library libreadwritesplit.la against the non-libtool *** objects readwritesplit.o /home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/utils/skygw_utils.o is not portable! libtool: relink: gcc -shared -fPIC -DPIC readwritesplit.o /home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/utils/skygw_utils.o -L/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/log_manager -L/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/query_classifier -L/usr/lib64 -lssl -L/usr/lib64/mysql -L/home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/lib64 -lquery_classifier -lpthread -lmysqld -llog_manager -pthread -pthread -Wl,-soname -Wl,libreadwritesplit.so -o .libs/libreadwritesplit.so /usr/bin/ld: cannot find -lquery_classifier collect2: error: ld returned 1 exit status ---%<--- BTW, I also made a this quick/hacked patch to get a bit further in %install: ---%<--- diff -up maxscale-0.5.0/query_classifier/query_classifier.cc.orig maxscale-0.5.0/query_classifier/query_classifier.cc --- maxscale-0.5.0/query_classifier/query_classifier.cc.orig 2014-05-02 12:16:02.583431844 -0300 +++ maxscale-0.5.0/query_classifier/query_classifier.cc 2014-05-02 12:19:05.693438856 -0300 @@ -35,21 +35,19 @@ #include "../utils/skygw_debug.h" #include <log_manager.h> -#include <mysql.h> -#include <my_sys.h> -#include <my_global.h> -#include <my_dbug.h> -#include <my_base.h> -#include <sql_list.h> -#include <mysqld_error.h> -#include <sql_class.h> -#include <sql_lex.h> -#include <embedded_priv.h> -#include <sql_class.h> -#include <sql_lex.h> -#include <sql_parse.h> -#include <errmsg.h> -#include <client_settings.h> +#include <mysql/mysql.h> +#include <mysql/my_sys.h> +#include <mysql/my_global.h> +#include <mysql/my_dbug.h> +#include <mysql/private/my_base.h> +#include <mysql/private/sql_list.h> +#include <mysql/mysqld_error.h> +#include <mysql/private/sql_class.h> +#include <mysql/private/sql_lex.h> +#include <mysql/private/embedded_priv.h> +#include <mysql/private/sql_parse.h> +#include <mysql/errmsg.h> +#include <mysql/private/client_settings.h> #include <item_func.h> ---%<--- as well as a quick/hacked patch to build_gateway.inc, i.e. sed -i 's|$(HOME)||g' build_gateway.inc sed -i "s|\(ROOT_PATH := \).*|\1$PWD|" build_gateway.inc %if %__isa_bits == 32 sed -i 's|lib64|lib|g' build_gateway.inc %endif > $ cat /etc/redhat-release > Red Hat Enterprise Linux Server release 6.5 (Santiago) > > $ rpm --eval %{__global_ldflags} > %{__global_ldflags} > > The intended target was RHEL6, RHEL7 and fedora+ using just one source rpm > package. But, on RHEL6 I just realized it needs a newer mariadb version so I > removed RHEL6 support from this package. I think when I worked with this I > must have had the yum.mariadb.org mariadb packages installed. Heh. > > New spec and src.rpm files up at the same location. You should bump the release when asking for a new review. For the moment, I am sorry but I cannot give a positive review if "make install" and "make testall" are not patched to work.
Back. Sorry for the delay. I will try to solve that make install problem. However: %check make testall Wouldn't be a problem but requires quite a few steps that one needs to do manually as of the README file: ******************************************************** \section Testing Running MaxScale testsuite To run "make testall" you need to have three mysqld servers running on localhost: * a master on port 3000, with server_id=2 * a slave on port 3001, server_id doesn't matter * a slave on port 2002, server_id doesn't matter On the master full privileges on the databases "test" and "FOO" are needed, on the saves SELECT permissions on test.* should be sufficient. You can use different port numbers but you'll have to change the server settings at the end of server/test/MaxScale_test.cnf then. You also always need to edit the top level test.inc file, this file contains appropriate default values for the test setup as described above, these are only given as comments though ... You can then run the full testsuite using make testall in the top level directory. After testing has finished you can find a full testlog in test/test_maxscale.log You may also find additional information in the following component specific logs: utils/test/testutils.log query_classifier/test/testqclass.log server/test/MaxScale/log/skygw_msg1.log server/test/MaxScale/log/skygw_err1.log server/test/MaxScale/log/skygw_trace1.log server/test/MaxScale/log/skygw_debug1.log server/test/testserver.log server/core/test/testhash.log test/test_maxscale.log ********************************************************
Okidoki. New take on this. http://nux.se/maxscale/maxscale.spec http://nux.se/maxscale/maxscale-1.0.1-0.0.beta.1.fc20.src.rpm
Sorry for the delay looking into it again. It is failing to build. Note that reviews usually should be done on rawhide, so, I suppose you tested it on fedora 20. $ fedora-review -b 1083962 INFO: Processing bugzilla bug: 1083962 INFO: Getting .spec and .srpm Urls from : 1083962 INFO: --> SRPM url: http://nux.se/maxscale/maxscale-1.0.1-0.0.be$ fedora-review -b 1083962 INFO: Processing bugzilla bug: 1083962 INFO: Getting .spec and .srpm Urls from : 1083962 INFO: --> SRPM url: http://nux.se/maxscale/maxscale-1.0.1-0.0.beta.1.fc20.src.rpm INFO: --> Spec url: http://nux.se/maxscale/maxscale.spec INFO: Using review directory: /home/pcpa/rpmbuild/1083962-maxscale INFO: Downloading .spec and .srpm files INFO: No upstream for (Source2): maxscale.logrotate.systemd INFO: No upstream for (Source3): maxscale.profile.d INFO: Downloading (Source0): https://downloads.mariadb.com/files/SkySQL/MaxScale/maxscale-1.0.1-beta/maxscale.src.1.0.1-beta.tar.gz INFO: No upstream for (Source1): maxscale.service INFO: No upstream for (Source4): maxscale.sysconfig INFO: No upstream for (Source5): maxscale.tmpfiles.d INFO: Running checks and generating report ERROR: Exception(/home/pcpa/rpmbuild/1083962-maxscale/srpm/maxscale-1.0.1-0.0.beta.1.fc20.src.rpm) Config(fedora-rawhide-x86_64) 4 minutes 41 seconds INFO: Results and/or logs in: /home/pcpa/rpmbuild/1083962-maxscale/results ERROR: Command failed. See logs for output. ERROR: 'mock build failed, see /home/pcpa/rpmbuild/1083962-maxscale/results/build.log'ta.1.fc20.src.rpm INFO: --> Spec url: http://nux.se/maxscale/maxscale.spec INFO: Using review directory: /home/pcpa/rpmbuild/1083962-maxscale INFO: Downloading .spec and .srpm files INFO: No upstream for (Source2): maxscale.logrotate.systemd INFO: No upstream for (Source3): maxscale.profile.d INFO: Downloading (Source0): https://downloads.mariadb.com/files/SkySQL/MaxScale/maxscale-1.0.1-beta/maxscale.src.1.0.1-beta.tar.gz INFO: No upstream for (Source1): maxscale.service INFO: No upstream for (Source4): maxscale.sysconfig INFO: No upstream for (Source5): maxscale.tmpfiles.d INFO: Running checks and generating report ERROR: Exception(/home/pcpa/rpmbuild/1083962-maxscale/srpm/maxscale-1.0.1-0.0.beta.1.fc20.src.rpm) Config(fedora-rawhide-x86_64) 4 minutes 41 seconds INFO: Results and/or logs in: /home/pcpa/rpmbuild/1083962-maxscale/results ERROR: Command failed. See logs for output. ERROR: 'mock build failed, see /home/pcpa/rpmbuild/1083962-maxscale/results/build.log' The build log is: ---%<--- Mock Version: 1.2.2 ENTER do(['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/maxscale.spec'], user='mockbuild'timeout=0uid=1000gid=986chrootPath='/var/lib/mock/fedora-rawhide-x86_64/root'env={'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'CCACHE_UMASK': '002', 'HOSTNAME': 'mock', 'LANG': 'en_US.UTF-8', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'SHELL': '/bin/bash', 'CCACHE_DIR': '/tmp/ccache', 'HOME': '/builddir', 'TERM': 'vt100'}logger=<mockbuild.trace_decorator.getLog object at 0x7f1de1875518>shell=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/maxscale.spec'] with env {'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'CCACHE_UMASK': '002', 'HOSTNAME': 'mock', 'LANG': 'en_US.UTF-8', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'SHELL': '/bin/bash', 'CCACHE_DIR': '/tmp/ccache', 'HOME': '/builddir', 'TERM': 'vt100'} Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/maxscale-1.0.1-0.0.beta.1.fc22.src.rpm Child return code was: 0 LEAVE do --> ENTER do(['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/maxscale.spec '], user='mockbuild'timeout=0uid=1000gid=986chrootPath='/var/lib/mock/fedora-rawhide-x86_64/root'env={'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'CCACHE_UMASK': '002', 'HOSTNAME': 'mock', 'LANG': 'en_US.UTF-8', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'SHELL': '/bin/bash', 'CCACHE_DIR': '/tmp/ccache', 'HOME': '/builddir', 'TERM': 'vt100'}logger=<mockbuild.trace_decorator.getLog object at 0x7f1de1875518>shell=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/maxscale.spec '] with env {'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'CCACHE_UMASK': '002', 'HOSTNAME': 'mock', 'LANG': 'en_US.UTF-8', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'SHELL': '/bin/bash', 'CCACHE_DIR': '/tmp/ccache', 'HOME': '/builddir', 'TERM': 'vt100'} Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.qKP9hn + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf maxscale-1.0.1-beta + /usr/bin/gzip -dc /builddir/build/SOURCES/maxscale.src.1.0.1-beta.tar.gz + /usr/bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd maxscale-1.0.1-beta + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . Patch #0 (maxscale-1.0.1-beta-pidfile.diff): + echo 'Patch #0 (maxscale-1.0.1-beta-pidfile.diff):' + /usr/bin/cat /builddir/build/SOURCES/maxscale-1.0.1-beta-pidfile.diff + /usr/bin/patch -p0 --fuzz=0 patching file server/core/gateway.c + perl -pi -e 's|-Wall -fPIC|-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fPIC|g' CMakeLists.txt + find -type f -name '*.c' + xargs perl -pi -e 's|/usr/local/skysql/MaxScale|/var/log/maxscale|g' + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.o5cZiV + umask 022 + cd /builddir/build/BUILD + cd maxscale-1.0.1-beta + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' + export CFLAGS + CXXFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' + export CXXFLAGS + FFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/lib64/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + export LDFLAGS + /usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -DSTATIC_EMBEDDED=false -DEMBEDDED_LIB=/usr/lib64/mysql -DINSTALL_DIR=/builddir/build/BUILDROOT/maxscale-1.0.1-0.0.beta.1.fc22.x86_64/var/lib/maxscale -DCMAKE_INSTALL_PREFIX=/builddir/build/BUILDROOT/maxscale-1.0.1-0.0.beta.1.fc22.x86_64/var/lib/maxscale -DINSTALL_SYSTEM_FILES=0 -DCMAKE_SKIP_INSTALL_RPATH=1 -DCMAKE_SKIP_RPATH=1 -- The C compiler identification is GNU 4.9.2 -- The CXX compiler identification is GNU 4.9.2 -- Check for working C compiler: /usr/lib64/ccache/cc -- Check for working C compiler: /usr/lib64/ccache/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/lib64/ccache/c++ -- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Using MySQL headers found at: CMake Error at macros.cmake:111 (message): Fatal Error: The errmsg.sys file was not found, please define the path to it by using -DERRMSG=<path> Call Stack (most recent call first): CMakeLists.txt:14 (check_dirs) -- Configuring incomplete, errors occurred! See also "/builddir/build/BUILD/maxscale-1.0.1-beta/CMakeFiles/CMakeOutput.log". RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.o5cZiV (%build) Bad exit status from /var/tmp/rpm-tmp.o5cZiV (%build) Child return code was: 1 EXCEPTION: Command failed. See logs for output. # bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/maxscale.spec Traceback (most recent call last): File "/usr/lib/python3.4/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/lib/python3.4/site-packages/mockbuild/util.py", line 481, in do raise mockbuild.exception.Error("Command failed. See logs for output.\n # %s" % (command,), child.returncode) mockbuild.exception.Error: Command failed. See logs for output. # bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/maxscale.spec LEAVE do --> EXCEPTION RAISED ---%<---
Heya, I've prepared a reworked maxscale package, basically reworked Oden's spec.. Feel free to look at it: http://hhorak.fedorapeople.org/maxscale Builds in copr: https://copr.fedoraproject.org/coprs/hhorak/MaxScale/ It has currently still some issues: * it uses rpath to link with modules under /usr/lib64/maxscale * the test-suite is not running
Heya to you too :-) Years later, based on http://hhorak.fedorapeople.org/maxscale and the Mageia package maxscale-1.3.0-3.mga6.src.rpm I have a new candidate up on my site here: http://nux.se/maxscale/ http://nux.se/maxscale/maxscale-1.3.0-1.el7.centos.src.rpm http://nux.se/maxscale/maxscale.spec Please test this one. Cheers.
Does it build fine for you in koji/mock? Because it does not for me: In rawhide I see this error: "Could not find liblzma" In f23 I see this error instead: "/builddir/build/BUILD/MaxScale-1.3.0/server/include/maxscale_pcre2.h:26:19: fatal error: pcre2.h: No such file or directory "
No, I didn't try to build it until now. I was unable to install rawhide so used f23, but I get: cd /home/oden/RPM/BUILD/MaxScale-1.3.0/server/core && /usr/bin/cmake -E cmake_link_script CMakeFiles/maxkeys.dir/link.txt --verbose=1 /usr/bin/c++ -Wall -Wno-unused-variable -Wno-unused-function -fPIC -ggdb -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld CMakeFiles/maxkeys.dir/maxkeys.c.o CMakeFiles/maxkeys.dir/spinlock.c.o CMakeFiles/maxkeys.dir/secrets.c.o CMakeFiles/maxkeys.dir/utils.c.o CMakeFiles/maxkeys.dir/gwdirs.c.o CMakeFiles/maxkeys.dir/random_jkiss.c.o CMakeFiles/maxkeys.dir/__/__/log_manager/log_manager.cc.o -o maxkeys -rdynamic ../../utils/libutils.a -lpthread -lcrypt -lcrypto ../../pcre2/libpcre2-8.a -lstdc++ -Wl,-rpath,:::::::::::::::::::: /usr/bin/ld: ../../pcre2/libpcre2-8.a(pcre2_compile.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC ../../pcre2/libpcre2-8.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status server/core/CMakeFiles/maxkeys.dir/build.make:255: recipe for target 'server/core/maxkeys' failed I added "BuildRequires: xz-devel" to pull in liblzma devel.
FYI: https://jira.mariadb.org/browse/MXS-597
That -fPIC problem is fixed with: https://github.com/mariadb-corporation/MaxScale/commit/c8253cc7676aca3a748309b33bb877bb291b11aa The package builds fine in rawhide now, but I prefer to wait until they fix MXS-597.
Okidoki. New package: http://nux.se/maxscale/maxscale.spec http://nux.se/maxscale/maxscale-1.3.0-2.fc24.src.rpm * Tue 08 Mar 2016 01:00:00 PM CET Oden Eriksson <oe> 1.3.0-2 - sync with maxscale-1.3.0-5.mga6.src.rpm: - build against system pcre2 libs $ rpm -qp --requires /home/oden/RPM/RPMS/x86_64/maxscale-1.3.0-2.fc24.x86_64.rpm | grep pcre libpcre.so.1()(64bit) libpcre2-8.so.0()(64bit)
There are only couple of issues, but it looks good generally. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package does not contain duplicates in %files. Note: warning: File listed twice: /usr/share/maxscale/COPYRIGHT See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles - All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. Note: These BR are not needed: redhat-rpm-config See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2 - ldconfig called in %post and %postun if required. Note: /sbin/ldconfig not called in maxscale See: http://fedoraproject.org/wiki/Packaging/Guidelines#Shared_Libraries - Package must own all directories that it creates. Note: Directories without known owners: /etc/logrotate.d, /var/lib/maxscale/etc ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [!]: Rpath absent or only used for internal libs. Note: See rpmlint output RPATH is actually defined in binaries and libraries (plugins) [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "GPL (v2 or later) (with incorrect FSF address)", "GPL (v2 or later)", "LGPL (v2.1)", "Unknown or generated". 41 files have unknown license. Detailed output of licensecheck in /home/hhorak/tmp/maxscale- review/1083962-maxscale/licensecheck.txt This combination is valid. [x]: License file installed when any subpackage combination is installed. [!]: Package requires other packages for directories it uses. Note: No known owner of /var/lib/maxscale/etc This should be fixed. [!]: Package must own all directories that it creates. Note: Directories without known owners: /etc/logrotate.d, /var/lib/maxscale/etc This should be fixed. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. It would be better to remove bundled pcre2 from source to be sure it is not used during build. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [x]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: %config files are marked noreplace or the reason is justified. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: No %config files under /usr. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 0 bytes in 0 files. [x]: Packages must not store files under /srv, /opt or /usr/local Perl: [x]: Package contains the mandatory BuildRequires and Requires:. Note: Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) missing? ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [-]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in maxscale-debuginfo [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [!]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [?]: Package should compile and build into binary rpms on all supported architectures. [!]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Files in /run, var/run and /var/lock uses tmpfiles.d when appropriate [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Uses parallel make %{?_smp_mflags} macro. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: maxscale-1.3.0-2.fc23.x86_64.rpm maxscale-debuginfo-1.3.0-2.fc23.x86_64.rpm maxscale-1.3.0-2.fc23.src.rpm maxscale.x86_64: E: explicit-lib-dependency mariadb-libs maxscale.x86_64: W: spelling-error Summary(en_US) centric -> eccentric, centrist, concentric maxscale.x86_64: W: spelling-error %description -l en_US centric -> eccentric, centrist, concentric maxscale.x86_64: W: spelling-error %description -l en_US pluggable -> plug gable, plug-gable, plugged maxscale.x86_64: W: spelling-error %description -l en_US customisation -> customization, accusation maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libmaxinfo.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libtestfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libdebugcli.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libhintfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/maxscale ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: missing-call-to-setgroups-before-setuid /usr/bin/maxscale maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libmysqlmon.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libschemarouter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libtee.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/liblog_manager.so.1.0.0 ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libgaleramon.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/maxbinlogcheck ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/maxpasswd ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libreadwritesplit.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libshardrouter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/maxkeys ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libHTTPD.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libMySQLBackend.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libnamedserverfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libqlafilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libreadconnroute.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libbinlogrouter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libtopfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libtelnetd.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libMySQLClient.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libndbclustermon.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libregexfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libdbfwfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libquery_classifier.so.1.0.0 ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libmaxscaled.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/maxadmin ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libcli.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: W: dangling-symlink /var/lib/maxscale/errmsg.sys /usr/share/mariadb/english/errmsg.sys maxscale.x86_64: E: postin-without-ldconfig /usr/lib64/liblog_manager.so.1.0.0 maxscale.x86_64: E: postun-without-ldconfig /usr/lib64/liblog_manager.so.1.0.0 maxscale.x86_64: W: non-standard-uid /var/run/maxscale maxscale maxscale.x86_64: W: non-standard-gid /var/run/maxscale maxscale maxscale.x86_64: E: dir-or-file-in-var-run /var/run/maxscale maxscale.x86_64: W: non-standard-uid /var/lib/maxscale/etc/.secrets maxscale maxscale.x86_64: W: non-standard-gid /var/lib/maxscale/etc/.secrets maxscale maxscale.x86_64: W: hidden-file-or-dir /var/lib/maxscale/etc/.secrets maxscale.x86_64: E: non-readable /var/lib/maxscale/etc/.secrets 400 maxscale.x86_64: E: zero-length /var/lib/maxscale/etc/.secrets maxscale.x86_64: E: non-executable-script /usr/share/maxscale/plugins/nagios/check_maxscale_monitors.pl 644 /usr/bin/perl maxscale.x86_64: W: devel-file-in-non-devel-package /usr/lib64/liblog_manager.so maxscale.x86_64: W: non-standard-uid /var/lib/maxscale maxscale maxscale.x86_64: W: non-standard-gid /var/lib/maxscale maxscale maxscale.x86_64: E: non-standard-dir-perm /var/lib/maxscale 750 maxscale.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libquery_classifier.so maxscale.x86_64: E: non-executable-script /usr/share/maxscale/plugins/nagios/check_maxscale_threads.pl 644 /usr/bin/perl maxscale.x86_64: W: non-standard-uid /var/log/maxscale maxscale maxscale.x86_64: W: non-standard-gid /var/log/maxscale maxscale maxscale.x86_64: E: non-standard-dir-perm /var/log/maxscale 750 maxscale.x86_64: E: postin-without-ldconfig /usr/lib64/libquery_classifier.so.1.0.0 maxscale.x86_64: E: postun-without-ldconfig /usr/lib64/libquery_classifier.so.1.0.0 maxscale.x86_64: W: non-standard-gid /etc/maxscale.cnf maxscale maxscale.x86_64: E: non-readable /etc/maxscale.cnf 640 maxscale.x86_64: E: non-executable-script /usr/share/maxscale/plugins/nagios/check_maxscale_resources.pl 644 /usr/bin/perl maxscale.x86_64: W: no-manual-page-for-binary maxkeys maxscale.x86_64: W: no-manual-page-for-binary maxpasswd maxscale.x86_64: W: no-manual-page-for-binary maxbinlogcheck maxscale.x86_64: W: no-manual-page-for-binary maxadmin maxscale.x86_64: W: percent-in-%post maxscale.x86_64: W: dangerous-command-in-%post chmod maxscale.src: W: spelling-error Summary(en_US) centric -> eccentric, centrist, concentric maxscale.src: W: spelling-error %description -l en_US centric -> eccentric, centrist, concentric maxscale.src: W: spelling-error %description -l en_US pluggable -> plug gable, plug-gable, plugged maxscale.src: W: spelling-error %description -l en_US customisation -> customization, accusation maxscale.src:104: W: macro-in-comment %check maxscale.src:107: W: make-check-outside-check-section # make testcore || : 3 packages and 0 specfiles checked; 46 errors, 29 warnings. Rpmlint (debuginfo) ------------------- Checking: maxscale-debuginfo-1.3.0-2.fc23.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- sh: /usr/bin/python: No such file or directory maxscale.x86_64: E: explicit-lib-dependency mariadb-libs maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 my_charset_bin maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 mxs_log_tls maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 PSI_server maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 unknown_sqlstate maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 system_charset_info maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 bool_typelib maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 embedded_methods maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 mxs_log_enabled_priorities maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 Sys_autocommit_ptr maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 sql_command_flags maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 mxs_log_session_count maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 set_mysql_error maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 mysql_options maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 THD::reset_for_next_command() maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 free_old_query maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 mysql_init maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 is_log_table_write_query(enum_sql_command) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 THD::end_statement() maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 my_strdup maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 gwbuf_get_buffer_object_data maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 check_embedded_connection maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 find_type(st_typelib const*, char const*, unsigned int, bool) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 is_update_query(enum_sql_command) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 mysql_close maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 Yacc_state::~Yacc_state() maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 my_strndup maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 THD::clear_data_list() maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 init_embedded_mysql maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 parse_sql(THD*, Parser_state*, Object_creation_ctx*, bool) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 mysql_error maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 my_free maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 THD::store_globals() maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 Lex_input_stream::init(THD*, char*, unsigned int) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 gwbuf_add_buffer_object maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 replace_quoted maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 Set_signal_information::clear() maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 mysql_errno maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 replace_literal maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 mxs_log_message maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 create_embedded_thd maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/libquery_classifier.so.1.0.0 alloc_query(THD*, char const*, unsigned int) maxscale.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libquery_classifier.so.1.0.0 /lib64/libm.so.6 maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libquery_classifier.so.1.0.0 ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libreadwritesplit.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libMySQLClient.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/maxadmin ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/maxbinlogcheck ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libtopfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libHTTPD.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libregexfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/maxscale ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: missing-call-to-setgroups-before-setuid /usr/bin/maxscale maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/maxkeys ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libMySQLBackend.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libhintfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libqlafilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libshardrouter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libgaleramon.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libreadconnroute.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libcli.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_thread_done(skygw_thread_st*) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 simple_mutex_lock maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 release_lock maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_file_init(char*, char*) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_message_done maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 mlist_init(mlist_st*, mlist_cursor_st**, char*, void (*)(void*), int) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_thread_start(skygw_thread_st*) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 mlist_done(mlist_st*) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_file_alloc(char*) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_file_close(skygw_file_st*, bool) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_message_send maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_thread_must_exit maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 snprint_timestamp_hp(char*, unsigned long) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 get_decimal_len maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 snprint_timestamp(char*, unsigned long) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_file_free(skygw_file_st*) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_message_init maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 atomic_add maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_file_write(skygw_file_st*, void*, unsigned long, bool) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 simple_mutex_done maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 get_timestamp_len_hp() maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 simple_mutex_unlock maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 simple_mutex_init maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 mlist_add_data_nomutex(mlist_st*, void*) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_thread_init(char const*, void* (*)(void*), void*) maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 acquire_lock maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_thread_get_data maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_message_wait maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 skygw_thread_set_exitflag maxscale.x86_64: W: undefined-non-weak-symbol /usr/lib64/liblog_manager.so.1.0.0 get_timestamp_len() maxscale.x86_64: W: unused-direct-shlib-dependency /usr/lib64/liblog_manager.so.1.0.0 /lib64/libaio.so.1 maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/liblog_manager.so.1.0.0 ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libtelnetd.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libmysqlmon.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/maxpasswd ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libtestfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libtee.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libdebugcli.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libndbclustermon.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libschemarouter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libmaxinfo.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libbinlogrouter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libnamedserverfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libmaxscaled.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/maxscale/libdbfwfilter.so ['', '/usr/lib64/maxscale'] maxscale.x86_64: E: postin-without-ldconfig /usr/lib64/libquery_classifier.so.1.0.0 maxscale.x86_64: E: postun-without-ldconfig /usr/lib64/libquery_classifier.so.1.0.0 maxscale.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libquery_classifier.so maxscale.x86_64: W: non-standard-uid /var/lib/maxscale maxscale maxscale.x86_64: W: non-standard-gid /var/lib/maxscale maxscale maxscale.x86_64: E: non-standard-dir-perm /var/lib/maxscale 750 maxscale.x86_64: W: non-standard-uid /var/lib/maxscale/etc/.secrets maxscale maxscale.x86_64: W: non-standard-gid /var/lib/maxscale/etc/.secrets maxscale maxscale.x86_64: W: hidden-file-or-dir /var/lib/maxscale/etc/.secrets maxscale.x86_64: E: non-readable /var/lib/maxscale/etc/.secrets 400 maxscale.x86_64: E: zero-length /var/lib/maxscale/etc/.secrets maxscale.x86_64: W: devel-file-in-non-devel-package /usr/lib64/liblog_manager.so maxscale.x86_64: W: dangling-symlink /var/lib/maxscale/errmsg.sys /usr/share/mariadb/english/errmsg.sys maxscale.x86_64: E: non-executable-script /usr/share/maxscale/plugins/nagios/check_maxscale_resources.pl 644 /usr/bin/perl maxscale.x86_64: E: postin-without-ldconfig /usr/lib64/liblog_manager.so.1.0.0 maxscale.x86_64: E: postun-without-ldconfig /usr/lib64/liblog_manager.so.1.0.0 maxscale.x86_64: W: non-standard-uid /var/log/maxscale maxscale maxscale.x86_64: W: non-standard-gid /var/log/maxscale maxscale maxscale.x86_64: E: non-standard-dir-perm /var/log/maxscale 750 maxscale.x86_64: W: non-standard-gid /etc/maxscale.cnf maxscale maxscale.x86_64: E: non-readable /etc/maxscale.cnf 640 maxscale.x86_64: E: non-executable-script /usr/share/maxscale/plugins/nagios/check_maxscale_monitors.pl 644 /usr/bin/perl maxscale.x86_64: W: non-standard-uid /var/run/maxscale maxscale maxscale.x86_64: W: non-standard-gid /var/run/maxscale maxscale maxscale.x86_64: E: dir-or-file-in-var-run /var/run/maxscale maxscale.x86_64: E: non-executable-script /usr/share/maxscale/plugins/nagios/check_maxscale_threads.pl 644 /usr/bin/perl maxscale.x86_64: W: no-manual-page-for-binary maxkeys maxscale.x86_64: W: no-manual-page-for-binary maxpasswd maxscale.x86_64: W: no-manual-page-for-binary maxbinlogcheck maxscale.x86_64: W: no-manual-page-for-binary maxadmin maxscale.x86_64: W: percent-in-%post maxscale.x86_64: W: dangerous-command-in-%post chmod 2 packages and 0 specfiles checked; 46 errors, 92 warnings. Requires -------- maxscale-debuginfo (rpmlib, GLIBC filtered): maxscale (rpmlib, GLIBC filtered): /bin/sh config(maxscale) ld-linux-x86-64.so.2()(64bit) libaio.so.1()(64bit) libc.so.6()(64bit) libcrypt.so.1()(64bit) libcrypto.so.10()(64bit) libcrypto.so.10(libcrypto.so.10)(64bit) libcurl.so.4()(64bit) libdl.so.2()(64bit) libedit.so.0()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) liblog_manager.so.1.0.0()(64bit) libm.so.6()(64bit) libmysqld.so.18()(64bit) libpcre.so.1()(64bit) libpcre2-8.so.0()(64bit) libpthread.so.0()(64bit) libquery_classifier.so.1.0.0()(64bit) librt.so.1()(64bit) libssl.so.10()(64bit) libssl.so.10(libssl.so.10)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libz.so.1()(64bit) mariadb-errmsg mariadb-libs rtld(GNU_HASH) sh-utils shadow-utils systemd Provides -------- maxscale-debuginfo: maxscale-debuginfo maxscale-debuginfo(x86-64) maxscale: config(maxscale) libHTTPD.so()(64bit) libMySQLBackend.so()(64bit) libMySQLClient.so()(64bit) libbinlogrouter.so()(64bit) libcli.so()(64bit) libdbfwfilter.so()(64bit) libdebugcli.so()(64bit) libgaleramon.so()(64bit) libhintfilter.so()(64bit) liblog_manager.so.1.0.0()(64bit) libmaxinfo.so()(64bit) libmaxscaled.so()(64bit) libmysqlmon.so()(64bit) libnamedserverfilter.so()(64bit) libndbclustermon.so()(64bit) libqlafilter.so()(64bit) libquery_classifier.so.1.0.0()(64bit) libreadconnroute.so()(64bit) libreadwritesplit.so()(64bit) libregexfilter.so()(64bit) libschemarouter.so()(64bit) libshardrouter.so()(64bit) libtee.so()(64bit) libtelnetd.so()(64bit) libtestfilter.so()(64bit) libtopfilter.so()(64bit) maxscale maxscale(x86-64) Unversioned so-files -------------------- maxscale: /usr/lib64/liblog_manager.so maxscale: /usr/lib64/libquery_classifier.so maxscale: /usr/lib64/maxscale/libHTTPD.so maxscale: /usr/lib64/maxscale/libMySQLBackend.so maxscale: /usr/lib64/maxscale/libMySQLClient.so maxscale: /usr/lib64/maxscale/libbinlogrouter.so maxscale: /usr/lib64/maxscale/libcli.so maxscale: /usr/lib64/maxscale/libdbfwfilter.so maxscale: /usr/lib64/maxscale/libdebugcli.so maxscale: /usr/lib64/maxscale/libgaleramon.so maxscale: /usr/lib64/maxscale/libhintfilter.so maxscale: /usr/lib64/maxscale/libmaxinfo.so maxscale: /usr/lib64/maxscale/libmaxscaled.so maxscale: /usr/lib64/maxscale/libmysqlmon.so maxscale: /usr/lib64/maxscale/libnamedserverfilter.so maxscale: /usr/lib64/maxscale/libndbclustermon.so maxscale: /usr/lib64/maxscale/libqlafilter.so maxscale: /usr/lib64/maxscale/libreadconnroute.so maxscale: /usr/lib64/maxscale/libreadwritesplit.so maxscale: /usr/lib64/maxscale/libregexfilter.so maxscale: /usr/lib64/maxscale/libschemarouter.so maxscale: /usr/lib64/maxscale/libshardrouter.so maxscale: /usr/lib64/maxscale/libtee.so maxscale: /usr/lib64/maxscale/libtelnetd.so maxscale: /usr/lib64/maxscale/libtestfilter.so maxscale: /usr/lib64/maxscale/libtopfilter.so Source checksums ---------------- https://github.com/mariadb-corporation/MaxScale/archive/1.3.0/MaxScale-1.3.0.tar.gz : CHECKSUM(SHA256) this package : 6ee9d157d78cb963419b6eb3cca7e3f288cd2aa02c66caf98d72e3069b1d932b CHECKSUM(SHA256) upstream package : 6ee9d157d78cb963419b6eb3cca7e3f288cd2aa02c66caf98d72e3069b1d932b Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20 Command line :/usr/bin/fedora-review -b 1083962 Buildroot used: fedora-23-x86_64 Active plugins: Generic, Shell-api, C/C++, Perl Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Haskell, R, PHP, Ruby Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6
Wow! OK. I have addressed much of that in a new package here: http://nux.se/maxscale/maxscale.spec http://nux.se/maxscale/maxscale.spec.diff http://nux.se/maxscale/maxscale-1.3.0-3.fc24.src.rpm
I'd rather suggest to call ldconfig like this: %post -p /sbin/ldconfig but your current way doesn't seem to be wrong either. Otherwise it looks fine to me, so providing fedora_review+.
As I remember "%post -p /sbin/ldconfig" will mean %post will only do ldconfig and ignore the rest, but could be wrong.
Oh, I'm not sure now, so feel free to keep it.
Incredible. I just pushed so that you can build it against system pcre2 libs and now with 1.4.0 they force git download and build of MariaDB Connector-C [...] -- Building MariaDB Connector-C from source. -- Could NOT find Git (missing: GIT_EXECUTABLE) [...] This is truly a moving target.
There is mariadb-connector-c package available, hopefully it can be used.
ping?
Hi. I need to check this due time. Feel free to take ownership of this package if it's crucial for Redhat.
Since the new version of MaxScale changed the license to BSL [1], it makes it unusable in Fedora, so I'm more tempted to close this. It doesn't probably make much sense to package the older version only. If anybody has another opinion and would benefit from latest 1.x release (unmaintained by upstream), speak up. [1] http://monty-says.blogspot.cz/2016/08/applying-business-source-licensing-bsl.html
I read that post about BSL, please drop.
Closing because comment #35. We can re-open after 3 years, once MaxScale becomes license-clean again :)
Revisiting this after some years and fought a bit with cmake. It doesn't seem to be possible to build it against system pcre2 anymore. They also added mariadb-connector-c, jansson, libmicrohttpd that also builds statically. Quite ugly. It will build on latest fedora though but I would prefer to unbundle pcre2, added mariadb-connector-c, jansson and libmicrohttpd somehow.
Well, still, even if we make it build-able, the license is Business Source License that is not good for Fedora. Thus closing this review.