mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-11-30 12:44:01 -06:00
1fa751680d
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2025 57a11ea4-9604-0410-9ed3-97b8803252fd
133 lines
2.7 KiB
Perl
Executable File
133 lines
2.7 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
#
|
|
# This perl script is used to make a patch for your GnuCash
|
|
# development work. All patches should be submitted to the
|
|
# mailing list gnucash-patches@gnucash.org. For more info
|
|
# consult the README.
|
|
#
|
|
# This script requires the programs 'makepatch', 'gzip',
|
|
# 'diff', and 'uuencode'.
|
|
#
|
|
# Author: Dave Peticolas <peticola@cs.ucdavis.edu>
|
|
|
|
|
|
###########################################################
|
|
# This section must be configured for your own setup. #
|
|
###########################################################
|
|
|
|
# The directory with the original gnucash sources
|
|
my $old = 'gnucash.pristine';
|
|
|
|
# The directory where you do your development
|
|
my $new = 'gnucash';
|
|
|
|
# The directory where the above two directories reside
|
|
my $gnc_home = '/usr/src/misc/gnc';
|
|
|
|
|
|
###########################################################
|
|
# This section should not need to be modified. #
|
|
###########################################################
|
|
|
|
# Switch to the home directory
|
|
chdir $gnc_home or die "Can't cd!\n";
|
|
|
|
# Erase the old files
|
|
unlink('gnc.diff', 'gnucash.diff.gz', 'gnucash.diff.gz.uue');
|
|
|
|
# Start out with our basic makepatch arguments
|
|
my @args = ('-diff', 'diff -u', '-exclude-vc');
|
|
|
|
# Add in the exclude patterns from the __DATA__ section
|
|
foreach my $pat (<DATA>) {
|
|
chomp($pat);
|
|
push(@args, '-exclude', $pat) if $pat;
|
|
}
|
|
|
|
# Add the from and to directories for makepatch
|
|
push(@args, $old, $new);
|
|
|
|
# Invoke makepatch with standard out redirected to 'gnucash.diff'
|
|
open(OLDOUT, ">&STDOUT");
|
|
open(STDOUT, "> gnucash.diff") || die "Can't redirect stdout";
|
|
system('makepatch', @args);
|
|
close(STDOUT);
|
|
open(STDOUT, ">&OLDOUT");
|
|
|
|
# Make a copy of the ascii diff in 'gnc.diff'
|
|
system('cp gnucash.diff gnc.diff');
|
|
|
|
# Compress the patch
|
|
system('gzip -9vf gnucash.diff');
|
|
|
|
# UU encode the compressed patch
|
|
# 'gnucash.diff.gz.uue' is the file you send.
|
|
system('uuencode gnucash.diff.gz gnucash.diff.gz > gnucash.diff.gz.uue');
|
|
|
|
exit(0);
|
|
|
|
__DATA__
|
|
|
|
obj
|
|
g-wrap-install
|
|
Makefile
|
|
Makefile.init
|
|
config.cache
|
|
config.log
|
|
config.status
|
|
config.h
|
|
*.tar.gz
|
|
*.log
|
|
*.bin
|
|
*.patch
|
|
*.diff
|
|
*.diffs
|
|
xacc
|
|
*.xac.*.xac
|
|
errs*
|
|
.#*
|
|
TAGS
|
|
#*#
|
|
libtool
|
|
conf.h
|
|
stamp-h
|
|
configure
|
|
.deps
|
|
.libs
|
|
*.i
|
|
gnucash.pm
|
|
gnucash-engine-perl5_wrap.c
|
|
g-wrap-guile
|
|
libgwrapguile.la
|
|
gnc-autogen.h
|
|
src/g-wrap/gnc.c
|
|
src/g-wrap/gnc.h
|
|
src/g-wrap/gnc.html
|
|
src/guile/gnucash.h
|
|
src/scm/bootstrap.scm
|
|
src/swig/perl5/gnucash.engine_wrap.doc
|
|
g-wrap.info
|
|
lib/g-wrap/Makefile.in
|
|
lib/g-wrap/rscheme/g-wrap-rs
|
|
src/quotes/gnc-prices
|
|
gtksheet*
|
|
*.wrap
|
|
*.orig
|
|
*.rej
|
|
src/reports/pathconfig.h
|
|
*.moc
|
|
*.gmo
|
|
*.mo
|
|
po/Makefile.in
|
|
POTFILES
|
|
cat-id-tbl.c
|
|
gnucash.pot
|
|
po/pseudo-source.c
|
|
stamp-cat-id
|
|
po/extract-macros.perl
|
|
include/messages_i18n.h
|
|
lib/g-wrap/aclocal.m4
|
|
lib/g-wrap/conf-h.in
|
|
lib/g-wrap/*/Makefile.in
|
|
src/guile/i18n.h
|