diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2013-10-17 19:35:22 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2013-10-18 06:51:17 +0000 |
commit | 86c32b4196d178955f6f9ef5254b6c6a1ee3c944 (patch) | |
tree | 806e5c1793e2a269637679bd4adabe7fdd374369 /epm | |
parent | a777285f9b8efc4e00183a25d39913f78eddc0ad (diff) |
fdo#70393: move epm to a subdir of external
Change-Id: Ifa10b01d9dce947a0153b9d3e1399d9842ba6241
Reviewed-on: https://gerrit.libreoffice.org/6299
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'epm')
-rw-r--r-- | epm/ExternalPackage_epm.mk | 20 | ||||
-rw-r--r-- | epm/ExternalProject_epm.mk | 24 | ||||
-rw-r--r-- | epm/Makefile | 7 | ||||
-rw-r--r-- | epm/Module_epm.mk | 26 | ||||
-rw-r--r-- | epm/README | 3 | ||||
-rw-r--r-- | epm/UnpackedTarball_epm.mk | 18 | ||||
-rw-r--r-- | epm/epm-3.7.patch | 666 |
7 files changed, 0 insertions, 764 deletions
diff --git a/epm/ExternalPackage_epm.mk b/epm/ExternalPackage_epm.mk deleted file mode 100644 index 793f4192b787..000000000000 --- a/epm/ExternalPackage_epm.mk +++ /dev/null @@ -1,20 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_ExternalPackage_ExternalPackage,epm,epm)) - -$(eval $(call gb_ExternalPackage_use_external_project,epm,epm)) - -$(eval $(call gb_ExternalPackage_add_files,epm,bin,\ - epm \ - epminstall \ - mkepmlist \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/epm/ExternalProject_epm.mk b/epm/ExternalProject_epm.mk deleted file mode 100644 index ca0c298509c6..000000000000 --- a/epm/ExternalProject_epm.mk +++ /dev/null @@ -1,24 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_ExternalProject_ExternalProject,epm)) - -$(eval $(call gb_ExternalProject_register_targets,epm,\ - build \ -)) - -$(call gb_ExternalProject_get_state_target,epm,build) : - $(call gb_ExternalProject_run,build,\ - ./configure --disable-fltk \ - $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________NONE) \ - && $(MAKE) \ - && touch $@ \ - ) - -# vim: set noet sw=4 ts=4: diff --git a/epm/Makefile b/epm/Makefile deleted file mode 100644 index ccb1c85a04da..000000000000 --- a/epm/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- - -module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) - -include $(module_directory)/../solenv/gbuild/partial_build.mk - -# vim: set noet sw=4 ts=4: diff --git a/epm/Module_epm.mk b/epm/Module_epm.mk deleted file mode 100644 index 773342cb2819..000000000000 --- a/epm/Module_epm.mk +++ /dev/null @@ -1,26 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_Module_Module,epm)) - -ifeq (EPM,$(filter EPM,$(BUILD_TYPE))) - -ifneq ($(CROSS_COMPILING),YES) - -$(eval $(call gb_Module_add_targets,epm,\ - ExternalPackage_epm \ - ExternalProject_epm \ - UnpackedTarball_epm \ -)) - -endif - -endif - -# vim: set noet sw=4 ts=4: diff --git a/epm/README b/epm/README deleted file mode 100644 index c3ec2986e7d4..000000000000 --- a/epm/README +++ /dev/null @@ -1,3 +0,0 @@ -Enhanced Package Manager, From [http://freshmeat.net/projects/epm] - -Nasty hack for packaging, not useful, but default build uses, every linux packager disables this. diff --git a/epm/UnpackedTarball_epm.mk b/epm/UnpackedTarball_epm.mk deleted file mode 100644 index 3902317264fa..000000000000 --- a/epm/UnpackedTarball_epm.mk +++ /dev/null @@ -1,18 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_UnpackedTarball_UnpackedTarball,epm)) - -$(eval $(call gb_UnpackedTarball_set_tarball,epm,$(EPM_TARBALL),,epm)) - -$(eval $(call gb_UnpackedTarball_add_patches,epm,\ - epm/epm-3.7.patch \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/epm/epm-3.7.patch b/epm/epm-3.7.patch deleted file mode 100644 index 869c141a7155..000000000000 --- a/epm/epm-3.7.patch +++ /dev/null @@ -1,666 +0,0 @@ -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); - - /* - * 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 -+ -+ ;; -+ 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 -+ */ -+ -+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,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); - -@@ -139,7 +192,7 @@ - else - { - if (d->vernumber[1] < INT_MAX) -- fprintf(fp, " (>= %s, <= %s)", d->version[0], d->version[1]); -+ fprintf(fp, " (>= %s), %s (<= %s)", d->version[0], d->product, d->version[1]); - else - fprintf(fp, " (>= %s)", d->version[0]); - } -@@ -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 -+ */ -+ -+ 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... - */ -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); - } - |