GNU bug report logs - #55253
nginx-rtmp-module not compatible with nginx

Previous Next

Package: guix-patches;

Reported by: Jack Hill <jackhill <at> jackhill.us>

Date: Wed, 4 May 2022 04:20:02 UTC

Severity: normal

Tags: patch

Done: Jack Hill <jackhill <at> jackhill.us>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55253 in the body.
You can then email your comments to 55253 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to mail <at> cbaines.net, bug-guix <at> gnu.org:
bug#55253; Package guix. (Wed, 04 May 2022 04:20:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jack Hill <jackhill <at> jackhill.us>:
New bug report received and forwarded. Copy sent to mail <at> cbaines.net, bug-guix <at> gnu.org. (Wed, 04 May 2022 04:20:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: bug-guix <at> gnu.org
Subject: nginx-rtmp-module not compatible with nginx
Date: Wed, 4 May 2022 00:19:31 -0400 (EDT)
X-Debbugs-CC: mail <at> cbaines.net

Hi Guix,

nginx currently (Guix commit b80ca672de936a76368de6e6ea0b28505e74d420) 
fails to load the nginx-rtmp-module build from the same Guix commit with 
the following message:

[emerg] 3823#0: module "/gnu/store/qnk6k7wa25w0bk5v8fb6iv524imlm58s-nginx-rtmp-module-1.2.2/etc/nginx/modules/ngx_rtmp_module.so" is not binary compatible in /gnu/store/mz0bck7ha0iqgi1bv4k14b36ycs3bz6k-nginx.conf:1

I wonder if this problem was introduced with the recent nginx changes 
(e.g. a14c6352662bfa6715ec70b3d280a6d1d599ad0c)

Best,
Jack




Information forwarded to bug-guix <at> gnu.org:
bug#55253; Package guix. (Tue, 17 May 2022 05:33:01 GMT) Full text and rfc822 format available.

Message #8 received at 55253 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: 55253 <at> debbugs.gnu.org
Cc: Marius Bakke <marius <at> gnu.org>
Subject: Re: bug#55253: nginx-rtmp-module not compatible with nginx
Date: Tue, 17 May 2022 01:32:22 -0400 (EDT)
On Wed, 4 May 2022, Jack Hill wrote:

> X-Debbugs-CC: mail <at> cbaines.net
>
> Hi Guix,
>
> nginx currently (Guix commit b80ca672de936a76368de6e6ea0b28505e74d420) fails 
> to load the nginx-rtmp-module build from the same Guix commit with the 
> following message:
>
> [emerg] 3823#0: module 
> "/gnu/store/qnk6k7wa25w0bk5v8fb6iv524imlm58s-nginx-rtmp-module-1.2.2/etc/nginx/modules/ngx_rtmp_module.so" 
> is not binary compatible in 
> /gnu/store/mz0bck7ha0iqgi1bv4k14b36ycs3bz6k-nginx.conf:1
>
> I wonder if this problem was introduced with the recent nginx changes (e.g. 
> a14c6352662bfa6715ec70b3d280a6d1d599ad0c)
>
> Best,
> Jack

The problem seems to actually have been introduced with 
c9ce02ecff769449bb79f9f0db33c69e2c7564f0 "nginx: Respect 
#:configure-flags". I suspect that now that the #:configure-flags are 
being respected they've gotten out of sync with nginx-rtmp-module (which 
probably only worked by change before). The likely solution is to find a 
way to re-use the #:configure-flags from the nginx package.

Best,
Jack




bug reassigned from package 'guix' to 'guix-patches'. Request was from Jack Hill <jackhill <at> jackhill.us> to control <at> debbugs.gnu.org. (Sun, 22 May 2022 05:47:02 GMT) Full text and rfc822 format available.

Added tag(s) patch. Request was from Jack Hill <jackhill <at> jackhill.us> to control <at> debbugs.gnu.org. (Sun, 22 May 2022 05:47:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#55253; Package guix-patches. (Sun, 22 May 2022 05:52:01 GMT) Full text and rfc822 format available.

Message #15 received at 55253 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: 55253 <at> debbugs.gnu.org
Subject: [PATCH 0/2] nginx-rtmp-module use nginx's #:configure-flags and
 update to gexps in phases
Date: Sun, 22 May 2022 01:50:57 -0400 (EDT)
These patches buils the nginx-rtmp-module with the same #:configure-flags 
as the nginx package, which fixes the incompatible module problem, and 
update the #:phases to use gexps instead of `assoc-ref`

Jack Hill (2):
  gnu: nginx-rtmp-module: Use #:configure-flags from nginx.
  gnu: nginx-rtmp-module: Use gexps in phases.

 gnu/packages/web.scm | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#55253; Package guix-patches. (Sun, 22 May 2022 05:53:02 GMT) Full text and rfc822 format available.

Message #18 received at 55253 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: 55253 <at> debbugs.gnu.org
Subject: [PATCH 1/2] gnu: nginx-rtmp-module: Use #:configure-flags from nginx.
Date: Sun, 22 May 2022 01:51:56 -0400
* gnu/packages/web.scm (nginx-rtmp-module)[arguments]: Simplify copying
of arguments from nginx and augment #:configure-flags from nginx
rather than overwriting.
---
 gnu/packages/web.scm | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 600ef0c895..50401c07e1 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -785,12 +785,9 @@ (define-public nginx-rtmp-module
      `(("nginx-sources" ,(package-source nginx))
        ,@(package-inputs nginx)))
     (arguments
-     (substitute-keyword-arguments
-         `(#:make-flags '("modules")
-           #:modules ((guix build utils)
-                      (guix build gnu-build-system))
-           ,@(package-arguments nginx)
-           #:configure-flags '("--add-dynamic-module=."))
+     (substitute-keyword-arguments (package-arguments nginx)
+       ((#:configure-flags flags)
+        #~(cons "--add-dynamic-module=." #$flags))
        ((#:phases phases)
         #~(modify-phases #$phases
             (add-after 'unpack 'unpack-nginx-sources
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#55253; Package guix-patches. (Sun, 22 May 2022 05:53:02 GMT) Full text and rfc822 format available.

Message #21 received at 55253 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: 55253 <at> debbugs.gnu.org
Subject: [PATCH 2/2] gnu: nginx-rtmp-module: Use gexps in phases.
Date: Sun, 22 May 2022 01:51:57 -0400
* gnu/packages/web.scm (nginx-rtmp-module)[#:phases]: Use gexps and
remove trailing #t.
---
 gnu/packages/web.scm | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 50401c07e1..c93af29a93 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -791,24 +791,22 @@ (define-public nginx-rtmp-module
        ((#:phases phases)
         #~(modify-phases #$phases
             (add-after 'unpack 'unpack-nginx-sources
-              (lambda* (#:key inputs native-inputs #:allow-other-keys)
+              (lambda _
                 (begin
                   ;; The nginx source code is part of the module’s source.
                   (format #t "decompressing nginx source code~%")
-                  (invoke "tar" "xvf" (assoc-ref inputs "nginx-sources")
+                  (invoke "tar" "xvf" #$(this-package-input "nginx-sources")
                           ;; This package's LICENSE file would be
                           ;; overwritten with the one from nginx when
                           ;; unpacking the nginx source, so rename the nginx
                           ;; one when unpacking.
                           "--transform=s,/LICENSE$,/LICENSE.nginx,"
-                          "--strip-components=1")
-                  #t)))
+                          "--strip-components=1"))))
             (replace 'install
-              (lambda* (#:key outputs #:allow-other-keys)
-                (let ((modules-dir (string-append (assoc-ref outputs "out")
+              (lambda _
+                (let ((modules-dir (string-append #$output
                                                   "/etc/nginx/modules")))
-                  (install-file "objs/ngx_rtmp_module.so" modules-dir)
-                  #t)))
+                  (install-file "objs/ngx_rtmp_module.so" modules-dir))))
             (delete 'fix-root-dirs)
             (delete 'install-man-page)))))
     (home-page "https://github.com/arut/nginx-rtmp-module")
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#55253; Package guix-patches. (Mon, 23 May 2022 12:59:02 GMT) Full text and rfc822 format available.

Message #24 received at 55253 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Jack Hill <jackhill <at> jackhill.us>
Cc: 55253 <at> debbugs.gnu.org
Subject: Re: bug#55253: nginx-rtmp-module not compatible with nginx
Date: Mon, 23 May 2022 14:57:58 +0200
Hi Jack,

Jack Hill <jackhill <at> jackhill.us> skribis:

> * gnu/packages/web.scm (nginx-rtmp-module)[arguments]: Simplify copying
> of arguments from nginx and augment #:configure-flags from nginx
> rather than overwriting.
> ---
>  gnu/packages/web.scm | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
> index 600ef0c895..50401c07e1 100644
> --- a/gnu/packages/web.scm
> +++ b/gnu/packages/web.scm
> @@ -785,12 +785,9 @@ (define-public nginx-rtmp-module
>       `(("nginx-sources" ,(package-source nginx))
>         ,@(package-inputs nginx)))
>      (arguments
> -     (substitute-keyword-arguments
> -         `(#:make-flags '("modules")
> -           #:modules ((guix build utils)
> -                      (guix build gnu-build-system))
> -           ,@(package-arguments nginx)
> -           #:configure-flags '("--add-dynamic-module=."))
> +     (substitute-keyword-arguments (package-arguments nginx)
> +       ((#:configure-flags flags)
> +        #~(cons "--add-dynamic-module=." #$flags))

If I’m not mistaken, #:make-flags and #:modules are lost here, no?
Or were they unnecessary in the first place?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#55253; Package guix-patches. (Mon, 23 May 2022 14:12:01 GMT) Full text and rfc822 format available.

Message #27 received at 55253 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 55253 <at> debbugs.gnu.org
Subject: Re: [bug#55253] nginx-rtmp-module not compatible with nginx
Date: Mon, 23 May 2022 10:11:28 -0400 (EDT)
[Message part 1 (text/plain, inline)]
On Mon, 23 May 2022, Ludovic Courtès wrote:

> Jack Hill <jackhill <at> jackhill.us> skribis:
>>
>> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
>> index 600ef0c895..50401c07e1 100644
>> --- a/gnu/packages/web.scm
>> +++ b/gnu/packages/web.scm
>> @@ -785,12 +785,9 @@ (define-public nginx-rtmp-module
>>       `(("nginx-sources" ,(package-source nginx))
>>         ,@(package-inputs nginx)))
>>      (arguments
>> -     (substitute-keyword-arguments
>> -         `(#:make-flags '("modules")
>> -           #:modules ((guix build utils)
>> -                      (guix build gnu-build-system))
>> -           ,@(package-arguments nginx)
>> -           #:configure-flags '("--add-dynamic-module=."))
>> +     (substitute-keyword-arguments (package-arguments nginx)
>> +       ((#:configure-flags flags)
>> +        #~(cons "--add-dynamic-module=." #$flags))
>
> If I’m not mistaken, #:make-flags and #:modules are lost here, no?
> Or were they unnecessary in the first place?

You are not mistaken, they are lost. They do seem to be unnecessary 
though. nginx is able to load and make use of the module without them.

Best,
Jack

Information forwarded to guix-patches <at> gnu.org:
bug#55253; Package guix-patches. (Fri, 27 May 2022 02:04:02 GMT) Full text and rfc822 format available.

Message #30 received at 55253 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 55253 <at> debbugs.gnu.org
Subject: Re: [bug#55253] nginx-rtmp-module not compatible with nginx
Date: Thu, 26 May 2022 22:02:49 -0400 (EDT)
[Message part 1 (text/plain, inline)]
On Mon, 23 May 2022, Jack Hill wrote:

> On Mon, 23 May 2022, Ludovic Courtès wrote:
>
>> Jack Hill <jackhill <at> jackhill.us> skribis:
>>> 
>>> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
>>> index 600ef0c895..50401c07e1 100644
>>> --- a/gnu/packages/web.scm
>>> +++ b/gnu/packages/web.scm
>>> @@ -785,12 +785,9 @@ (define-public nginx-rtmp-module
>>>       `(("nginx-sources" ,(package-source nginx))
>>>         ,@(package-inputs nginx)))
>>>      (arguments
>>> -     (substitute-keyword-arguments
>>> -         `(#:make-flags '("modules")
>>> -           #:modules ((guix build utils)
>>> -                      (guix build gnu-build-system))
>>> -           ,@(package-arguments nginx)
>>> -           #:configure-flags '("--add-dynamic-module=."))
>>> +     (substitute-keyword-arguments (package-arguments nginx)
>>> +       ((#:configure-flags flags)
>>> +        #~(cons "--add-dynamic-module=." #$flags))
>> 
>> If I’m not mistaken, #:make-flags and #:modules are lost here, no?
>> Or were they unnecessary in the first place?
>
> You are not mistaken, they are lost. They do seem to be unnecessary though. 
> nginx is able to load and make use of the module without them.

I realized the value of the make-flags. It saves effort when building, as 
only the module is build not all of nginx again. The output is identical. 
I'll send a v2 with those added back. I still don't see the value of the 
modules.

Best,
Jack

Information forwarded to guix-patches <at> gnu.org:
bug#55253; Package guix-patches. (Fri, 27 May 2022 02:05:02 GMT) Full text and rfc822 format available.

Message #33 received at 55253 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: 55253 <at> debbugs.gnu.org
Subject: [PATCH v2 1/2] gnu: nginx-rtmp-module: Use #:configure-flags from
 nginx.
Date: Thu, 26 May 2022 22:04:03 -0400
* gnu/packages/web.scm (nginx-rtmp-module)[arguments]: Simplify copying
of arguments from nginx and augment #:configure-flags from nginx
rather than overwriting.
---
 gnu/packages/web.scm | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index ffcb709e82..e349a863d5 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -793,11 +793,10 @@ (define-public nginx-rtmp-module
        ,@(package-inputs nginx)))
     (arguments
      (substitute-keyword-arguments
-         `(#:make-flags '("modules")
-           #:modules ((guix build utils)
-                      (guix build gnu-build-system))
-           ,@(package-arguments nginx)
-           #:configure-flags '("--add-dynamic-module=."))
+         `(#:make-flags '("modules") ;Only build this module not all of nginx.
+           ,@(package-arguments nginx))
+       ((#:configure-flags flags)
+        #~(cons "--add-dynamic-module=." #$flags))
        ((#:phases phases)
         #~(modify-phases #$phases
             (add-after 'unpack 'unpack-nginx-sources
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#55253; Package guix-patches. (Fri, 27 May 2022 02:05:02 GMT) Full text and rfc822 format available.

Message #36 received at 55253 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: 55253 <at> debbugs.gnu.org
Subject: [PATCH v2 2/2] gnu: nginx-rtmp-module: Use gexps in phases.
Date: Thu, 26 May 2022 22:04:04 -0400
* gnu/packages/web.scm (nginx-rtmp-module)[#:phases]: Use gexps and
remove trailing #t.
---
 gnu/packages/web.scm | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index e349a863d5..d321348eed 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -800,24 +800,22 @@ (define-public nginx-rtmp-module
        ((#:phases phases)
         #~(modify-phases #$phases
             (add-after 'unpack 'unpack-nginx-sources
-              (lambda* (#:key inputs native-inputs #:allow-other-keys)
+              (lambda _
                 (begin
                   ;; The nginx source code is part of the module’s source.
                   (format #t "decompressing nginx source code~%")
-                  (invoke "tar" "xvf" (assoc-ref inputs "nginx-sources")
+                  (invoke "tar" "xvf" #$(this-package-input "nginx-sources")
                           ;; This package's LICENSE file would be
                           ;; overwritten with the one from nginx when
                           ;; unpacking the nginx source, so rename the nginx
                           ;; one when unpacking.
                           "--transform=s,/LICENSE$,/LICENSE.nginx,"
-                          "--strip-components=1")
-                  #t)))
+                          "--strip-components=1"))))
             (replace 'install
-              (lambda* (#:key outputs #:allow-other-keys)
-                (let ((modules-dir (string-append (assoc-ref outputs "out")
+              (lambda _
+                (let ((modules-dir (string-append #$output
                                                   "/etc/nginx/modules")))
-                  (install-file "objs/ngx_rtmp_module.so" modules-dir)
-                  #t)))
+                  (install-file "objs/ngx_rtmp_module.so" modules-dir))))
             (delete 'fix-root-dirs)
             (delete 'install-man-page)))))
     (home-page "https://github.com/arut/nginx-rtmp-module")
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#55253; Package guix-patches. (Fri, 27 May 2022 13:03:02 GMT) Full text and rfc822 format available.

Message #39 received at 55253 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Jack Hill <jackhill <at> jackhill.us>
Cc: 55253 <at> debbugs.gnu.org
Subject: Re: [bug#55253] [PATCH v2 2/2] gnu: nginx-rtmp-module: Use gexps in
 phases.
Date: Fri, 27 May 2022 14:01:35 +0100
[Message part 1 (text/plain, inline)]
I've pushed these two patches as
0e953f3332cc862b08ecb2342bdac9976dd6d08c and
0e953f3332cc862b08ecb2342bdac9976dd6d08c now.

Thanks,

Chris
[signature.asc (application/pgp-signature, inline)]

Reply sent to Jack Hill <jackhill <at> jackhill.us>:
You have taken responsibility. (Fri, 27 May 2022 21:48:02 GMT) Full text and rfc822 format available.

Notification sent to Jack Hill <jackhill <at> jackhill.us>:
bug acknowledged by developer. (Fri, 27 May 2022 21:48:02 GMT) Full text and rfc822 format available.

Message #44 received at 55253-done <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 55253-done <at> debbugs.gnu.org
Subject: Re: [bug#55253] [PATCH v2 2/2] gnu: nginx-rtmp-module: Use gexps in
 phases.
Date: Fri, 27 May 2022 17:47:03 -0400 (EDT)
On Fri, 27 May 2022, Christopher Baines wrote:

> I've pushed these two patches as
> 0e953f3332cc862b08ecb2342bdac9976dd6d08c and
> 0e953f3332cc862b08ecb2342bdac9976dd6d08c now.
>
> Thanks,
>
> Chris

Thanks, and closing!
Jack




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 25 Jun 2022 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 300 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.