all messages for Guix-related lists mirrored at yhetil.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.