unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / Atom feed
* [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies.
@ 2021-09-14 16:10 zimoun
  2021-09-15 11:43 ` Maxime Devos
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: zimoun @ 2021-09-14 16:10 UTC (permalink / raw)
  To: 50586; +Cc: zimoun

Fixes <htpps://bugs.gnu.org/23045>.

* gnu/packages/databases.scm (mysql): Add 'propagated-inputs'.
---
 gnu/packages/databases.scm | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index c75e1421d5..7e07dbc5e4 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)
@@ -708,6 +710,11 @@ auto-completion and syntax highlighting.")
        ("openssl" ,openssl)
        ("rpcsvc-proto" ,rpcsvc-proto) ; rpcgen
        ("zlib" ,zlib)))
+    (propagated-inputs
+     ;; Required by 'mysql_config'
+     `(("awk" ,gawk)
+       ("coreutils" ,coreutils)         ;ls,cat
+       ("sed" ,sed)))
     (home-page "https://www.mysql.com/")
     (synopsis "Fast, easy to use, and popular database")
     (description

base-commit: a72519489f0178051b7049d5793d95d070ebef86
-- 
2.32.0





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies.
  2021-09-14 16:10 [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies zimoun
@ 2021-09-15 11:43 ` Maxime Devos
  2021-09-15 14:55   ` zimoun
  2021-09-15 14:54 ` [bug#50586] [PATCH v2] gnu: mysql: Add wrapper around mysql_config zimoun
  2021-09-21  6:35 ` [bug#50586] [PATCH v3] gnu: mysql: Add wrapper around mysql_config zimoun
  2 siblings, 1 reply; 8+ messages in thread
From: Maxime Devos @ 2021-09-15 11:43 UTC (permalink / raw)
  To: zimoun, 50586

[-- Attachment #1: Type: text/plain, Size: 647 bytes --]

zimoun schreef op di 14-09-2021 om 18:10 [+0200]:
> @@ -708,6 +710,11 @@ auto-completion and syntax highlighting.")
>         ("openssl" ,openssl)
>         ("rpcsvc-proto" ,rpcsvc-proto) ; rpcgen
>         ("zlib" ,zlib)))
> +    (propagated-inputs
> +     ;; Required by 'mysql_config'
> +     `(("awk" ,gawk)
> +       ("coreutils" ,coreutils)         ;ls,cat
> +       ("sed" ,sed)))

If 'wrap-program' is used on mysql_config to set PATH to
the bin directories of awk, coreutils and sed,
or 'substitute*' is used to replace 'awk', 'sed' and 'ls'
by their absolute paths, then propagation can be avoided.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#50586] [PATCH v2] gnu: mysql: Add wrapper around mysql_config.
  2021-09-14 16:10 [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies zimoun
  2021-09-15 11:43 ` Maxime Devos
@ 2021-09-15 14:54 ` zimoun
  2021-09-20 19:19   ` [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies Mathieu Othacehe
  2021-09-21  6:35 ` [bug#50586] [PATCH v3] gnu: mysql: Add wrapper around mysql_config zimoun
  2 siblings, 1 reply; 8+ messages in thread
From: zimoun @ 2021-09-15 14:54 UTC (permalink / raw)
  To: 50586; +Cc: zimoun

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(+)

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")
-- 
2.32.0





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies.
  2021-09-15 11:43 ` Maxime Devos
@ 2021-09-15 14:55   ` zimoun
  0 siblings, 0 replies; 8+ messages in thread
From: zimoun @ 2021-09-15 14:55 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 50586

Hi Maxime,

On Wed, 15 Sept 2021 at 13:43, Maxime Devos <maximedevos@telenet.be> wrote:

> If 'wrap-program' is used on mysql_config to set PATH to
> the bin directories of awk, coreutils and sed,
> or 'substitute*' is used to replace 'awk', 'sed' and 'ls'
> by their absolute paths, then propagation can be avoided.

Indeed.  It is better. :-)
Done in v2.
Thanks for the review.

Cheers,
simon




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies.
  2021-09-15 14:54 ` [bug#50586] [PATCH v2] gnu: mysql: Add wrapper around mysql_config zimoun
@ 2021-09-20 19:19   ` Mathieu Othacehe
  2021-09-21  6:26     ` zimoun
  0 siblings, 1 reply; 8+ messages in thread
From: Mathieu Othacehe @ 2021-09-20 19:19 UTC (permalink / raw)
  To: zimoun; +Cc: 50586


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




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies.
  2021-09-20 19:19   ` [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies Mathieu Othacehe
@ 2021-09-21  6:26     ` zimoun
  0 siblings, 0 replies; 8+ messages in thread
From: zimoun @ 2021-09-21  6:26 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: 50586

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




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#50586] [PATCH v3] gnu: mysql: Add wrapper around mysql_config.
  2021-09-14 16:10 [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies zimoun
  2021-09-15 11:43 ` Maxime Devos
  2021-09-15 14:54 ` [bug#50586] [PATCH v2] gnu: mysql: Add wrapper around mysql_config zimoun
@ 2021-09-21  6:35 ` zimoun
  2021-09-21 14:24   ` bug#50586: [PATCH] gnu: mysql: Propagate runtime dependencies Mathieu Othacehe
  2 siblings, 1 reply; 8+ messages in thread
From: zimoun @ 2021-09-21  6:35 UTC (permalink / raw)
  To: 50586; +Cc: zimoun

Fixes <https://bugs.gnu.org/23045>.

* gnu/packages/databases.scm (mysql): Add phase to wrap 'mysql_config'.
[inputs]: Add 'coreutils', 'gawk', 'procps' and 'sed'
---
 gnu/packages/databases.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index c75e1421d5..58e3d7175b 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,29 @@ auto-completion and syntax highlighting.")
                        (for-each delete-file
                                  (find-files (string-append out "/bin")
                                              "_embedded$"))
+                       #t)))
+                  (add-after
+                   'install 'wrap-mysql_helpers
+                   (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"))
+                            (grep (assoc-ref inputs "grep"))
+                            (ps (assoc-ref inputs "procps"))
+                            (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"))))
+                       (wrap-program (string-append bin "/mysqld_safe")
+                         `("PATH" ":" suffix
+                           (,(string-append awk "/bin")
+                            ,(string-append coreutils "/bin")
+                            ,(string-append grep "/bin")
+                            ,(string-append ps "/bin")
+                            ,(string-append sed "/bin"))))
                        #t))))))
     (native-inputs
      `(("bison" ,bison)
@@ -702,11 +727,16 @@ auto-completion and syntax highlighting.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("boost" ,boost-for-mysql)
+       ("coreutils" ,coreutils)         ;ls,cat required by mysql_config, mysqld_safe
+       ("gawk" ,gawk)                   ;required by mysql_config, mysqld_safe
+       ("grep" ,grep)                   ;required by mysqld_safe
        ("libaio" ,libaio)
        ("libtirpc" ,libtirpc)
        ("ncurses" ,ncurses)
        ("openssl" ,openssl)
+       ("procps" ,procps)               ;required by mysqld_safe
        ("rpcsvc-proto" ,rpcsvc-proto) ; rpcgen
+       ("sed" ,sed)                     ;required by mysql_config, mysqld_safe
        ("zlib" ,zlib)))
     (home-page "https://www.mysql.com/")
     (synopsis "Fast, easy to use, and popular database")
-- 
2.32.0





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#50586: [PATCH] gnu: mysql: Propagate runtime dependencies.
  2021-09-21  6:35 ` [bug#50586] [PATCH v3] gnu: mysql: Add wrapper around mysql_config zimoun
@ 2021-09-21 14:24   ` Mathieu Othacehe
  0 siblings, 0 replies; 8+ messages in thread
From: Mathieu Othacehe @ 2021-09-21 14:24 UTC (permalink / raw)
  To: zimoun; +Cc: 50586-done


Hey,

> +       ("sed" ,sed)                     ;required by mysql_config, mysqld_safe

Thanks for the v3, I edited the commit message and removed the above
comments before pushing.

Mathieu




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-09-21 14:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-14 16:10 [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies zimoun
2021-09-15 11:43 ` Maxime Devos
2021-09-15 14:55   ` zimoun
2021-09-15 14:54 ` [bug#50586] [PATCH v2] gnu: mysql: Add wrapper around mysql_config zimoun
2021-09-20 19:19   ` [bug#50586] [PATCH] gnu: mysql: Propagate runtime dependencies Mathieu Othacehe
2021-09-21  6:26     ` zimoun
2021-09-21  6:35 ` [bug#50586] [PATCH v3] gnu: mysql: Add wrapper around mysql_config zimoun
2021-09-21 14:24   ` bug#50586: [PATCH] gnu: mysql: Propagate runtime dependencies Mathieu Othacehe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).