summaryrefslogtreecommitdiff
path: root/trunk/src/change
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/change')
-rw-r--r--trunk/src/change/AUTHORS5
-rw-r--r--trunk/src/change/ChangeLog7
-rw-r--r--trunk/src/change/README20
-rw-r--r--trunk/src/change/change343
-rw-r--r--trunk/src/change/change.10
5 files changed, 0 insertions, 375 deletions
diff --git a/trunk/src/change/AUTHORS b/trunk/src/change/AUTHORS
deleted file mode 100644
index 4b3873a..0000000
--- a/trunk/src/change/AUTHORS
+++ /dev/null
@@ -1,5 +0,0 @@
-Dan Armak <danarmak@gentoo.org>
- * Basic idea
- * Initial version
-Karl Trygve Kalleberg <karltk@gentoo.org>
- * Gentoolkit-specific changes
diff --git a/trunk/src/change/ChangeLog b/trunk/src/change/ChangeLog
deleted file mode 100644
index bd7d5dd..0000000
--- a/trunk/src/change/ChangeLog
+++ /dev/null
@@ -1,7 +0,0 @@
-2002-08-11 Dan Armak <danarmak@gentoo.org>:
- * Fix two bugs which are long to describe, so I won't do so here.
- They caused malformed or incomplete changelog files to be created.
-
-2002-08-09 Karl Trygve Kalleberg <karltk@gentoo.org>:
- * Reformatted usage to work with 80 columns
- * Now loads ~/.gentoo/gentool-env instead of ~/.change
diff --git a/trunk/src/change/README b/trunk/src/change/README
deleted file mode 100644
index bda1842..0000000
--- a/trunk/src/change/README
+++ /dev/null
@@ -1,20 +0,0 @@
-Package : change
-Version : 0.2.4
-Author : See AUTHORS
-
-MOTIVATION
-
-Maintaing Gentoo's ChangeLog files in the Portage Tree is a tedious affair.
-Many of the details are well-defined enough for a tool to do. change is this
-tool.
-
-MECHANICS
-
-change can create a ChangeLog, add entries to the ChangeLog file, scan for
-updated files.
-
-
-IMPROVEMENTS
-
-For improvements, send a mail to karltk@gentoo.org or make out a bug at
-bugs.gentoo.org and assign it to me.
diff --git a/trunk/src/change/change b/trunk/src/change/change
deleted file mode 100644
index 094573b..0000000
--- a/trunk/src/change/change
+++ /dev/null
@@ -1,343 +0,0 @@
-#! /bin/bash
-
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# Author: Dan Armak <danarmak@gentoo.org>
-# $Header: /space/gentoo/cvsroot/gentoolkit/src/change/change,v 1.2 2002/08/11 13:32:12 karltk Exp $
-
-eval `grep PORTDIR= /etc/make.globals`
-eval `grep PORTDIR= /etc/make.conf`
-[ -z "$PORTDIR" ] && PORTDIR="/usr/portage"
-
-# register temp files (we delete them in the end)
-TMPMESSAGE=`tempfile -p change` || cleanup 1
-TMPHEADER=`tempfile -p change` || cleanup 1
-TMPENTRY=`tempfile -p change` || cleanup 1
-TMPOLDLOG=`tempfile -p change` || cleanup 1
-TMPCHANGELOG=`tempfile -p change` || cleanup 1
-
-# get user info from config file - $AUTHORNAME and $AUTHOREMAIL
-init() {
- . ~/.gentoo/gentool-env || return 1
-}
-
-print_about() {
-
- echo "change v 0.2.4 - A Gentoo ChangeLog editor."
- echo "Author Dan Armak <danarmak@gentoo.org>"
-}
-
-print_usage() {
-
- echo "Usage:
-change <package list> [-shv] [-m|--message msg] [-f|--message-file file]
- [-a|--authorname name] [-l|--authormail mail]
- [-n|--new-version ver] [-o|--output dest]
-
-<package list>: List of packages whose changelogs are to be edited. All
-changelogs edited in one run will be added the same log message.
-
-Acceptable formats: Example:
-category/package kde-base/kdebase
-path to package dir kdebase || ../../kdebase
-path to changelog file portage/kde-base/kdebase/ChangeLog
-
-Note that you must use -g for changelog files outside $PORTDIR.
-
--m, --message \"msg\" Use log message \"msg\", do not open editor.
--f, --message-file <file> Use contents of <file> as log message, do not open
- editor.
--a, --authorname \"name\" Use \"name\" (e.g. Dan Armak) in log.
--l, --authormail \"email\" Use \"email\" (e.g. danarmak@gentoo.org) in log.
--n, --new-version \"ver\" Add a line about a new version number \"ver\" to
- the log.
--g, --generate Create a new changelog file if one does not exist.
- This option must come before the list of affected
- changelog files. Incidentally, this option also
- enables you to work with a changelog file outside
- $PORTDIR.
- You must use it every time you edit such a file.
- However, change won't be able to figure out the
- category and package names of your changelog file
- and those parts will be missing. (FIXME!)
--o, --output \"file\" Save new changelog in file \"file\".
- Default is the the same file we're changing (i.e.
- no backup).
--s, --stdout Print new changelog to stdout (disables saving to
- file). This suppresses the usual info messages.
--c, --changed-files List of changed files (goes into entry header).
- Default is to simply say \"ChangeLog :\". Multiple
- -c options can be given.
--h, --help Print this usage information.
--v, --version Print a short about line and the version number and
- exit.
-
-See also the mandatory config file ~/.gentoo/gentool-env (the gentool-env man
-page contains a template).
-"
-
-}
-
-# parse command line parameters
-# this function should be called before all others (e.g. before init())
-# or else it might stomp on some settings
-parse_params() {
-
- # at least one parameter required - changelog to process
- if [ -z "$1" ]; then
- echo "At least one parameter is required."
- print_about
- print_usage
- cleanup 1
- fi
-
- while [ -n "$1" ]; do
-
- # note: with parameters that come in two pieces (i.e. -m foo)
- # we identify the first one, grab the second one from $2 and
- # shift an extra time
- case "$1" in
-
- # optional log message, if defined then we won't launch $EDITOR
- # comes in explicit string and file reference variations
- -m | --message)
- MESSAGE="$2"
- shift
- ;;
- -f | --message-file)
- cp $2 $TMPMESSAGE
- shift
- ;;
-
- # general settings (usually set in .change)
- -a | --authorname)
- AUTHORNAME="$2"
- shift
- ;;
- -l | --authormail)
- AUTHOREMAIL="$2"
- shift
- ;;
-
- # add a line about a new version (starting with *) to the changelog
- # to add the line but no changelog info, call with -n -m ""
- -n | --new-version)
- NEWVERSION="$2"
- shift
- ;;
-
- # create a new changelog file
- -g | --generate)
- GENERATE=true
- ;;
-
- # output redirection. default (if $OUTPUT isn't set) is to change the
- # specified changelog file.
- # illegal if more than one changelog file/package is specified.
- -o | --output)
- OUTPUT="$2"
- shift
- ;;
- # redirect output to stdout - can be combined with -o
- -s | --stdout)
- STDOUT="true"
- OUTPUT="/dev/null"
- ;;
-
- # list of files changed (second part inclosed in quotes!)
- -c | --changed-files)
- CHANGED="$CHANGED $2"
- shift
- ;;
-
- # request for version/usage information etc
- -h | --help)
- print_about
- print_usage
- cleanup 0
- ;;
- -v | --version)
- print_about
- cleanup 0
- ;;
-
- # everything else we couldn't identify. most of it is packages/files to work on.
- *)
- for x in "$MYPORTDIR/$1/ChangeLog" "$PORTDIR/$1/ChangeLog" "$PWD/$1/ChangeLog" "$PWD/$1"; do
- if [ -f "$x" ]; then
- FILES="$FILES $x"
- shift # because by calling continue we skip the shift at the end of the case block
- continue 2 # next while iteration
- fi
- done
- # if we haveb't detected a changelog file, maybe we need to create one
- if [ -n "$GENERATE" ]; then
- for x in "$PWD/$1" "$1" "$MYPORTDIR/$1" "$PORTDIR/$1"; do
- if [ -d "$x" ]; then
- touch $x/ChangeLog
- FILES="$FILES $x/ChangeLog"
- shift # because by calling continue we skip the shift at the end of the case block
- continue 2 # next while iteration
- fi
- done
- fi
-
- echo "!!! Error: unrecognized option: $1"
- echo
- print_usage
- cleanup 1
-
- ;;
-
- esac
-
- shift
- done
-
- if [ -z "$FILES" ]; then
- echo "No changelog path or package name passed, mandatory parameter missing."
- echo
- print_usage
- cleanup 1
- fi
-
-}
-
-# get the log message
-get_msg() {
-
- if [ -n "`cat $TMPMESSAGE`" ]; then
- echo "Using message-on-file."
- elif [ -n "$MESSAGE" ]; then
- echo "$MESSAGE" > $TMPMESSAGE
- else # [ -z "$MESSAGE" ]
-
- echo > $TMPMESSAGE
- echo "Please enter changelog. You can leave this line, it will be automatically removed." >> $TMPMESSAGE
- $EDITOR $TMPMESSAGE
- cp $TMPMESSAGE ${TMPMESSAGE}2
- sed -e '/Please enter changelog. You can leave this line, it will be automatically removed./ D' \
- ${TMPMESSAGE}2 > $TMPMESSAGE
- rm ${TMPMESSAGE}2
-
- fi
-
- # break up into 80-character columns (actually 78 chars because we'll
- # add two spaces to every line)
- cp $TMPMESSAGE ${TMPMESSAGE}2
- fmt -s -w 78 ${TMPMESSAGE}2 > $TMPMESSAGE
- rm ${TMPMESSAGE}2
-
- # add two spaces to the beginning of every line of the message.
- # do this separately from the sed in the else section above
- # because it should be executed for the if and elif sections too.
- cp $TMPMESSAGE ${TMPMESSAGE}2
- sed -e 's:^: :g' ${TMPMESSAGE}2 > $TMPMESSAGE
- rm ${TMPMESSAGE}2
-
-}
-
-# get list of files and wrap it in the following manner:
-# 1 item on the first list and upto 80 chars on every other.
-# also adds 2 spaces to the beginning of every line but the first.
-wrap_list() {
-
- echo -n $1
- shift
-
- while [ -n "$1" ]; do
- if [ -n "$LIST" ]; then
- LIST="$LIST, $1"
- else
- echo ,
- LIST="$1"
- fi
- shift
- done
- LIST="$LIST :"
-
- echo $LIST | fmt -s -w 78 | sed -e 's:^: :g' -
-
-}
-
-# do the actual work on te changelog file passed as $1
-process() {
- # figure out category and package names
- name=${1//${PORTDIR}}
- name=${name//${MYPORTDIR}}
- name=${name//\/ChangeLog}
-
- OLDIFS="$IFS"
- IFS="/"
- for x in $name; do
- if [ -z "$CATEGORY" ]; then
- CATEGORY="$x"
- else
- PACKAGE="$x"
- fi
- done
- IFS="$OLDIFS"
-
- # create header
- echo \
-"# ChangeLog for $CATEGORY/$PACKAGE
-# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# \$Header: \$
-" > $TMPHEADER
-
- # create entry line
- if [ -n "$NEWVERSION" ]; then
- echo "*$PACKAGE-$NEWVERSION (`date '+%d %b %Y'`)" > $TMPENTRY
- echo >> $TMPENTRY
- fi
-
- echo -n " `date "+%d %b %Y"`; ${AUTHORNAME} <${AUTHOREMAIL}> " >> $TMPENTRY
- [ -z "$CHANGED" ] && CHANGED="ChangeLog "
- wrap_list $CHANGED >> $TMPENTRY
-
- echo >> $TMPENTRY
-
- # get the original changelog, minus the old header
- sed -e '/^# ChangeLog for/ D
- /^# Copyright 2002 Gentoo Technologies/ D
- /^# \$Header:/ D' $1 > $TMPOLDLOG
-
- # join everything together
- cat $TMPHEADER $TMPENTRY $TMPMESSAGE $TMPOLDLOG > $TMPCHANGELOG
-
- # various output options
- if [ -n "$OUTPUT" ]; then
- cp $TMPCHANGELOG $OUTPUT
- [ -z "$STDOUT" ] && echo "New changelog saved in $OUTPUT."
- else
- cp $TMPCHANGELOG $1
- [ -z "$STDOUT" ] && echo "Original changelog $1 replaced."
- fi
-
- if [ -n "$STDOUT" ]; then
- cat $TMPCHANGELOG
- fi
-
-}
-
-# pass exit code to this function
-cleanup() {
-
- rm -f $TMPMESSAGE $TMPHEADER $TMPENTRY $TMPCHANGELOG $TMPOLDLOG
-
- exit $1
-
-}
-
-parse_params "${@}"
-
-init
-
-get_msg
-
-for x in $FILES; do
- process $x
-done
-
-cleanup 0
-
diff --git a/trunk/src/change/change.1 b/trunk/src/change/change.1
deleted file mode 100644
index e69de29..0000000
--- a/trunk/src/change/change.1
+++ /dev/null