From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS47066 71.19.144.0/20 X-Spam-Status: No, score=-1.9 required=3.0 tests=AWL,BAYES_00 shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: raindrops-public@bogomips.org Received: from zedshaw2.xen.prgmr.com (zedshaw2.xen.prgmr.com [71.19.156.177]) by dcvr.yhbt.net (Postfix) with ESMTP id C1C5C1F4E1 for ; Tue, 13 Jan 2015 20:37:02 +0000 (UTC) Received: from zedshaw2.xen.prgmr.com (unknown [IPv6:::1]) by zedshaw2.xen.prgmr.com (Postfix) with ESMTP id A92AF74BA7 for ; Tue, 13 Jan 2015 20:38:52 +0000 (UTC) MIME-Version: 1.0 Date: Tue, 13 Jan 2015 20:36:37 +0000 From: Eric Wong List-Archive: List-Help: List-Id: List-Post: List-Subscribe: List-Unsubscribe: Message-Id: <1421181398-27931-2-git-send-email-normalperson@yhbt.net> Precedence: list References: <1421181398-27931-1-git-send-email-normalperson@yhbt.net> Sender: raindrops@librelist.org Subject: [raindrops] [PATCH 2/3] modernize packaging and documentation To: raindrops@librelist.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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