about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--.document2
-rw-r--r--.gitignore4
-rw-r--r--.olddoc.yml (renamed from .wrongdoc.yml)1
-rw-r--r--GNUmakefile12
-rw-r--r--Rakefile62
-rw-r--r--pkg.mk71
6 files changed, 28 insertions, 124 deletions
diff --git a/.document b/.document
index fa4d03d..adb3add 100644
--- a/.document
+++ b/.document
@@ -1,7 +1,5 @@
-ChangeLog
 LICENSE
 NEWS
 README
 FAQ
 zbatery_1
-LATEST
diff --git a/.gitignore b/.gitignore
index e71d8b3..302d194 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,9 +11,9 @@
 log/
 pkg/
 /vendor
-/NEWS
-/ChangeLog
+/NEWS*
 /.manifest
 /GIT-VERSION-FILE
 /man
 /LATEST
+*_1
diff --git a/.wrongdoc.yml b/.olddoc.yml
index 7f9fea0..d36b837 100644
--- a/.wrongdoc.yml
+++ b/.olddoc.yml
@@ -2,7 +2,6 @@
 cgit_url: http://bogomips.org/zbatery.git
 git_url: git://bogomips.org/zbatery.git
 rdoc_url: http://zbatery.bogomip.org/
-changelog_start: v0.3.1
 merge_html:
   zbatery_1: Documentation/zbatery.1.html
 public_email: rainbows-public@bogomips.org
diff --git a/GNUmakefile b/GNUmakefile
index c53b494..e7e9df1 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -1,20 +1,14 @@
 all::
 RSYNC_DEST := zbatery.bogomip.org:/srv/zbatery
-rfproject := rainbows
 rfpackage := zbatery
+PLACEHOLDERS := zbatery_1
+
 man-rdoc: man html
-        for i in $(man1_rdoc); do echo > $$i; done
 doc:: man-rdoc
 include pkg.mk
-ifneq ($(VERSION),)
-release::
-        $(RAKE) publish_news VERSION=$(VERSION)
-        $(RAKE) fm_update VERSION=$(VERSION)
-endif
 
 base_bins := zbatery
 bins := $(addprefix bin/, $(base_bins))
-man1_rdoc := $(addsuffix _1, $(base_bins))
 man1_bins := $(addsuffix .1, $(base_bins))
 man1_paths := $(addprefix man/man1/, $(man1_bins))
 clean:
@@ -22,9 +16,9 @@ clean:
 
 man html:
         $(MAKE) -C Documentation install-$@
+
 pkg_extra += $(man1_paths)
 doc::
-        $(RM) $(man1_rdoc)
 
 all:: test
 test:
diff --git a/Rakefile b/Rakefile
deleted file mode 100644
index d1ca285..0000000
--- a/Rakefile
+++ /dev/null
@@ -1,62 +0,0 @@
-# -*- encoding: binary -*-
-autoload :Gem, 'rubygems'
-
-cgit_url = "http://bogomips.org/zbatery.git"
-git_url = 'git://bogomips.org/zbatery.git'
-
-desc "read news article from STDIN and post to rubyforge"
-task :publish_news do
-  require 'rubyforge'
-  spec = Gem::Specification.load('zbatery.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
-
-desc "post to FM"
-task :fm_update do
-  require 'tempfile'
-  require 'net/http'
-  require 'net/netrc'
-  require 'json'
-  version = ENV['VERSION'] or abort "VERSION= needed"
-  uri = URI.parse('http://freecode.com/projects/zbatery/releases.json')
-  rc = Net::Netrc.locate('zbatery-fm') or abort "~/.netrc not found"
-  api_token = rc.password
-  _, subject, body = `git cat-file tag v#{version}`.split(/\n\n/, 3)
-  tmp = Tempfile.new('fm-changelog')
-  system(ENV["VISUAL"], tmp.path) or abort "#{ENV["VISUAL"]} failed: #$?"
-  changelog = File.read(tmp.path).strip
-
-  req = {
-    "auth_code" => api_token,
-    "release" => {
-      "tag_list" => "Stable",
-      "version" => version,
-      "changelog" => changelog,
-    },
-  }.to_json
-  Net::HTTP.start(uri.host, uri.port) do |http|
-    p http.post(uri.path, req, {'Content-Type'=>'application/json'})
-  end
-end
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