diff mbox

Call for volunteer(s) for Guix "security" web page

Message ID 20160927182653.GK2569@jasmine
State New
Headers show

Commit Message

Leo Famulari Sept. 27, 2016, 6:26 p.m. UTC
On Tue, Sep 27, 2016 at 10:58:09AM +0200, Ludovic Courtès wrote:
> > +               (h2 "Release signatures")
> > +               (p "Releases of Guix and GuixSD are signed using the OpenPGP "
> > +                  "key with the fingerprint "
> > +                  "3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5.  "
> > +                  "This key can be obtained from XXX.")
> 
> Maybe link to
> <https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html>
> or copy/paste the text?  Though we should give a ‘gpg --recv-keys’
> command that uses the full fingerprint instead of just the 64-bit ID
> (which is still too small, some say.)
> 
> > +               (h2 "Security updates")
> > +               (p "When security vulnerabilities are found in Guix or the "
> > +                  "packages provided by Guix, we will provide "
> > +                  (a (@ (href ,(base-url "manual/html_node/Security-Updates.html")))
> > +                     "security updates")
> > +                  " quickly and with minimal disruption for users.")
> 
> Maybe also that Guix is a “rolling release”, so there’s currently no
> separate security-fix branch and all critical fixes go to master?

I tried to implement these suggestion in the attached patch.

> I wonder if it would make sense to add a note on reproducible builds,
> ‘guix challenge’ and all that; later maybe!

Yes, later. Volunteers still welcome :)

> Note that you’ll then need to commit the resulting HTML to CVS(!) to
> that the update pages show up, as per the instructions available on the
> Savannah project page.  If you’re unsure or anything, I can do that.

I'll try it if this new patch is okay.
From eeff071ec9fbe527a97e2c7487e79e4b843916a1 Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Sun, 25 Sep 2016 18:43:28 -0400
Subject: [PATCH] www: security: New page.

* website/www/security.scm: New file.
* website/www.scm (%web-pages): Add security-page.
* website/www/shared.scm (html-page-links): Add "Security".
---
 website/www.scm          |  2 ++
 website/www/security.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
 website/www/shared.scm   |  1 +
 3 files changed, 58 insertions(+)
 create mode 100644 website/www/security.scm

Comments

Ludovic Courtès Sept. 28, 2016, 9:07 p.m. UTC | #1
Leo Famulari <leo@famulari.name> skribis:

> On Tue, Sep 27, 2016 at 10:58:09AM +0200, Ludovic Courtès wrote:
> From eeff071ec9fbe527a97e2c7487e79e4b843916a1 Mon Sep 17 00:00:00 2001
> From: Leo Famulari <leo@famulari.name>
> Date: Sun, 25 Sep 2016 18:43:28 -0400
> Subject: [PATCH] www: security: New page.
>
> * website/www/security.scm: New file.
> * website/www.scm (%web-pages): Add security-page.
> * website/www/shared.scm (html-page-links): Add "Security".

Very good, go ahead!  :-)

Thank you!

Ludo’.
Leo Famulari Sept. 29, 2016, 3:04 p.m. UTC | #2
On Tue, Sep 27, 2016 at 02:26:53PM -0400, Leo Famulari wrote:
> > Note that you’ll then need to commit the resulting HTML to CVS(!) to
> > that the update pages show up, as per the instructions available on the
> > Savannah project page.  If you’re unsure or anything, I can do that.
> 
> I'll try it if this new patch is okay.

I read some parts of the CVS manual [0].

I checked out the CVS repo over SSH as directed by Savannah. Then, I
copied all the new and changed files created by (export-web-site) in to
the CVS tree.

I want some reassurance that I'm doing the right thing before I do it :)

My plan:

$ cvs add security # The manual says that `cvs add` is not recursive.
$ cvs add security/index.html
$ cvs commit # I think this will commit all changes in tracked files.

Does that look right?

[0] For some reason nongnu.org/cvs directs users to archive.org for the
manual...
https://web.archive.org/web/20130202033128/http://ximbiot.com/cvs/manual/cvs-1.12.13/cvs_7.html#SEC68
Ludovic Courtès Sept. 30, 2016, 12:08 p.m. UTC | #3
Hey Leo,

Leo Famulari <leo@famulari.name> skribis:

> On Tue, Sep 27, 2016 at 02:26:53PM -0400, Leo Famulari wrote:
>> > Note that you’ll then need to commit the resulting HTML to CVS(!) to
>> > that the update pages show up, as per the instructions available on the
>> > Savannah project page.  If you’re unsure or anything, I can do that.
>> 
>> I'll try it if this new patch is okay.
>
> I read some parts of the CVS manual [0].
>
> I checked out the CVS repo over SSH as directed by Savannah. Then, I
> copied all the new and changed files created by (export-web-site) in to
> the CVS tree.
>
> I want some reassurance that I'm doing the right thing before I do it :)
>
> My plan:
>
> $ cvs add security # The manual says that `cvs add` is not recursive.
> $ cvs add security/index.html
> $ cvs commit # I think this will commit all changes in tracked files.
>
> Does that look right?

Right!

In the meantime, I did it myself as I was pushing other changes.  Sorry
for stepping on your toes but hey! now you’re all set for next time!
:-)

Thanks,
Ludo’.
Leo Famulari Sept. 30, 2016, 6:06 p.m. UTC | #4
On Fri, Sep 30, 2016 at 02:08:36PM +0200, Ludovic Courtès wrote:
> Hey Leo,
> 
> Leo Famulari <leo@famulari.name> skribis:
> 
> > On Tue, Sep 27, 2016 at 02:26:53PM -0400, Leo Famulari wrote:
> >> > Note that you’ll then need to commit the resulting HTML to CVS(!) to
> >> > that the update pages show up, as per the instructions available on the
> >> > Savannah project page.  If you’re unsure or anything, I can do that.
> >> 
> >> I'll try it if this new patch is okay.
> >
> > I read some parts of the CVS manual [0].
> >
> > I checked out the CVS repo over SSH as directed by Savannah. Then, I
> > copied all the new and changed files created by (export-web-site) in to
> > the CVS tree.
> >
> > I want some reassurance that I'm doing the right thing before I do it :)
> >
> > My plan:
> >
> > $ cvs add security # The manual says that `cvs add` is not recursive.
> > $ cvs add security/index.html
> > $ cvs commit # I think this will commit all changes in tracked files.
> >
> > Does that look right?
> 
> Right!
> 
> In the meantime, I did it myself as I was pushing other changes.  Sorry
> for stepping on your toes but hey! now you’re all set for next time!
> :-)

Thank you :)
diff mbox

Patch

diff --git a/website/www.scm b/website/www.scm
index f0465eb..244830b 100644
--- a/website/www.scm
+++ b/website/www.scm
@@ -28,6 +28,7 @@ 
   #:use-module (www about)
   #:use-module (www contribute)
   #:use-module (www help)
+  #:use-module (www security)
   #:use-module (sxml simple)
   #:use-module (sxml match)
   #:use-module (web client)
@@ -335,6 +336,7 @@  Distribution.")
     ("donate/index.html" ,donate-page)
     ("download/index.html" ,download-page)
     ("help/index.html" ,help-page)
+    ("security/index.html" ,security-page)
     ;; ("packages/index.html" ,packages-page) ; Need Guix
     ;; ("packages/issues.html" ,issues-page)
     ))
diff --git a/website/www/security.scm b/website/www/security.scm
new file mode 100644
index 0000000..efe8315
--- /dev/null
+++ b/website/www/security.scm
@@ -0,0 +1,55 @@ 
+;;; GuixSD website --- GNU's advanced distro website
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;;
+;;; This file is part of GuixSD website.
+;;;
+;;; GuixSD website is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU Affero General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GuixSD website 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 Affero General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU Affero General Public License
+;;; along with GuixSD website.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (www security)
+  #:use-module (www utils)
+  #:use-module (www shared)
+  #:export (security-page))
+
+(define (security-page)
+  `(html (@ (lang "en"))
+         ,(html-page-header "Security")
+         ,(html-page-links)
+         (div (@ (id "content-box"))
+              (article
+               (h1 "Security")
+               (h2 "How to report security issues")
+               (p "To report sensitive security issues in Guix itself or the packages it "
+                  "provides, you can write to the private mailing list "
+                  (a (@ (href "https://lists.gnu.org/mailman/listinfo/guix-security"))
+                     ("guix-security@gnu.org"))
+                     ".  This list is monitored by a small team of Guix "
+                     "developers.")
+               (h2 "Release signatures")
+               (p "Releases of Guix and GuixSD are signed using the OpenPGP "
+                  "key with the fingerprint "
+                  "3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5.  "
+                  "Users should "
+                  (a (@ (href ,(base-url "manual/html_node/Binary-Installation.html")))
+                     "verify")
+                  " their downloads before extracting or running them.")
+               (h2 "Security updates")
+               (p "When security vulnerabilities are found in Guix or the "
+                  "packages provided by Guix, we will provide "
+                  (a (@ (href ,(base-url "manual/html_node/Security-Updates.html")))
+                     "security updates")
+                  " quickly and with minimal disruption for users.")
+               (p "Guix uses a \"rolling release\" model.  All security "
+                  "bug-fixes are pushed directly to the master branch.  There"
+                  " is no \"stable\" branch that only receives security fixes.")
+               ,(html-page-footer)))))
diff --git a/website/www/shared.scm b/website/www/shared.scm
index ed864ef..04be0f4 100644
--- a/website/www/shared.scm
+++ b/website/www/shared.scm
@@ -88,6 +88,7 @@  Functional package management,")))
 	    ;; Note: valid only if `packages-page' is exported.
 	    (li (a (@ (href ,(base-url "packages"))) "Packages"))
 	    (li (a (@ (href ,(base-url "help"))) "Help"))
+	    (li (a (@ (href ,(base-url "security"))) "Security"))
 	    (li (a (@ (href ,(base-url "contribute"))) "Contribute"))
 	    (li (a (@ (href ,(base-url "donate"))) "Donate"))
 	    (li (a (@ (href ,(base-url "about"))) "About")))))