Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
John McEleney
/
mailutils
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
043c0d97
...
043c0d975a3cfcae01a2912b4f9f0c863234ae2c
authored
1999-10-06 06:16:39 +0000
by
Sean 'Shaleh' Perry
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
added a changelog script
1 parent
9c323b79
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
148 additions
and
0 deletions
ChangeLog
changelog.pl
ChangeLog
View file @
043c0d9
Sean 'Shaleh' Perry <shaleh@debian.org> Tue, 5 Oct 1999 23:06:33 -0700
* Added changelog.pl so we can have automated entries
set CVS_EMAIL=me@here.com and CVS_FULLNAME="Joe Blow"
usage: changelog.pl "added signal.c" or changelog.pl, an editor will
then appear (uses $VISUAL and $EDITOR)
the format is controlled simply via the format call at the end
and the section of perl code directly above it
Sean 'Shaleh' Perry <shaleh@debian.org> Tue, 5 Oct 1999 17:46:31 -0700
* added pop3d/signal.c -- contains pop3_sigchld() currently
...
...
changelog.pl
0 → 100755
View file @
043c0d9
#!/usr/bin/perl
# changelog: update the changelog using your favorite visual editor
#
# When creating a new changelog section, if either of the environment
# variables CVS_EMAIL or EMAIL is set, changelog will use this as the
# uploader's email address (with the former taking precedence), and if
# CVS_FULLNAME is set, it will use this as the uploader's full name.
# Otherwise, it will just copy the values from the previous changelog
# entry.
#
# Originally by Christoph Lameter <clameter@debian.org>
# Modified extensively by Julian Gilbey <jdg@debian.org>
# Now a changelog script for GNU projects
# Sean 'Shaleh' Perry <shaleh@debian.org>
#
# Copyright 1999 by Julian Gilbey
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
use
5.003
;
# We're using function prototypes
use
Getopt::
Std
;
use
File::
Copy
;
use
Cwd
;
# Predeclare functions
sub
fatal
($);
my
$progname
;
(
$progname
=
$0
)
=~
s
|.*/||
;
sub
usage
{
print
<<EOF
Usage: $progname [-h] [changelog entry]
Options:
-h Display this help message and exit
EOF
}
# Look for the changelog
if
(
!
-
e
"ChangeLog"
)
{
die
(
"Cannot find ChangeLog anywhere! "
.
"Are you in the source code tree?"
);
}
if
(
-
e
"ChangeLog.dch"
)
{
die
(
"The backup file ChangeLog.dch already exists --\n"
.
"please move it before trying again"
);
}
else
{
$tmpchk
=
1
;
}
sub
BEGIN
{
# Initialise the variable
$tmpchk
=
0
;
}
sub
END
{
unlink
"ChangeLog.dch"
or
warn
"Could not remove ChangeLog.dch"
if
$tmpchk
;
}
open
S
,
"ChangeLog"
or
fatal
"Cannot open ChangeLog:"
.
" $!"
;
open
O
,
">ChangeLog.dch"
or
fatal
"Cannot write to temporary file:"
.
" $!"
;
getopts
(
'h'
)
or
die
sprintf
(
"Usage: %s [-h] [changelog entry]\n"
,
$progname
);
if
(
$opt_h
)
{
usage
();
exit
(
0
);
}
# Get a possible changelog entry from the command line
$SAVETEXT
=
$TEXT
=
"@ARGV"
;
# Get the date
chomp
(
$DATE
=
`822-date`
);
$MAINTAINER
=
$ENV
{
'CVS_FULLNAME'
}
||
$MAINTAINER
;
if
(
$MAINTAINER
eq
''
)
{
fatal
"Could not figure out maintainer's name:"
.
" $!"
;
}
$EMAIL
=
$ENV
{
'CVS_EMAIL'
}
||
$ENV
{
'EMAIL'
}
||
$EMAIL
;
if
(
$EMAIL
eq
''
)
{
fatal
"Could not figure out maintainer's email address:"
.
" $!"
;
}
print
O
"$MAINTAINER <$EMAIL> $DATE\n\n"
;
if
(
$TEXT
)
{
write
O
}
else
{
print
O
" * \n\n"
;
$line
=
3
;
}
# Rewind the current changelog to the beginning of the file
seek
S
,
0
,
0
or
fatal
"Couldn't rewind ChangeLog:"
.
" $!"
;
# Copy the rest of the changelog file to new one
while
(
<S>
)
{
print
O
;
}
close
S
or
fatal
"Error closing ChangeLog:"
.
" $!"
;
close
O
or
fatal
"Error closing temporary ChangeLog:"
.
" $!"
;
# Now Run the Editor
if
(
!
$SAVETEXT
)
{
$EDITOR
=
$ENV
{
"EDITOR"
}
||
$ENV
{
"VISUAL"
}
||
'/usr/bin/editor'
;
system
(
"$EDITOR +$line ChangeLog.dch"
)
/
256
==
0
or
fatal
"Error editing the ChangeLog:"
.
" $!"
;
}
copy
(
"ChangeLog.dch"
,
"ChangeLog"
)
or
fatal
"Couldn't replace ChangeLog with new ChangeLog:"
.
" $!"
;
# Format for standard ChangeLogs
format
O
=
* ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$TEXT
~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$TEXT
.
sub
fatal
($)
{
my
(
$pack
,
$file
,
$line
);
(
$pack
,
$file
,
$line
)
=
caller
();
(
my
$msg
=
sprintf
(
"%s: fatal error at line %d:\n"
,
$progname
,
$line
)
.
"@_\n"
)
=~
tr
/\0/
/
d
;
$msg
=~
s/\n\n$/\n/
;
die
$msg
;
}
Please
register
or
sign in
to post a comment