summaryrefslogtreecommitdiff
path: root/epm
diff options
context:
space:
mode:
authorRene Engelhard <rene@openoffice.org>2010-04-20 01:10:11 +0200
committerRene Engelhard <rene@openoffice.org>2010-04-20 01:10:11 +0200
commit60137211233861884b4d035b9bdd5e3c06682fba (patch)
tree8bf83e3ca41b58e42b211d3b3928e232bffc6b56 /epm
parent7416e6a8305282606f54b30daf4942ab0b5ecbb7 (diff)
kfreebsdport01: make epms deb.c create correct kfreebsd-{i386,amd64}.deb packages
Diffstat (limited to 'epm')
-rw-r--r--epm/epm-3.7.patch1454
1 files changed, 650 insertions, 804 deletions
diff --git a/epm/epm-3.7.patch b/epm/epm-3.7.patch
index 116aa28f6690..02835bc3e5ce 100644
--- a/epm/epm-3.7.patch
+++ b/epm/epm-3.7.patch
@@ -1,811 +1,657 @@
-*** misc/epm-3.7/bsd.c Tue Jan 14 18:05:01 2003
---- misc/build/epm-3.7/bsd.c Mon Nov 20 14:54:51 2006
-***************
-*** 26,31 ****
---- 26,38 ----
-
- #include "epm.h"
-
-+ void cr2semicolon(char *command)
-+ {
-+ int len, i;
-+ len=strlen(command);
-+ for (i=0;i<len;i++)
-+ if(*(command+i)=='\n') *(command+i)=';';
-+ }
-
+diff -urN epm-3.7-old//bsd.c epm-3.7/bsd.c
+--- misc/epm-3.7/bsd.c 2003-01-14 17:05:01.000000000 +0000
++++ misc/build/epm-3.7/bsd.c 2010-04-19 22:52:32.000000000 +0000
+@@ -26,6 +26,13 @@
+
+ #include "epm.h"
+
++void cr2semicolon(char *command)
++{
++ int len, i;
++ len=strlen(command);
++ for (i=0;i<len;i++)
++ if(*(command+i)=='\n') *(command+i)=';';
++}
+
+ /*
+ * 'make_bsd()' - Make a FreeBSD software distribution package.
+@@ -149,8 +156,17 @@
+
+ for (i = dist->num_depends, d = dist->depends; i > 0; i --, d ++)
+ {
++#ifdef __FreeBSD__
++ if (d->type == DEPEND_REQUIRES) {
++ if (dist->relnumber)
++ fprintf(fp, "@pkgdep %s-%s-%d-%s", d->product, dist->version, dist->relnumber, platname);
++ else
++ fprintf(fp, "@pkgdep %s-%s-%s", d->product, dist->version, platname);
++ }
++#else
+ if (d->type == DEPEND_REQUIRES)
+ fprintf(fp, "@pkgdep %s", d->product);
++#endif
+ else
+ #ifdef __FreeBSD__
+ /*
+@@ -179,9 +195,11 @@
+ " by the BSD packager.\n", stderr);
+ break;
+ case COMMAND_POST_INSTALL :
++ cr2semicolon(c->command);
+ fprintf(fp, "@exec %s\n", c->command);
+ break;
+ case COMMAND_PRE_REMOVE :
++ cr2semicolon(c->command);
+ fprintf(fp, "@unexec %s\n", c->command);
+ break;
+ case COMMAND_POST_REMOVE :
+@@ -199,7 +217,7 @@
+ */
+
+ fprintf(fp, "@exec /bin/mkdir -p %s\n", file->dst);
+- fprintf(fp, "@exec /bin/chown %s:%s %s\n", file->user, file->group,
++ fprintf(fp, "@exec /usr/sbin/chown %s:%s %s\n", file->user, file->group,
+ file->dst);
+ fprintf(fp, "@exec /bin/chmod %04o %s\n", file->mode, file->dst);
+ }
+@@ -326,12 +344,13 @@
+ if (Verbosity)
+ puts("Building FreeBSD pkg binary distribution...");
+
+- if (run_command(NULL, "pkg_create -p / -s %s -c %s -d %s -f %s %s",
++ if (run_command(NULL, "/usr/sbin/pkg_create -p / -s %s -c %s -d %s -f %s %s",
+ current, commentname, descrname, plistname, name))
+ return (1);
+
+- if (run_command(NULL, "mv %s.tgz %s", name, directory))
+- return (1);
++ if (run_command(NULL, "mv %s.tbz %s", name, directory))
++ if (run_command(NULL, "mv %s.tgz %s", name, directory))
++ return (1);
+
/*
- * 'make_bsd()' - Make a FreeBSD software distribution package.
-***************
-*** 149,156 ****
---- 156,172 ----
-
- for (i = dist->num_depends, d = dist->depends; i > 0; i --, d ++)
- {
-+ #ifdef __FreeBSD__
-+ if (d->type == DEPEND_REQUIRES) {
-+ if (dist->relnumber)
-+ fprintf(fp, "@pkgdep %s-%s-%d-%s", d->product, dist->version, dist->relnumber, platname);
-+ else
-+ fprintf(fp, "@pkgdep %s-%s-%s", d->product, dist->version, platname);
-+ }
-+ #else
- if (d->type == DEPEND_REQUIRES)
- fprintf(fp, "@pkgdep %s", d->product);
-+ #endif
- else
- #ifdef __FreeBSD__
- /*
-***************
-*** 179,187 ****
---- 195,205 ----
- " by the BSD packager.\n", stderr);
- break;
- case COMMAND_POST_INSTALL :
-+ cr2semicolon(c->command);
- fprintf(fp, "@exec %s\n", c->command);
- break;
- case COMMAND_PRE_REMOVE :
-+ cr2semicolon(c->command);
- fprintf(fp, "@unexec %s\n", c->command);
- break;
- case COMMAND_POST_REMOVE :
-***************
-*** 199,205 ****
- */
-
- fprintf(fp, "@exec /bin/mkdir -p %s\n", file->dst);
-! fprintf(fp, "@exec /bin/chown %s:%s %s\n", file->user, file->group,
- file->dst);
- fprintf(fp, "@exec /bin/chmod %04o %s\n", file->mode, file->dst);
- }
---- 217,223 ----
- */
-
- fprintf(fp, "@exec /bin/mkdir -p %s\n", file->dst);
-! fprintf(fp, "@exec /usr/sbin/chown %s:%s %s\n", file->user, file->group,
- file->dst);
- fprintf(fp, "@exec /bin/chmod %04o %s\n", file->mode, file->dst);
- }
-***************
-*** 326,337 ****
- if (Verbosity)
- puts("Building FreeBSD pkg binary distribution...");
-
-! if (run_command(NULL, "pkg_create -p / -s %s -c %s -d %s -f %s %s",
- current, commentname, descrname, plistname, name))
- return (1);
-
-! if (run_command(NULL, "mv %s.tgz %s", name, directory))
-! return (1);
-
- /*
- * Remove temporary files...
---- 344,356 ----
- if (Verbosity)
- puts("Building FreeBSD pkg binary distribution...");
-
-! if (run_command(NULL, "/usr/sbin/pkg_create -p / -s %s -c %s -d %s -f %s %s",
- current, commentname, descrname, plistname, name))
- return (1);
-
-! if (run_command(NULL, "mv %s.tbz %s", name, directory))
-! if (run_command(NULL, "mv %s.tgz %s", name, directory))
-! return (1);
-
- /*
- * Remove temporary files...
-*** misc/epm-3.7/configure Thu Jul 24 03:20:54 2003
---- misc/build/epm-3.7/configure Mon Nov 20 15:01:11 2006
-***************
-*** 1238,1244 ****
---- 1238,1249 ----
- fi
- fi;
-
-+ # Check whether --enable-fltk or --disable-fltk was given.
-+ if test "${enable_fltk+set}" = set; then
-+ enableval="$enable_fltk"
-+ fi;
-
-+
- # Check whether --with-docdir or --without-docdir was given.
- if test "${with_docdir+set}" = set; then
- withval="$with_docdir"
-***************
-*** 4904,4939 ****
- fi
-
-
-! # Extract the first word of "fltk-config", so it can be a program name with args.
-! set dummy fltk-config; ac_word=$2
-! echo "$as_me:$LINENO: checking for $ac_word" >&5
-! echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-! if test "${ac_cv_path_FLTKCONFIG+set}" = set; then
-! echo $ECHO_N "(cached) $ECHO_C" >&6
-! else
-! case $FLTKCONFIG in
-! [\\/]* | ?:[\\/]*)
-! ac_cv_path_FLTKCONFIG="$FLTKCONFIG" # Let the user override the test with a path.
-! ;;
-! *)
-! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-! for as_dir in $PATH
-! do
-! IFS=$as_save_IFS
-! test -z "$as_dir" && as_dir=.
-! for ac_exec_ext in '' $ac_executable_extensions; do
-! if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-! ac_cv_path_FLTKCONFIG="$as_dir/$ac_word$ac_exec_ext"
-! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-! break 2
- fi
-! done
-! done
-!
-! ;;
-! esac
- fi
-- FLTKCONFIG=$ac_cv_path_FLTKCONFIG
-
- if test -n "$FLTKCONFIG"; then
- echo "$as_me:$LINENO: result: $FLTKCONFIG" >&5
---- 4909,4946 ----
- fi
-
-
-! if eval "test x$enable_fltk = xyes"; then
-! # Extract the first word of "fltk-config", so it can be a program name with args.
-! set dummy fltk-config; ac_word=$2
-! echo "$as_me:$LINENO: checking for $ac_word" >&5
-! echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-! if test "${ac_cv_path_FLTKCONFIG+set}" = set; then
-! echo $ECHO_N "(cached) $ECHO_C" >&6
-! else
-! case $FLTKCONFIG in
-! [\\/]* | ?:[\\/]*)
-! ac_cv_path_FLTKCONFIG="$FLTKCONFIG" # Let the user override the test with a path.
-! ;;
-! *)
-! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-! for as_dir in $PATH
-! do
-! IFS=$as_save_IFS
-! test -z "$as_dir" && as_dir=.
-! for ac_exec_ext in '' $ac_executable_extensions; do
-! if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-! ac_cv_path_FLTKCONFIG="$as_dir/$ac_word$ac_exec_ext"
-! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-! break 2
-! fi
-! done
-! done
-!
-! ;;
-! esac
- fi
-! FLTKCONFIG=$ac_cv_path_FLTKCONFIG
- fi
-
- if test -n "$FLTKCONFIG"; then
- echo "$as_me:$LINENO: result: $FLTKCONFIG" >&5
-***************
-*** 4950,4957 ****
---- 4957,4966 ----
- INSTALL_GUIS=""
- INSTALL_OSX=""
-
-+ if eval "test x$enable_fltk = xyes"; then
- { echo "$as_me:$LINENO: WARNING: Sorry, setup GUI requires FLTK 1.1.x." >&5
- echo "$as_me: WARNING: Sorry, setup GUI requires FLTK 1.1.x." >&2;}
-+ fi
- else
- CXXFLAGS="`$FLTKCONFIG --cflags` ${CXXFLAGS}"
- GUIS="setup uninst"
-*** misc/epm-3.7/deb.c Wed Jan 15 15:29:24 2003
---- misc/build/epm-3.7/deb.c Mon Nov 20 14:54:51 2006
-***************
-*** 26,31 ****
---- 26,53 ----
-
- #include "epm.h"
-
-+ /*
-+ * 'add_size()' - Append Installed-Size tag to DEBIAN/control file
-+ */
+ * Remove temporary files...
+diff -urN epm-3.7-old//configure epm-3.7/configure
+--- misc/epm-3.7/configure 2003-07-24 01:20:54.000000000 +0000
++++ misc/build/epm-3.7/configure 2010-04-19 22:52:32.000000000 +0000
+@@ -1238,6 +1238,11 @@
+ fi
+ fi;
+
++# Check whether --enable-fltk or --disable-fltk was given.
++if test "${enable_fltk+set}" = set; then
++ enableval="$enable_fltk"
++fi;
++
+
+ # Check whether --with-docdir or --without-docdir was given.
+ if test "${with_docdir+set}" = set; then
+@@ -4904,36 +4909,38 @@
+ fi
+
+
+-# Extract the first word of "fltk-config", so it can be a program name with args.
+-set dummy fltk-config; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_FLTKCONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- case $FLTKCONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_FLTKCONFIG="$FLTKCONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_path_FLTKCONFIG="$as_dir/$ac_word$ac_exec_ext"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
++if eval "test x$enable_fltk = xyes"; then
++ # Extract the first word of "fltk-config", so it can be a program name with args.
++ set dummy fltk-config; ac_word=$2
++ echo "$as_me:$LINENO: checking for $ac_word" >&5
++ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++ if test "${ac_cv_path_FLTKCONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++ else
++ case $FLTKCONFIG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_FLTKCONFIG="$FLTKCONFIG" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++ for as_dir in $PATH
++ do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_path_FLTKCONFIG="$as_dir/$ac_word$ac_exec_ext"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++ done
++ done
+
-+ int /* O - 0 = success, 1 = fail */
-+ add_size(FILE *fpControl, /* Control file stream */
-+ const char *directory) /* Directory containing all files to package */
-+ {
-+ FILE *fp;
-+ char command[1024];
-+
-+ snprintf(command, sizeof(command), "du -k -s %s", directory);
-+ fp = popen(command, "r");
-+ if( NULL != fp )
-+ {
-+ char size[1024];
-+ fscanf(fp, "%s .", size);
-+ fprintf(fpControl, "Installed-Size: %s\n", size);
-+ return pclose(fp);
-+ }
-+ return 1;
-+ }
-
- /*
- * 'make_deb()' - Make a Debian software distribution package.
-***************
-*** 61,78 ****
- if (Verbosity)
- puts("Creating Debian distribution...");
-
- if (dist->relnumber)
- {
- if (platname[0])
-! snprintf(name, sizeof(name), "%s-%s-%d-%s", prodname, dist->version, dist->relnumber,
- platname);
- else
-! snprintf(name, sizeof(name), "%s-%s-%d", prodname, dist->version, dist->relnumber);
- }
- else if (platname[0])
-! snprintf(name, sizeof(name), "%s-%s-%s", prodname, dist->version, platname);
- else
-! snprintf(name, sizeof(name), "%s-%s", prodname, dist->version);
-
- /*
- * Write the control file for DPKG...
---- 83,111 ----
- if (Verbosity)
- puts("Creating Debian distribution...");
-
-+ /*
-+ * Use debian default naming scheme
-+ */
-+
-+ if (!strcmp(platform->machine, "intel"))
-+ platname = "i386";
-+ else if (!strcmp(platform->machine, "x86_64"))
-+ platname = "amd64";
-+ else if (!strcmp(platform->machine, "ppc"))
-+ platname = "powerpc";
++ ;;
++ esac
+ fi
+-done
+-done
+-
+- ;;
+-esac
++ FLTKCONFIG=$ac_cv_path_FLTKCONFIG
+ fi
+-FLTKCONFIG=$ac_cv_path_FLTKCONFIG
+
+ if test -n "$FLTKCONFIG"; then
+ echo "$as_me:$LINENO: result: $FLTKCONFIG" >&5
+@@ -4950,8 +4957,10 @@
+ INSTALL_GUIS=""
+ INSTALL_OSX=""
+
++if eval "test x$enable_fltk = xyes"; then
+ { echo "$as_me:$LINENO: WARNING: Sorry, setup GUI requires FLTK 1.1.x." >&5
+ echo "$as_me: WARNING: Sorry, setup GUI requires FLTK 1.1.x." >&2;}
++fi
+ else
+ CXXFLAGS="`$FLTKCONFIG --cflags` ${CXXFLAGS}"
+ GUIS="setup uninst"
+diff -urN epm-3.7-old//deb.c epm-3.7/deb.c
+--- misc/epm-3.7/deb.c 2003-01-15 14:29:24.000000000 +0000
++++ misc/build/epm-3.7/deb.c 2010-04-19 22:53:34.000000000 +0000
+@@ -26,6 +26,28 @@
+
+ #include "epm.h"
+
++/*
++ * 'add_size()' - Append Installed-Size tag to DEBIAN/control file
++ */
+
- if (dist->relnumber)
- {
- if (platname[0])
-! snprintf(name, sizeof(name), "%s_%s-%d_%s", prodname, dist->version, dist->relnumber,
- platname);
- else
-! snprintf(name, sizeof(name), "%s_%s-%d", prodname, dist->version, dist->relnumber);
- }
- else if (platname[0])
-! snprintf(name, sizeof(name), "%s_%s_%s", prodname, dist->version, platname);
- else
-! snprintf(name, sizeof(name), "%s_%s", prodname, dist->version);
-
- /*
- * Write the control file for DPKG...
-***************
-*** 108,115 ****
- * (which we change in get_platform to a common name)
- */
-
-! if (strcmp(platform->machine, "intel") == 0)
- fputs("Architecture: i386\n", fp);
- else
- fprintf(fp, "Architecture: %s\n", platform->machine);
-
---- 141,152 ----
- * (which we change in get_platform to a common name)
- */
-
-! if (!strcmp(platform->machine, "intel"))
- fputs("Architecture: i386\n", fp);
-+ else if (!strcmp(platform->machine, "x86_64"))
-+ fputs("Architecture: amd64\n", fp);
-+ else if (!strcmp(platform->machine, "ppc"))
-+ fputs("Architecture: powerpc\n", fp);
- else
- fprintf(fp, "Architecture: %s\n", platform->machine);
-
-***************
-*** 148,156 ****
- putc('\n', fp);
- }
- }
-!
- fclose(fp);
-!
- /*
- * Write the preinst file for DPKG...
- */
---- 185,193 ----
- putc('\n', fp);
- }
- }
-!
- fclose(fp);
-!
- /*
- * Write the preinst file for DPKG...
- */
-***************
-*** 417,422 ****
---- 454,480 ----
- }
- }
-
-+
-+ /*
-+ * Calculate and append Installed-Size to DEBIAN/control
-+ */
++int /* O - 0 = success, 1 = fail */
++add_size(FILE *fpControl, /* Control file stream */
++ const char *directory) /* Directory containing all files to package */
++{
++ FILE *fp;
++ char command[1024];
+
-+ if (Verbosity)
-+ puts("Calculating Installed-Size...");
++ snprintf(command, sizeof(command), "du -k -s %s", directory);
++ fp = popen(command, "r");
++ if( NULL != fp )
++ {
++ char size[1024];
++ fscanf(fp, "%s .", size);
++ fprintf(fpControl, "Installed-Size: %s\n", size);
++ return pclose(fp);
++ }
++ return 1;
++}
+
+ /*
+ * 'make_deb()' - Make a Debian software distribution package.
+@@ -61,18 +83,37 @@
+ if (Verbosity)
+ puts("Creating Debian distribution...");
+
++ /*
++ * Use debian default naming scheme
++ */
++
++ if (!strcmp(platform->machine, "intel"))
++#ifdef __FreeBSD_kernel__
++ platname = "kfreebsd-i386";
++#else
++ platname = "i386";
++#endif
++ else if (!strcmp(platform->machine, "x86_64"))
++#ifdef __FreeBSD_kernel__
++ platname = "kfreebsd-amd64";
++#else
++ platname = "amd64";
++#endif
++ else if (!strcmp(platform->machine, "ppc"))
++ platname = "powerpc";
++
+ if (dist->relnumber)
+ {
+ if (platname[0])
+- snprintf(name, sizeof(name), "%s-%s-%d-%s", prodname, dist->version, dist->relnumber,
++ snprintf(name, sizeof(name), "%s_%s-%d_%s", prodname, dist->version, dist->relnumber,
+ platname);
+ else
+- snprintf(name, sizeof(name), "%s-%s-%d", prodname, dist->version, dist->relnumber);
++ snprintf(name, sizeof(name), "%s_%s-%d", prodname, dist->version, dist->relnumber);
+ }
+ else if (platname[0])
+- snprintf(name, sizeof(name), "%s-%s-%s", prodname, dist->version, platname);
++ snprintf(name, sizeof(name), "%s_%s_%s", prodname, dist->version, platname);
+ else
+- snprintf(name, sizeof(name), "%s-%s", prodname, dist->version);
++ snprintf(name, sizeof(name), "%s_%s", prodname, dist->version);
+
+ /*
+ * Write the control file for DPKG...
+@@ -108,8 +141,20 @@
+ * (which we change in get_platform to a common name)
+ */
+
+- if (strcmp(platform->machine, "intel") == 0)
++ if (!strcmp(platform->machine, "intel"))
++#ifdef __FreeBSD_kernel__
++ fputs("Architecture: kfreebsd-i386\n", fp);
++#else
+ fputs("Architecture: i386\n", fp);
++#endif
++ else if (!strcmp(platform->machine, "x86_64"))
++#ifdef __FreeBSD_kernel__
++ fputs("Architecture: kfreebsd-amd64\n", fp);
++#else
++ fputs("Architecture: amd64\n", fp);
++#endif
++ else if (!strcmp(platform->machine, "ppc"))
++ fputs("Architecture: powerpc\n", fp);
+ else
+ fprintf(fp, "Architecture: %s\n", platform->machine);
+
+@@ -148,9 +193,9 @@
+ putc('\n', fp);
+ }
+ }
+-
++
+ fclose(fp);
+-
++
+ /*
+ * Write the preinst file for DPKG...
+ */
+@@ -417,6 +462,27 @@
+ }
+ }
+
++
++ /*
++ * Calculate and append Installed-Size to DEBIAN/control
++ */
+
-+ snprintf(filename, sizeof(filename), "%s/%s/DEBIAN/control", directory, name);
-+ if ((fp = fopen(filename, "a")) == NULL)
-+ {
-+ fprintf(stderr, "epm: Unable to Installed-Size to file \"%s\" - %s\n", filename,
-+ strerror(errno));
-+ return (1);
-+ }
-+
-+ snprintf(filename, sizeof(filename), "%s/%s", directory, name);
-+ add_size(fp, filename);
-+ fclose(fp);
++ if (Verbosity)
++ puts("Calculating Installed-Size...");
+
++ snprintf(filename, sizeof(filename), "%s/%s/DEBIAN/control", directory, name);
++ if ((fp = fopen(filename, "a")) == NULL)
++ {
++ fprintf(stderr, "epm: Unable to Installed-Size to file \"%s\" - %s\n", filename,
++ strerror(errno));
++ return (1);
++ }
++
++ snprintf(filename, sizeof(filename), "%s/%s", directory, name);
++ add_size(fp, filename);
++ fclose(fp);
+
- /*
- * Build the distribution from the spec file...
- */
-*** misc/epm-3.7/dist.c Thu Aug 7 16:14:40 2003
---- misc/build/epm-3.7/dist.c Mon Nov 20 14:54:51 2006
-***************
-*** 394,401 ****
- strcpy(platform->machine, "mips");
- #elif defined(__hpux)
- strcpy(platform->machine, "hppa");
-! #elif defined(_AIX) || defined(__APPLE__)
- strcpy(platform->machine, "powerpc");
- #else
- for (temp = platform->machine; *temp != '\0'; temp ++)
- if (*temp == '-' || *temp == '_')
---- 394,406 ----
- strcpy(platform->machine, "mips");
- #elif defined(__hpux)
- strcpy(platform->machine, "hppa");
-! #elif defined(_AIX)
- strcpy(platform->machine, "powerpc");
-+ #elif defined(__APPLE__)
-+ if (strstr(platform->machine, "86") != NULL)
-+ strcpy(platform->machine, "intel");
-+ else
-+ strcpy(platform->machine, "powerpc");
- #else
- for (temp = platform->machine; *temp != '\0'; temp ++)
- if (*temp == '-' || *temp == '_')
-***************
-*** 407,413 ****
- *temp = tolower(*temp);
-
- if (strstr(platform->machine, "86") != NULL)
-! strcpy(platform->machine, "intel");
- else if (strncmp(platform->machine, "sun", 3) == 0)
- strcpy(platform->machine, "sparc");
- #endif /* __sgi */
---- 412,423 ----
- *temp = tolower(*temp);
-
- if (strstr(platform->machine, "86") != NULL)
-! {
-! if (strstr(platform->machine, "64") != NULL)
-! strcpy(platform->machine, "x86_64");
-! else
-! strcpy(platform->machine, "intel");
-! }
- else if (strncmp(platform->machine, "sun", 3) == 0)
- strcpy(platform->machine, "sparc");
- #endif /* __sgi */
-*** misc/epm-3.7/epm.c Tue Oct 28 15:48:30 2003
---- misc/build/epm-3.7/epm.c Mon Nov 20 14:54:51 2006
-***************
-*** 547,552 ****
---- 547,553 ----
- {
- puts(EPM_VERSION);
- puts("Copyright 1999-2003 by Easy Software Products.");
-+ puts("Patched for OpenOffice.org");
- puts("");
- puts("EPM is free software and comes with ABSOLUTELY NO WARRANTY; for details");
- puts("see the GNU General Public License in the file COPYING or at");
-*** misc/epm-3.7/file.c Wed Jul 23 23:41:08 2003
---- misc/build/epm-3.7/file.c Mon Nov 20 14:54:51 2006
-***************
-*** 108,114 ****
- fclose(dstfile);
-
- chmod(dst, mode);
-- chown(dst, owner, group);
-
- return (0);
- }
---- 108,113 ----
-***************
-*** 138,144 ****
- {
- mkdir(buffer, 0777);
- chmod(buffer, mode | 0700);
-- chown(buffer, owner, group);
- }
- }
-
---- 137,142 ----
-***************
-*** 151,157 ****
- {
- mkdir(buffer, 0777);
- chmod(buffer, mode | 0700);
-- chown(buffer, owner, group);
- }
-
- return (0);
---- 149,154 ----
-*** misc/epm-3.7/osx.c Wed Jul 23 23:41:08 2003
---- misc/build/epm-3.7/osx.c Mon Nov 20 14:54:51 2006
-***************
-*** 373,379 ****
- else
- snprintf(filename, sizeof(filename), "%s/%s", current, directory);
-
-! run_command(NULL, "/Developer/Applications/PackageMaker.app/"
- "Contents/MacOS/PackageMaker -build "
- "-p %s/%s.pkg -f %s/Package -r %s/Resources -d %s/%s-desc.plist -i %s/%s-info.plist",
- filename, prodname, filename, filename, filename, prodname, filename, prodname);
---- 373,379 ----
- else
- snprintf(filename, sizeof(filename), "%s/%s", current, directory);
-
-! run_command(NULL, "/Developer/Applications/Utilities/PackageMaker.app/"
- "Contents/MacOS/PackageMaker -build "
- "-p %s/%s.pkg -f %s/Package -r %s/Resources -d %s/%s-desc.plist -i %s/%s-info.plist",
- filename, prodname, filename, filename, filename, prodname, filename, prodname);
-*** misc/epm-3.7/pkg.c Tue Dec 17 19:57:56 2002
---- misc/build/epm-3.7/pkg.c Mon Nov 20 14:54:51 2006
-***************
-*** 429,503 ****
-
- fclose(fp);
-
-- /*
-- * Build the distribution from the prototype file...
-- */
--
-- if (Verbosity)
-- puts("Building PKG binary distribution...");
--
-- if (run_command(NULL, "pkgmk -o -f %s/%s.prototype -d %s/%s",
-- directory, prodname, current, directory))
-- return (1);
--
-- /*
-- * Tar and compress the distribution...
-- */
--
-- if (Verbosity)
-- puts("Creating tar.gz file for distribution...");
--
-- snprintf(filename, sizeof(filename), "%s/%s.tar.gz", directory, name);
--
-- if ((tarfile = tar_open(filename, 1)) == NULL)
-- return (1);
--
-- snprintf(filename, sizeof(filename), "%s/%s", directory, prodname);
--
-- if (tar_directory(tarfile, filename, prodname))
-- {
-- tar_close(tarfile);
-- return (1);
-- }
--
-- tar_close(tarfile);
--
-- /*
-- * Make a package stream file...
-- */
--
-- if (Verbosity)
-- puts("Copying into package stream file...");
--
-- if (run_command(directory, "pkgtrans -s %s/%s %s.pkg %s",
-- current, directory, name, prodname))
-- return (1);
--
-- /*
-- * Remove temporary files...
-- */
--
-- if (!KeepFiles)
-- {
-- if (Verbosity)
-- puts("Removing temporary distribution files...");
--
-- snprintf(filename, sizeof(filename), "%s/%s.pkginfo", directory, prodname);
-- unlink(filename);
-- snprintf(filename, sizeof(filename), "%s/%s.depend", directory, prodname);
-- unlink(filename);
-- snprintf(filename, sizeof(filename), "%s/%s.prototype", directory, prodname);
-- unlink(filename);
-- if (preinstall[0])
-- unlink(preinstall);
-- if (postinstall[0])
-- unlink(postinstall);
-- if (preremove[0])
-- unlink(preremove);
-- if (postremove[0])
-- unlink(postremove);
-- }
--
- return (0);
- }
-
---- 429,434 ----
-*** misc/epm-3.7/qprintf.c Mon Jan 27 22:48:03 2003
---- misc/build/epm-3.7/qprintf.c Mon Nov 20 14:54:51 2006
-***************
-*** 181,192 ****
-
- for (i = slen; i > 0; i --, s ++, bytes ++)
- {
- if (strchr("`~!#$%^&*()[{]}\\|;\'\"<>? ", *s))
- {
- putc('\\', fp);
- bytes ++;
- }
-!
- putc(*s, fp);
- }
-
---- 181,199 ----
-
- for (i = slen; i > 0; i --, s ++, bytes ++)
- {
-+ #if defined(__FreeBSD__)
-+ if (strchr("`~!#%^&*()[{]}\\|;\'\"<>? ", *s))
-+ {
-+ putc('\\', fp);
-+ bytes ++;
-+ }
-+ #else
- if (strchr("`~!#$%^&*()[{]}\\|;\'\"<>? ", *s))
- {
- putc('\\', fp);
- bytes ++;
- }
-! #endif
- putc(*s, fp);
- }
-
-*** misc/epm-3.7/rpm.c Wed Oct 1 21:27:15 2003
---- misc/build/epm-3.7/rpm.c Mon Nov 20 14:54:51 2006
-***************
-*** 38,44 ****
- dist_t *dist, /* I - Distribution information */
- struct utsname *platform) /* I - Platform information */
- {
-! int i; /* Looping var */
- FILE *fp; /* Spec file */
- char name[1024]; /* Full product name */
- char specname[1024]; /* Spec filename */
---- 38,44 ----
- dist_t *dist, /* I - Distribution information */
- struct utsname *platform) /* I - Platform information */
- {
-! int i,n; /* Looping vars */
- FILE *fp; /* Spec file */
- char name[1024]; /* Full product name */
- char specname[1024]; /* Spec filename */
-***************
-*** 160,165 ****
---- 160,167 ----
- fprintf(fp, "Requires: %s", dname);
- else if (d->type == DEPEND_PROVIDES)
- fprintf(fp, "Provides: %s", dname);
-+ else if (d->type == DEPEND_REPLACES)
-+ fprintf(fp, "Obsoletes: %s", dname);
- else
- fprintf(fp, "Conflicts: %s", dname);
-
-***************
-*** 186,200 ****
- for (i = 0; i < dist->num_descriptions; i ++)
- fprintf(fp, "%s\n", dist->descriptions[i]);
-
-! fputs("%pre\n", fp);
- for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
- if (c->type == COMMAND_PRE_INSTALL)
- fprintf(fp, "%s\n", c->command);
-
-! fputs("%post\n", fp);
- for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
- if (c->type == COMMAND_POST_INSTALL)
- fprintf(fp, "%s\n", c->command);
-
- for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
- if (tolower(file->type) == 'i')
---- 188,220 ----
- for (i = 0; i < dist->num_descriptions; i ++)
- fprintf(fp, "%s\n", dist->descriptions[i]);
-
-! /*
-! * %pre
-! */
-! n = 0;
- for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
-+ {
- if (c->type == COMMAND_PRE_INSTALL)
-+ {
-+ if (1 == ++n) /* Only write %pre if there is at least one command */
-+ fputs("%pre\n", fp);
- fprintf(fp, "%s\n", c->command);
-+ }
-+ }
-
-! /*
-! * %post
-! */
-! n = 0;
- for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
-+ {
- if (c->type == COMMAND_POST_INSTALL)
-+ {
-+ if (1 == ++n) /* Only write %post if there is at least one command */
-+ fputs("%post\n", fp);
- fprintf(fp, "%s\n", c->command);
-+ }
-+ }
-
- for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
- if (tolower(file->type) == 'i')
-***************
-*** 202,207 ****
---- 222,229 ----
-
- if (i)
- {
-+ if (1 == ++n) /* If not previously done so, write %post here */
-+ fputs("%post\n", fp);
- fputs("if test \"x$1\" = x1; then\n", fp);
- fputs(" echo Setting up init scripts...\n", fp);
-
-***************
-*** 259,265 ****
- fputs("fi\n", fp);
- }
-
-! fputs("%preun\n", fp);
- for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
- if (tolower(file->type) == 'i')
- break;
---- 281,290 ----
- fputs("fi\n", fp);
- }
-
-! /*
-! * %preun
-! */
-! n = 0;
- for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
- if (tolower(file->type) == 'i')
- break;
-***************
-*** 266,271 ****
---- 291,297 ----
-
- if (i)
- {
-+ fputs("%preun\n", fp); ++n; /* Need to write %preun here */
- fputs("if test \"x$1\" = x0; then\n", fp);
- fputs(" echo Cleaning up init scripts...\n", fp);
-
-***************
-*** 315,327 ****
- }
-
- for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
- if (c->type == COMMAND_PRE_REMOVE)
- fprintf(fp, "%s\n", c->command);
-
-! fputs("%postun\n", fp);
- for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
- if (c->type == COMMAND_POST_REMOVE)
- fprintf(fp, "%s\n", c->command);
-
- fputs("%files\n", fp);
- for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
---- 341,369 ----
- }
-
- for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
-+ {
- if (c->type == COMMAND_PRE_REMOVE)
-+ {
-+ if (1 == ++n) /* Only write %preun if not previously done so */
-+ fputs("%preun\n", fp);
-+
- fprintf(fp, "%s\n", c->command);
-+ }
-+ }
-
-! /*
-! * %post
-! */
-! n = 0;
- for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
-+ {
- if (c->type == COMMAND_POST_REMOVE)
-+ {
-+ if (1 == ++n) /* Only write %post if there is at least one command */
-+ fputs("%postun\n", fp);
- fprintf(fp, "%s\n", c->command);
-+ }
-+ }
-
- fputs("%files\n", fp);
- for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
-***************
-*** 415,467 ****
- }
- }
-
-- /*
-- * Build the distribution from the spec file...
-- */
--
-- if (Verbosity)
-- puts("Building RPM binary distribution...");
--
-- if (strcmp(platform->machine, "intel") == 0)
-- {
-- if (run_command(NULL, EPM_RPMBUILD " %s -bb " EPM_RPMARCH "i386 %s",
-- Verbosity == 0 ? "--quiet" : "", specname))
-- return (1);
-- }
-- else if (run_command(NULL, EPM_RPMBUILD " %s -bb " EPM_RPMARCH "%s %s",
-- Verbosity == 0 ? "--quiet" : "", platform->machine,
-- specname))
-- return (1);
--
-- /*
-- * Move the RPM to the local directory and rename the RPM using the
-- * product name specified by the user...
-- */
--
-- if (strcmp(platform->machine, "intel") == 0)
-- run_command(NULL, "/bin/mv %s/RPMS/i386/%s-%s-%d.i386.rpm %s/%s.rpm",
-- rpmdir, prodname, dist->version, dist->relnumber,
-- directory, name);
-- else
-- run_command(NULL, "/bin/mv %s/RPMS/%s/%s-%s-%d.%s.rpm %s/%s.rpm",
-- rpmdir, platform->machine, prodname, dist->version,
-- dist->relnumber, platform->machine, directory, name);
--
-- /*
-- * Remove temporary files...
-- */
--
-- if (!KeepFiles)
-- {
-- if (Verbosity)
-- puts("Removing temporary distribution files...");
--
-- run_command(NULL, "/bin/rm -rf %s/RPMS", directory);
-- run_command(NULL, "/bin/rm -rf %s/buildroot", directory);
--
-- unlink(specname);
-- }
--
- return (0);
- }
-
---- 457,462 ----
++
+ /*
+ * Build the distribution from the spec file...
+ */
+diff -urN epm-3.7-old//dist.c epm-3.7/dist.c
+--- misc/epm-3.7/dist.c 2003-08-07 14:14:40.000000000 +0000
++++ misc/build/epm-3.7/dist.c 2010-04-19 22:52:32.000000000 +0000
+@@ -394,8 +394,13 @@
+ strcpy(platform->machine, "mips");
+ #elif defined(__hpux)
+ strcpy(platform->machine, "hppa");
+-#elif defined(_AIX) || defined(__APPLE__)
++#elif defined(_AIX)
+ strcpy(platform->machine, "powerpc");
++#elif defined(__APPLE__)
++ if (strstr(platform->machine, "86") != NULL)
++ strcpy(platform->machine, "intel");
++ else
++ strcpy(platform->machine, "powerpc");
+ #else
+ for (temp = platform->machine; *temp != '\0'; temp ++)
+ if (*temp == '-' || *temp == '_')
+@@ -407,7 +412,12 @@
+ *temp = tolower(*temp);
+
+ if (strstr(platform->machine, "86") != NULL)
+- strcpy(platform->machine, "intel");
++ {
++ if (strstr(platform->machine, "64") != NULL)
++ strcpy(platform->machine, "x86_64");
++ else
++ strcpy(platform->machine, "intel");
++ }
+ else if (strncmp(platform->machine, "sun", 3) == 0)
+ strcpy(platform->machine, "sparc");
+ #endif /* __sgi */
+diff -urN epm-3.7-old//epm.c epm-3.7/epm.c
+--- misc/epm-3.7/epm.c 2003-10-28 14:48:30.000000000 +0000
++++ misc/build/epm-3.7/epm.c 2010-04-19 22:52:32.000000000 +0000
+@@ -547,6 +547,7 @@
+ {
+ puts(EPM_VERSION);
+ puts("Copyright 1999-2003 by Easy Software Products.");
++ puts("Patched for OpenOffice.org");
+ puts("");
+ puts("EPM is free software and comes with ABSOLUTELY NO WARRANTY; for details");
+ puts("see the GNU General Public License in the file COPYING or at");
+diff -urN epm-3.7-old//file.c epm-3.7/file.c
+--- misc/epm-3.7/file.c 2003-07-23 21:41:08.000000000 +0000
++++ misc/build/epm-3.7/file.c 2010-04-19 22:52:32.000000000 +0000
+@@ -108,7 +108,6 @@
+ fclose(dstfile);
+
+ chmod(dst, mode);
+- chown(dst, owner, group);
+
+ return (0);
+ }
+@@ -138,7 +137,6 @@
+ {
+ mkdir(buffer, 0777);
+ chmod(buffer, mode | 0700);
+- chown(buffer, owner, group);
+ }
+ }
+
+@@ -151,7 +149,6 @@
+ {
+ mkdir(buffer, 0777);
+ chmod(buffer, mode | 0700);
+- chown(buffer, owner, group);
+ }
+
+ return (0);
+diff -urN epm-3.7-old//osx.c epm-3.7/osx.c
+--- misc/epm-3.7/osx.c 2003-07-23 21:41:08.000000000 +0000
++++ misc/build/epm-3.7/osx.c 2010-04-19 22:52:32.000000000 +0000
+@@ -373,7 +373,7 @@
+ else
+ snprintf(filename, sizeof(filename), "%s/%s", current, directory);
+
+- run_command(NULL, "/Developer/Applications/PackageMaker.app/"
++ run_command(NULL, "/Developer/Applications/Utilities/PackageMaker.app/"
+ "Contents/MacOS/PackageMaker -build "
+ "-p %s/%s.pkg -f %s/Package -r %s/Resources -d %s/%s-desc.plist -i %s/%s-info.plist",
+ filename, prodname, filename, filename, filename, prodname, filename, prodname);
+diff -urN epm-3.7-old//pkg.c epm-3.7/pkg.c
+--- misc/epm-3.7/pkg.c 2002-12-17 18:57:56.000000000 +0000
++++ misc/build/epm-3.7/pkg.c 2010-04-19 22:52:32.000000000 +0000
+@@ -429,75 +429,6 @@
+
+ fclose(fp);
+
+- /*
+- * Build the distribution from the prototype file...
+- */
+-
+- if (Verbosity)
+- puts("Building PKG binary distribution...");
+-
+- if (run_command(NULL, "pkgmk -o -f %s/%s.prototype -d %s/%s",
+- directory, prodname, current, directory))
+- return (1);
+-
+- /*
+- * Tar and compress the distribution...
+- */
+-
+- if (Verbosity)
+- puts("Creating tar.gz file for distribution...");
+-
+- snprintf(filename, sizeof(filename), "%s/%s.tar.gz", directory, name);
+-
+- if ((tarfile = tar_open(filename, 1)) == NULL)
+- return (1);
+-
+- snprintf(filename, sizeof(filename), "%s/%s", directory, prodname);
+-
+- if (tar_directory(tarfile, filename, prodname))
+- {
+- tar_close(tarfile);
+- return (1);
+- }
+-
+- tar_close(tarfile);
+-
+- /*
+- * Make a package stream file...
+- */
+-
+- if (Verbosity)
+- puts("Copying into package stream file...");
+-
+- if (run_command(directory, "pkgtrans -s %s/%s %s.pkg %s",
+- current, directory, name, prodname))
+- return (1);
+-
+- /*
+- * Remove temporary files...
+- */
+-
+- if (!KeepFiles)
+- {
+- if (Verbosity)
+- puts("Removing temporary distribution files...");
+-
+- snprintf(filename, sizeof(filename), "%s/%s.pkginfo", directory, prodname);
+- unlink(filename);
+- snprintf(filename, sizeof(filename), "%s/%s.depend", directory, prodname);
+- unlink(filename);
+- snprintf(filename, sizeof(filename), "%s/%s.prototype", directory, prodname);
+- unlink(filename);
+- if (preinstall[0])
+- unlink(preinstall);
+- if (postinstall[0])
+- unlink(postinstall);
+- if (preremove[0])
+- unlink(preremove);
+- if (postremove[0])
+- unlink(postremove);
+- }
+-
+ return (0);
+ }
+
+diff -urN epm-3.7-old//qprintf.c epm-3.7/qprintf.c
+--- misc/epm-3.7-old/qprintf.c 2003-01-27 21:48:03.000000000 +0000
++++ misc/build/epm-3.7/qprintf.c 2010-04-19 22:52:32.000000000 +0000
+@@ -181,12 +181,19 @@
+
+ for (i = slen; i > 0; i --, s ++, bytes ++)
+ {
++#if defined(__FreeBSD__)
++ if (strchr("`~!#%^&*()[{]}\\|;\'\"<>? ", *s))
++ {
++ putc('\\', fp);
++ bytes ++;
++ }
++#else
+ if (strchr("`~!#$%^&*()[{]}\\|;\'\"<>? ", *s))
+ {
+ putc('\\', fp);
+ bytes ++;
+ }
+-
++#endif
+ putc(*s, fp);
+ }
+
+diff -urN epm-3.7-old//rpm.c epm-3.7/rpm.c
+--- misc/epm-3.7/rpm.c 2003-10-01 19:27:15.000000000 +0000
++++ misc/build/epm-3.7/rpm.c 2010-04-19 22:52:32.000000000 +0000
+@@ -38,7 +38,7 @@
+ dist_t *dist, /* I - Distribution information */
+ struct utsname *platform) /* I - Platform information */
+ {
+- int i; /* Looping var */
++ int i,n; /* Looping vars */
+ FILE *fp; /* Spec file */
+ char name[1024]; /* Full product name */
+ char specname[1024]; /* Spec filename */
+@@ -160,6 +160,8 @@
+ fprintf(fp, "Requires: %s", dname);
+ else if (d->type == DEPEND_PROVIDES)
+ fprintf(fp, "Provides: %s", dname);
++ else if (d->type == DEPEND_REPLACES)
++ fprintf(fp, "Obsoletes: %s", dname);
+ else
+ fprintf(fp, "Conflicts: %s", dname);
+
+@@ -186,15 +188,33 @@
+ for (i = 0; i < dist->num_descriptions; i ++)
+ fprintf(fp, "%s\n", dist->descriptions[i]);
+
+- fputs("%pre\n", fp);
++ /*
++ * %pre
++ */
++ n = 0;
+ for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
++ {
+ if (c->type == COMMAND_PRE_INSTALL)
++ {
++ if (1 == ++n) /* Only write %pre if there is at least one command */
++ fputs("%pre\n", fp);
+ fprintf(fp, "%s\n", c->command);
++ }
++ }
+
+- fputs("%post\n", fp);
++ /*
++ * %post
++ */
++ n = 0;
+ for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
++ {
+ if (c->type == COMMAND_POST_INSTALL)
++ {
++ if (1 == ++n) /* Only write %post if there is at least one command */
++ fputs("%post\n", fp);
+ fprintf(fp, "%s\n", c->command);
++ }
++ }
+
+ for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
+ if (tolower(file->type) == 'i')
+@@ -202,6 +222,8 @@
+
+ if (i)
+ {
++ if (1 == ++n) /* If not previously done so, write %post here */
++ fputs("%post\n", fp);
+ fputs("if test \"x$1\" = x1; then\n", fp);
+ fputs(" echo Setting up init scripts...\n", fp);
+
+@@ -259,13 +281,17 @@
+ fputs("fi\n", fp);
+ }
+
+- fputs("%preun\n", fp);
++ /*
++ * %preun
++ */
++ n = 0;
+ for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
+ if (tolower(file->type) == 'i')
+ break;
+
+ if (i)
+ {
++ fputs("%preun\n", fp); ++n; /* Need to write %preun here */
+ fputs("if test \"x$1\" = x0; then\n", fp);
+ fputs(" echo Cleaning up init scripts...\n", fp);
+
+@@ -315,13 +341,29 @@
+ }
+
+ for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
++ {
+ if (c->type == COMMAND_PRE_REMOVE)
++ {
++ if (1 == ++n) /* Only write %preun if not previously done so */
++ fputs("%preun\n", fp);
++
+ fprintf(fp, "%s\n", c->command);
++ }
++ }
+
+- fputs("%postun\n", fp);
++ /*
++ * %post
++ */
++ n = 0;
+ for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
++ {
+ if (c->type == COMMAND_POST_REMOVE)
++ {
++ if (1 == ++n) /* Only write %post if there is at least one command */
++ fputs("%postun\n", fp);
+ fprintf(fp, "%s\n", c->command);
++ }
++ }
+
+ fputs("%files\n", fp);
+ for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
+@@ -415,53 +457,6 @@
+ }
+ }
+
+- /*
+- * Build the distribution from the spec file...
+- */
+-
+- if (Verbosity)
+- puts("Building RPM binary distribution...");
+-
+- if (strcmp(platform->machine, "intel") == 0)
+- {
+- if (run_command(NULL, EPM_RPMBUILD " %s -bb " EPM_RPMARCH "i386 %s",
+- Verbosity == 0 ? "--quiet" : "", specname))
+- return (1);
+- }
+- else if (run_command(NULL, EPM_RPMBUILD " %s -bb " EPM_RPMARCH "%s %s",
+- Verbosity == 0 ? "--quiet" : "", platform->machine,
+- specname))
+- return (1);
+-
+- /*
+- * Move the RPM to the local directory and rename the RPM using the
+- * product name specified by the user...
+- */
+-
+- if (strcmp(platform->machine, "intel") == 0)
+- run_command(NULL, "/bin/mv %s/RPMS/i386/%s-%s-%d.i386.rpm %s/%s.rpm",
+- rpmdir, prodname, dist->version, dist->relnumber,
+- directory, name);
+- else
+- run_command(NULL, "/bin/mv %s/RPMS/%s/%s-%s-%d.%s.rpm %s/%s.rpm",
+- rpmdir, platform->machine, prodname, dist->version,
+- dist->relnumber, platform->machine, directory, name);
+-
+- /*
+- * Remove temporary files...
+- */
+-
+- if (!KeepFiles)
+- {
+- if (Verbosity)
+- puts("Removing temporary distribution files...");
+-
+- run_command(NULL, "/bin/rm -rf %s/RPMS", directory);
+- run_command(NULL, "/bin/rm -rf %s/buildroot", directory);
+-
+- unlink(specname);
+- }
+-
+ return (0);
+ }
+