user/dev discussion of public-inbox itself
 help / color / Atom feed
* [PATCH 0/5] build, website, and speling updates
@ 2020-01-24 22:09 Eric Wong
  2020-01-24 22:09 ` [PATCH 1/5] doc: avoid needless rebuilds of NEWS Eric Wong
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Eric Wong @ 2020-01-24 22:09 UTC (permalink / raw)
  To: meta

Relax, the website is still a directory listing :>

Eric Wong (5):
  doc: avoid constantly rebuilding NEWS file
  build: re-add top-level ALLCAPS files to website target
  doc: INSTALL describe required deps for released versions
  build: do not upload technical/ or other subdirs to website
  spelling: favor `publicly' over `publically'

 Documentation/include.mk                 |  7 +------
 Documentation/mknews.perl                | 16 ++++++++++++----
 Documentation/public-inbox-v2-format.pod |  2 +-
 INSTALL                                  | 23 +++++++++++++----------
 Makefile.PL                              |  8 ++++++--
 TODO                                     |  2 +-
 lib/PublicInbox/SolverGit.pm             |  2 +-
 lib/PublicInbox/View.pm                  |  2 +-
 8 files changed, 36 insertions(+), 26 deletions(-)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/5] doc: avoid needless rebuilds of NEWS
  2020-01-24 22:09 [PATCH 0/5] build, website, and speling updates Eric Wong
@ 2020-01-24 22:09 ` Eric Wong
  2020-01-24 22:09 ` [PATCH 2/5] website: re-add top-level files Eric Wong
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Eric Wong @ 2020-01-24 22:09 UTC (permalink / raw)
  To: meta

Repeatedly rebuilding `NEWS' because the mtime of `NEWS'
is synched to the latest release .eml is a bit annoying,
but necessary to save bandwidth for the website.

So we'll also update the mtime of the source .eml file when
reading them.  It's kinda gross to be setting mtimes of source
.eml files in Documentation/RelNotes/, but I can't think of
anything better at the moment...
---
 Documentation/include.mk  |  7 +------
 Documentation/mknews.perl | 16 ++++++++++++----
 Makefile.PL               |  3 +++
 3 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/Documentation/include.mk b/Documentation/include.mk
index 0229bf40..3d88fcec 100644
--- a/Documentation/include.mk
+++ b/Documentation/include.mk
@@ -62,12 +62,7 @@ Documentation/standards.txt : Documentation/standards.perl
 	touch -r Documentation/standards.perl $@+
 	mv $@+ $@
 
-RELEASES =
-RELEASES += v1.2.0
-RELEASES += v1.1.0-pre1
-RELEASES += v1.0.0
-
-NEWS NEWS.atom NEWS.html : Documentation/include.mk
+NEWS NEWS.atom NEWS.html : $(news_deps)
 	$(PERL) -I lib -w Documentation/mknews.perl $@ $(RELEASES)
 
 # check for internal API changes:
diff --git a/Documentation/mknews.perl b/Documentation/mknews.perl
index 3efabdb5..71b1a996 100755
--- a/Documentation/mknews.perl
+++ b/Documentation/mknews.perl
@@ -21,8 +21,8 @@ my $atom_url = 'https://public-inbox.org/NEWS.atom';
 my $addr = 'meta@public-inbox.org';
 
 my $latest = shift(@releases) or die 'no releases?';
-my $mime_latest = release2mime($latest);
-my $mtime = msg_datestamp($mime_latest->header_obj);
+my $mtime;
+my $mime_latest = release2mime($latest, \$mtime);
 my $tmp = "$dst+";
 my $out;
 if ($dst eq 'NEWS') {
@@ -73,9 +73,17 @@ rename($tmp, $dst) or die;
 exit 0;
 
 sub release2mime {
-	my $f = "$dir/$_[0].eml";
+	my ($release, $mtime_ref) = @_;
+	my $f = "$dir/$release.eml";
 	open(my $fh, '<', $f) or die "open($f): $!";
-	PublicInbox::MIME->new(do { local $/; <$fh> });
+	my $mime = PublicInbox::MIME->new(do { local $/; <$fh> });
+	# Documentation/include.mk relies on mtimes of each .eml file
+	# to trigger rebuild, so make sure we sync the mtime to the Date:
+	# header in the .eml
+	my $mtime = msg_datestamp($mime->header_obj);
+	utime($mtime, $mtime, $fh) or warn "futimes $f: $!";
+	$$mtime_ref = $mtime if $mtime_ref;
+	$mime;
 }
 
 sub mime2txt {
diff --git a/Makefile.PL b/Makefile.PL
index 94ec16c6..2b3c7fd0 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -8,6 +8,8 @@ chomp(my @manifest = (<$m>));
 my @EXE_FILES = grep(m!^script/!, @manifest);
 my $v = {};
 my $t = {};
+my @RELEASES = qw(v1.2.0 v1.1.0-pre1 v1.0.0); # do not sort
+$v->{news_deps} = [ map { "Documentation/RelNotes/$_.eml" } @RELEASES ];
 $v->{txt} = [ qw(INSTALL README COPYING TODO HACKING) ];
 my @dtxt = grep(m!\ADocumentation/.*\.txt\z!, @manifest);
 push @dtxt, 'Documentation/standards.txt';
@@ -91,6 +93,7 @@ my $VARS = join("\n", map {;
 	my $varname = $_;
 	join('', map { "$varname += $_\n" } sort @{$v->{$varname}});
 } grep(!/^-/, sort keys %$v));
+$VARS .= "\nRELEASES = ".join(' ', @RELEASES)."\n";
 
 # Don't waste user's disk space by installing some pods from
 # imported code or internal use only

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/5] website: re-add top-level files
  2020-01-24 22:09 [PATCH 0/5] build, website, and speling updates Eric Wong
  2020-01-24 22:09 ` [PATCH 1/5] doc: avoid needless rebuilds of NEWS Eric Wong
@ 2020-01-24 22:09 ` Eric Wong
  2020-01-24 22:09 ` [PATCH 3/5] doc: INSTALL describe required deps for released versions Eric Wong
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Eric Wong @ 2020-01-24 22:09 UTC (permalink / raw)
  To: meta

I noticed the TODO was out-of-date on the website, among some
other things.  This was broken in moving GNU-isms in the
Makefile to Perl.
---
 Makefile.PL | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile.PL b/Makefile.PL
index 2b3c7fd0..46ef99f9 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -13,9 +13,10 @@ $v->{news_deps} = [ map { "Documentation/RelNotes/$_.eml" } @RELEASES ];
 $v->{txt} = [ qw(INSTALL README COPYING TODO HACKING) ];
 my @dtxt = grep(m!\ADocumentation/.*\.txt\z!, @manifest);
 push @dtxt, 'Documentation/standards.txt';
+push @dtxt, @{$v->{txt}};
 for my $txt (@dtxt) {
 	my $html = $txt;
-	$html =~ s/\.txt\z/.html/;
+	$html =~ s/\.txt\z/.html/ or $html .= '.html';
 	$t->{"$html : $txt"} = [ "\$(txt2pre) <$txt" ];
 }
 $v->{t_slash_star_dot_t} = [ grep(m!\At/.*\.t\z!, @manifest) ];

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 3/5] doc: INSTALL describe required deps for released versions
  2020-01-24 22:09 [PATCH 0/5] build, website, and speling updates Eric Wong
  2020-01-24 22:09 ` [PATCH 1/5] doc: avoid needless rebuilds of NEWS Eric Wong
  2020-01-24 22:09 ` [PATCH 2/5] website: re-add top-level files Eric Wong
@ 2020-01-24 22:09 ` Eric Wong
  2020-01-24 22:09 ` [PATCH 4/5] website: omit technical/ and other subdirs Eric Wong
  2020-01-24 22:09 ` [PATCH 5/5] spelling: favor `publicly' over `publically' Eric Wong
  4 siblings, 0 replies; 6+ messages in thread
From: Eric Wong @ 2020-01-24 22:09 UTC (permalink / raw)
  To: meta

1.3.0 isn't out, yet, and sometimes folks will rely on
INSTALL on our website while installing older versions,
so try to clarify that.
---
 INSTALL | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/INSTALL b/INSTALL
index f834b49f..2f7b9972 100644
--- a/INSTALL
+++ b/INSTALL
@@ -44,17 +44,25 @@ Beyond that, there is a long list of Perl modules required, starting with:
                                    rpm: perl-URI
                                    (for HTML/Atom generation)
 
-Where "deb" indicates package names for Debian-derived distributions,
-"pkg" is for the FreeBSD package (maybe other common BSDs, too), and
-"rpm" is for RPM-based distributions (only known to work on Fedora).
-
-Numerous optional modules are likely to be useful as well:
+Plack and Date::Parse will be optional when v1.3.0 is released,
+but required for current and older releases:
 
 * Plack                            deb: libplack-perl
                                    pkg: p5-Plack
                                    rpm: perl-Plack, perl-Plack-Test,
                                    (for HTML/Atom generation)
 
+- Date::Parse                      deb: libtimedate-perl
+                                   pkg: p5-TimeDate
+                                   rpm: perl-TimeDate
+                                   (for broken, mostly historical emails)
+
+Where "deb" indicates package names for Debian-derived distributions,
+"pkg" is for the FreeBSD package (maybe other common BSDs, too), and
+"rpm" is for RPM-based distributions (only known to work on Fedora).
+
+Numerous optional modules are likely to be useful as well:
+
 - DBD::SQLite                      deb: libdbd-sqlite3-perl
                                    pkg: p5-DBD-SQLite
                                    rpm: perl-DBD-SQLite
@@ -77,11 +85,6 @@ Numerous optional modules are likely to be useful as well:
                                    (speeds up process spawning on Linux,
                                     see public-inbox-daemon(8))
 
-- Date::Parse                      deb: libtimedate-perl
-                                   pkg: p5-TimeDate
-                                   rpm: perl-TimeDate
-                                   (for broken, mostly historical emails)
-
 - Plack::Middleware::ReverseProxy  deb: libplack-middleware-reverseproxy-perl
                                    pkg: p5-Plack-Middleware-ReverseProxy
                                    rpm: perl-Plack-Middleware-ReverseProxy

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 4/5] website: omit technical/ and other subdirs
  2020-01-24 22:09 [PATCH 0/5] build, website, and speling updates Eric Wong
                   ` (2 preceding siblings ...)
  2020-01-24 22:09 ` [PATCH 3/5] doc: INSTALL describe required deps for released versions Eric Wong
@ 2020-01-24 22:09 ` Eric Wong
  2020-01-24 22:09 ` [PATCH 5/5] spelling: favor `publicly' over `publically' Eric Wong
  4 siblings, 0 replies; 6+ messages in thread
From: Eric Wong @ 2020-01-24 22:09 UTC (permalink / raw)
  To: meta

We don't need to clutter the website with unnecessary technical
information.  Anybody who reads the technical/ directory should
be looking at our source code, anyways; and we also have cgit
and gitweb mirrors.
---
 Makefile.PL | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.PL b/Makefile.PL
index 46ef99f9..d626aef4 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -11,7 +11,7 @@ my $t = {};
 my @RELEASES = qw(v1.2.0 v1.1.0-pre1 v1.0.0); # do not sort
 $v->{news_deps} = [ map { "Documentation/RelNotes/$_.eml" } @RELEASES ];
 $v->{txt} = [ qw(INSTALL README COPYING TODO HACKING) ];
-my @dtxt = grep(m!\ADocumentation/.*\.txt\z!, @manifest);
+my @dtxt = grep(m!\ADocumentation/[^/]+\.txt\z!, @manifest);
 push @dtxt, 'Documentation/standards.txt';
 push @dtxt, @{$v->{txt}};
 for my $txt (@dtxt) {

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 5/5] spelling: favor `publicly' over `publically'
  2020-01-24 22:09 [PATCH 0/5] build, website, and speling updates Eric Wong
                   ` (3 preceding siblings ...)
  2020-01-24 22:09 ` [PATCH 4/5] website: omit technical/ and other subdirs Eric Wong
@ 2020-01-24 22:09 ` Eric Wong
  4 siblings, 0 replies; 6+ messages in thread
From: Eric Wong @ 2020-01-24 22:09 UTC (permalink / raw)
  To: meta

While both can be correct, the former seems more common,
is shorter, and is also consistent with the spelling found
in the AGPL-3.0 text.
---
 Documentation/public-inbox-v2-format.pod | 2 +-
 TODO                                     | 2 +-
 lib/PublicInbox/SolverGit.pm             | 2 +-
 lib/PublicInbox/View.pm                  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Documentation/public-inbox-v2-format.pod b/Documentation/public-inbox-v2-format.pod
index 10c63090..0a391e1e 100644
--- a/Documentation/public-inbox-v2-format.pod
+++ b/Documentation/public-inbox-v2-format.pod
@@ -168,7 +168,7 @@ easier.  object_id and Message-ID are already known.
 =item object_id
 
 The blob identifier git uses (currently SHA-1).  No need to
-publically expose this outside of normal git ops (cloning) and
+publicly expose this outside of normal git ops (cloning) and
 there's no need to make this searchable.  As with v1 of
 public-inbox, this is stored as part of the Xapian document so
 expensive name lookups can be avoided for document retrieval.
diff --git a/TODO b/TODO
index 46c61f8e..a3b2b7cb 100644
--- a/TODO
+++ b/TODO
@@ -21,7 +21,7 @@ all need to be considered for everything we introduce)
 
 * HTTP and NNTP proxy support.  Allow us to be a frontend for
   firewalled off (or Tor-exclusive) instances.  The use case is
-  for offering a publically accessible IP with a cheap VPS,
+  for offering a publicly accessible IP with a cheap VPS,
   yet storing large amounts of data on computers without a
   public IP behind a home Internet connection.
 
diff --git a/lib/PublicInbox/SolverGit.pm b/lib/PublicInbox/SolverGit.pm
index baad981d..06b4cdc4 100644
--- a/lib/PublicInbox/SolverGit.pm
+++ b/lib/PublicInbox/SolverGit.pm
@@ -5,7 +5,7 @@
 # searching inboxes for post-image blobs.
 
 # this emits a lot of debugging/tracing information which may be
-# publically viewed over HTTP(S).  Be careful not to expose
+# publicly viewed over HTTP(S).  Be careful not to expose
 # local filesystem layouts in the process.
 package PublicInbox::SolverGit;
 use strict;
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index d88b34da..83b622fb 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -149,7 +149,7 @@ EOF
 <hr><pre
 id=R><b>Reply instructions:</b>
 
-You may reply publically to <a
+You may reply publicly to <a
 href=#t>this message</a> via plain-text email
 using any one of the following methods:
 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, back to index

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-24 22:09 [PATCH 0/5] build, website, and speling updates Eric Wong
2020-01-24 22:09 ` [PATCH 1/5] doc: avoid needless rebuilds of NEWS Eric Wong
2020-01-24 22:09 ` [PATCH 2/5] website: re-add top-level files Eric Wong
2020-01-24 22:09 ` [PATCH 3/5] doc: INSTALL describe required deps for released versions Eric Wong
2020-01-24 22:09 ` [PATCH 4/5] website: omit technical/ and other subdirs Eric Wong
2020-01-24 22:09 ` [PATCH 5/5] spelling: favor `publicly' over `publically' Eric Wong

user/dev discussion of public-inbox itself

Archives are clonable:
	git clone --mirror http://public-inbox.org/meta
	git clone --mirror http://czquwvybam4bgbro.onion/meta
	git clone --mirror http://hjrcffqmbrq6wope.onion/meta
	git clone --mirror http://ou63pmih66umazou.onion/meta

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.mail.public-inbox.meta
	nntp://ou63pmih66umazou.onion/inbox.comp.mail.public-inbox.meta
	nntp://czquwvybam4bgbro.onion/inbox.comp.mail.public-inbox.meta
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.mail.public-inbox.meta
	nntp://news.gmane.io/gmane.mail.public-inbox.general

 note: .onion URLs require Tor: https://www.torproject.org/

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git