-diff -urN rpm-4.0.2/build/parseChangelog.c rpm-4.0.2.new/build/parseChangelog.c
---- rpm-4.0.2/build/parseChangelog.c Tue Jan 16 00:10:04 2001
-+++ rpm-4.0.2.new/build/parseChangelog.c Thu Aug 30 23:41:32 2001
-@@ -213,7 +213,7 @@
-
- while (! (nextPart = isPart(spec->line))) {
+--- rpm-4.4.3/build/parseChangelog.c.orig 2005-11-12 01:20:12.000000000 +0100
++++ rpm-4.4.3/build/parseChangelog.c 2005-11-18 19:46:50.357322048 +0100
+@@ -255,7 +255,7 @@
+ line = xstrtolocale(line);
appendStringBuf(sb, spec->line);
+ line = _free(line);
- if ((rc = readLine(spec, STRIP_COMMENTS)) > 0) {
+ if ((rc = readLine(spec, STRIP_COMMENTS | STRIP_NOEXPAND)) > 0) {
nextPart = PART_NONE;
break;
}
-diff -urN rpm-4.0.2/build/parseDescription.c rpm-4.0.2.new/build/parseDescription.c
---- rpm-4.0.2/build/parseDescription.c Tue Jan 16 00:10:04 2001
-+++ rpm-4.0.2.new/build/parseDescription.c Thu Aug 30 23:41:47 2001
-@@ -106,7 +106,7 @@
- appendLineStringBuf(sb, spec->line);
- if (t) t->t_nlines++;
- if ((rc =
-- readLine(spec, STRIP_TRAILINGSPACE | STRIP_COMMENTS)) > 0) {
-+ readLine(spec, STRIP_TRAILINGSPACE | STRIP_COMMENTS | STRIP_NOEXPAND)) > 0) {
- nextPart = PART_NONE;
- break;
- }
-diff -urN rpm-4.0.2/build/parseSpec.c rpm-4.0.2.new/build/parseSpec.c
---- rpm-4.0.2/build/parseSpec.c Tue Jan 16 14:08:55 2001
-+++ rpm-4.0.2.new/build/parseSpec.c Thu Aug 30 23:58:52 2001
-@@ -131,12 +131,16 @@
+--- rpm-4.3/build/parseSpec.c.wiget Thu May 15 18:15:51 2003
++++ rpm-4.3/build/parseSpec.c Fri May 16 00:08:57 2003
+@@ -156,12 +156,16 @@
ofi->readPtr = from;
/* Don't expand macros (eg. %define) in false branch of %if clause */
-- if (spec->readStack->reading &&
-- expandMacros(spec, spec->macros, spec->lbuf, sizeof(spec->lbuf))) {
-- rpmError(RPMERR_BADSPEC, _("line %d: %s\n"),
-- spec->lineNum, spec->lbuf);
-- return RPMERR_BADSPEC;
-- }
-+ /* Also don't expand macros in %changelog and %description, where
-+ we set STRIP_NOEXPAND flag */
++ /* Also don't expand macros in %changelog where we set STRIP_NOEXPAND flag */
++ /* (first line is ommited, so if there is e.g. %date macro, it will be expanded */
+ if (!(strip & STRIP_NOEXPAND)) {
-+ if (spec->readStack->reading &&
-+ expandMacros(spec, spec->macros, spec->lbuf, sizeof(spec->lbuf))) {
-+ rpmError(RPMERR_BADSPEC, _("line %d: %s\n"),
-+ spec->lineNum, spec->lbuf);
-+ return RPMERR_BADSPEC;
-+ }
+ if (spec->readStack->reading &&
+ expandMacros(spec, spec->macros, spec->lbuf, sizeof(spec->lbuf))) {
+ rpmError(RPMERR_BADSPEC, _("line %d: %s\n"),
+ spec->lineNum, spec->lbuf);
+ return RPMERR_BADSPEC;
+ }
+ }
spec->nextline = spec->lbuf;
}
-diff -urN rpm-4.0.2/build/rpmbuild.h rpm-4.0.2.new/build/rpmbuild.h
---- rpm-4.0.2/build/rpmbuild.h Thu Jan 11 15:15:15 2001
-+++ rpm-4.0.2.new/build/rpmbuild.h Thu Aug 30 23:25:00 2001
-@@ -69,6 +69,7 @@
+@@ -273,6 +277,7 @@
+ SKIPSPACE(s);
+
+ match = -1;
++ if (! (strip & STRIP_NOEXPAND)) {
+ if (!spec->readStack->reading && !strncmp("%if", s, sizeof("%if")-1)) {
+ match = 0;
+ } else if (! strncmp("%ifarch", s, sizeof("%ifarch")-1)) {
+@@ -354,6 +359,7 @@
+ ofi = spec->fileStack;
+ goto retry;
+ }
++ }
+
+ if (match != -1) {
+ rl = xmalloc(sizeof(*rl));
+--- rpm-4.3/build/rpmbuild.h.wiget Sat May 10 17:19:33 2003
++++ rpm-4.3/build/rpmbuild.h Fri May 16 00:06:47 2003
+@@ -75,6 +75,7 @@
#define STRIP_NOTHING 0
#define STRIP_TRAILINGSPACE (1 << 0)
#define STRIP_COMMENTS (1 << 1)