diff options
author | knu <knu@FreeBSD.org> | 2004-03-14 11:48:40 +0000 |
---|---|---|
committer | knu <knu@FreeBSD.org> | 2004-03-14 11:48:40 +0000 |
commit | 68ff5b5227f64a4dc9314909112d4fa57623f355 (patch) | |
tree | 54afc2cdb7ec20a38b489468ac0d5ca8d4b25265 /Tools/scripts | |
parent | b2ef58b20228ab3b6b89505e120de2b4737e8682 (diff) | |
download | FreeBSD-ports-68ff5b5227f64a4dc9314909112d4fa57623f355.zip FreeBSD-ports-68ff5b5227f64a4dc9314909112d4fa57623f355.tar.gz |
This script had served its purpose.
Diffstat (limited to 'Tools/scripts')
-rwxr-xr-x | Tools/scripts/de-pkg-comment | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/Tools/scripts/de-pkg-comment b/Tools/scripts/de-pkg-comment deleted file mode 100755 index b829919..0000000 --- a/Tools/scripts/de-pkg-comment +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env ruby -# -# de-pkg-comment - converts pkg-comment to COMMENT -# (public domain) -# -# Usage: -# de-pkg-comment portdir ... -# -# Notes: -# - Local changes may be backed out and the previous file is renamed -# to .#* if conversion fails. -# - It requires a port have a MAINTAINER line. -# - It does not touch master/slave ports automatically; just shows -# some hints. -# - Do not commit resulted files without checking the diffs. -# -# MAINTAINER= knu@FreeBSD.org -# -# $FreeBSD$ -# - -begin - require 'features/ruby18' -rescue LoadError; end - -if ARGV.empty? - STDERR.puts "usage: #{$0} portdir ..." - exit 64 -end - -def error(message) - STDERR.puts("#{$dir}: #{message}") -end - -def info(message) - STDOUT.puts("#{$dir}: #{message}") -end - -def backout(message) - error(message) - info("Backing out all modifications.") - system 'cvs', '-Q', 'up', '-CdP' -end - -def cvs_up(*files) - system *['cvs', '-q', 'up', '-dP', *files] -end - -def cvs_rm(*files) - system *['cvs', '-Q', 'rm', '-f', *files] -end - -ARGV.each { |$dir| - if !File.directory?($dir) - error("Not a directory.") - next - end - - Dir.chdir($dir) { - if !File.directory?('CVS') - error("Not a CVS working directory.") - next - end - - info("Running cvs update") - cvs_up() - - makefile = 'Makefile' - - if !File.exist?(makefile) - error("No Makefile is found.") - next - end - - commentfile = `make -V COMMENTFILE`.chomp - - if !File.exist?(commentfile) - error("No need to convert.") - next - end - - comment = nil - commentfile_defined = false - maintainer_defined = false - - info("Modifying #{makefile}") - - open(makefile, 'r+') { |rw| - contents = [] - - rw.each { |line| - contents << line - - case line - when /^MAINTAINER\s*(\??=)/ - maintainer_defined = true - - assign = $1 - - if assign == '?=' - info("Looks like a master port. Please check for slave ports.") - end - - open(commentfile) { |f| - comment = f.gets.strip - quoted_comment = comment.gsub(/#/, '\\#').gsub(/\$/, '$$') - contents << "COMMENT#{assign}\t#{quoted_comment}\n" - } - when /^COMMENTFILE\s*([?!:]?=)/ - info("COMMENTFILE is defined. Please check out and edit manually.") - commentfile_defined = true - when /^MASTERDIR\s*([?!:]?=)/ - masterport = File.expand_path(`make -V MASTERDIR`.chomp) - masterport.sub!(%r".*(?:^|/)([^/]+/[^/]+)$", '\1') - - info("Looks like a slave port. Please look into the master port (#{masterport}) also.") - end - } - - rw.rewind - rw.puts contents - } - - if !maintainer_defined - backout("No MAINTAINER line is found!") - next - end - - newcomment = `make -V COMMENT`.chomp - - if newcomment != comment - backout("Failed to convert!") - next - end - - unless commentfile_defined - info("Removing #{commentfile}") - cvs_rm(commentfile) - end - - info("Running cvs update again") - cvs_up() - - info("Done.") - } -} |