From 97e9a7e764f912fddea75409dd388eaf3abe6a73 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 26 Sep 2010 06:29:09 +0000 Subject: update documentation and build Should be ready for release --- .document | 1 - GNUmakefile | 2 ++ README | 4 +++- Rakefile | 19 ++++++++++++++++--- sleepy_penguin.gemspec | 36 ++++++++++++++++++++++++++++++++++++ 5 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 sleepy_penguin.gemspec diff --git a/.document b/.document index 52f77e5..5b24ce0 100644 --- a/.document +++ b/.document @@ -7,4 +7,3 @@ lib ext/sleepy_penguin/init.c ext/sleepy_penguin/eventfd.c ext/sleepy_penguin/timerfd.c -TODO diff --git a/GNUmakefile b/GNUmakefile index dd6f8a9..8e3bfe3 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -144,6 +144,8 @@ release: verify package $(release_notes) $(release_changes) # in case of gem downloads from RubyForge releases page -rubyforge add_file \ $(rfproject) $(rfpackage) $(VERSION) $(pkggem) + $(RAKE) raa_update VERSION=$(VERSION) + $(RAKE) publish_news VERSION=$(VERSION) else gem install-gem: GIT-VERSION-FILE $(MAKE) $@ VERSION=$(GIT_VERSION) diff --git a/README b/README index 47500b3..b50251d 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -= sleepy_penguin - Ruby event extensions for Linux += sleepy_penguin - Ruby I/O events for Linux sleepy_penguin provides access to newer, Linux-only system calls to wait on events from traditionally non-I/O sources. Bindings to the eventfd, @@ -8,6 +8,8 @@ timerfd, and epoll interfaces are provided. * Thread-safe blocking operations under both Ruby 1.8 and 1.9. +* Mostly working under Rubinius + * IO-like objects are backwards-compatible with IO.select. * Epoll interface is fork-safe diff --git a/Rakefile b/Rakefile index 5812156..3ac6130 100644 --- a/Rakefile +++ b/Rakefile @@ -103,8 +103,21 @@ end desc "read news article from STDIN and post to rubyforge" task :publish_news do require 'rubyforge' - IO.select([STDIN], nil, nil, 1) or abort "E: news must be read from stdin" - msg = STDIN.readlines + spec = Gem::Specification.load('sleepy_penguin.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!" @@ -142,7 +155,7 @@ task :raa_update do :category_minor => 'System', :url => s.homepage, :download => 'http://rubyforge.org/frs/?group_id=8977', - :license => "Ruby's", + :license => "LGPL", :description_style => 'Plain', :description => desc, :pass => password, diff --git a/sleepy_penguin.gemspec b/sleepy_penguin.gemspec new file mode 100644 index 0000000..2fecd06 --- /dev/null +++ b/sleepy_penguin.gemspec @@ -0,0 +1,36 @@ +ENV["VERSION"] or abort "VERSION= must be specified" +manifest = File.readlines('.manifest').map! { |x| x.chomp! } +summary = File.readlines("README")[0].gsub(/\A=\s+\S+[^\w]+/, '').strip +description = File.read("README").split(/\n\n/)[1].strip + +Gem::Specification.new do |s| + s.name = %q{sleepy_penguin} + s.version = ENV["VERSION"] + + s.homepage = 'http://bogomips.org/sleepy_penguin/' + s.authors = ["sleepy_penguin hackers"] + s.date = Time.now.utc.strftime('%Y-%m-%d') + s.description = description + s.email = %q{sleepy.penguin@librelist.com} + + s.extra_rdoc_files = File.readlines('.document').map! do |x| + x.chomp! + if File.directory?(x) + manifest.grep(%r{\A#{x}/}) + elsif File.file?(x) + x + else + nil + end + end.flatten.compact + + s.files = manifest + s.rdoc_options = [ "-t", summary ] + s.require_paths = %w(lib ext) + s.rubyforge_project = %q{rainbows} + s.summary = summary + s.test_files = Dir['test/test_*.rb'] + s.extensions = %w(ext/sleepy_penguin/extconf.rb) + + # s.license = %w(LGPL) # disabled for compatibility with older RubyGems +end -- cgit v1.2.3-24-ge0c7