diff mbox

[WIP] gnu: Add debbugs.

Message ID 87zimti03i.fsf@we.make.ritual.n0.is
State New
Headers show

Commit Message

ng0 Sept. 27, 2016, 8:01 p.m. UTC
So, here's debbugs. Disclaimer: I never ran or did setup or got in any
way in touch with debbugs on a server.

Input welcome to adjust. All I know is that we'll need a service to make
this work. I have no reasonable interest in this, so I won't go all the
way. I'd like to fix this package up as far as usage goes.
I can not test it running, but from the build/install perspective it is
done. There are structures in code which can be changed etc, but this
was done in about ~30 minutes to get some input as I thought, hey we use
debbugs.. why do we not have debbugs packaged already?

Comments

Ludovic Courtès Sept. 30, 2016, 4:15 p.m. UTC | #1
ng0 <ngillmann@runbox.com> skribis:

> So, here's debbugs. Disclaimer: I never ran or did setup or got in any
> way in touch with debbugs on a server.
>
> Input welcome to adjust. All I know is that we'll need a service to make
> this work. I have no reasonable interest in this, so I won't go all the
> way. I'd like to fix this package up as far as usage goes.
> I can not test it running, but from the build/install perspective it is
> done. There are structures in code which can be changed etc, but this
> was done in about ~30 minutes to get some input as I thought, hey we use
> debbugs.. why do we not have debbugs packaged already?

Because nobody did it I guess.

Could you send an non-WIP patch?  Since you mark it as WIP, people most
likely don’t look at it, because there’s already so many patches to
review.  Please take extra time to test it and resend when you think
it’s ready to apply.

Thank you!

Ludo’.
ng0 Sept. 30, 2016, 5:53 p.m. UTC | #2
Ludovic Courtès <ludo@gnu.org> writes:

> ng0 <ngillmann@runbox.com> skribis:
>
>> So, here's debbugs. Disclaimer: I never ran or did setup or got in any
>> way in touch with debbugs on a server.
>>
>> Input welcome to adjust. All I know is that we'll need a service to make
>> this work. I have no reasonable interest in this, so I won't go all the
>> way. I'd like to fix this package up as far as usage goes.
>> I can not test it running, but from the build/install perspective it is
>> done. There are structures in code which can be changed etc, but this
>> was done in about ~30 minutes to get some input as I thought, hey we use
>> debbugs.. why do we not have debbugs packaged already?
>
> Because nobody did it I guess.
>
> Could you send an non-WIP patch?  Since you mark it as WIP, people most
> likely don’t look at it, because there’s already so many patches to
> review.  Please take extra time to test it and resend when you think
> it’s ready to apply.
>
> Thank you!
>
> Ludo’.
>

Technically this is finished and can be applied on master. Why I can't
test it I have described in the text above the email - I have no idea
how debbugs behaves, what is  expected etc.. that's why I think someone
with an interest to replace debbugs on their (mostly) debian based
server with debbugs from Guix should test it.
--
diff mbox

Patch

From 94491aaeb2e006ef293c30b7445c81060cd96da9 Mon Sep 17 00:00:00 2001
From: ng0 <ngillmann@runbox.com>
Date: Tue, 27 Sep 2016 19:55:34 +0000
Subject: [PATCH] gnu: Add debbugs.

* gnu/packages/debbugs.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk             |   1 +
 gnu/packages/debbugs.scm | 106 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 107 insertions(+)
 create mode 100644 gnu/packages/debbugs.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index c2cdf8b..ff5f4c8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -91,6 +91,7 @@  GNU_SYSTEM_MODULES =				\
   %D%/packages/dav.scm				\
   %D%/packages/dc.scm				\
   %D%/packages/debug.scm			\
+  %D%/packages/debbugs.scm                      \
   %D%/packages/dejagnu.scm			\
   %D%/packages/dico.scm				\
   %D%/packages/dictionaries.scm			\
diff --git a/gnu/packages/debbugs.scm b/gnu/packages/debbugs.scm
new file mode 100644
index 0000000..37d4d01
--- /dev/null
+++ b/gnu/packages/debbugs.scm
@@ -0,0 +1,106 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages debbugs)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages links)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages mail)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix utils)
+  #:use-module (guix build-system gnu))
+
+(define-public debbugs
+  (package
+    (name "debbugs")
+    (version "2.4.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://debian/pool/main/d/debbugs/"
+                           name "_" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1j6zg7g2d97ihc8ydb9pl56xyh2x202vk7l3cld01xaa5ssxlxgs"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("perl" ,perl)
+       ("links" ,links)))
+    (arguments
+     `(#:tests? #f ; No checks
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure ; No configure
+           (lambda _
+             (substitute* "Makefile"
+               (("/usr") ""))
+             (setenv "DESTDIR" (assoc-ref %outputs "out"))))
+         (add-before 'build 'create-missing-dir
+           (lambda _
+             (mkdir-p (string-append (assoc-ref %outputs "out")
+                                     "/share/doc/debbugs"))))
+         (add-before 'build 'fix-it-all
+           (lambda _
+             (substitute* (list "cgi/pkgreport.cgi" "cgi/bugreport.cgi" "cgi/common.pl"
+                                "scripts/processall.in" "scripts/rebuild.in"
+                                "scripts/service.in" "scripts/db2html.in" "scripts/config.in"
+                                "scripts/html-control.in" "scripts/summary.in"
+                                "scripts/process.in" "scripts/expire.in"
+                                "scripts/receive.in" "scripts/mailsummary.in"
+                                "html/Reporting.html.in" "debbugs-service")
+               (("/usr")
+                (assoc-ref %outputs "out")))
+             (substitute* "debian/debbugsconfig"
+               (("/etc")
+                (string-append (assoc-ref %outputs "out") "/etc"))
+               (("/usr/share/debbugs/examples/")
+                (string-append (assoc-ref %outputs "out")
+                               "/share/debbugs/examples/"))
+               (("/usr/bin/links")
+                (string-append (assoc-ref %build-inputs "links")
+                               "/bin/links")))
+             (substitute* "scripts/config.in"
+               (("/etc")
+                (string-append (assoc-ref %outputs "out") "/etc"))
+               (("/var")
+                (string-append (assoc-ref %outputs "out") "/var"))
+               (("/debian")
+                (string-append (assoc-ref %outputs "out") "/debian")))))
+         (add-after 'install 'wrap-programs
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Make sure all executables in "bin" find the Perl modules
+             ;; provided by this package at runtime.
+             (let* ((out  (assoc-ref outputs "out"))
+                    (bin  (string-append out "/bin/"))
+                    (path (getenv "PERL5LIB")))
+               (for-each (lambda (file)
+                           (wrap-program file
+                             `("PERL5LIB" ":" prefix (,path))))
+                         (find-files bin "\\.*$"))
+               #t))))))
+    (home-page "http://www.debian.org/Bugs/")
+    (synopsis "Bug tracking system based on the active Debian BTS")
+    (description
+     "Debbugs is a bug tracking system which files details of bugs reported
+by users and developers.  Each bug is given a number, and is kept on file
+until it is marked as having been dealt with.  The system is mainly
+controlled by e-mail, but the bug reports can be viewed using the WWW.")
+    (license license:gpl2)))
-- 
2.10.0