summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2012-03-16 19:25:50 +0000
committerMike Gilbert <floppym@gentoo.org>2012-03-16 19:25:50 +0000
commit39c2c252ff84dd92e6dc165903b600b4a73ea437 (patch)
tree1c8b6812162299abfb81fdde9d06764c76d0bbf1
parentskel.metadata.xml: Change indent style. (diff)
downloadsunrise-reviewed-39c2c252ff84dd92e6dc165903b600b4a73ea437.tar.gz
sunrise-reviewed-39c2c252ff84dd92e6dc165903b600b4a73ea437.tar.bz2
sunrise-reviewed-39c2c252ff84dd92e6dc165903b600b4a73ea437.zip
app-portage/overlay-utils: Move sunrise-commit source to FILESDIR.
(Portage version: 2.2.0_alpha90/svn/Linux x86_64, signed Manifest commit with key EA4843A4) svn path=/sunrise/; revision=12816
-rw-r--r--app-portage/overlay-utils/ChangeLog6
-rw-r--r--app-portage/overlay-utils/Manifest17
-rw-r--r--app-portage/overlay-utils/files/sunrise-commit351
-rw-r--r--app-portage/overlay-utils/files/sunrise-commit.1268
-rw-r--r--app-portage/overlay-utils/overlay-utils-0.2.1-r1.ebuild18
5 files changed, 643 insertions, 17 deletions
diff --git a/app-portage/overlay-utils/ChangeLog b/app-portage/overlay-utils/ChangeLog
index b5ca15c97..7ee9eaf5e 100644
--- a/app-portage/overlay-utils/ChangeLog
+++ b/app-portage/overlay-utils/ChangeLog
@@ -1,7 +1,11 @@
# ChangeLog for app-portage/overlay-utils
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 16 Mar 2012; Mike Gilbert <floppym@gentoo.org> overlay-utils-0.2.1-r1.ebuild,
+ +files/sunrise-commit, +files/sunrise-commit.1:
+ Move sunrise-commit source to FILESDIR.
+
*overlay-utils-0.2.1-r1 (06 Dec 2011)
06 Dec 2011; Nathan Phillip Brink <binki@gentoo.org>
diff --git a/app-portage/overlay-utils/Manifest b/app-portage/overlay-utils/Manifest
index 6403e8bf5..3d1c4f5ba 100644
--- a/app-portage/overlay-utils/Manifest
+++ b/app-portage/overlay-utils/Manifest
@@ -1,4 +1,15 @@
-DIST overlay-utils-0.2.1.tar.bz2 10002 RMD160 9936103b6cb8819d15a034f477d8ad8f92f82801 SHA1 801b607c385e1cacf1f876ef8ec5454bfdc7303e SHA256 f07aac4d008b441ed1014eba7d1f36eedae251afbc3d88be0343a35715ca3155
-EBUILD overlay-utils-0.2.1-r1.ebuild 825 RMD160 50723a9eb4b3f6c1074401396070dc4f5ef39f61 SHA1 767f2fa18fe1d244863b34f3f19a92f3f2dd2793 SHA256 5e21ce47bd42e3703e80ed280b405e73ab4ec731b50cbd09237aa902aaadf433
-MISC ChangeLog 3173 RMD160 0e3ba787cbea1a565c16883a7f745085fa435f55 SHA1 dbb13fa191ed2c763a7acd2afc72ec1315cda60b SHA256 4d42dc0a05ad90f232a7a3725bc50038b149da0ff7dc125c97a74d95ec3b888d
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+AUX sunrise-commit 8833 RMD160 e5e3808bd736d3becdd074839e19c3818dd73409 SHA1 5b07fdb0b5fdc814474afe524bfdca731618087a SHA256 207217486532d5cfb34f8e5535c0f66211e823cc97b2f015fc558539fd44af3e
+AUX sunrise-commit.1 7607 RMD160 52e4e7df66661705f05df4167b80e68cffaafddb SHA1 647084334a6d24c51d3f4052b1a469e56d09c078 SHA256 5b6c2b68eeb45f0eb864c0efb787e8622bb7d80119812218e45c82bb04926bd3
+EBUILD overlay-utils-0.2.1-r1.ebuild 509 RMD160 24b5d144e81ff562f8d677103304c4d6a1d571da SHA1 a3401ffafd0a0e6e1a687d31615a62de8a158978 SHA256 6e532c6d40fcf4c3acc96cb544f77f2d0f2ffb635689229750f1e70b3323eb97
+MISC ChangeLog 3346 RMD160 2e870df40d4e3e7948c0d3d44f1067955adceecd SHA1 72a9b03a4f86e980d1bae90c0b3921fa79197543 SHA256 602a85d90e132a1e87a99f9c2a315b98a3f70bbce05eea59b11697c6bcaf9325
MISC metadata.xml 208 RMD160 c18611400760e42bdd001905be0a63c2e963bcea SHA1 595816105cac477cb85792a182e15888029118a1 SHA256 c4841c87f0c2b9b5e679a27dc72180be8d508fb3f5df0fbab2ec2c805c0a6d82
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.17 (GNU/Linux)
+
+iF4EAREIAAYFAk9jk7oACgkQC77qH+pIQ6RHRwEAw5VLk8SxOTBZkyTqR4FcdtUv
+LklnHhPXo7JMJjd4kqcA/3GiHz8OnYTcpWoI0xbE7Nu5k8JwLbEKZQgH4/gC9B7+
+=1kjg
+-----END PGP SIGNATURE-----
diff --git a/app-portage/overlay-utils/files/sunrise-commit b/app-portage/overlay-utils/files/sunrise-commit
new file mode 100644
index 000000000..9fb7e8354
--- /dev/null
+++ b/app-portage/overlay-utils/files/sunrise-commit
@@ -0,0 +1,351 @@
+#!/bin/bash
+# sunrise-commit - Automates the Gentoo Sunrise Overlay commit process
+# Released into the public domain
+
+source /etc/init.d/functions.sh
+
+BLUE=$BRACKET
+BOLD=$'\e[0;01m'
+DARKGREEN=$'\e[32m'
+GREEN=$GOOD
+LIGHTBLUE=$HILITE
+RED=$BAD
+YELLOW=$WARN
+
+commit_category="$(pwd | awk -F/ '{ print $(NF-1) }')"
+commit_package="$(pwd | awk -F/ '{ print $NF }')"
+current_svn_status=( )
+cwd_is_ebuild_dir=0
+items_added=( )
+items_conflicted=( )
+items_deleted=( )
+items_ignored=( )
+items_missing=( )
+items_modified=( )
+items_not_modified=( )
+items_not_version_controlled=( )
+items_obstructed=( )
+items_replaced=( )
+items_used_by_externals=( )
+num_new_dirs=0
+opt_changelog=0
+opt_noformat=0
+opt_norepoman=0
+opt_noupdate=0
+opt_quiet=0
+opt_verbose=0
+
+changelog_append() {
+ if [[ $opt_changelog == 1 ]] ; then
+ get_current_svn_status
+ if [[ "${current_svn_status[*]}" =~ "ChangeLog" ]] ; then
+ echo "!!! Error: Only one ChangeLog entry should be made per commit, and you have"
+ echo "!!! already modified your ChangeLog locally since your last commit. To keep the"
+ echo "!!! pre-existing modifications please run sunrise-commit again without the -c"
+ echo "!!! option. To discard the pre-existing modifications run:"
+ echo "!!! svn revert ChangeLog"
+ echo "!!!"
+ echo -n "!!! "
+ echo -n "${BOLD}Are you SURE you want to append to ChangeLog?${NORMAL} [${GREEN}No${NORMAL}/${RED}Yes${NORMAL}] "
+ read choice
+ echo
+ case "$choice" in
+ yes|Yes|YES)
+ ;;
+
+ n*|N*|"")
+ echo "Aborting. Run sunrise-commit without the -c this time around."
+ exit 1 ;;
+
+ *)
+ echo "Unrecognized response - assuming no."
+ echo "Aborting. Run sunrise-commit without the -c this time around."
+ exit 1 ;;
+ esac
+ fi
+ ebegin "Appending/creating ChangeLog"
+# [ -e $(dirname $0)/echangelog ] && ec="$(dirname $0)/echangelog" || ec="echangelog"
+# $ec "$*"
+ echangelog "$*"
+ eend $?
+ fi
+}
+
+create_digests() {
+ if [[ $cwd_is_ebuild_dir == 1 ]] ; then
+ ebegin "Digesting ebuilds"
+ for i in *.ebuild ; do
+ ebuild $i digest
+ done
+ eend $?
+ fi
+}
+
+# Sort current changed items into arrays based on symbols in `svn status`
+# output. For now we're only concerned with the symbols in the first column of
+# the output. See `svn help status` for symbol definitions.
+#
+# Returns with exit status 1 if the current dir isn't under version control.
+get_current_svn_status() {
+ local IFS_SAVED="$IFS"
+ local item column_1 #column_2 column_3 column_4 column_5 column_6
+ IFS=$'\n'
+ current_svn_status=( )
+ items_added=( )
+ items_conflicted=( )
+ items_deleted=( )
+ items_ignored=( )
+ items_missing=( )
+ items_modified=( )
+ items_not_modified=( )
+ items_not_version_controlled=( )
+ items_obstructed=( )
+ items_replaced=( )
+ items_used_by_externals=( )
+ for line in $(svn status 2>&1) ; do
+ [[ "$line" =~ "is not a working copy" ]] && return 1
+ current_svn_status[${#current_svn_status[*]}]=$line
+ column_1=${line:0:1}
+ #column_2=${line:1:1}
+ #column_3=${line:2:1}
+ #column_4=${line:3:1}
+ #column_5=${line:4:1}
+ #column_6=${line:5:1}
+ item=${line:7}
+ case $column_1 in
+ ' ') items_not_modified[${#items_not_modified[*]}]=$item ;;
+ A) items_added[${#items_added[*]}]=$item ;;
+ C) items_conflicted[${#items_conflicted[*]}]=$item ;;
+ D) items_deleted[${#items_deleted[*]}]=$item ;;
+ I) items_ignored[${#items_ignored[*]}]=$item ;;
+ M) items_modified[${#items_modified[*]}]=$item ;;
+ R) items_replaced[${#items_replaced[*]}]=$item ;;
+ X) items_used_by_externals[${#items_used_by_externals[*]}]=$item ;;
+ !) items_missing[${#items_missing[*]}]=$item ;;
+ ?) items_not_version_controlled[${#items_not_version_controlled[*]}]=$item ;;
+ ~) items_obstructed[${#items_obstructed[*]}]=$item ;;
+ esac
+ done
+ IFS="$IFS_SAVED"
+}
+
+repoman_check() {
+ if [[ $opt_norepoman == 0 ]] ; then
+ if [[ $cwd_is_ebuild_dir == 1 ]] ; then
+ ebegin "Running repoman"
+ export PORTDIR_OVERLAY="$(dirname $(dirname $(pwd)))"
+ repoman
+ eend $?
+ fi
+ fi
+}
+
+svn_add() {
+ local num_unversioned_dirs=0
+
+ while ! get_current_svn_status ; do
+ (( num_unversioned_dirs++ ))
+ pushd .. >/dev/null
+ done
+
+ ebegin "Adding local changes to working copy"
+ if [[ ${#items_not_version_controlled[*]} > 0 ]] ; then
+ if [[ $opt_verbose == 1 ]] ; then
+ svn add ${items_not_version_controlled[@]} || set $?
+ else
+ svn add -q ${items_not_version_controlled[@]} || set $?
+ fi
+ fi
+ eend ${1:-0}
+
+ num_new_dirs=$num_unversioned_dirs
+
+ for (( i=num_unversioned_dirs ; i > 0 ; i-- )) ; do
+ popd >/dev/null
+ done
+
+ return ${1:-0}
+}
+
+svn_commit() {
+ local commit_message="$*"
+
+ get_current_svn_status
+ if [[ ${#current_svn_status[*]} == 0 ]] ; then
+ echo "!!! Error: No working copy changes found in current directory. Aborting commit."
+ exit 1
+ fi
+
+ if [[ $opt_noformat == 0 ]] ; then
+ if [[ $cwd_is_ebuild_dir == 1 ]] ; then
+ commit_message="${commit_category}/${commit_package}: ${commit_message}"
+ else
+ commit_message="${commit_package}/${current_svn_status[0]:7}: ${commit_message}"
+ fi
+ fi
+
+ for (( i=num_new_dirs ; i > 0 ; i-- )) ; do
+ cd ..
+ done
+
+ echo
+ echo "${DARKGREEN}The following local changes will be committed to the repository:${NORMAL}"
+ echo
+
+ get_current_svn_status
+ for item in "${current_svn_status[@]}" ; do
+ echo "$item"
+ done
+
+ echo
+ echo "${DARKGREEN}The following commit message will be used:${NORMAL}"
+ echo
+ echo "$commit_message"
+
+ if [[ $opt_quiet == 0 ]] ; then
+ echo
+ echo -n "${BOLD}Commit changes?${NORMAL} [${GREEN}Yes${NORMAL}/${RED}No${NORMAL}] "
+ read choice
+ echo
+
+ case "$choice" in
+ y*|Y*|"")
+ ;;
+
+ *)
+ echo "Quitting."
+ echo
+ return 1 ;;
+ esac
+ fi
+
+ ebegin "Committing working copy to repository"
+ svn commit -m "$commit_message"
+ eend $?
+}
+
+svn_up() {
+ if [[ $opt_noupdate == 0 ]] ; then
+ for (( i=num_new_dirs ; i > 0 ; i-- )) ; do
+ pushd .. >/dev/null
+ done
+
+ ebegin "Updating working copy to latest version from repository"
+
+ if [[ $opt_verbose == 1 ]] ; then
+ svn update || set $?
+ else
+ svn update -q || set $?
+ fi
+
+ eend ${1:-0}
+
+ for (( i=num_new_dirs ; i > 0 ; i-- )) ; do
+ popd >/dev/null
+ done
+
+ get_current_svn_status
+ if [[ ${#items_conflicted[*]} > 0 ]] ; then
+ echo "!!! Error: Some local items have changes that conflict with the repository."
+ echo "!!! Please contact the most recent committer(s) of these items and resolve the"
+ echo "!!! conflicts manually before running sunrise-commit again:"
+ for item in "${items_conflicted[@]}" ; do
+ echo "!!!"
+ echo "!!! item: ${item}"
+ echo "!!! committer: $(svn info ${item} | sed -rn 's/Last Changed Author\: (.*)$/\1/p')"
+ done
+ exit 1
+ fi
+ fi
+ return ${1:-0}
+}
+
+usage() {
+cat << EOF
+${BOLD}Usage:${NORMAL} ${LIGHTBLUE}sunrise-commit${NORMAL} [ ${GREEN}options${NORMAL} ] ${BLUE}message${NORMAL}
+
+${GREEN}options${NORMAL}:
+ ${BOLD}--changelog, -c${NORMAL} Create a ChangeLog entry using ${BLUE}message${NORMAL}
+ ${BOLD}--help, -h${NORMAL} Show help
+ ${BOLD}--noformat, -m${NORMAL} Disable automatic formatting of ${BLUE}message${NORMAL}
+ ${BOLD}--norepoman, -p${NORMAL} Skip repoman check
+ ${BOLD}--noupdate, -d${NORMAL} Don't update from repository before committing
+ ${BOLD}--quiet, -q${NORMAL} Don't ask for confirmation
+ ${BOLD}--verbose, -v${NORMAL} Show detailed information during commit
+
+${BLUE}message${NORMAL}:
+ Commit message describing changes and listing names/emails of anyone (other
+ than the commiter) who contributed.
+EOF
+ exit ${1:-0}
+}
+
+[[ -z "$1" ]] && usage 1
+
+while [[ $# > 0 ]] ; do
+ case "$1" in
+ --changelog|-c)
+ if [[ -z "$ECHANGELOG_USER" ]] ; then
+ echo "!!! Error: --changelog option requires ECHANGELOG_USER to be set:"
+ echo "!!! export ECHANGELOG_USER=\"Your Name <your@mail.org>\""
+ exit 1
+ fi
+ opt_changelog=1
+ shift ;;
+
+ --help|-h)
+ usage ;;
+
+ --noformat|-m)
+ opt_noformat=1
+ shift ;;
+
+ --norepoman|-p)
+ opt_norepoman=1
+ shift ;;
+
+ --noupdate|-d)
+ opt_noupdate=1
+ shift ;;
+
+ --quiet|-q)
+ opt_quiet=1
+ shift ;;
+
+ --verbose|-v)
+ opt_verbose=1
+ shift ;;
+
+ -*)
+ echo "!!! Error: Unknown option ${1}. See: sunrise-commit -h"
+ exit 1 ;;
+
+ *)
+ break ;;
+ esac
+done
+
+if [[ -z "$*" ]] ; then
+ echo "!!! Error: You must supply a commit message. See: sunrise-commit -h"
+ exit 1
+fi
+
+[[ "$(ls)" =~ \.ebuild ]] && cwd_is_ebuild_dir=1
+
+pushd . >/dev/null
+while [[ "$(echo `svn status 2>&1`)" =~ "A.+? \." ]] ; do
+ (( num_new_dirs++ ))
+ cd ..
+done
+popd >/dev/null
+
+svn_up || exit $?
+
+[[ $cwd_is_ebuild_dir == 1 && ! -e metadata.xml ]] && cp ../../skel.metadata.xml metadata.xml >/dev/null 2>&1
+
+svn_add || exit $?
+changelog_append "$*" || exit $?
+create_digests || exit $?
+svn_add || exit $?
+repoman_check || exit $?
+svn_commit "$*" || exit $?
diff --git a/app-portage/overlay-utils/files/sunrise-commit.1 b/app-portage/overlay-utils/files/sunrise-commit.1
new file mode 100644
index 000000000..7ab561be7
--- /dev/null
+++ b/app-portage/overlay-utils/files/sunrise-commit.1
@@ -0,0 +1,268 @@
+.\" Title: sunrise\-commit
+.\" Author: Alex Tarkovsky <alextarkovsky@gmail.com>
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: November 5, 2006
+.\" Manual: overlay\-utils
+.\" Source: sunrise\-commit 0.2
+.\"
+.TH "SUNRISE\-COMMIT" "1" "November 5, 2006" "sunrise\-commit 0.2" "overlay\-utils"
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.SH "NAME"
+sunrise\-commit \- automates the Gentoo Sunrise Overlay commit process
+.SH "SYNOPSIS"
+.HP 15
+\fBsunrise\-commit\fR [[\-\-changelog] | [\-c]] [[\-\-help] | [\-h]] [[\-\-noformat] | [\-m]] [[\-\-norepoman] | [\-p]] [[\-\-noupdate] | [\-d]] [[\-\-quiet] | [\-q]] [[\-\-verbose] | [\-v]] {\fImessage\fR}
+.SH "DESCRIPTION"
+.PP
+The
+\fBsunrise\-commit\fR
+tool automates most of the process of committing changes to the Gentoo Sunrise Overlay. It currently aims to cover the most common scenarios.
+.SH "OPTIONS"
+.PP
+\fB\-\-changelog\fR, \fB\-c\fR
+.RS 3n
+Create a
+\fIChangeLog\fR
+entry using
+\fB\fImessage\fR\fR. This feature requires the environment variable
+\fIECHANGELOG_USER\fR
+to be set. To set this variable, do:
+.sp
+.RS 3n
+.nf
+$ \fBexport ECHANGELOG_USER="Your Name <your@mail.org>"\fR
+
+.fi
+.RE
+You can make the value of
+\fIECHANGELOG_USER\fR
+persist between shell sessions by adding that line to your
+\fI~/.bashrc\fR
+file. Only one
+\fIChangeLog\fR
+entry should be made per commit, so if you have already modified your
+\fIChangeLog\fR
+locally since your last commit
+\fBsunrise\-commit\fR
+will exit with an error. If this happens, to keep the pre\-existing
+\fIChangeLog\fR
+modifications you can run
+\fBsunrise\-commit\fR
+again without
+\fB\-\-changelog\fR, or to discard the pre\-existing modifications you should do the following before running
+\fBsunrise\-commit\fR
+again:
+.sp
+.RS 3n
+.nf
+$ \fBsvn revert ChangeLog\fR
+.fi
+.RE
+.RE
+.PP
+\fB\-\-help\fR, \fB\-h\fR
+.RS 3n
+Show help.
+.RE
+.PP
+\fB\-\-noformat\fR, \fB\-m\fR
+.RS 3n
+Disable automatic formatting of
+\fB\fImessage\fR\fR. By default your message will be prefixed with
+\fB"\fR\fB\fIcategoryname\fR\fR\fB/\fR\fB\fIpackagename\fR\fR\fB: "\fR
+if you're committing from a directory containing one or more
+\fI.ebuild\fR
+files, otherwise the prefix will be
+\fB"\fR\fB\fIcurrentdir\fR\fR\fB/\fR\fB\fIfirstchangedfile\fR\fR\fB: "\fR. If the default behavior produces an incorrect or undesired message prefix, set this option and supply your own prefix.
+.RE
+.PP
+\fB\-\-norepoman\fR, \fB\-p\fR
+.RS 3n
+Skip repoman check.
+.RE
+.PP
+\fB\-\-noupdate\fR, \fB\-d\fR
+.RS 3n
+Don't update from repository before committing.
+.RE
+.PP
+\fB\-\-quiet\fR, \fB\-q\fR
+.RS 3n
+Don't ask for confirmation. The default behavior is to prompt before finalizing commits.
+.RE
+.PP
+\fB\-\-verbose\fR, \fB\-v\fR
+.RS 3n
+Show detailed information during commit.
+.RE
+.SS "message"
+.PP
+This should be a brief message describing your changes. It will be used as the Subversion commit message, and, if
+\fB\-\-changelog\fR
+is specified, it will also serve as the
+\fIChangeLog\fR
+entry.
+.PP
+When not using
+\fB\-\-noformat\fR, please manually prefix your message with the package or file you're changing. When committing from a directory containing one or more
+\fI.ebuild\fR
+files the prefix convention is:
+.sp
+.RS 3n
+.nf
+"\fIcategoryname\fR/\fIpackagename\fR: "
+.fi
+.RE
+.PP
+For example:
+.sp
+.RS 3n
+.nf
+"app\-misc/youtranslate: "
+.fi
+.RE
+.PP
+A less common scenario is committing from non\-ebuild directories, in which case the prefix convention is:
+.sp
+.RS 3n
+.nf
+"\fIcurrentdir\fR/\fIchangedfile\fR: "
+.fi
+.RE
+.PP
+For multiple files in the same directory:
+.sp
+.RS 3n
+.nf
+"\fIcurrentdir\fR/ (\fIchangedfile1\fR \fIchangedfile2\fR \fIchangedfile3\fR): "
+.fi
+.RE
+.PP
+It's essential to terminate the prefix portion of your message with a colon character (":"). For readability you are encouraged to insert a space after the colon.
+.PP
+It's good practice to enclose the message in double quotation marks. Beware when using shell metacharacters in the message; the shell will evaluate these and likely produce unexpected behavior, so you must escape them:
+.sp
+.RS 3n
+.nf
+$ \fBsunrise\-commit \-c "A message with \\`ls\\` shouldn't be executed by \\
+ the shell"\fR
+.fi
+.RE
+.PP
+Please practice common courtesy and include in your message the names (and email addresses if available/appropriate) of anyone else who contributed to the changes you're committing:
+.sp
+.RS 3n
+.nf
+$ \fBsunrise\-commit \-c "New ebuild for bug 1337. Thanks to Frank N. \\
+ Furter, Hugo Furst <sheesh@thisnameisridiculous.com>, and \\
+ null@void.net."\fR
+.fi
+.RE
+.\" end of SS subsection "message"
+.SH "OPERATIONS PERFORMED"
+.PP
+
+\fBsunrise\-commit\fR
+will perform the following operations on the current working directory in the order listed.
+.SS "svn update"
+.PP
+
+\fBsvn update\fR
+is run to update your working copy with the latest changes from the trunk in the repository. If any conflicts between the updates and your local changes are detected,
+\fBsunrise\-commit\fR
+exits with an error message informing you of the files with conflicts and the names of their most recent committers so that you may contact these people to resolve the issue before committing your changes.
+.\" end of SS subsection "svn update"
+.SS "metadata.xml"
+.PP
+If the current directory contains one or more ebuilds and no
+\fImetadata.xml\fR
+is found, a skeleton
+\fImetadata.xml\fR
+is created.
+.\" end of SS subsection "metadata.xml"
+.SS "echangelog"
+.PP
+If
+\fB\-\-changelog\fR
+is specified, an entry is added to
+\fIChangeLog\fR
+in the current directory (and if that file doesn't exist it will be created for you first). The Gentoo
+\fBechangelog\fR
+utility is currently called to handle this operation.
+.\" end of SS subsection "echangelog"
+.SS "ebuild digest"
+.PP
+If the current directory contains one or more ebuilds then
+\fBebuild \fR\fB\fIfilename\fR\fR\fB digest\fR
+is run on each ebuild to create or update digest files and
+\fIManifest\fR.
+.\" end of SS subsection "ebuild digest"
+.SS "svn add"
+.PP
+
+\fBsvn add\fR
+is run to add all changes from the current directory in your working copy to Subversion locally.
+.\" end of SS subsection "svn add"
+.SS "repoman"
+.PP
+
+\fBrepoman\fR
+is run.
+\fBsunrise\-commit\fR
+exits here if repoman finds errors, but it doesn't exit for warnings. Since the default
+\fBsunrise\-commit\fR
+behavior is to prompt you before finally performing a commit, you are given a chance to abort the commit if you see
+\fBrepoman\fR
+warnings regarding issues which require correction.
+.\" end of SS subsection "repoman"
+.SS "svn commit"
+.PP
+If no changes are found at this step
+\fBsunrise\-commit\fR
+exits with an error. Otherwise you are informed of the changes to be committed and of the exact commit message to be used. Unless
+\fB\-\-quiet\fR
+was specified, you are prompted for confirmation to proceed with the actual
+\fBsvn commit\fR
+operation.
+.\" end of SS subsection "svn commit"
+.SH "EXAMPLES"
+.PP
+Committing a new ebuild:
+.sp
+.RS 3n
+.nf
+$ \fBsunrise\-commit \-c "New ebuild for bug 1337. Thanks to Frank N. \\
+ Furter, Hugo Furst <sheesh@thisnameisridiculous.com>, and \\
+ null@void.net."\fR
+.fi
+.RE
+.PP
+Revising an existing ebuild:
+.sp
+.RS 3n
+.nf
+$ \fBsunrise\-commit \-v \-c "Adding upstream patch for buffer overflow."\fR
+.fi
+.RE
+.PP
+Committing changes from a non\-ebuild directory:
+.sp
+.RS 3n
+.nf
+$ \fBsunrise\-commit \-v \-m "scripts/dev/orderpizza.sh: Initial commit."\fR
+.fi
+.RE
+.SH "AUTHORS"
+.PP
+\fBAlex\fR \fBTarkovsky\fR <alextarkovsky@gmail.com>
+.sp -1n
+.IP "" 3n
+Author.
+.PP
+\fBStefan\fR \fBSchweizer\fR <genstef@gentoo.com>
+.sp -1n
+.IP "" 3n
+Author.
diff --git a/app-portage/overlay-utils/overlay-utils-0.2.1-r1.ebuild b/app-portage/overlay-utils/overlay-utils-0.2.1-r1.ebuild
index 2dedd0df4..cc63f8da5 100644
--- a/app-portage/overlay-utils/overlay-utils-0.2.1-r1.ebuild
+++ b/app-portage/overlay-utils/overlay-utils-0.2.1-r1.ebuild
@@ -1,15 +1,11 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Utilities for Gentoo repository and overlay development"
-HOMEPAGE="http://gentooexperimental.org/~shillelagh/"
-SRC_URI="
- http://dev.gentooexperimental.org/~tommy/distfiles/${P}.tar.bz2
- http://91.191.147.225/~tommy/distfiles/${P}.tar.bz2
- http://dev.gentoo.org/~tommy/${P}.tar.bz2"
+HOMEPAGE="http://overlays.gentoo.org/proj/sunrise/"
LICENSE="GPL-2"
SLOT="0"
@@ -20,13 +16,9 @@ RDEPEND="app-portage/gentoolkit-dev
dev-vcs/subversion
>=sys-apps/portage-2.1"
-src_prepare() {
- # Remove echangelog-tng. The modern echangelog from gentoolkit-dev
- # supports subversion just fine.
- sed -i -e s/echangelog-tng/echangelog/g sunrise-commit || die
-}
+S=${WORKDIR}
src_install() {
- dobin sunrise-commit
- doman sunrise-commit.1
+ dobin "${FILESDIR}"/sunrise-commit
+ doman "${FILESDIR}"/sunrise-commit.1
}