ports/182547: [PATCH] databases/mariadb55-server: Respect hier(7) (also affects databases/mariadb55-client)

Michael Gmelin freebsd at grem.de
Tue Oct 1 23:10:01 UTC 2013


The following reply was made to PR ports/182547; it has been noted by GNATS.

From: Michael Gmelin <freebsd at grem.de>
To: bug-followup at FreeBSD.org
Cc: Miroslav Lachman <000.fbsd at quip.cz>, Alexandr Kovalenko
 <never at nevermind.kiev.ua>
Subject: Re: ports/182547: [PATCH] databases/mariadb55-server: Respect
 hier(7) (also affects databases/mariadb55-client)
Date: Wed, 2 Oct 2013 01:06:55 +0200

 --MP_/fpnb05V9IXb16lqck/3oAe4
 Content-Type: text/plain; charset=US-ASCII
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 The last patch contained a lot of unnecessary garbage
 (databases/mariadb55*.orig), please find attached a "clean" version.
 
 Sorry for the noise.
 
 Apply:
 cd /usr/ports/databases
 patch -p1 </path/to/mariadb55-mycnf-compromise.patch 
 
 Cheers,
 Michael
 
 -- 
 Michael Gmelin
 
 --MP_/fpnb05V9IXb16lqck/3oAe4
 Content-Type: text/x-patch
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment; filename=mariadb55-mycnf-compromise.patch
 
 diff -ruN databases.orig/mariadb55-client/Makefile databases/mariadb55-client/Makefile
 --- databases.orig/mariadb55-client/Makefile	2013-10-01 00:36:19.000000000 +0200
 +++ databases/mariadb55-client/Makefile	2013-10-01 15:13:15.285388241 +0200
 @@ -7,7 +7,7 @@
  
  MASTERDIR=	${.CURDIR}/../mariadb55-server
  
 -PKGMESSAGE=	mustnotexist
 +FILESDIR=	${.CURDIR}/files
  PATCHDIR=	${.CURDIR}/files
  PLIST=		${.CURDIR}/pkg-plist
  
 diff -ruN databases.orig/mariadb55-client/files/patch-mysys_default.c databases/mariadb55-client/files/patch-mysys_default.c
 --- databases.orig/mariadb55-client/files/patch-mysys_default.c	2013-01-05 12:30:51.000000000 +0100
 +++ databases/mariadb55-client/files/patch-mysys_default.c	2013-10-01 23:48:22.726204234 +0200
 @@ -1,5 +1,5 @@
 ---- mysys/default.c.orig	2012-12-17 03:57:40.000000000 +0200
 -+++ mysys/default.c	2012-12-17 04:00:28.000000000 +0200
 +--- mysys/default.c.orig	2013-10-01 21:15:03.544135869 +0200
 ++++ mysys/default.c	2013-10-01 21:15:38.871375504 +0200
  @@ -89,7 +89,7 @@
   
   /* Which directories are searched for options (and in which order) */
 @@ -18,11 +18,31 @@
       /*
         Ignore world-writable regular files.
         This is mainly done to protect us to not read a file created by
 -@@ -1229,6 +1229,7 @@
 - #if defined(DEFAULT_SYSCONFDIR)
 -   if (DEFAULT_SYSCONFDIR[0])
 -     errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
 -+    errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs);
 - #endif /* DEFAULT_SYSCONFDIR */
 +@@ -803,6 +803,14 @@
 +   if (!(fp= mysql_file_fopen(key_file_cnf, name, O_RDONLY, MYF(0))))
 +     return 1;					/* Ignore wrong files */
 + 
 ++  if (strstr(name, "/etc") == name)
 ++  {
 ++    fprintf(stderr,
 ++	      "error: Config file %s in invalid location, please move to or merge with %%PREFIX%%%s\n",
 ++	      name,name);
 ++      goto err;
 ++  }
 ++
 +   while (mysql_file_fgets(buff, sizeof(buff) - 1, fp))
 +   {
 +     line++;
 +@@ -1226,10 +1226,8 @@
 +   errors += add_directory(alloc, "/etc/", dirs);
 +   errors += add_directory(alloc, "/etc/mysql/", dirs);
 + 
 +-#if defined(DEFAULT_SYSCONFDIR)
 +-  if (DEFAULT_SYSCONFDIR[0])
 +-    errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
 +-#endif /* DEFAULT_SYSCONFDIR */
 ++  errors += add_directory(alloc, "%%PREFIX%%/etc/", dirs);
 ++  errors += add_directory(alloc, "%%PREFIX%%/etc/mysql/", dirs);
   
   #endif
 + 
 diff -ruN databases.orig/mariadb55-client/files/pkg-message.in databases/mariadb55-client/files/pkg-message.in
 --- databases.orig/mariadb55-client/files/pkg-message.in	1970-01-01 01:00:00.000000000 +0100
 +++ databases/mariadb55-client/files/pkg-message.in	2013-10-01 23:50:26.235947512 +0200
 @@ -0,0 +1,7 @@
 +************************************************************************
 +
 +MariaDB respects hier(7) and doesn't check /etc and /etc/mysql for
 +my.cnf. Please move existing my.cnf files from those paths to
 +%%PREFIX%%/etc and %%PREFIX%%/etc/mysql.
 +
 +************************************************************************
 diff -ruN databases.orig/mariadb55-server/Makefile databases/mariadb55-server/Makefile
 --- databases.orig/mariadb55-server/Makefile	2013-10-01 00:32:28.000000000 +0200
 +++ databases/mariadb55-server/Makefile	2013-10-01 15:24:35.085467022 +0200
 @@ -2,7 +2,7 @@
  
  PORTNAME?=	mariadb
  PORTVERSION=	5.5.33a
 -PORTREVISION?=	0
 +PORTREVISION?=	1
  CATEGORIES=	databases ipv6
  MASTER_SITES=	http://ftp.osuosl.org/pub/mariadb/${PORTNAME}-${PORTVERSION}/kvm-tarbake-jaunty-x86/ \
  		http://mirrors.supportex.net/mariadb/${PORTNAME}-${PORTVERSION}/kvm-tarbake-jaunty-x86/ \
 @@ -18,6 +18,9 @@
  MAINTAINER=	never at nevermind.kiev.ua
  COMMENT?=	Multithreaded SQL database (server)
  
 +SUB_FILES=	pkg-message
 +PKGMESSAGE=	${WRKDIR}/pkg-message
 +
  SLAVEDIRS=	databases/mariadb55-client
  USES=		cmake gmake
  NO_OPTIONS_SORT=yes
 @@ -136,6 +139,7 @@
  
  post-patch:
  	@${REINPLACE_CMD} 's/*.1/${MAN1}/' ${WRKSRC}/man/CMakeLists.txt
 +	@${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/mysys/default.c
  
  .include <bsd.port.pre.mk>
  
 diff -ruN databases.orig/mariadb55-server/files/patch-mysys_default.c databases/mariadb55-server/files/patch-mysys_default.c
 --- databases.orig/mariadb55-server/files/patch-mysys_default.c	2013-01-05 12:30:51.000000000 +0100
 +++ databases/mariadb55-server/files/patch-mysys_default.c	2013-10-01 23:53:44.435933823 +0200
 @@ -1,6 +1,6 @@
 ---- mysys/default.c.orig	2010-11-02 23:01:13.000000000 +0100
 -+++ mysys/default.c	2010-11-10 16:39:51.000000000 +0100
 -@@ -70,7 +70,7 @@
 +--- mysys/default.c.orig	2013-10-01 21:15:03.544135869 +0200
 ++++ mysys/default.c	2013-10-01 21:15:38.871375504 +0200
 +@@ -89,7 +89,7 @@
   
   /* Which directories are searched for options (and in which order) */
   
 @@ -9,7 +9,7 @@
   #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1)  /* Terminate with NULL */
   static const char **default_directories = NULL;
   
 -@@ -711,7 +711,7 @@
 +@@ -785,7 +785,7 @@
     {
       MY_STAT stat_info;
       if (!my_stat(name,&stat_info,MYF(0)))
 @@ -18,14 +18,31 @@
       /*
         Ignore world-writable regular files.
         This is mainly done to protect us to not read a file created by
 -@@ -1153,7 +1153,10 @@
 +@@ -803,6 +803,14 @@
 +   if (!(fp= mysql_file_fopen(key_file_cnf, name, O_RDONLY, MYF(0))))
 +     return 1;					/* Ignore wrong files */
   
 - #if defined(DEFAULT_SYSCONFDIR)
 -   if (DEFAULT_SYSCONFDIR[0])
 ++  if (strstr(name, "/etc") == name)
  +  {
 -     errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
 -+    errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs);
 ++    fprintf(stderr,
 ++	      "error: Config file %s in invalid location, please move to or merge with %%PREFIX%%%s\n",
 ++	      name,name);
 ++      goto err;
  +  }
 - #endif /* DEFAULT_SYSCONFDIR */
 ++
 +   while (mysql_file_fgets(buff, sizeof(buff) - 1, fp))
 +   {
 +     line++;
 +@@ -1226,10 +1226,8 @@
 +   errors += add_directory(alloc, "/etc/", dirs);
 +   errors += add_directory(alloc, "/etc/mysql/", dirs);
 + 
 +-#if defined(DEFAULT_SYSCONFDIR)
 +-  if (DEFAULT_SYSCONFDIR[0])
 +-    errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
 +-#endif /* DEFAULT_SYSCONFDIR */
 ++  errors += add_directory(alloc, "%%PREFIX%%/etc/", dirs);
 ++  errors += add_directory(alloc, "%%PREFIX%%/etc/mysql/", dirs);
   
   #endif
 + 
 diff -ruN databases.orig/mariadb55-server/files/pkg-message.in databases/mariadb55-server/files/pkg-message.in
 --- databases.orig/mariadb55-server/files/pkg-message.in	1970-01-01 01:00:00.000000000 +0100
 +++ databases/mariadb55-server/files/pkg-message.in	2013-10-01 23:50:41.526232450 +0200
 @@ -0,0 +1,11 @@
 +************************************************************************
 +
 +Remember to run mysql_upgrade (with the optional --datadir=<dbdir> flag)
 +the first time you start the MySQL server after an upgrade from an
 +earlier version.
 +
 +MariaDB respects hier(7) and doesn't check /etc and /etc/mysql for
 +my.cnf. Please move existing my.cnf files from those paths to
 +%%PREFIX%%/etc and %%PREFIX%%/etc/mysql.
 +
 +************************************************************************
 diff -ruN databases.orig/mariadb55-server/pkg-message databases/mariadb55-server/pkg-message
 --- databases.orig/mariadb55-server/pkg-message	2013-01-05 12:30:51.000000000 +0100
 +++ databases/mariadb55-server/pkg-message	1970-01-01 01:00:00.000000000 +0100
 @@ -1,7 +0,0 @@
 -************************************************************************
 -
 -Remember to run mysql_upgrade (with the optional --datadir=<dbdir> flag)
 -the first time you start the MySQL server after an upgrade from an
 -earlier version.
 -
 -************************************************************************
 
 --MP_/fpnb05V9IXb16lqck/3oAe4--


More information about the freebsd-ports-bugs mailing list