diff mbox series

[bug#50586,v2] gnu: mysql: Add wrapper around mysql_config.

Message ID 20210915145442.2599256-1-zimon.toutoune@gmail.com
State Accepted
Headers show
Series [bug#50586,v2] gnu: mysql: Add wrapper around mysql_config. | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Simon Tournier Sept. 15, 2021, 2:54 p.m. UTC
Fixes <https://bugs.gnu.org/23045>.

* gnu/packages/databases.scm (mysql): Add phase to wrap 'mysql_config'.
---
 gnu/packages/databases.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Mathieu Othacehe Sept. 20, 2021, 7:19 p.m. UTC | #1
Hello zimoun,

> +                       (wrap-program (string-append bin "/mysql_config")
> +                         `("PATH" ":" suffix
> +                           (,(string-append awk "/bin")
> +                            ,(string-append coreutils "/bin")
> +                            ,(string-append sed "/bin"))))

It looks like mysqld_safe could use the same kind of wrapping, at least
for "ps" and "grep" binaries. Could you please have a look?

Thanks,

Mathieu
Simon Tournier Sept. 21, 2021, 6:26 a.m. UTC | #2
Hi,

On lun., 20 sept. 2021 at 19:19, Mathieu Othacehe <othacehe@gnu.org> wrote:

> It looks like mysqld_safe could use the same kind of wrapping, at least
> for "ps" and "grep" binaries. Could you please have a look?

Thanks for the catch up.  Well, it is fixed in v3.  I have checked by
hand the 2 bash scripts…

--8<---------------cut here---------------start------------->8---
$ file bin/* | grep -v ELF
bin/mysql_config:              a /gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash script, ASCII text executable
bin/mysqld_safe:               a /gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh script, ASCII text executable
bin/mysqld_multi:              Perl script text executable
bin/mysqldumpslow:             Perl script text executable
--8<---------------cut here---------------end--------------->8---

…and I have no idea about the Perl ones; let assume all is fine since
there is no bug report about them. ;-)

Note that ’mysqld_safe’ contains absolute path:

--8<---------------cut here---------------start------------->8---
      # Restrict to a the list in $malloc_dirs above
      case "`dirname "$malloc_lib"`" in
        /usr/lib) ;;
        /usr/lib64) ;;
        /usr/lib/i386-linux-gnu) ;;
        /usr/lib/x86_64-linux-gnu) ;;
        *)
          log_error "--malloc-lib must be located in one of the directories: $malloc_dirs"
          exit 1
          ;;
      esac
--8<---------------cut here---------------end--------------->8---

Because I am not an user of ’mysqld_safe’ and there is no bug report, I
assume it is not an issue and let it aside.


Cheers,
simon
diff mbox series

Patch

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index c75e1421d5..1b4a1b0f12 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -53,6 +53,7 @@ 
 ;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
 ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org>
+;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -90,6 +91,7 @@ 
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gawk)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -695,6 +697,20 @@  auto-completion and syntax highlighting.")
                        (for-each delete-file
                                  (find-files (string-append out "/bin")
                                              "_embedded$"))
+                       #t)))
+                  (add-after
+                   'install 'wrap-mysql_config
+                   (lambda* (#:key inputs outputs #:allow-other-keys)
+                     (let* ((out (assoc-ref outputs "out"))
+                            (bin (string-append out "/bin"))
+                            (awk (assoc-ref inputs "gawk"))
+                            (coreutils (assoc-ref inputs "coreutils"))
+                            (sed (assoc-ref inputs "sed")))
+                       (wrap-program (string-append bin "/mysql_config")
+                         `("PATH" ":" suffix
+                           (,(string-append awk "/bin")
+                            ,(string-append coreutils "/bin")
+                            ,(string-append sed "/bin"))))
                        #t))))))
     (native-inputs
      `(("bison" ,bison)
@@ -702,11 +718,14 @@  auto-completion and syntax highlighting.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("boost" ,boost-for-mysql)
+       ("coreutils" ,coreutils)         ;ls,cat required by mysql_config
+       ("gawk" ,gawk)                   ;required by mysql_config
        ("libaio" ,libaio)
        ("libtirpc" ,libtirpc)
        ("ncurses" ,ncurses)
        ("openssl" ,openssl)
        ("rpcsvc-proto" ,rpcsvc-proto) ; rpcgen
+       ("sed" ,sed)                     ;required by mysql_config
        ("zlib" ,zlib)))
     (home-page "https://www.mysql.com/")
     (synopsis "Fast, easy to use, and popular database")