raindrops RubyGem user+dev discussion/patches/pulls/bugs/help
 help / color / Atom feed
From: Eric Wong <normalperson@yhbt.net>
To: raindrops@librelist.org
Subject: [raindrops] [PATCH 2/3] modernize packaging and documentation
Date: Tue, 13 Jan 2015 20:36:37 +0000
Message-ID: <1421181398-27931-2-git-send-email-normalperson@yhbt.net> (raw)
In-Reply-To: <1421181398-27931-1-git-send-email-normalperson@yhbt.net>

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


  reply index

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-13 20:36 [raindrops] [PATCH 1/3] README: trim intro and update license Eric Wong
2015-01-13 20:36 ` Eric Wong [this message]
2015-01-13 20:36 ` [raindrops] [PATCH 3/3] move mailing list to raindrops-public@bogomips.org Eric Wong

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://yhbt.net/raindrops/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1421181398-27931-2-git-send-email-normalperson@yhbt.net \
    --to=normalperson@yhbt.net \
    --cc=raindrops@librelist.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

raindrops RubyGem user+dev discussion/patches/pulls/bugs/help

Archives are clonable:
	git clone --mirror https://yhbt.net/raindrops-public
	git clone --mirror http://ou63pmih66umazou.onion/raindrops-public

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.lang.ruby.raindrops
	nntp://ou63pmih66umazou.onion/inbox.comp.lang.ruby.raindrops

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

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