mariadb

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

mariadb

Jeremie Courreges-Anglas-2
On Thu, Jun 13 2019, Stuart Henderson <[hidden email]> wrote:

> CVSROOT: /cvs
> Module name: ports
> Changes by: [hidden email] 2019/06/13 15:51:46
>
> Modified files:
> databases/mariadb: Makefile
>
> Log message:
> simplify multipackages again, now that they are reunited between architectures.
> from Brad.

This is going in the wrong direction.  Before revision 1.77
mariadb-client had a chance to build on at least* hppa.  I was so
disappointed by the attitude of Brad regarding by this commit that
I forgot to check all the changes for correctness.

: revision 1.77
: date: 2019/05/20 10:31:23;  author: sthen;  state: Exp;  lines: +10 -7;  commitid: x8fx8WbSxeJlctfX;
: MariaDB port tweaks from Brad;
:
: For libmariadb don't try to pick up cURL and use external zlib.
: For the CONNECT engine don't try to pick up Mongo.
:
: (plus small comment/ONLY_FOR_ARCHS tweaks and s/do-regress/do-test/)
:
:
: Index: Makefile
: ===================================================================
: RCS file: /cvs/ports/databases/mariadb/Makefile,v
: retrieving revision 1.76
: retrieving revision 1.77
: diff -u -p -p -u -r1.76 -r1.77
: --- Makefile 13 May 2019 03:53:22 -0000 1.76
: +++ Makefile 20 May 2019 10:31:23 -0000 1.77
: @@ -1,8 +1,7 @@
: -# $OpenBSD: Makefile,v 1.76 2019/05/13 03:53:22 jca Exp $
: +# $OpenBSD: Makefile,v 1.77 2019/05/20 10:31:23 sthen Exp $
:  
:  # archs with atomic ops
: -ONLY_FOR_ARCHS-server= alpha aarch64 amd64 arm i386 mips64 mips64el powerpc sparc64
: -ONLY_FOR_ARCHS-tests= ${ONLY_FOR_ARCHS-server}
: +ONLY_FOR_ARCHS= alpha aarch64 amd64 arm i386 mips64 mips64el powerpc sparc64

What's the rationale for this change?  With a fix similar to the one
used by powerpc, the server subpackage could probably be built on hppa.
IIUC this commit instead just knocks out the mariadb-client package.

:  
:  COMMENT-main= multithreaded SQL database (client)
:  COMMENT-server= multithreaded SQL database (server)
: @@ -80,10 +79,13 @@ CONFIGURE_ARGS+=-DCMAKE_INSTALL_PREFIX="
:   -DINSTALL_SUPPORTFILESDIR="share/examples/mysql" \
:   -DMYSQL_UNIX_ADDR="${SOCKET_DIR}/mysql.sock" \
:   -DCOMPILATION_COMMENT='OpenBSD port: ${FULLPKGNAME-server}' \
: + -DWITH_CURL=Off \
: + -DWITH_EXTERNAL_ZLIB=On \
:   -DWITH_PCRE=system \
:   -DWITH_SSL=system \
:   -DCONNECT_WITH_JDBC=Off \
:   -DCONNECT_WITH_LIBXML2=Off \
: + -DCONNECT_WITH_MONGO=Off \
:   -DCONNECT_WITH_ODBC=Off \
:   -DGRN_WITH_MECAB=no \
:   -DGRN_WITH_KYTEA=no \
: @@ -101,12 +103,13 @@ CONFIGURE_ARGS+=-DHAVE_EXECINFO_H=0 \
:  # CMake test fails on OpenBSD
:  CONFIGURE_ARGS+=-DHAVE_NETINET_TCP_H=1
:  
: -# The Mroonga, TokuDB and RocksDB storage engines are disabled.
: -# Mroonga and RocksDB are only buildable on little endian archs.
: +# The Mroonga, RocksDB, and TokuDB storage engines are disabled.
: +# Mroonga is only buildable on little endian archs.
: +# RocksDB is only buildable on little endian archs and requires POSIX timers.
:  # TokuDB is only buildable on 64-bit little endian archs.
:  CONFIGURE_ARGS+=-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
: + -DWITHOUT_ROCKSDB_STORAGE_ENGINE=1 \
:   -DWITHOUT_TOKUDB_STORAGE_ENGINE=1
: -CONFIGURE_ARGS+=-DWITHOUT_ROCKSDB_STORAGE_ENGINE=1
:  
:  CFLAGS+= -I${LOCALBASE}/include
:  CXXFLAGS+= -I${LOCALBASE}/include
: @@ -143,7 +146,7 @@ post-install:
:   rm -Rf ${PREFIX}/share/mysql-test/plugin/rocksdb/
:  
:  .if ${BUILD_PACKAGES:M-tests}
: -do-regress:
: +do-test:
:   @cd ${WRKBUILD}/mysql-test && ./mysql-test-run.pl --force --verbose --max-test-fail=0
:  .else
:  NO_TEST= Yes

* there's also landisk and m88K but we're not really trying to support
  them in the ports tree.
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply | Threaded
Open this post in threaded view
|

Re: mariadb

Stuart Henderson-6
On 2019/06/14 00:30, Jeremie Courreges-Anglas wrote:

> On Thu, Jun 13 2019, Stuart Henderson <[hidden email]> wrote:
> > CVSROOT: /cvs
> > Module name: ports
> > Changes by: [hidden email] 2019/06/13 15:51:46
> >
> > Modified files:
> > databases/mariadb: Makefile
> >
> > Log message:
> > simplify multipackages again, now that they are reunited between architectures.
> > from Brad.
>
> This is going in the wrong direction.  Before revision 1.77
> mariadb-client had a chance to build on at least* hppa.  I was so
> disappointed by the attitude of Brad regarding by this commit that
> I forgot to check all the changes for correctness.

Is there anyone with hppa who would like to try this? Or should we just
add it speculatively as I don't think there's really a downside ..

Index: Makefile
===================================================================
RCS file: /cvs/ports/databases/mariadb/Makefile,v
retrieving revision 1.79
diff -u -p -r1.79 Makefile
--- Makefile 13 Jun 2019 21:51:46 -0000 1.79
+++ Makefile 13 Jun 2019 23:30:40 -0000
@@ -1,7 +1,7 @@
 # $OpenBSD: Makefile,v 1.79 2019/06/13 21:51:46 sthen Exp $
 
 # archs with atomic ops
-ONLY_FOR_ARCHS= alpha aarch64 amd64 arm i386 mips64 mips64el powerpc sparc64
+ONLY_FOR_ARCHS= alpha aarch64 amd64 arm hppa i386 mips64 mips64el powerpc sparc64
 
 COMMENT-main= multithreaded SQL database (client)
 COMMENT-server= multithreaded SQL database (server)
@@ -119,7 +119,7 @@ LDFLAGS+= -L${LOCALBASE}/lib
 
 CONFIGURE_ENV= LDFLAGS="${LDFLAGS}"
 
-.if ${MACHINE_ARCH} == "powerpc"
+.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "hppa"
 LDFLAGS+= -latomic
 WANTLIB+= atomic
 .endif


Reply | Threaded
Open this post in threaded view
|

Re: mariadb

Brad Smith-14
In reply to this post by Jeremie Courreges-Anglas-2
The client library now requires atomics. The next release has switched
to building
the codebase as C++11. The intent being to switch the various homegrown
implementations
using atomics over to using C++11 atomics.

The whole reason the relevant bits were added was for atomics vs no
atomics. Now that
both sides require atomics there is no point differentiating the two for
ONLY_FOR_ARCHS.

It was the reason I had held off upgrading to newer MariaDB for so long.

Before 1.77 it would not build on hppa, libatomic would have been necessary.

Anyone that has hppa is more than welcome to build and test. It's no
different than the
20+ ports in the tree requiring atomics that don't build on hppa. It's 2
lines in the
Makefile. At least the libatomic bits added for PowerPC pave the way if
it does work.

landisk and m88k would require having GCC 8 building and working first.

On 6/13/2019 6:30 PM, Jeremie Courreges-Anglas wrote:

> On Thu, Jun 13 2019, Stuart Henderson <[hidden email]> wrote:
>> CVSROOT: /cvs
>> Module name: ports
>> Changes by: [hidden email] 2019/06/13 15:51:46
>>
>> Modified files:
>> databases/mariadb: Makefile
>>
>> Log message:
>> simplify multipackages again, now that they are reunited between architectures.
>> from Brad.
> This is going in the wrong direction.  Before revision 1.77
> mariadb-client had a chance to build on at least* hppa.  I was so
> disappointed by the attitude of Brad regarding by this commit that
> I forgot to check all the changes for correctness.
>
> : revision 1.77
> : date: 2019/05/20 10:31:23;  author: sthen;  state: Exp;  lines: +10 -7;  commitid: x8fx8WbSxeJlctfX;
> : MariaDB port tweaks from Brad;
> :
> : For libmariadb don't try to pick up cURL and use external zlib.
> : For the CONNECT engine don't try to pick up Mongo.
> :
> : (plus small comment/ONLY_FOR_ARCHS tweaks and s/do-regress/do-test/)
> :
> :
> : Index: Makefile
> : ===================================================================
> : RCS file: /cvs/ports/databases/mariadb/Makefile,v
> : retrieving revision 1.76
> : retrieving revision 1.77
> : diff -u -p -p -u -r1.76 -r1.77
> : --- Makefile 13 May 2019 03:53:22 -0000 1.76
> : +++ Makefile 20 May 2019 10:31:23 -0000 1.77
> : @@ -1,8 +1,7 @@
> : -# $OpenBSD: Makefile,v 1.76 2019/05/13 03:53:22 jca Exp $
> : +# $OpenBSD: Makefile,v 1.77 2019/05/20 10:31:23 sthen Exp $
> :
> :  # archs with atomic ops
> : -ONLY_FOR_ARCHS-server= alpha aarch64 amd64 arm i386 mips64 mips64el powerpc sparc64
> : -ONLY_FOR_ARCHS-tests= ${ONLY_FOR_ARCHS-server}
> : +ONLY_FOR_ARCHS= alpha aarch64 amd64 arm i386 mips64 mips64el powerpc sparc64
>
> What's the rationale for this change?  With a fix similar to the one
> used by powerpc, the server subpackage could probably be built on hppa.
> IIUC this commit instead just knocks out the mariadb-client package.
>
> :
> :  COMMENT-main= multithreaded SQL database (client)
> :  COMMENT-server= multithreaded SQL database (server)
> : @@ -80,10 +79,13 @@ CONFIGURE_ARGS+=-DCMAKE_INSTALL_PREFIX="
> :   -DINSTALL_SUPPORTFILESDIR="share/examples/mysql" \
> :   -DMYSQL_UNIX_ADDR="${SOCKET_DIR}/mysql.sock" \
> :   -DCOMPILATION_COMMENT='OpenBSD port: ${FULLPKGNAME-server}' \
> : + -DWITH_CURL=Off \
> : + -DWITH_EXTERNAL_ZLIB=On \
> :   -DWITH_PCRE=system \
> :   -DWITH_SSL=system \
> :   -DCONNECT_WITH_JDBC=Off \
> :   -DCONNECT_WITH_LIBXML2=Off \
> : + -DCONNECT_WITH_MONGO=Off \
> :   -DCONNECT_WITH_ODBC=Off \
> :   -DGRN_WITH_MECAB=no \
> :   -DGRN_WITH_KYTEA=no \
> : @@ -101,12 +103,13 @@ CONFIGURE_ARGS+=-DHAVE_EXECINFO_H=0 \
> :  # CMake test fails on OpenBSD
> :  CONFIGURE_ARGS+=-DHAVE_NETINET_TCP_H=1
> :
> : -# The Mroonga, TokuDB and RocksDB storage engines are disabled.
> : -# Mroonga and RocksDB are only buildable on little endian archs.
> : +# The Mroonga, RocksDB, and TokuDB storage engines are disabled.
> : +# Mroonga is only buildable on little endian archs.
> : +# RocksDB is only buildable on little endian archs and requires POSIX timers.
> :  # TokuDB is only buildable on 64-bit little endian archs.
> :  CONFIGURE_ARGS+=-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
> : + -DWITHOUT_ROCKSDB_STORAGE_ENGINE=1 \
> :   -DWITHOUT_TOKUDB_STORAGE_ENGINE=1
> : -CONFIGURE_ARGS+=-DWITHOUT_ROCKSDB_STORAGE_ENGINE=1
> :
> :  CFLAGS+= -I${LOCALBASE}/include
> :  CXXFLAGS+= -I${LOCALBASE}/include
> : @@ -143,7 +146,7 @@ post-install:
> :   rm -Rf ${PREFIX}/share/mysql-test/plugin/rocksdb/
> :
> :  .if ${BUILD_PACKAGES:M-tests}
> : -do-regress:
> : +do-test:
> :   @cd ${WRKBUILD}/mysql-test && ./mysql-test-run.pl --force --verbose --max-test-fail=0
> :  .else
> :  NO_TEST= Yes
>
> * there's also landisk and m88K but we're not really trying to support
>    them in the ports tree.

Reply | Threaded
Open this post in threaded view
|

Re: mariadb

Brad Smith-14
In reply to this post by Stuart Henderson-6
On 6/13/2019 7:32 PM, Stuart Henderson wrote:

> On 2019/06/14 00:30, Jeremie Courreges-Anglas wrote:
>> On Thu, Jun 13 2019, Stuart Henderson <[hidden email]> wrote:
>>> CVSROOT: /cvs
>>> Module name: ports
>>> Changes by: [hidden email] 2019/06/13 15:51:46
>>>
>>> Modified files:
>>> databases/mariadb: Makefile
>>>
>>> Log message:
>>> simplify multipackages again, now that they are reunited between architectures.
>>> from Brad.
>> This is going in the wrong direction.  Before revision 1.77
>> mariadb-client had a chance to build on at least* hppa.  I was so
>> disappointed by the attitude of Brad regarding by this commit that
>> I forgot to check all the changes for correctness.
> Is there anyone with hppa who would like to try this? Or should we just
> add it speculatively as I don't think there's really a downside ..

It couldn't hurt to just add it.

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/databases/mariadb/Makefile,v
> retrieving revision 1.79
> diff -u -p -r1.79 Makefile
> --- Makefile 13 Jun 2019 21:51:46 -0000 1.79
> +++ Makefile 13 Jun 2019 23:30:40 -0000
> @@ -1,7 +1,7 @@
>   # $OpenBSD: Makefile,v 1.79 2019/06/13 21:51:46 sthen Exp $
>  
>   # archs with atomic ops
> -ONLY_FOR_ARCHS= alpha aarch64 amd64 arm i386 mips64 mips64el powerpc sparc64
> +ONLY_FOR_ARCHS= alpha aarch64 amd64 arm hppa i386 mips64 mips64el powerpc sparc64
>  
>   COMMENT-main= multithreaded SQL database (client)
>   COMMENT-server= multithreaded SQL database (server)
> @@ -119,7 +119,7 @@ LDFLAGS+= -L${LOCALBASE}/lib
>  
>   CONFIGURE_ENV= LDFLAGS="${LDFLAGS}"
>  
> -.if ${MACHINE_ARCH} == "powerpc"
> +.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "hppa"
>   LDFLAGS+= -latomic
>   WANTLIB+= atomic
>   .endif
>
>

Reply | Threaded
Open this post in threaded view
|

Re: mariadb

Jeremie Courreges-Anglas-2
In reply to this post by Brad Smith-14
On Thu, Jun 13 2019, Brad Smith <[hidden email]> wrote:

> The client library now requires atomics. The next release has switched
> to building
> the codebase as C++11. The intent being to switch the various homegrown
> implementations
> using atomics over to using C++11 atomics.
>
> The whole reason the relevant bits were added was for atomics vs no
> atomics. Now that
> both sides require atomics there is no point differentiating the two for
> ONLY_FOR_ARCHS.

This is something that I ignored.  I've been burnt a few times by
similar changes you have introduced earlier in the ports tree.  Please
make an effort at documenting your diffs that directly affect
portability, it will make everybody's life easier.

--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply | Threaded
Open this post in threaded view
|

Re: mariadb

Jeremie Courreges-Anglas-2
In reply to this post by Stuart Henderson-6
On Fri, Jun 14 2019, Stuart Henderson <[hidden email]> wrote:

> On 2019/06/14 00:30, Jeremie Courreges-Anglas wrote:
>> On Thu, Jun 13 2019, Stuart Henderson <[hidden email]> wrote:
>> > CVSROOT: /cvs
>> > Module name: ports
>> > Changes by: [hidden email] 2019/06/13 15:51:46
>> >
>> > Modified files:
>> > databases/mariadb: Makefile
>> >
>> > Log message:
>> > simplify multipackages again, now that they are reunited between architectures.
>> > from Brad.
>>
>> This is going in the wrong direction.  Before revision 1.77
>> mariadb-client had a chance to build on at least* hppa.  I was so
>> disappointed by the attitude of Brad regarding by this commit that
>> I forgot to check all the changes for correctness.
>
> Is there anyone with hppa who would like to try this? Or should we just
> add it speculatively as I don't think there's really a downside ..

ok jca@, but please just drop ONLY_FOR_ARCHS (after your change the
architecture list the same as the default set by the COMPILER
framework).

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/databases/mariadb/Makefile,v
> retrieving revision 1.79
> diff -u -p -r1.79 Makefile
> --- Makefile 13 Jun 2019 21:51:46 -0000 1.79
> +++ Makefile 13 Jun 2019 23:30:40 -0000
> @@ -1,7 +1,7 @@
>  # $OpenBSD: Makefile,v 1.79 2019/06/13 21:51:46 sthen Exp $
>  
>  # archs with atomic ops
> -ONLY_FOR_ARCHS= alpha aarch64 amd64 arm i386 mips64 mips64el powerpc sparc64
> +ONLY_FOR_ARCHS= alpha aarch64 amd64 arm hppa i386 mips64 mips64el powerpc sparc64
>  
>  COMMENT-main= multithreaded SQL database (client)
>  COMMENT-server= multithreaded SQL database (server)
> @@ -119,7 +119,7 @@ LDFLAGS+= -L${LOCALBASE}/lib
>  
>  CONFIGURE_ENV= LDFLAGS="${LDFLAGS}"
>  
> -.if ${MACHINE_ARCH} == "powerpc"
> +.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "hppa"
>  LDFLAGS+= -latomic
>  WANTLIB+= atomic
>  .endif
>
>

--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE