* [raindrops] [PATCH 2/3] modernize packaging and documentation
2015-01-13 20:36 [raindrops] [PATCH 1/3] README: trim intro and update license Eric Wong
@ 2015-01-13 20:36 ` Eric Wong
2015-01-13 20:36 ` [raindrops] [PATCH 3/3] move mailing list to raindrops-public@bogomips.org Eric Wong
1 sibling, 0 replies; 3+ messages in thread
From: Eric Wong @ 2015-01-13 20:36 UTC (permalink / raw)
To: raindrops
By switching to olddoc!
wrongdoc was difficult to maintain due to FFI, and olddoc is
more complete anyways (no images or CSS, not just JavaScript
removal). While we're at it, use the SPDX-recommended license
abbreviation ("LGPL-2.1+") and specify a test-unit dependency.
ref: http://80x24.org/olddoc/
---
.document | 1 -
.gitignore | 2 +-
.wrongdoc.yml => .olddoc.yml | 0
GNUmakefile | 1 -
Rakefile | 28 -----------------
archive/.gitignore | 3 ++
archive/slrnpull.conf | 4 +++
pkg.mk | 71 ++++++++++++++------------------------------
raindrops.gemspec | 14 ++++-----
9 files changed, 37 insertions(+), 87 deletions(-)
rename .wrongdoc.yml => .olddoc.yml (100%)
delete mode 100644 Rakefile
create mode 100644 archive/.gitignore
create mode 100644 archive/slrnpull.conf
diff --git a/.document b/.document
index 8b5bcdf..cfabfeb 100644
--- a/.document
+++ b/.document
@@ -1,7 +1,6 @@
README
LICENSE
NEWS
-ChangeLog
lib
ext/raindrops/raindrops.c
ext/raindrops/linux_inet_diag.c
diff --git a/.gitignore b/.gitignore
index 0a82218..21506ff 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,7 +5,7 @@
Makefile
/GIT-VERSION-FILE
/local.mk
-/NEWS
+/NEWS*
/ChangeLog
/.manifest
/man
diff --git a/.wrongdoc.yml b/.olddoc.yml
similarity index 100%
rename from .wrongdoc.yml
rename to .olddoc.yml
diff --git a/GNUmakefile b/GNUmakefile
index 3f7829a..6af8bb7 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -1,5 +1,4 @@
all::
RSYNC_DEST := bogomips.org:/srv/raindrops
-rfproject := rainbows
rfpackage := raindrops
include pkg.mk
diff --git a/Rakefile b/Rakefile
deleted file mode 100644
index e8890b6..0000000
--- a/Rakefile
+++ /dev/null
@@ -1,28 +0,0 @@
-desc "read news article from STDIN and post to rubyforge"
-task :publish_news do
- require 'rubyforge'
- spec = Gem::Specification.load('raindrops.gemspec')
- tmp = Tempfile.new('rf-news')
- _, subject, body = `git cat-file tag v#{spec.version}`.split(/\n\n/, 3)
- tmp.puts subject
- tmp.puts
- tmp.puts spec.description.strip
- tmp.puts ""
- tmp.puts "* #{spec.homepage}"
- tmp.puts "* #{spec.email}"
- tmp.puts "* #{git_url}"
- tmp.print "\nChanges:\n\n"
- tmp.puts body
- tmp.flush
- system(ENV["VISUAL"], tmp.path) or abort "#{ENV["VISUAL"]} failed: #$?"
- msg = File.readlines(tmp.path)
- subject = msg.shift
- blank = msg.shift
- blank == "\n" or abort "no newline after subject!"
- subject.strip!
- body = msg.join("").strip!
-
- rf = RubyForge.new.configure
- rf.login
- rf.post_news('rainbows', subject, body)
-end
diff --git a/archive/.gitignore b/archive/.gitignore
new file mode 100644
index 0000000..bd7ad57
--- /dev/null
+++ b/archive/.gitignore
@@ -0,0 +1,3 @@
+/data
+/news
+/requests
diff --git a/archive/slrnpull.conf b/archive/slrnpull.conf
new file mode 100644
index 0000000..a008a50
--- /dev/null
+++ b/archive/slrnpull.conf
@@ -0,0 +1,4 @@
+# group_name max expire headers_only
+gmane.comp.lang.ruby.raindrops.general 1000000000 1000000000 0
+
+# usage: slrnpull -d $PWD -h news.gmane.org --no-post
diff --git a/pkg.mk b/pkg.mk
index 4cd5bef..1e40915 100644
--- a/pkg.mk
+++ b/pkg.mk
@@ -1,7 +1,8 @@
RUBY = ruby
RAKE = rake
RSYNC = rsync
-WRONGDOC = wrongdoc
+OLDDOC = olddoc
+RDOC = rdoc
GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
@./GIT-VERSION-GEN
@@ -12,14 +13,6 @@ RUBY_VERSION := $(shell $(RUBY) -e 'puts RUBY_VERSION')
RUBY_ENGINE := $(shell $(RUBY) -e 'puts((RUBY_ENGINE rescue "ruby"))')
lib := lib
-ifeq ($(shell test -f script/isolate_for_tests && echo t),t)
-isolate_libs := tmp/isolate/$(RUBY_ENGINE)-$(RUBY_VERSION)/isolate.mk
-$(isolate_libs): script/isolate_for_tests
- @$(RUBY) script/isolate_for_tests
--include $(isolate_libs)
-lib := $(lib):$(ISOLATE_LIBS)
-endif
-
ext := $(firstword $(wildcard ext/*))
ifneq ($(ext),)
ext_pfx := tmp/ext/$(RUBY_ENGINE)-$(RUBY_VERSION)
@@ -36,7 +29,7 @@ $(ext_pfx)/$(ext)/%: $(ext)/% $(ext_d)
install -m 644 $< $@
$(ext_pfx)/$(ext)/Makefile: $(ext)/extconf.rb $(ext_d) $(ext_h)
$(RM) -f $(@D)/*.o
- cd $(@D) && $(RUBY) $(CURDIR)/$(ext)/extconf.rb
+ cd $(@D) && $(RUBY) $(CURDIR)/$(ext)/extconf.rb $(EXTCONF_ARGS)
ext_sfx := _ext.$(DLEXT)
ext_dl := $(ext_pfx)/$(ext)/$(notdir $(ext)_ext.$(DLEXT))
$(ext_dl): $(ext_src) $(ext_pfx_src) $(ext_pfx)/$(ext)/Makefile
@@ -48,10 +41,10 @@ else
build:
endif
-pkg_extra += GIT-VERSION-FILE NEWS ChangeLog LATEST
-ChangeLog: GIT-VERSION-FILE .wrongdoc.yml
- $(WRONGDOC) prepare
-NEWS LATEST: ChangeLog
+pkg_extra += GIT-VERSION-FILE NEWS LATEST
+NEWS: GIT-VERSION-FILE .olddoc.yml
+ $(OLDDOC) prepare
+LATEST: NEWS
manifest:
$(RM) .manifest
@@ -63,28 +56,20 @@ manifest:
cmp $@+ $@ || mv $@+ $@
$(RM) $@+
-doc:: .document .wrongdoc.yml $(pkg_extra)
+doc:: .document .olddoc.yml $(pkg_extra) $(PLACEHOLDERS)
-find lib -type f -name '*.rbc' -exec rm -f '{}' ';'
-find ext -type f -name '*.rbc' -exec rm -f '{}' ';'
$(RM) -r doc
- $(WRONGDOC) all
+ $(RDOC) -f oldweb
+ $(OLDDOC) merge
install -m644 COPYING doc/COPYING
+ install -m644 NEWS doc/NEWS
+ install -m644 NEWS.atom.xml doc/NEWS.atom.xml
install -m644 $(shell LC_ALL=C grep '^[A-Z]' .document) doc/
ifneq ($(VERSION),)
pkggem := pkg/$(rfpackage)-$(VERSION).gem
pkgtgz := pkg/$(rfpackage)-$(VERSION).tgz
-release_notes := release_notes-$(VERSION)
-release_changes := release_changes-$(VERSION)
-
-release-notes: $(release_notes)
-release-changes: $(release_changes)
-$(release_changes):
- $(WRONGDOC) release_changes > $@+
- $(VISUAL) $@+ && test -s $@+ && mv $@+ $@
-$(release_notes):
- $(WRONGDOC) release_notes > $@+
- $(VISUAL) $@+ && test -s $@+ && mv $@+ $@
# ensures we're actually on the tagged $(VERSION), only used for release
verify:
@@ -120,31 +105,18 @@ $(pkgtgz): manifest fix-perms
package: $(pkgtgz) $(pkggem)
-test-release:: verify package $(release_notes) $(release_changes)
- # make tgz release on RubyForge
- @echo rubyforge add_release -f \
- -n $(release_notes) -a $(release_changes) \
- $(rfproject) $(rfpackage) $(VERSION) $(pkgtgz)
- @echo gem push $(pkggem)
- @echo rubyforge add_file \
- $(rfproject) $(rfpackage) $(VERSION) $(pkggem)
-release:: verify package $(release_notes) $(release_changes)
- # make tgz release on RubyForge
- rubyforge add_release -f -n $(release_notes) -a $(release_changes) \
- $(rfproject) $(rfpackage) $(VERSION) $(pkgtgz)
+release:: verify package
# push gem to RubyGems.org
gem push $(pkggem)
- # in case of gem downloads from RubyForge releases page
- rubyforge add_file \
- $(rfproject) $(rfpackage) $(VERSION) $(pkggem)
else
gem install-gem: GIT-VERSION-FILE
$(MAKE) $@ VERSION=$(GIT_VERSION)
endif
-all:: test
+all:: check
test_units := $(wildcard test/test_*.rb)
-test: test-unit
+test: check
+check: test-unit
test-unit: $(test_units)
$(test_units): build
$(RUBY) -I $(lib) $@ $(RUBY_TEST_OPTS)
@@ -154,8 +126,6 @@ ifneq ($(RSYNC_DEST),)
publish_doc:
-git set-file-times
$(MAKE) doc
- find doc/images -type f | \
- TZ=UTC xargs touch -d '1970-01-01 00:00:06' doc/rdoc.css
$(MAKE) doc_gz
$(RSYNC) -av doc/ $(RSYNC_DEST)/
git ls-files | xargs touch
@@ -163,7 +133,7 @@ endif
# Create gzip variants of the same timestamp as the original so nginx
# "gzip_static on" can serve the gzipped versions directly.
-doc_gz: docs = $(shell find doc -type f ! -regex '^.*\.\(gif\|jpg\|png\|gz\)$$')
+doc_gz: docs = $(shell find doc -type f ! -regex '^.*\.gz$$')
doc_gz:
for i in $(docs); do \
gzip --rsyncable -9 < $$i > $$i.gz; touch -r $$i $$i.gz; done
@@ -171,5 +141,10 @@ check-warnings:
@(for i in $$(git ls-files '*.rb'| grep -v '^setup\.rb$$'); \
do $(RUBY) -d -W2 -c $$i; done) | grep -v '^Syntax OK$$' || :
-.PHONY: all .FORCE-GIT-VERSION-FILE doc test $(test_units) manifest
+ifneq ($(PLACEHOLDERS),)
+$(PLACEHOLDERS):
+ echo olddoc_placeholder > $@
+endif
+
+.PHONY: all .FORCE-GIT-VERSION-FILE doc check test $(test_units) manifest
.PHONY: check-warnings
diff --git a/raindrops.gemspec b/raindrops.gemspec
index c5d6e87..f338448 100644
--- a/raindrops.gemspec
+++ b/raindrops.gemspec
@@ -2,8 +2,8 @@
ENV["VERSION"] or abort "VERSION= must be specified"
manifest = File.readlines('.manifest').map! { |x| x.chomp! }
test_files = manifest.grep(%r{\Atest/test_.*\.rb\z})
-require 'wrongdoc'
-extend Wrongdoc::Gemspec
+require 'olddoc'
+extend Olddoc::Gemspec
name, summary, title = readme_metadata
Gem::Specification.new do |s|
@@ -11,23 +11,21 @@ Gem::Specification.new do |s|
s.version = ENV["VERSION"].dup
s.authors = ["raindrops hackers"]
- s.date = Time.now.utc.strftime('%Y-%m-%d')
s.description = readme_description
s.email = %q{raindrops@librelist.org}
s.extensions = %w(ext/raindrops/extconf.rb)
s.extra_rdoc_files = extra_rdoc_files(manifest)
s.files = manifest
- s.homepage = Wrongdoc.config[:rdoc_url]
+ s.homepage = Olddoc.config['rdoc_url']
s.summary = summary
- s.rdoc_options = rdoc_options
- s.rubyforge_project = %q{rainbows}
s.test_files = test_files
s.add_development_dependency('aggregate', '~> 0.2')
+ s.add_development_dependency('test-unit', '~> 3.0')
s.add_development_dependency('io-extra', [ '~> 1.2', '>= 1.2.3'])
s.add_development_dependency('posix_mq', '~> 2.0')
s.add_development_dependency('rack', '~> 1.2')
s.add_development_dependency('unicorn', '>= 0.98')
- s.add_development_dependency('wrongdoc', ['~> 1.6.2', '>= 1.6.2'])
+ s.add_development_dependency('olddoc', '~> 1.0')
- s.licenses = %w(LGPLv2.1+)
+ s.licenses = %w(LGPL-2.1+)
end
--
EW
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [raindrops] [PATCH 3/3] move mailing list to raindrops-public@bogomips.org
2015-01-13 20:36 [raindrops] [PATCH 1/3] README: trim intro and update license Eric Wong
2015-01-13 20:36 ` [raindrops] [PATCH 2/3] modernize packaging and documentation Eric Wong
@ 2015-01-13 20:36 ` Eric Wong
1 sibling, 0 replies; 3+ messages in thread
From: Eric Wong @ 2015-01-13 20:36 UTC (permalink / raw)
To: raindrops
Existing subscribers on librelist will need to resubscribe since
there's no published subscriber lists anywhere.
The public-inbox + mlmmj setup on bogomips.org allows posting
without subscription and offers downloadable archives via git.
The lack of rsyncable archives on librelist nowadays and
subscription-required nature of librelist are points against it.
Repliers should Cc: all recipients (using the reply-all
function of their mail client) since many readers are not
subscribed.
This project has never accepted or encouraged HTML email, but
librelist accepted it. The bogomips.org mail server is
configured to treat HTML mail as spam, so do not send HTML mail
if you expect a response.
Users who wish to subscribe may send a message to:
raindrops-public+subscribe@bogomips.org
Similarly, they may unsubscribe via:
raindrops-public+unsubscribe@bogomips.org
HTTP archives are available via:
http://bogomips.org/raindrops-public/
ssoma users may also use: git://bogomips.org/raindrops-public
(see README change)
Old messages to the librelist addresses will continue to
get routed to the new mailing list.
ref: http://public-inbox.org/
---
.olddoc.yml | 3 ++-
README | 15 +++++----------
ext/raindrops/linux_inet_diag.c | 2 +-
lib/raindrops.rb | 2 +-
raindrops.gemspec | 2 +-
5 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/.olddoc.yml b/.olddoc.yml
index f31fa66..567cef1 100644
--- a/.olddoc.yml
+++ b/.olddoc.yml
@@ -2,5 +2,6 @@
cgit_url: http://bogomips.org/raindrops.git
git_url: git://bogomips.org/raindrops.git
rdoc_url: http://raindrops.bogomips.org/
-public_email: raindrops@librelist.org
+public_email: raindrops-public@bogomips.org
private_email: raindrops@bogomips.org
+ml_url: http://bogomips.org/raindrops-public/
diff --git a/README b/README
index e157aa8..905c44c 100644
--- a/README
+++ b/README
@@ -61,8 +61,8 @@ Unpack it, and run "ruby setup.rb"
See Raindrops::Middleware and Raindrops::LastDataRecv documentation for
use Rack servers. The entire library is fully-documented and we are
-responsive on the mailing list (mailto:raindrops@librelist.org) if you
-have any questions or comments.
+responsive on the mailing list (mailto:raindrops-public@bogomips.org) if
+you have any questions or comments.
== Development
@@ -91,13 +91,8 @@ raindrops is licensed under the LGPL+2.1 or later:
== Contact
All feedback (bug reports, user/development discussion, patches, pull
-requests) go to the mailing list: mailto:raindrops@librelist.org
+requests) go to the mailing list: mailto:raindrops-public@bogomips.org
-The mailing list is mirrored to Gmane, all information about the
-group is here:
+Mailing list archives are available here:
-http://gmane.org/info.php?group=gmane.comp.lang.ruby.raindrops.general
-
-Mailing list archives in mbox format may be downloaded here:
-
-http://raindrops.bogomips.org/archives/
+http://bogomips.org/raindrops-public/
diff --git a/ext/raindrops/linux_inet_diag.c b/ext/raindrops/linux_inet_diag.c
index 773e094..fa8de03 100644
--- a/ext/raindrops/linux_inet_diag.c
+++ b/ext/raindrops/linux_inet_diag.c
@@ -216,7 +216,7 @@ static const char *addr_any(sa_family_t family)
static void bug_warn(void)
{
fprintf(stderr, "Please report how you produced this at "\
- "raindrops@librelist.org\n");
+ "raindrops-public@bogomips.org\n");
fflush(stderr);
}
diff --git a/lib/raindrops.rb b/lib/raindrops.rb
index 7acde22..d3913a8 100644
--- a/lib/raindrops.rb
+++ b/lib/raindrops.rb
@@ -12,7 +12,7 @@
# Unlike many classes in this package, the core Raindrops class is
# intended to be portable to all reasonably modern *nix systems
# supporting mmap(). Please let us know if you have portability
-# issues, patches or pull requests at mailto:raindrops@librelist.org
+# issues, patches or pull requests at mailto:raindrops-public@bogomips.org
class Raindrops
# Used to represent the number of +active+ and +queued+ sockets for
diff --git a/raindrops.gemspec b/raindrops.gemspec
index f338448..7864ac3 100644
--- a/raindrops.gemspec
+++ b/raindrops.gemspec
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
s.authors = ["raindrops hackers"]
s.description = readme_description
- s.email = %q{raindrops@librelist.org}
+ s.email = %q{raindrops@bogomips.org}
s.extensions = %w(ext/raindrops/extconf.rb)
s.extra_rdoc_files = extra_rdoc_files(manifest)
s.files = manifest
--
EW
^ permalink raw reply related [flat|nested] 3+ messages in thread