xref: /aoo41x/main/epm/epm-3.7.patch (revision cdf0e10c)
1*cdf0e10cSrcweirdiff -urN epm-3.7-old//bsd.c epm-3.7/bsd.c
2*cdf0e10cSrcweir--- misc/epm-3.7/bsd.c	2003-01-14 17:05:01.000000000 +0000
3*cdf0e10cSrcweir+++ misc/build/epm-3.7/bsd.c	2010-04-19 22:52:32.000000000 +0000
4*cdf0e10cSrcweir@@ -26,6 +26,13 @@
5*cdf0e10cSrcweir
6*cdf0e10cSrcweir #include "epm.h"
7*cdf0e10cSrcweir
8*cdf0e10cSrcweir+void cr2semicolon(char *command)
9*cdf0e10cSrcweir+{
10*cdf0e10cSrcweir+  int len, i;
11*cdf0e10cSrcweir+  len=strlen(command);
12*cdf0e10cSrcweir+  for (i=0;i<len;i++)
13*cdf0e10cSrcweir+    if(*(command+i)=='\n') *(command+i)=';';
14*cdf0e10cSrcweir+}
15*cdf0e10cSrcweir
16*cdf0e10cSrcweir /*
17*cdf0e10cSrcweir  * 'make_bsd()' - Make a FreeBSD software distribution package.
18*cdf0e10cSrcweir@@ -149,8 +156,17 @@
19*cdf0e10cSrcweir
20*cdf0e10cSrcweir   for (i = dist->num_depends, d = dist->depends; i > 0; i --, d ++)
21*cdf0e10cSrcweir   {
22*cdf0e10cSrcweir+#ifdef __FreeBSD__
23*cdf0e10cSrcweir+    if (d->type == DEPEND_REQUIRES) {
24*cdf0e10cSrcweir+      if (dist->relnumber)
25*cdf0e10cSrcweir+	  fprintf(fp, "@pkgdep %s-%s-%d-%s", d->product, dist->version, dist->relnumber, platname);
26*cdf0e10cSrcweir+      else
27*cdf0e10cSrcweir+	  fprintf(fp, "@pkgdep %s-%s-%s", d->product, dist->version, platname);
28*cdf0e10cSrcweir+    }
29*cdf0e10cSrcweir+#else
30*cdf0e10cSrcweir     if (d->type == DEPEND_REQUIRES)
31*cdf0e10cSrcweir       fprintf(fp, "@pkgdep %s", d->product);
32*cdf0e10cSrcweir+#endif
33*cdf0e10cSrcweir     else
34*cdf0e10cSrcweir #ifdef __FreeBSD__
35*cdf0e10cSrcweir      /*
36*cdf0e10cSrcweir@@ -179,9 +195,11 @@
37*cdf0e10cSrcweir 	        "         by the BSD packager.\n", stderr);
38*cdf0e10cSrcweir           break;
39*cdf0e10cSrcweir       case COMMAND_POST_INSTALL :
40*cdf0e10cSrcweir+      cr2semicolon(c->command);
41*cdf0e10cSrcweir           fprintf(fp, "@exec %s\n", c->command);
42*cdf0e10cSrcweir 	  break;
43*cdf0e10cSrcweir       case COMMAND_PRE_REMOVE :
44*cdf0e10cSrcweir+      cr2semicolon(c->command);
45*cdf0e10cSrcweir           fprintf(fp, "@unexec %s\n", c->command);
46*cdf0e10cSrcweir 	  break;
47*cdf0e10cSrcweir       case COMMAND_POST_REMOVE :
48*cdf0e10cSrcweir@@ -199,7 +217,7 @@
49*cdf0e10cSrcweir       */
50*cdf0e10cSrcweir
51*cdf0e10cSrcweir       fprintf(fp, "@exec /bin/mkdir -p %s\n", file->dst);
52*cdf0e10cSrcweir-      fprintf(fp, "@exec /bin/chown %s:%s %s\n", file->user, file->group,
53*cdf0e10cSrcweir+      fprintf(fp, "@exec /usr/sbin/chown %s:%s %s\n", file->user, file->group,
54*cdf0e10cSrcweir               file->dst);
55*cdf0e10cSrcweir       fprintf(fp, "@exec /bin/chmod %04o %s\n", file->mode, file->dst);
56*cdf0e10cSrcweir     }
57*cdf0e10cSrcweir@@ -326,12 +344,13 @@
58*cdf0e10cSrcweir   if (Verbosity)
59*cdf0e10cSrcweir     puts("Building FreeBSD pkg binary distribution...");
60*cdf0e10cSrcweir
61*cdf0e10cSrcweir-  if (run_command(NULL, "pkg_create -p / -s %s -c %s -d %s -f %s %s",
62*cdf0e10cSrcweir+  if (run_command(NULL, "/usr/sbin/pkg_create -p / -s %s -c %s -d %s -f %s %s",
63*cdf0e10cSrcweir                   current, commentname, descrname, plistname, name))
64*cdf0e10cSrcweir     return (1);
65*cdf0e10cSrcweir
66*cdf0e10cSrcweir-  if (run_command(NULL, "mv %s.tgz %s", name, directory))
67*cdf0e10cSrcweir-    return (1);
68*cdf0e10cSrcweir+  if (run_command(NULL, "mv %s.tbz %s", name, directory))
69*cdf0e10cSrcweir+    if (run_command(NULL, "mv %s.tgz %s", name, directory))
70*cdf0e10cSrcweir+      return (1);
71*cdf0e10cSrcweir
72*cdf0e10cSrcweir  /*
73*cdf0e10cSrcweir   * Remove temporary files...
74*cdf0e10cSrcweirdiff -urN epm-3.7-old//configure epm-3.7/configure
75*cdf0e10cSrcweir--- misc/epm-3.7/configure	2003-07-24 01:20:54.000000000 +0000
76*cdf0e10cSrcweir+++ misc/build/epm-3.7/configure	2010-04-19 22:52:32.000000000 +0000
77*cdf0e10cSrcweir@@ -1238,6 +1238,11 @@
78*cdf0e10cSrcweir fi
79*cdf0e10cSrcweir fi;
80*cdf0e10cSrcweir
81*cdf0e10cSrcweir+# Check whether --enable-fltk or --disable-fltk was given.
82*cdf0e10cSrcweir+if test "${enable_fltk+set}" = set; then
83*cdf0e10cSrcweir+  enableval="$enable_fltk"
84*cdf0e10cSrcweir+fi;
85*cdf0e10cSrcweir+
86*cdf0e10cSrcweir
87*cdf0e10cSrcweir # Check whether --with-docdir or --without-docdir was given.
88*cdf0e10cSrcweir if test "${with_docdir+set}" = set; then
89*cdf0e10cSrcweir@@ -4904,36 +4909,38 @@
90*cdf0e10cSrcweir fi
91*cdf0e10cSrcweir
92*cdf0e10cSrcweir
93*cdf0e10cSrcweir-# Extract the first word of "fltk-config", so it can be a program name with args.
94*cdf0e10cSrcweir-set dummy fltk-config; ac_word=$2
95*cdf0e10cSrcweir-echo "$as_me:$LINENO: checking for $ac_word" >&5
96*cdf0e10cSrcweir-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
97*cdf0e10cSrcweir-if test "${ac_cv_path_FLTKCONFIG+set}" = set; then
98*cdf0e10cSrcweir-  echo $ECHO_N "(cached) $ECHO_C" >&6
99*cdf0e10cSrcweir-else
100*cdf0e10cSrcweir-  case $FLTKCONFIG in
101*cdf0e10cSrcweir-  [\\/]* | ?:[\\/]*)
102*cdf0e10cSrcweir-  ac_cv_path_FLTKCONFIG="$FLTKCONFIG" # Let the user override the test with a path.
103*cdf0e10cSrcweir-  ;;
104*cdf0e10cSrcweir-  *)
105*cdf0e10cSrcweir-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
106*cdf0e10cSrcweir-for as_dir in $PATH
107*cdf0e10cSrcweir-do
108*cdf0e10cSrcweir-  IFS=$as_save_IFS
109*cdf0e10cSrcweir-  test -z "$as_dir" && as_dir=.
110*cdf0e10cSrcweir-  for ac_exec_ext in '' $ac_executable_extensions; do
111*cdf0e10cSrcweir-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
112*cdf0e10cSrcweir-    ac_cv_path_FLTKCONFIG="$as_dir/$ac_word$ac_exec_ext"
113*cdf0e10cSrcweir-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
114*cdf0e10cSrcweir-    break 2
115*cdf0e10cSrcweir+if eval "test x$enable_fltk = xyes"; then
116*cdf0e10cSrcweir+  # Extract the first word of "fltk-config", so it can be a program name with args.
117*cdf0e10cSrcweir+  set dummy fltk-config; ac_word=$2
118*cdf0e10cSrcweir+  echo "$as_me:$LINENO: checking for $ac_word" >&5
119*cdf0e10cSrcweir+  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
120*cdf0e10cSrcweir+  if test "${ac_cv_path_FLTKCONFIG+set}" = set; then
121*cdf0e10cSrcweir+    echo $ECHO_N "(cached) $ECHO_C" >&6
122*cdf0e10cSrcweir+  else
123*cdf0e10cSrcweir+    case $FLTKCONFIG in
124*cdf0e10cSrcweir+    [\\/]* | ?:[\\/]*)
125*cdf0e10cSrcweir+    ac_cv_path_FLTKCONFIG="$FLTKCONFIG" # Let the user override the test with a path.
126*cdf0e10cSrcweir+    ;;
127*cdf0e10cSrcweir+    *)
128*cdf0e10cSrcweir+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
129*cdf0e10cSrcweir+  for as_dir in $PATH
130*cdf0e10cSrcweir+  do
131*cdf0e10cSrcweir+    IFS=$as_save_IFS
132*cdf0e10cSrcweir+    test -z "$as_dir" && as_dir=.
133*cdf0e10cSrcweir+    for ac_exec_ext in '' $ac_executable_extensions; do
134*cdf0e10cSrcweir+    if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
135*cdf0e10cSrcweir+      ac_cv_path_FLTKCONFIG="$as_dir/$ac_word$ac_exec_ext"
136*cdf0e10cSrcweir+      echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
137*cdf0e10cSrcweir+      break 2
138*cdf0e10cSrcweir+    fi
139*cdf0e10cSrcweir+  done
140*cdf0e10cSrcweir+  done
141*cdf0e10cSrcweir+
142*cdf0e10cSrcweir+    ;;
143*cdf0e10cSrcweir+  esac
144*cdf0e10cSrcweir   fi
145*cdf0e10cSrcweir-done
146*cdf0e10cSrcweir-done
147*cdf0e10cSrcweir-
148*cdf0e10cSrcweir-  ;;
149*cdf0e10cSrcweir-esac
150*cdf0e10cSrcweir+  FLTKCONFIG=$ac_cv_path_FLTKCONFIG
151*cdf0e10cSrcweir fi
152*cdf0e10cSrcweir-FLTKCONFIG=$ac_cv_path_FLTKCONFIG
153*cdf0e10cSrcweir
154*cdf0e10cSrcweir if test -n "$FLTKCONFIG"; then
155*cdf0e10cSrcweir   echo "$as_me:$LINENO: result: $FLTKCONFIG" >&5
156*cdf0e10cSrcweir@@ -4950,8 +4957,10 @@
157*cdf0e10cSrcweir 	INSTALL_GUIS=""
158*cdf0e10cSrcweir 	INSTALL_OSX=""
159*cdf0e10cSrcweir
160*cdf0e10cSrcweir+if eval "test x$enable_fltk = xyes"; then
161*cdf0e10cSrcweir 	{ echo "$as_me:$LINENO: WARNING: Sorry, setup GUI requires FLTK 1.1.x." >&5
162*cdf0e10cSrcweir echo "$as_me: WARNING: Sorry, setup GUI requires FLTK 1.1.x." >&2;}
163*cdf0e10cSrcweir+fi
164*cdf0e10cSrcweir else
165*cdf0e10cSrcweir 	CXXFLAGS="`$FLTKCONFIG --cflags` ${CXXFLAGS}"
166*cdf0e10cSrcweir 	GUIS="setup uninst"
167*cdf0e10cSrcweirdiff -urN epm-3.7-old//deb.c epm-3.7/deb.c
168*cdf0e10cSrcweir--- misc/epm-3.7/deb.c	2003-01-15 14:29:24.000000000 +0000
169*cdf0e10cSrcweir+++ misc/build/epm-3.7/deb.c	2010-04-19 22:53:34.000000000 +0000
170*cdf0e10cSrcweir@@ -26,6 +26,28 @@
171*cdf0e10cSrcweir
172*cdf0e10cSrcweir #include "epm.h"
173*cdf0e10cSrcweir
174*cdf0e10cSrcweir+/*
175*cdf0e10cSrcweir+ * 'add_size()' - Append Installed-Size tag to DEBIAN/control file
176*cdf0e10cSrcweir+ */
177*cdf0e10cSrcweir+
178*cdf0e10cSrcweir+int                             /* O - 0 = success, 1 = fail */
179*cdf0e10cSrcweir+add_size(FILE       *fpControl, /* Control file stream */
180*cdf0e10cSrcweir+         const char *directory) /* Directory containing all files to package */
181*cdf0e10cSrcweir+{
182*cdf0e10cSrcweir+    FILE *fp;
183*cdf0e10cSrcweir+    char command[1024];
184*cdf0e10cSrcweir+
185*cdf0e10cSrcweir+    snprintf(command, sizeof(command), "du -k -s %s", directory);
186*cdf0e10cSrcweir+    fp = popen(command, "r");
187*cdf0e10cSrcweir+    if( NULL != fp )
188*cdf0e10cSrcweir+    {
189*cdf0e10cSrcweir+        char size[1024];
190*cdf0e10cSrcweir+        fscanf(fp, "%s .", size);
191*cdf0e10cSrcweir+        fprintf(fpControl, "Installed-Size: %s\n", size);
192*cdf0e10cSrcweir+        return pclose(fp);
193*cdf0e10cSrcweir+    }
194*cdf0e10cSrcweir+    return 1;
195*cdf0e10cSrcweir+}
196*cdf0e10cSrcweir
197*cdf0e10cSrcweir /*
198*cdf0e10cSrcweir  * 'make_deb()' - Make a Debian software distribution package.
199*cdf0e10cSrcweir@@ -61,18 +83,37 @@
200*cdf0e10cSrcweir   if (Verbosity)
201*cdf0e10cSrcweir     puts("Creating Debian distribution...");
202*cdf0e10cSrcweir
203*cdf0e10cSrcweir+  /*
204*cdf0e10cSrcweir+   * Use debian default naming scheme
205*cdf0e10cSrcweir+   */
206*cdf0e10cSrcweir+
207*cdf0e10cSrcweir+  if (!strcmp(platform->machine, "intel"))
208*cdf0e10cSrcweir+#ifdef __FreeBSD_kernel__
209*cdf0e10cSrcweir+    platname = "kfreebsd-i386";
210*cdf0e10cSrcweir+#else
211*cdf0e10cSrcweir+    platname = "i386";
212*cdf0e10cSrcweir+#endif
213*cdf0e10cSrcweir+  else if (!strcmp(platform->machine, "x86_64"))
214*cdf0e10cSrcweir+#ifdef __FreeBSD_kernel__
215*cdf0e10cSrcweir+    platname = "kfreebsd-amd64";
216*cdf0e10cSrcweir+#else
217*cdf0e10cSrcweir+    platname = "amd64";
218*cdf0e10cSrcweir+#endif
219*cdf0e10cSrcweir+  else if (!strcmp(platform->machine, "ppc"))
220*cdf0e10cSrcweir+    platname = "powerpc";
221*cdf0e10cSrcweir+
222*cdf0e10cSrcweir   if (dist->relnumber)
223*cdf0e10cSrcweir   {
224*cdf0e10cSrcweir     if (platname[0])
225*cdf0e10cSrcweir-      snprintf(name, sizeof(name), "%s-%s-%d-%s", prodname, dist->version, dist->relnumber,
226*cdf0e10cSrcweir+      snprintf(name, sizeof(name), "%s_%s-%d_%s", prodname, dist->version, dist->relnumber,
227*cdf0e10cSrcweir               platname);
228*cdf0e10cSrcweir     else
229*cdf0e10cSrcweir-      snprintf(name, sizeof(name), "%s-%s-%d", prodname, dist->version, dist->relnumber);
230*cdf0e10cSrcweir+      snprintf(name, sizeof(name), "%s_%s-%d", prodname, dist->version, dist->relnumber);
231*cdf0e10cSrcweir   }
232*cdf0e10cSrcweir   else if (platname[0])
233*cdf0e10cSrcweir-    snprintf(name, sizeof(name), "%s-%s-%s", prodname, dist->version, platname);
234*cdf0e10cSrcweir+    snprintf(name, sizeof(name), "%s_%s_%s", prodname, dist->version, platname);
235*cdf0e10cSrcweir   else
236*cdf0e10cSrcweir-    snprintf(name, sizeof(name), "%s-%s", prodname, dist->version);
237*cdf0e10cSrcweir+    snprintf(name, sizeof(name), "%s_%s", prodname, dist->version);
238*cdf0e10cSrcweir
239*cdf0e10cSrcweir  /*
240*cdf0e10cSrcweir   * Write the control file for DPKG...
241*cdf0e10cSrcweir@@ -108,8 +141,20 @@
242*cdf0e10cSrcweir   * (which we change in get_platform to a common name)
243*cdf0e10cSrcweir   */
244*cdf0e10cSrcweir
245*cdf0e10cSrcweir-  if (strcmp(platform->machine, "intel") == 0)
246*cdf0e10cSrcweir+  if (!strcmp(platform->machine, "intel"))
247*cdf0e10cSrcweir+#ifdef __FreeBSD_kernel__
248*cdf0e10cSrcweir+    fputs("Architecture: kfreebsd-i386\n", fp);
249*cdf0e10cSrcweir+#else
250*cdf0e10cSrcweir     fputs("Architecture: i386\n", fp);
251*cdf0e10cSrcweir+#endif
252*cdf0e10cSrcweir+  else if (!strcmp(platform->machine, "x86_64"))
253*cdf0e10cSrcweir+#ifdef __FreeBSD_kernel__
254*cdf0e10cSrcweir+    fputs("Architecture: kfreebsd-amd64\n", fp);
255*cdf0e10cSrcweir+#else
256*cdf0e10cSrcweir+    fputs("Architecture: amd64\n", fp);
257*cdf0e10cSrcweir+#endif
258*cdf0e10cSrcweir+  else if (!strcmp(platform->machine, "ppc"))
259*cdf0e10cSrcweir+    fputs("Architecture: powerpc\n", fp);
260*cdf0e10cSrcweir   else
261*cdf0e10cSrcweir     fprintf(fp, "Architecture: %s\n", platform->machine);
262*cdf0e10cSrcweir
263*cdf0e10cSrcweir@@ -148,9 +193,9 @@
264*cdf0e10cSrcweir       putc('\n', fp);
265*cdf0e10cSrcweir     }
266*cdf0e10cSrcweir   }
267*cdf0e10cSrcweir-
268*cdf0e10cSrcweir+
269*cdf0e10cSrcweir   fclose(fp);
270*cdf0e10cSrcweir-
271*cdf0e10cSrcweir+
272*cdf0e10cSrcweir  /*
273*cdf0e10cSrcweir   * Write the preinst file for DPKG...
274*cdf0e10cSrcweir   */
275*cdf0e10cSrcweir@@ -417,6 +462,27 @@
276*cdf0e10cSrcweir     }
277*cdf0e10cSrcweir   }
278*cdf0e10cSrcweir
279*cdf0e10cSrcweir+
280*cdf0e10cSrcweir+  /*
281*cdf0e10cSrcweir+   * Calculate and append Installed-Size to DEBIAN/control
282*cdf0e10cSrcweir+   */
283*cdf0e10cSrcweir+
284*cdf0e10cSrcweir+  if (Verbosity)
285*cdf0e10cSrcweir+    puts("Calculating Installed-Size...");
286*cdf0e10cSrcweir+
287*cdf0e10cSrcweir+  snprintf(filename, sizeof(filename), "%s/%s/DEBIAN/control", directory, name);
288*cdf0e10cSrcweir+  if ((fp = fopen(filename, "a")) == NULL)
289*cdf0e10cSrcweir+  {
290*cdf0e10cSrcweir+    fprintf(stderr, "epm: Unable to Installed-Size to file \"%s\" - %s\n", filename,
291*cdf0e10cSrcweir+            strerror(errno));
292*cdf0e10cSrcweir+    return (1);
293*cdf0e10cSrcweir+  }
294*cdf0e10cSrcweir+
295*cdf0e10cSrcweir+  snprintf(filename, sizeof(filename), "%s/%s", directory, name);
296*cdf0e10cSrcweir+  add_size(fp, filename);
297*cdf0e10cSrcweir+  fclose(fp);
298*cdf0e10cSrcweir+
299*cdf0e10cSrcweir+
300*cdf0e10cSrcweir  /*
301*cdf0e10cSrcweir   * Build the distribution from the spec file...
302*cdf0e10cSrcweir   */
303*cdf0e10cSrcweirdiff -urN epm-3.7-old//dist.c epm-3.7/dist.c
304*cdf0e10cSrcweir--- misc/epm-3.7/dist.c	2003-08-07 14:14:40.000000000 +0000
305*cdf0e10cSrcweir+++ misc/build/epm-3.7/dist.c	2010-04-19 22:52:32.000000000 +0000
306*cdf0e10cSrcweir@@ -394,8 +394,13 @@
307*cdf0e10cSrcweir   strcpy(platform->machine, "mips");
308*cdf0e10cSrcweir #elif defined(__hpux)
309*cdf0e10cSrcweir   strcpy(platform->machine, "hppa");
310*cdf0e10cSrcweir-#elif defined(_AIX) || defined(__APPLE__)
311*cdf0e10cSrcweir+#elif defined(_AIX)
312*cdf0e10cSrcweir   strcpy(platform->machine, "powerpc");
313*cdf0e10cSrcweir+#elif defined(__APPLE__)
314*cdf0e10cSrcweir+  if (strstr(platform->machine, "86") != NULL)
315*cdf0e10cSrcweir+    strcpy(platform->machine, "intel");
316*cdf0e10cSrcweir+  else
317*cdf0e10cSrcweir+    strcpy(platform->machine, "powerpc");
318*cdf0e10cSrcweir #else
319*cdf0e10cSrcweir   for (temp = platform->machine; *temp != '\0'; temp ++)
320*cdf0e10cSrcweir     if (*temp == '-' || *temp == '_')
321*cdf0e10cSrcweir@@ -407,7 +412,12 @@
322*cdf0e10cSrcweir       *temp = tolower(*temp);
323*cdf0e10cSrcweir
324*cdf0e10cSrcweir   if (strstr(platform->machine, "86") != NULL)
325*cdf0e10cSrcweir-    strcpy(platform->machine, "intel");
326*cdf0e10cSrcweir+  {
327*cdf0e10cSrcweir+    if (strstr(platform->machine, "64") != NULL)
328*cdf0e10cSrcweir+      strcpy(platform->machine, "x86_64");
329*cdf0e10cSrcweir+    else
330*cdf0e10cSrcweir+      strcpy(platform->machine, "intel");
331*cdf0e10cSrcweir+  }
332*cdf0e10cSrcweir   else if (strncmp(platform->machine, "sun", 3) == 0)
333*cdf0e10cSrcweir     strcpy(platform->machine, "sparc");
334*cdf0e10cSrcweir #endif /* __sgi */
335*cdf0e10cSrcweirdiff -urN epm-3.7-old//epm.c epm-3.7/epm.c
336*cdf0e10cSrcweir--- misc/epm-3.7/epm.c	2003-10-28 14:48:30.000000000 +0000
337*cdf0e10cSrcweir+++ misc/build/epm-3.7/epm.c	2010-04-19 22:52:32.000000000 +0000
338*cdf0e10cSrcweir@@ -547,6 +547,7 @@
339*cdf0e10cSrcweir {
340*cdf0e10cSrcweir   puts(EPM_VERSION);
341*cdf0e10cSrcweir   puts("Copyright 1999-2003 by Easy Software Products.");
342*cdf0e10cSrcweir+  puts("Patched for OpenOffice.org");
343*cdf0e10cSrcweir   puts("");
344*cdf0e10cSrcweir   puts("EPM is free software and comes with ABSOLUTELY NO WARRANTY; for details");
345*cdf0e10cSrcweir   puts("see the GNU General Public License in the file COPYING or at");
346*cdf0e10cSrcweirdiff -urN epm-3.7-old//file.c epm-3.7/file.c
347*cdf0e10cSrcweir--- misc/epm-3.7/file.c	2003-07-23 21:41:08.000000000 +0000
348*cdf0e10cSrcweir+++ misc/build/epm-3.7/file.c	2010-04-19 22:52:32.000000000 +0000
349*cdf0e10cSrcweir@@ -108,7 +108,6 @@
350*cdf0e10cSrcweir   fclose(dstfile);
351*cdf0e10cSrcweir
352*cdf0e10cSrcweir   chmod(dst, mode);
353*cdf0e10cSrcweir-  chown(dst, owner, group);
354*cdf0e10cSrcweir
355*cdf0e10cSrcweir   return (0);
356*cdf0e10cSrcweir }
357*cdf0e10cSrcweir@@ -138,7 +137,6 @@
358*cdf0e10cSrcweir       {
359*cdf0e10cSrcweir 	mkdir(buffer, 0777);
360*cdf0e10cSrcweir 	chmod(buffer, mode | 0700);
361*cdf0e10cSrcweir-	chown(buffer, owner, group);
362*cdf0e10cSrcweir       }
363*cdf0e10cSrcweir     }
364*cdf0e10cSrcweir
365*cdf0e10cSrcweir@@ -151,7 +149,6 @@
366*cdf0e10cSrcweir   {
367*cdf0e10cSrcweir     mkdir(buffer, 0777);
368*cdf0e10cSrcweir     chmod(buffer, mode | 0700);
369*cdf0e10cSrcweir-    chown(buffer, owner, group);
370*cdf0e10cSrcweir   }
371*cdf0e10cSrcweir
372*cdf0e10cSrcweir   return (0);
373*cdf0e10cSrcweirdiff -urN epm-3.7-old//osx.c epm-3.7/osx.c
374*cdf0e10cSrcweir--- misc/epm-3.7/osx.c	2003-07-23 21:41:08.000000000 +0000
375*cdf0e10cSrcweir+++ misc/build/epm-3.7/osx.c	2010-04-19 22:52:32.000000000 +0000
376*cdf0e10cSrcweir@@ -373,7 +373,7 @@
377*cdf0e10cSrcweir   else
378*cdf0e10cSrcweir     snprintf(filename, sizeof(filename), "%s/%s", current, directory);
379*cdf0e10cSrcweir
380*cdf0e10cSrcweir-  run_command(NULL, "/Developer/Applications/PackageMaker.app/"
381*cdf0e10cSrcweir+  run_command(NULL, "/Developer/Applications/Utilities/PackageMaker.app/"
382*cdf0e10cSrcweir                     "Contents/MacOS/PackageMaker -build "
383*cdf0e10cSrcweir 		    "-p %s/%s.pkg -f %s/Package -r %s/Resources -d %s/%s-desc.plist -i %s/%s-info.plist",
384*cdf0e10cSrcweir 	      filename, prodname, filename, filename, filename, prodname, filename, prodname);
385*cdf0e10cSrcweirdiff -urN epm-3.7-old//pkg.c epm-3.7/pkg.c
386*cdf0e10cSrcweir--- misc/epm-3.7/pkg.c	2002-12-17 18:57:56.000000000 +0000
387*cdf0e10cSrcweir+++ misc/build/epm-3.7/pkg.c	2010-04-19 22:52:32.000000000 +0000
388*cdf0e10cSrcweir@@ -429,75 +429,6 @@
389*cdf0e10cSrcweir
390*cdf0e10cSrcweir   fclose(fp);
391*cdf0e10cSrcweir
392*cdf0e10cSrcweir- /*
393*cdf0e10cSrcweir-  * Build the distribution from the prototype file...
394*cdf0e10cSrcweir-  */
395*cdf0e10cSrcweir-
396*cdf0e10cSrcweir-  if (Verbosity)
397*cdf0e10cSrcweir-    puts("Building PKG binary distribution...");
398*cdf0e10cSrcweir-
399*cdf0e10cSrcweir-  if (run_command(NULL, "pkgmk -o -f %s/%s.prototype -d %s/%s",
400*cdf0e10cSrcweir-                  directory, prodname, current, directory))
401*cdf0e10cSrcweir-    return (1);
402*cdf0e10cSrcweir-
403*cdf0e10cSrcweir- /*
404*cdf0e10cSrcweir-  * Tar and compress the distribution...
405*cdf0e10cSrcweir-  */
406*cdf0e10cSrcweir-
407*cdf0e10cSrcweir-  if (Verbosity)
408*cdf0e10cSrcweir-    puts("Creating tar.gz file for distribution...");
409*cdf0e10cSrcweir-
410*cdf0e10cSrcweir-  snprintf(filename, sizeof(filename), "%s/%s.tar.gz", directory, name);
411*cdf0e10cSrcweir-
412*cdf0e10cSrcweir-  if ((tarfile = tar_open(filename, 1)) == NULL)
413*cdf0e10cSrcweir-    return (1);
414*cdf0e10cSrcweir-
415*cdf0e10cSrcweir-  snprintf(filename, sizeof(filename), "%s/%s", directory, prodname);
416*cdf0e10cSrcweir-
417*cdf0e10cSrcweir-  if (tar_directory(tarfile, filename, prodname))
418*cdf0e10cSrcweir-  {
419*cdf0e10cSrcweir-    tar_close(tarfile);
420*cdf0e10cSrcweir-    return (1);
421*cdf0e10cSrcweir-  }
422*cdf0e10cSrcweir-
423*cdf0e10cSrcweir-  tar_close(tarfile);
424*cdf0e10cSrcweir-
425*cdf0e10cSrcweir- /*
426*cdf0e10cSrcweir-  * Make a package stream file...
427*cdf0e10cSrcweir-  */
428*cdf0e10cSrcweir-
429*cdf0e10cSrcweir-  if (Verbosity)
430*cdf0e10cSrcweir-    puts("Copying into package stream file...");
431*cdf0e10cSrcweir-
432*cdf0e10cSrcweir-  if (run_command(directory, "pkgtrans -s %s/%s %s.pkg %s",
433*cdf0e10cSrcweir-                  current, directory, name, prodname))
434*cdf0e10cSrcweir-    return (1);
435*cdf0e10cSrcweir-
436*cdf0e10cSrcweir- /*
437*cdf0e10cSrcweir-  * Remove temporary files...
438*cdf0e10cSrcweir-  */
439*cdf0e10cSrcweir-
440*cdf0e10cSrcweir-  if (!KeepFiles)
441*cdf0e10cSrcweir-  {
442*cdf0e10cSrcweir-    if (Verbosity)
443*cdf0e10cSrcweir-      puts("Removing temporary distribution files...");
444*cdf0e10cSrcweir-
445*cdf0e10cSrcweir-    snprintf(filename, sizeof(filename), "%s/%s.pkginfo", directory, prodname);
446*cdf0e10cSrcweir-    unlink(filename);
447*cdf0e10cSrcweir-    snprintf(filename, sizeof(filename), "%s/%s.depend", directory, prodname);
448*cdf0e10cSrcweir-    unlink(filename);
449*cdf0e10cSrcweir-    snprintf(filename, sizeof(filename), "%s/%s.prototype", directory, prodname);
450*cdf0e10cSrcweir-    unlink(filename);
451*cdf0e10cSrcweir-    if (preinstall[0])
452*cdf0e10cSrcweir-      unlink(preinstall);
453*cdf0e10cSrcweir-    if (postinstall[0])
454*cdf0e10cSrcweir-      unlink(postinstall);
455*cdf0e10cSrcweir-    if (preremove[0])
456*cdf0e10cSrcweir-      unlink(preremove);
457*cdf0e10cSrcweir-    if (postremove[0])
458*cdf0e10cSrcweir-      unlink(postremove);
459*cdf0e10cSrcweir-  }
460*cdf0e10cSrcweir-
461*cdf0e10cSrcweir   return (0);
462*cdf0e10cSrcweir }
463*cdf0e10cSrcweir
464*cdf0e10cSrcweirdiff -urN epm-3.7-old//qprintf.c epm-3.7/qprintf.c
465*cdf0e10cSrcweir--- misc/epm-3.7-old/qprintf.c	2003-01-27 21:48:03.000000000 +0000
466*cdf0e10cSrcweir+++ misc/build/epm-3.7/qprintf.c	2010-04-19 22:52:32.000000000 +0000
467*cdf0e10cSrcweir@@ -181,12 +181,19 @@
468*cdf0e10cSrcweir
469*cdf0e10cSrcweir             for (i = slen; i > 0; i --, s ++, bytes ++)
470*cdf0e10cSrcweir 	    {
471*cdf0e10cSrcweir+#if defined(__FreeBSD__)
472*cdf0e10cSrcweir+	      if (strchr("`~!#%^&*()[{]}\\|;\'\"<>? ", *s))
473*cdf0e10cSrcweir+	      {
474*cdf0e10cSrcweir+	        putc('\\', fp);
475*cdf0e10cSrcweir+		bytes ++;
476*cdf0e10cSrcweir+	      }
477*cdf0e10cSrcweir+#else
478*cdf0e10cSrcweir 	      if (strchr("`~!#$%^&*()[{]}\\|;\'\"<>? ", *s))
479*cdf0e10cSrcweir 	      {
480*cdf0e10cSrcweir 	        putc('\\', fp);
481*cdf0e10cSrcweir 		bytes ++;
482*cdf0e10cSrcweir 	      }
483*cdf0e10cSrcweir-
484*cdf0e10cSrcweir+#endif
485*cdf0e10cSrcweir 	      putc(*s, fp);
486*cdf0e10cSrcweir 	    }
487*cdf0e10cSrcweir
488*cdf0e10cSrcweirdiff -urN epm-3.7-old//rpm.c epm-3.7/rpm.c
489*cdf0e10cSrcweir--- misc/epm-3.7/rpm.c	2003-10-01 19:27:15.000000000 +0000
490*cdf0e10cSrcweir+++ misc/build/epm-3.7/rpm.c	2010-04-19 22:52:32.000000000 +0000
491*cdf0e10cSrcweir@@ -38,7 +38,7 @@
492*cdf0e10cSrcweir          dist_t         *dist,		/* I - Distribution information */
493*cdf0e10cSrcweir 	 struct utsname *platform)	/* I - Platform information */
494*cdf0e10cSrcweir {
495*cdf0e10cSrcweir-  int		i;			/* Looping var */
496*cdf0e10cSrcweir+  int		i,n;			/* Looping vars */
497*cdf0e10cSrcweir   FILE		*fp;			/* Spec file */
498*cdf0e10cSrcweir   char		name[1024];		/* Full product name */
499*cdf0e10cSrcweir   char		specname[1024];		/* Spec filename */
500*cdf0e10cSrcweir@@ -160,6 +160,8 @@
501*cdf0e10cSrcweir       fprintf(fp, "Requires: %s", dname);
502*cdf0e10cSrcweir     else if (d->type == DEPEND_PROVIDES)
503*cdf0e10cSrcweir       fprintf(fp, "Provides: %s", dname);
504*cdf0e10cSrcweir+    else if (d->type == DEPEND_REPLACES)
505*cdf0e10cSrcweir+      fprintf(fp, "Obsoletes: %s", dname);
506*cdf0e10cSrcweir     else
507*cdf0e10cSrcweir       fprintf(fp, "Conflicts: %s", dname);
508*cdf0e10cSrcweir
509*cdf0e10cSrcweir@@ -186,15 +188,33 @@
510*cdf0e10cSrcweir   for (i = 0; i < dist->num_descriptions; i ++)
511*cdf0e10cSrcweir     fprintf(fp, "%s\n", dist->descriptions[i]);
512*cdf0e10cSrcweir
513*cdf0e10cSrcweir-  fputs("%pre\n", fp);
514*cdf0e10cSrcweir+  /*
515*cdf0e10cSrcweir+   * %pre
516*cdf0e10cSrcweir+   */
517*cdf0e10cSrcweir+  n = 0;
518*cdf0e10cSrcweir   for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
519*cdf0e10cSrcweir+  {
520*cdf0e10cSrcweir     if (c->type == COMMAND_PRE_INSTALL)
521*cdf0e10cSrcweir+    {
522*cdf0e10cSrcweir+      if (1 == ++n)  /* Only write %pre if there is at least one command */
523*cdf0e10cSrcweir+        fputs("%pre\n", fp);
524*cdf0e10cSrcweir       fprintf(fp, "%s\n", c->command);
525*cdf0e10cSrcweir+    }
526*cdf0e10cSrcweir+  }
527*cdf0e10cSrcweir
528*cdf0e10cSrcweir-  fputs("%post\n", fp);
529*cdf0e10cSrcweir+  /*
530*cdf0e10cSrcweir+   * %post
531*cdf0e10cSrcweir+   */
532*cdf0e10cSrcweir+  n = 0;
533*cdf0e10cSrcweir   for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
534*cdf0e10cSrcweir+  {
535*cdf0e10cSrcweir     if (c->type == COMMAND_POST_INSTALL)
536*cdf0e10cSrcweir+    {
537*cdf0e10cSrcweir+      if (1 == ++n)  /* Only write %post if there is at least one command */
538*cdf0e10cSrcweir+        fputs("%post\n", fp);
539*cdf0e10cSrcweir       fprintf(fp, "%s\n", c->command);
540*cdf0e10cSrcweir+    }
541*cdf0e10cSrcweir+  }
542*cdf0e10cSrcweir
543*cdf0e10cSrcweir   for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
544*cdf0e10cSrcweir     if (tolower(file->type) == 'i')
545*cdf0e10cSrcweir@@ -202,6 +222,8 @@
546*cdf0e10cSrcweir
547*cdf0e10cSrcweir   if (i)
548*cdf0e10cSrcweir   {
549*cdf0e10cSrcweir+    if (1 == ++n)  /* If not previously done so, write %post here */
550*cdf0e10cSrcweir+      fputs("%post\n", fp);
551*cdf0e10cSrcweir     fputs("if test \"x$1\" = x1; then\n", fp);
552*cdf0e10cSrcweir     fputs("	echo Setting up init scripts...\n", fp);
553*cdf0e10cSrcweir
554*cdf0e10cSrcweir@@ -259,13 +281,17 @@
555*cdf0e10cSrcweir     fputs("fi\n", fp);
556*cdf0e10cSrcweir   }
557*cdf0e10cSrcweir
558*cdf0e10cSrcweir-  fputs("%preun\n", fp);
559*cdf0e10cSrcweir+  /*
560*cdf0e10cSrcweir+   * %preun
561*cdf0e10cSrcweir+   */
562*cdf0e10cSrcweir+  n = 0;
563*cdf0e10cSrcweir   for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
564*cdf0e10cSrcweir     if (tolower(file->type) == 'i')
565*cdf0e10cSrcweir       break;
566*cdf0e10cSrcweir
567*cdf0e10cSrcweir   if (i)
568*cdf0e10cSrcweir   {
569*cdf0e10cSrcweir+    fputs("%preun\n", fp); ++n; /* Need to write %preun here */
570*cdf0e10cSrcweir     fputs("if test \"x$1\" = x0; then\n", fp);
571*cdf0e10cSrcweir     fputs("	echo Cleaning up init scripts...\n", fp);
572*cdf0e10cSrcweir
573*cdf0e10cSrcweir@@ -315,13 +341,29 @@
574*cdf0e10cSrcweir   }
575*cdf0e10cSrcweir
576*cdf0e10cSrcweir   for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
577*cdf0e10cSrcweir+  {
578*cdf0e10cSrcweir     if (c->type == COMMAND_PRE_REMOVE)
579*cdf0e10cSrcweir+    {
580*cdf0e10cSrcweir+      if (1 == ++n)  /* Only write %preun if not previously done so */
581*cdf0e10cSrcweir+        fputs("%preun\n", fp);
582*cdf0e10cSrcweir+
583*cdf0e10cSrcweir       fprintf(fp, "%s\n", c->command);
584*cdf0e10cSrcweir+    }
585*cdf0e10cSrcweir+  }
586*cdf0e10cSrcweir
587*cdf0e10cSrcweir-  fputs("%postun\n", fp);
588*cdf0e10cSrcweir+  /*
589*cdf0e10cSrcweir+   * %post
590*cdf0e10cSrcweir+   */
591*cdf0e10cSrcweir+  n = 0;
592*cdf0e10cSrcweir   for (i = dist->num_commands, c = dist->commands; i > 0; i --, c ++)
593*cdf0e10cSrcweir+  {
594*cdf0e10cSrcweir     if (c->type == COMMAND_POST_REMOVE)
595*cdf0e10cSrcweir+    {
596*cdf0e10cSrcweir+      if (1 == ++n)  /* Only write %post if there is at least one command */
597*cdf0e10cSrcweir+        fputs("%postun\n", fp);
598*cdf0e10cSrcweir       fprintf(fp, "%s\n", c->command);
599*cdf0e10cSrcweir+    }
600*cdf0e10cSrcweir+  }
601*cdf0e10cSrcweir
602*cdf0e10cSrcweir   fputs("%files\n", fp);
603*cdf0e10cSrcweir   for (i = dist->num_files, file = dist->files; i > 0; i --, file ++)
604*cdf0e10cSrcweir@@ -415,53 +457,6 @@
605*cdf0e10cSrcweir     }
606*cdf0e10cSrcweir   }
607*cdf0e10cSrcweir
608*cdf0e10cSrcweir- /*
609*cdf0e10cSrcweir-  * Build the distribution from the spec file...
610*cdf0e10cSrcweir-  */
611*cdf0e10cSrcweir-
612*cdf0e10cSrcweir-  if (Verbosity)
613*cdf0e10cSrcweir-    puts("Building RPM binary distribution...");
614*cdf0e10cSrcweir-
615*cdf0e10cSrcweir-  if (strcmp(platform->machine, "intel") == 0)
616*cdf0e10cSrcweir-  {
617*cdf0e10cSrcweir-    if (run_command(NULL, EPM_RPMBUILD " %s -bb " EPM_RPMARCH "i386 %s",
618*cdf0e10cSrcweir-                    Verbosity == 0 ? "--quiet" : "", specname))
619*cdf0e10cSrcweir-      return (1);
620*cdf0e10cSrcweir-  }
621*cdf0e10cSrcweir-  else if (run_command(NULL, EPM_RPMBUILD " %s -bb " EPM_RPMARCH "%s %s",
622*cdf0e10cSrcweir-                       Verbosity == 0 ? "--quiet" : "", platform->machine,
623*cdf0e10cSrcweir-		       specname))
624*cdf0e10cSrcweir-    return (1);
625*cdf0e10cSrcweir-
626*cdf0e10cSrcweir- /*
627*cdf0e10cSrcweir-  * Move the RPM to the local directory and rename the RPM using the
628*cdf0e10cSrcweir-  * product name specified by the user...
629*cdf0e10cSrcweir-  */
630*cdf0e10cSrcweir-
631*cdf0e10cSrcweir-  if (strcmp(platform->machine, "intel") == 0)
632*cdf0e10cSrcweir-    run_command(NULL, "/bin/mv %s/RPMS/i386/%s-%s-%d.i386.rpm %s/%s.rpm",
633*cdf0e10cSrcweir-        	rpmdir, prodname, dist->version, dist->relnumber,
634*cdf0e10cSrcweir-		directory, name);
635*cdf0e10cSrcweir-  else
636*cdf0e10cSrcweir-    run_command(NULL, "/bin/mv %s/RPMS/%s/%s-%s-%d.%s.rpm %s/%s.rpm",
637*cdf0e10cSrcweir-        	rpmdir, platform->machine, prodname, dist->version,
638*cdf0e10cSrcweir-		dist->relnumber, platform->machine, directory, name);
639*cdf0e10cSrcweir-
640*cdf0e10cSrcweir- /*
641*cdf0e10cSrcweir-  * Remove temporary files...
642*cdf0e10cSrcweir-  */
643*cdf0e10cSrcweir-
644*cdf0e10cSrcweir-  if (!KeepFiles)
645*cdf0e10cSrcweir-  {
646*cdf0e10cSrcweir-    if (Verbosity)
647*cdf0e10cSrcweir-      puts("Removing temporary distribution files...");
648*cdf0e10cSrcweir-
649*cdf0e10cSrcweir-    run_command(NULL, "/bin/rm -rf %s/RPMS", directory);
650*cdf0e10cSrcweir-    run_command(NULL, "/bin/rm -rf %s/buildroot", directory);
651*cdf0e10cSrcweir-
652*cdf0e10cSrcweir-    unlink(specname);
653*cdf0e10cSrcweir-  }
654*cdf0e10cSrcweir-
655*cdf0e10cSrcweir   return (0);
656*cdf0e10cSrcweir }
657*cdf0e10cSrcweir
658