The branch master has been updated
       via  574a269efd409a480d1eef665dddb7362156d70a (commit)
      from  b89fd121a046015bb70865060d6cf7f3268b36f0 (commit)


- Log -----------------------------------------------------------------
commit 574a269efd409a480d1eef665dddb7362156d70a
Author: Richard Levitte <levi...@openssl.org>
Date:   Wed Jun 13 19:19:13 2018 +0200

    Generate OMC Members and OMC Alumni
    
    This simplifies our lives when we need to do changes, since we already
    have a personell database.
    
    Reviewed-by: Rich Salz <rs...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/60)

-----------------------------------------------------------------------

Summary of changes:
 Makefile                  |  8 +++-
 bin/mk-omc                | 95 +++++++++++++++++++++++++++++++++++++++++++++++
 community/omc-alumni.html | 67 +--------------------------------
 community/omc.html        | 63 +------------------------------
 4 files changed, 104 insertions(+), 129 deletions(-)
 create mode 100755 bin/mk-omc

diff --git a/Makefile b/Makefile
index d53b50c..a495e0c 100644
--- a/Makefile
+++ b/Makefile
@@ -12,6 +12,7 @@ RELEASEDIR = /var/www/openssl/source
 # All simple generated files.
 SIMPLE = newsflash.inc sitemap.txt \
         community/committers.inc \
+        community/omc.inc community/omc-alumni.inc \
         docs/faq.inc docs/fips.inc \
          news/changelog.inc news/changelog.txt \
          news/cl102.txt news/cl110.txt news/cl111.txt \
@@ -78,7 +79,7 @@ manmaster:
        $(call newmakemanpages,$(CHECKOUTS)/openssl,master)
 
 ## $(SIMPLE) -- SIMPLE GENERATED FILES
-.PHONY: sitemap community/committers.inc
+.PHONY: sitemap community/committers.inc community/omc.inc 
community/omc-alumni.inc
 newsflash.inc: news/newsflash.inc
        @rm -f $@
        head -7 $? >$@
@@ -92,6 +93,11 @@ community/committers.inc:
        ./bin/mk-committers <Members >$@
        @rm -f Members
 
+community/omc.inc:
+       ./bin/mk-omc -n -e -l -p -t 'OMC Members' omc omc-inactive > $@
+community/omc-alumni.inc:
+       ./bin/mk-omc -n -l -t 'OMC Alumni' omc-alumni omc-emeritus > $@
+
 docs/faq.inc: $(wildcard docs/faq-[0-9]-*.txt) bin/mk-faq
        @rm -f $@
        ./bin/mk-faq docs/faq-[0-9]-*txt >$@
diff --git a/bin/mk-omc b/bin/mk-omc
new file mode 100755
index 0000000..5832710
--- /dev/null
+++ b/bin/mk-omc
@@ -0,0 +1,95 @@
+#! /usr/bin/perl
+
+use strict;
+use warnings;
+
+use Getopt::Long;
+use Pod::Usage;
+use OpenSSL::Query::REST;
+
+my %options = ();
+GetOptions(
+    \%options,
+    'name|n',                  # Show name
+    'email|e',                 # Show email
+    'locale|l',                        # Show locale
+    'pgp|p',                   # Show PGP key ID
+    'activity|a',              # Show whether person is active
+    'title|t=s',               # Title of the resulting table
+    'help|?',                  # Help
+    'man',                     # Full manual
+   ) or pod2usage(2);
+
+pod2usage(1) unless $options{title};
+pod2usage(1)
+    unless ($options{name} || $options{email} || $options{locale}
+               || $options{activity} || $options{pgp});
+pod2usage(1) if $options{help};
+pod2usage(-exitval => 0, -verbose => 2) if $options{man};
+
+my $query = OpenSSL::Query->new();
+
+my %data = ();                 # Indexed by name, value is a hash table of vals
+foreach my $groupname (@ARGV) {
+    my @members = $query->members_of($groupname);
+    foreach my $ids (@members) {
+       my $name = (grep m|\s|, @$ids)[0];
+       my $email = (grep m|\@openssl\.org$|, @$ids)[0];
+       my $locale = $query->find_person_tag($email, 'country');
+       my $pgpid = $query->find_person_tag($email, 'pgp');
+       $data{$name} = { email => $email, locale => $locale, pgpid => $pgpid,
+                        active => !!($groupname !~ m|-inactive$|),
+                        emeritus => !!($groupname =~ m|-emeritus$|) };
+    }
+}
+
+my @columns = ();
+push @columns, 'Name' if $options{name};
+push @columns, 'Email' if $options{email};
+push @columns, 'Locale' if $options{locale};
+push @columns, 'PGP Key ID' if $options{pgp};
+
+print "<table summary=\"$options{title}\">\n";
+print "  <tr>\n";
+print join("    <th>&nbsp;&nbsp;</th>\n",
+          map { "    <th>$_</th>\n" } @columns);
+print "  </tr>\n";
+
+foreach my $key (sort { my $sortablename_a =
+                           ($a =~ m|^(\S+(?:\s\S\.)?)\s+(.*)$|,
+                            "$2, $1");
+                       my $sortablename_b =
+                           ($b =~ m|^(\S+(?:\s\S\.)?)\s+(.*)$|,
+                            "$2, $1");
+                       $sortablename_a cmp $sortablename_b }
+                    keys %data) {
+    my $pgpurl = $data{$key}->{pgpid} if $options{pgp};
+    $pgpurl =~ s|\s+||g if $pgpurl;
+    $pgpurl =
+       
"http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x$pgpurl";
+       if $pgpurl;
+
+    my @columndata = ();
+    push @columndata,
+       join('',
+            $data{$key}->{active} ? "" : "<i>",
+            "$key",
+            $data{$key}->{active} ? "" : "</i> (I)",
+            $data{$key}->{emeritus} ? " (OMC Emeritus)" : "")
+       if $options{name};
+    push @columndata,
+       "<a href='mailto:$data{$key}->{email}'>$data{$key}->{email}</a>"
+       if $options{email};
+    push @columndata, $data{$key}->{locale} if $options{locale};
+    push @columndata,
+       $data{$key}->{pgpid}
+       ? "<a href='$pgpurl'>$data{$key}->{pgpid}</a>" : '&nbsp;'
+       if $options{pgp};
+
+    print "  <tr>\n";
+    print join("    <td>&nbsp;&nbsp;</td>\n",
+              map { "    <td>$_</td>\n" } @columndata);
+    print "  </tr>\n";
+}
+
+print "</table>\n";
diff --git a/community/omc-alumni.html b/community/omc-alumni.html
index 0581a62..2c1416d 100644
--- a/community/omc-alumni.html
+++ b/community/omc-alumni.html
@@ -16,73 +16,8 @@
                following alumni (who were previously in the OMC, or a
                team member or founder prior to creation of the OMC):
              </p>
-             <table summary="OMC Alumni">
-               <tr>
-                 <td>Name</td>
-                 <td>Locale&nbsp;</td>
-               </tr>
 
-               <tr>
-                 <td>Ralf S. Engelschall&nbsp;&nbsp;</td>
-                 <td>DE</td>
-               </tr>
-
-               <tr>
-                 <td>Dr. Stephen Henson (OMC Emeritus)&nbsp;&nbsp;</td>
-                 <td>UK</td>
-               </tr>
-
-               <tr>
-                 <td>Lutz J&auml;nicke&nbsp;&nbsp;</td>
-                 <td>DE</td>
-               </tr>
-
-               <tr>
-                 <td>Emilia K&auml;sper&nbsp;&nbsp;</td>
-                 <td>CH</td>
-               </tr>
-
-               <tr>
-                 <td>Nils Larsch&nbsp;&nbsp;</td>
-                 <td>DE</td>
-               </tr>
-
-               <tr>
-                 <td>Steve Marquess</td>
-                 <td>US</td>
-               </tr>
-
-               <tr>
-                 <td>Ben Laurie&nbsp;&nbsp;</td>
-                 <td>UK</td>
-               </tr>
-
-               <tr>
-                 <td>Bodo M&ouml;ller&nbsp;&nbsp;</td>
-                 <td>CH</td>
-               </tr>
-
-               <tr>
-                 <td>Andy Polyakov&nbsp;&nbsp;</td>
-                 <td>SE</td>
-               </tr>
-
-               <tr>
-                 <td>Holger Reif&nbsp;&nbsp;</td>
-                 <td>DE</td>
-               </tr>
-
-               <tr>
-                 <td>Paul C. Sutton&nbsp;&nbsp;</td>
-                 <td>UK</td>
-               </tr>
-
-               <tr>
-                 <td>Geoff Thorpe&nbsp;&nbsp;</td>
-                 <td>QC</td>
-               </tr>
-
-             </table>
+             <!--#include virtual="omc-alumni.inc" -->
 
              <p>&nbsp;</p>
 
diff --git a/community/omc.html b/community/omc.html
index dd78706..2a4a01a 100644
--- a/community/omc.html
+++ b/community/omc.html
@@ -20,70 +20,9 @@
          <p>
          The current OMC consists of (in alphabetical order):
          </p>
-         <table summary="OMC Members">
-           <tr>
-             <td>Name</td>
-             <td>Email</td>
-             <td>Locale&nbsp;</td>
-             <td>PGP Key ID</td>
-           </tr>
 
-            <tr>
-              <td>Matt Caswell</td>
-              <td><a href="mailto:m...@openssl.org";>m...@openssl.org</a></td>
-              <td>UK</td>
-              <td><a
-                  
href="http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x8657ABB260F056B1E5190839D9C4D26D0E604491";>8657
 ABB2 60F0 56B1 E519 0839 D9C4 D26D 0E60 4491</a></td>
-            </tr>
+         <!--#include virtual="omc.inc" -->
 
-            <tr>
-              <td>Mark J. Cox</td>
-              <td><a href="mailto:m...@openssl.org";>m...@openssl.org</a></td>
-              <td>UK</td>
-              <td><a
-                  
href="http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x5B2545DAB21995F4088CEFAA36CEE4DEB00CFE33";>5B25
 45DA B219 95F4 088C EFAA 36CE E4DE B00C FE33</a></td>
-            </tr>
-
-            <tr>
-              <td>Viktor Dukhovni</td>
-              <td><a 
href="mailto:vik...@openssl.org";>vik...@openssl.org</a></td>
-              <td>US</td>
-              <td>&nbsp;</td>
-            </tr>
-
-            <tr>
-              <td>Tim Hudson</td>
-              <td><a href="mailto:t...@openssl.org";>t...@openssl.org</a></td>
-              <td>AU</td>
-              <td><a
-                  
href="http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0xC1F33DD8CE1D4CC613AF14DA9195C48241FBF7DD";>C1F3
 3DD8 CE1D 4CC6 13AF 14DA 9195 C482 41FB F7DD</a></td>
-            </tr>
-
-            <tr>
-              <td>Richard Levitte</td>
-              <td><a 
href="mailto:levi...@openssl.org";>levi...@openssl.org</a></td>
-              <td>SE</td>
-              <td><a
-                  
href="http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C";>7953
 AC1F BC3D C8B3 B292 393E D5E9 E43F 7DF9 EE8C</a></td>
-            </tr>
-
-            <tr>
-              <td>Kurt Roeckx</td>
-              <td><a href="mailto:k...@openssl.org";>k...@openssl.org</a></td>
-              <td>BE</td>
-              <td><a
-                  
href="http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0xE5E52560DD91C556DDBDA5D02064C53641C25E5D";>E5E5
 2560 DD91 C556 DDBD A5D0 2064 C536 41C2 5E5D</a></td>
-            </tr>
-
-            <tr>
-              <td>Rich Salz</td>
-              <td><a href="mailto:rs...@openssl.org";>rs...@openssl.org</a></td>
-              <td>US</td>
-              <td><a
-                  
href="http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0xD099684DC7C21E02E14A8AFEF23479455C51B27C";>D099
 684D C7C2 1E02 E14A 8AFE F234 7945 5C51 B27C</a></td>
-            </tr>
-
-         </table>
           Names with an (I) are currently inactive as defined in our
           <a href="/policies/omc-bylaws.html">bylaws</a>.
 
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to