File: make-gnucash-patch

package info (click to toggle)
gnucash 1.3.4-3
  • links: PTS
  • area: main
  • in suites: potato
  • size: 9,232 kB
  • ctags: 6,947
  • sloc: ansic: 60,740; lisp: 10,772; sh: 7,437; perl: 3,812; cpp: 2,992; sql: 1,255; makefile: 673
file content (148 lines) | stat: -rwxr-xr-x 3,117 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#!/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.            #
###########################################################

# Allow the user to override the defaults with evnt vars.

if($ENV{'GNC_MAKEPATCH_OLD_DIR'}) {
  $old = $ENV{'GNC_MAKEPATCH_OLD_DIR'};
}

if($ENV{'GNC_MAKEPATCH_NEW_DIR'}) {
  $new = $ENV{'GNC_MAKEPATCH_NEW_DIR'};
}

if($ENV{'GNC_MAKEPATCH_HOME_DIR'}) {
  $gnc_home = $ENV{'GNC_MAKEPATCH_HOME_DIR'};
}

# 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
*.bak
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
libgwraprs.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/stamp-h.in
lib/g-wrap/*/Makefile.in
src/guile/i18n.h