This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via 0fc51f58c2b78d10ed4550001fde20cae7ce6a22 (commit) via a03e3080bab8ce81afc372a4974f38ba4b70d9d2 (commit) via 54e6ef321a48e67e7925879fd1156171f479e03f (commit) via ca458a363a953fc42e18b22f6e37489384a9af4e (commit) via d700630830f2c5329d59951649db512f599655ed (commit) via 37a3f2154b8b93a74954391f3dbf8944c2789d49 (commit) via 1b89bbb5edbfb8f556aba10649d1cf27ecea7db1 (commit) from 69aa42b9a14e0fbfd4854bb7cb0982cc5086c4b8 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 0fc51f58c2b78d10ed4550001fde20cae7ce6a22 Merge: 37a3f2154b8b93a74954391f3dbf8944c2789d49 a03e3080bab8ce81afc372a4974f38ba4b70d9d2 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Mar 19 19:23:19 2010 +0100
Merge branch 'naoki'
commit a03e3080bab8ce81afc372a4974f38ba4b70d9d2 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Mar 19 19:23:03 2010 +0100
naoki: Let toolchain build log to naoki.log.
commit 54e6ef321a48e67e7925879fd1156171f479e03f Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Mar 19 19:20:10 2010 +0100
naoki: ./make.sh source clean will remove all unneeded tarballs.
commit ca458a363a953fc42e18b22f6e37489384a9af4e Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Mar 19 18:50:59 2010 +0100
naoki: Add debug logging function.
commit d700630830f2c5329d59951649db512f599655ed Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Mar 19 18:50:38 2010 +0100
naoki: Fix tarball download function.
commit 37a3f2154b8b93a74954391f3dbf8944c2789d49 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Mar 19 18:00:18 2010 +0100
toolchain: Remove expect.
commit 1b89bbb5edbfb8f556aba10649d1cf27ecea7db1 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Mar 19 17:59:57 2010 +0100
toolchain: Remove tcl.
-----------------------------------------------------------------------
Summary of changes: config/naoki.conf | 6 + naoki/__init__.py | 18 ++- naoki/backend.py | 40 ++++- naoki/chroot.py | 3 +- naoki/constants.py | 3 - naoki/logger.py | 8 + naoki/terminal.py | 3 + pkgs/toolchain/expect/expect.nm | 23 -- .../expect/patches/expect-5.32.2-random.patch | 19 -- .../expect/patches/expect-5.38.0-lib-spec.patch | 12 - .../expect/patches/expect-5.39.0-libdir.patch | 12 - .../expect/patches/expect-5.43.0-spawn-1.patch | 217 -------------------- .../patches/expect-5.43.0-tcl_8.5.8_fix-1.patch | 125 ----------- .../toolchain/tcl/patches/tcl-8.5.8-autopath.patch | 53 ----- pkgs/toolchain/tcl/patches/tcl-8.5.8-conf.patch | 26 --- pkgs/toolchain/tcl/patches/tcl-8.5.8-pic.patch | 12 - pkgs/toolchain/tcl/tcl.nm | 19 -- 17 files changed, 72 insertions(+), 527 deletions(-) delete mode 100644 pkgs/toolchain/expect/expect.nm delete mode 100644 pkgs/toolchain/expect/patches/expect-5.32.2-random.patch delete mode 100644 pkgs/toolchain/expect/patches/expect-5.38.0-lib-spec.patch delete mode 100644 pkgs/toolchain/expect/patches/expect-5.39.0-libdir.patch delete mode 100644 pkgs/toolchain/expect/patches/expect-5.43.0-spawn-1.patch delete mode 100644 pkgs/toolchain/expect/patches/expect-5.43.0-tcl_8.5.8_fix-1.patch delete mode 100644 pkgs/toolchain/tcl/patches/tcl-8.5.8-autopath.patch delete mode 100644 pkgs/toolchain/tcl/patches/tcl-8.5.8-conf.patch delete mode 100644 pkgs/toolchain/tcl/patches/tcl-8.5.8-pic.patch delete mode 100644 pkgs/toolchain/tcl/tcl.nm
Difference in files: diff --git a/config/naoki.conf b/config/naoki.conf index f39182f..cdf8db4 100644 --- a/config/naoki.conf +++ b/config/naoki.conf @@ -25,3 +25,9 @@ slogan = "Gluttony"
; Counter of toolchain version version = 0 + + +[sources] + +; Where do we get the tarballs from? +download_url = http://source.ipfire.org/source-3.x diff --git a/naoki/__init__.py b/naoki/__init__.py index df7474a..80d0de5 100644 --- a/naoki/__init__.py +++ b/naoki/__init__.py @@ -82,7 +82,10 @@ class Naoki(object): if packages_sorted == packages: self.log.warn("Packages were resorted for build: %s" % packages_sorted) packages = packages_sorted - + + for package in packages: + package.download() + for package in packages: environ = chroot.Environment(package) @@ -176,6 +179,7 @@ Release : %(release)s actionmap = { "download" : self.call_source_download, "upload" : self.call_source_upload, + "clean" : self.call_source_clean, }
return actionmap[args.action.name](args.action) @@ -190,6 +194,18 @@ Release : %(release)s def call_source_upload(self, args): pass # TODO
+ def call_source_clean(self, args): + self.log.info("Remove all unused files") + files = os.listdir(TARBALLDIR) + for package in backend.get_package_names(): + for object in backend.PackageInfo(package).objects: + if object in files: + files.remove(object) + + for file in sorted(files): + self.log.info("Removing %s..." % file) + os.remove(os.path.join(TARBALLDIR, file)) + def _build(self, packages, force=False): requeue = [] packages = package.depsort(packages) diff --git a/naoki/backend.py b/naoki/backend.py index 0d3582b..b5339b8 100644 --- a/naoki/backend.py +++ b/naoki/backend.py @@ -1,6 +1,8 @@ #!/usr/bin/python
import os +import urlgrabber +import urllib
import chroot import util @@ -97,6 +99,39 @@ def depsort(packages): ret.extend(l1) return ret
+def download(files, logger=None): + for file in files: + filepath = os.path.join(TARBALLDIR, file) + + if not os.path.exists(TARBALLDIR): + os.makedirs(TARBALLDIR) + + if os.path.exists(filepath): + continue + + url = config["sources_download_url"] + "/%s" % urllib.pathname2url(file) + + if logger: + logger.debug("Retrieving %s" % url) + + g = urlgrabber.grabber.URLGrabber( + user_agent = "%sSourceGrabber/%s" % (config["distro_name"], config["distro_version"],), + progress_obj = urlgrabber.progress.TextMeter(), + ) + + try: + gobj = g.urlopen(url) + except urlgrabber.grabber.URLGrabError, e: + logger.error("Could not retrieve %s - %s" % (url, e)) + raise + + # XXX Need to check SHA1 sum here + + fobj = open(filepath, "w") + fobj.write(gobj.read()) + fobj.close() + gobj.close() + class PackageInfo(object): __data = {}
@@ -257,10 +292,7 @@ class Package(object): environment.build()
def download(self): - return "TODO" - files = self.info.objects - #self.log.info("Downloading %s..." % files) - download(self.info.objects) + download(self.info.objects, logger=self.log)
def extract(self, dest): files = [os.path.join(PACKAGESDIR, file) for file in self.info.package_files] diff --git a/naoki/chroot.py b/naoki/chroot.py index a1cacb0..caae03e 100644 --- a/naoki/chroot.py +++ b/naoki/chroot.py @@ -302,7 +302,8 @@ class Toolchain(object): command = "make -C %s -f %s %s" % \ (os.path.dirname(pkg.filename), pkg.filename, target)
- return util.do(command, shell=True, env=env, personality=self.arch["personality"]) + return util.do(command, shell=True, env=env, personality=self.arch["personality"], + logger=self.log)
def build_package(self, pkg): self.log.info("Building %s..." % pkg.name) diff --git a/naoki/constants.py b/naoki/constants.py index 0a27688..b36a471 100644 --- a/naoki/constants.py +++ b/naoki/constants.py @@ -43,9 +43,6 @@ class Config(object): "distro_version" : "unknown", "distro_slogan" : "unknown", # - # Downloads - "download_tarball_url" : "http://source.ipfire.org/source-3.x/%(file)s", - # # Logging "log_config_file" : os.path.join(CONFIGDIR, "logging.ini"), "log_file" : os.path.join(LOGDIR, "naoki.log"), diff --git a/naoki/logger.py b/naoki/logger.py index 4aaea8d..322919d 100644 --- a/naoki/logger.py +++ b/naoki/logger.py @@ -51,6 +51,14 @@ class Logging(object): #self.log.debug("Enabled verbose logging mode") self.log.handlers[0].setLevel(logging.INFO)
+ def debug(self, val): + if val: + self.log.handlers[0].setLevel(logging.DEBUG) + self.log.debug("Enabled debug logging mode") + else: + self.log.debug("Disabled debug logging mode") + self.log.handlers[0].setLevel(logging.INFO) + def _setupBuildLogger(self, logger): logger.setLevel(logging.DEBUG) logger.parent = self.log diff --git a/naoki/terminal.py b/naoki/terminal.py index d39ee85..be7ddc5 100644 --- a/naoki/terminal.py +++ b/naoki/terminal.py @@ -173,6 +173,9 @@ class Commandline(object): # Set quiet mode self.naoki.logging.quiet(args.quiet)
+ # Set debugging mode + self.naoki.logging.debug(args.debug) + # XXX Set architecture
def __parse(self): diff --git a/pkgs/toolchain/expect/expect.nm b/pkgs/toolchain/expect/expect.nm deleted file mode 100644 index 9089567..0000000 --- a/pkgs/toolchain/expect/expect.nm +++ /dev/null @@ -1,23 +0,0 @@ - -PKG_TOOLCHAIN_DEPS += gcc glibc tcl - -include ../../core/expect/expect.nm - -define STAGE_BUILD - cd $(DIR_APP) && \ - ./configure \ - --prefix=$(TOOLS_DIR) \ - --with-tcl=$(TOOLS_DIR)/lib \ - --with-tclinclude=$(TOOLS_DIR)/include/ \ - --with-x=no \ - --disable-nls \ - --enable-shared - - cd $(DIR_APP) && make $(PARALLELISMFLAGS) -endef - -define STAGE_INSTALL - cd $(DIR_APP) && make install -endef - - diff --git a/pkgs/toolchain/expect/patches/expect-5.32.2-random.patch b/pkgs/toolchain/expect/patches/expect-5.32.2-random.patch deleted file mode 100644 index 94afc42..0000000 --- a/pkgs/toolchain/expect/patches/expect-5.32.2-random.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up expect-5.43/example/mkpasswd.random expect-5.43/example/mkpasswd ---- expect-5.43/example/mkpasswd.random 2004-12-07 00:38:21.000000000 +0100 -+++ expect-5.43/example/mkpasswd 2008-09-25 12:27:19.000000000 +0200 -@@ -92,7 +92,14 @@ proc insert {pvar char} { - } - - proc rand {m} { -- expr {int($m*rand())} -+ set device /dev/urandom ;# /dev/random can block -+ set fileId [open $device r] -+ binary scan [read $fileId 4] i1 number -+ set clipped [expr $number % $m] -+# puts "number is $number" -+# puts "clipped is $clipped" -+ close $fileId -+ return $clipped - } - - # choose left or right starting hand diff --git a/pkgs/toolchain/expect/patches/expect-5.38.0-lib-spec.patch b/pkgs/toolchain/expect/patches/expect-5.38.0-lib-spec.patch deleted file mode 100644 index 803f858..0000000 --- a/pkgs/toolchain/expect/patches/expect-5.38.0-lib-spec.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up expect-5.43/configure.in.lib-spec expect-5.43/configure.in ---- expect-5.43/configure.in.lib-spec 2005-02-08 02:45:06.000000000 +0100 -+++ expect-5.43/configure.in 2008-09-25 12:23:26.000000000 +0200 -@@ -1141,7 +1141,7 @@ if test $ac_cv_sys_long_file_names = no; - fi - - EXP_BUILD_LIB_SPEC="-L`pwd` -lexpect${EXP_LIB_VERSION}${DBGX}" --EXP_LIB_SPEC="-L${INSTALL_ROOT}${exec_prefix}/lib -lexpect${EXP_LIB_VERSION}${DBGX}" -+EXP_LIB_SPEC="-L${libdir}/../.. -lexpect${EXP_LIB_VERSION}${DBGX}" - EXP_UNSHARED_LIB_FILE=libexpect${EXP_LIB_VERSION}${DBGX}.a - - # The TCL_SHARED_LIB_SUFFIX macro below relies on the DBGX macro, diff --git a/pkgs/toolchain/expect/patches/expect-5.39.0-libdir.patch b/pkgs/toolchain/expect/patches/expect-5.39.0-libdir.patch deleted file mode 100644 index 8546c90..0000000 --- a/pkgs/toolchain/expect/patches/expect-5.39.0-libdir.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up expect-5.43/Makefile.in.libdir expect-5.43/Makefile.in ---- expect-5.43/Makefile.in.libdir 2004-05-07 20:10:30.000000000 +0200 -+++ expect-5.43/Makefile.in 2008-09-25 12:24:08.000000000 +0200 -@@ -317,7 +317,7 @@ EXP_AND_TK_LIBS = $(LDFLAGS) @EXP_AND_TK - CFLAGS_INT = $(MH_CFLAGS) $(CPPFLAGS) $(XCFLAGS) - - LIB_INSTALL_DIR = $(tcl_libdir) --LIB_RUNTIME_DIR = $(tcl_libdir) -+LIB_RUNTIME_DIR = $(subst $(INSTALL_ROOT),,$(tcl_libdir)) - # I don't understand why Tcl splits these up, but it does. LIB_RUNTIME_DIR - # can appear as part of the LD_SEARCH_FLAGS inherited by configure. - diff --git a/pkgs/toolchain/expect/patches/expect-5.43.0-spawn-1.patch b/pkgs/toolchain/expect/patches/expect-5.43.0-spawn-1.patch deleted file mode 100644 index c2033c0..0000000 --- a/pkgs/toolchain/expect/patches/expect-5.43.0-spawn-1.patch +++ /dev/null @@ -1,217 +0,0 @@ -Submitted By: LFS Book lfs-book@linuxfromscratch.org -Date: 2003-10-05 -Initial Package Version: 5.38 -Origin: Redhat RPM (Patch by HJ Lu) -Description: NA -diff -uNr expect-5.38.orig/exp_chan.c expect-5.38/exp_chan.c ---- expect-5.38.orig/exp_chan.c 2002-02-12 13:00:55.000000000 +1100 -+++ expect-5.38/exp_chan.c 2003-03-01 10:36:18.000000000 +1100 -@@ -519,6 +519,7 @@ - esPtr->buffer = Tcl_NewStringObj("",0); - Tcl_IncrRefCount(esPtr->buffer); - esPtr->umsize = exp_default_match_max; -+ esPtr->umsize_changed = exp_default_match_max_changed; - /* this will reallocate object with an appropriate sized buffer */ - expAdjust(esPtr); - -diff -uNr expect-5.38.orig/exp_command.h expect-5.38/exp_command.h ---- expect-5.38.orig/exp_command.h 2002-04-08 08:57:20.000000000 +1000 -+++ expect-5.38/exp_command.h 2003-03-01 10:36:18.000000000 +1100 -@@ -25,6 +25,7 @@ - EXTERN char * exp_get_var _ANSI_ARGS_((Tcl_Interp *,char *)); - - EXTERN int exp_default_match_max; -+EXTERN int exp_default_match_max_changed; - EXTERN int exp_default_parity; - EXTERN int exp_default_rm_nulls; - -@@ -97,6 +98,7 @@ - int msize; /* # of bytes that buffer can hold (max) */ - int umsize; /* # of bytes (min) that is guaranteed to match */ - /* this comes from match_max command */ -+ int umsize_changed; /* is umsize changed by user? */ - int printed; /* # of bytes written to stdout (if logging on) */ - /* but not actually returned via a match yet */ - int echoed; /* additional # of bytes (beyond "printed" above) */ -diff -uNr expect-5.38.orig/expect.c expect-5.38/expect.c ---- expect-5.38.orig/expect.c 2002-04-08 09:00:33.000000000 +1000 -+++ expect-5.38/expect.c 2003-03-01 10:36:18.000000000 +1100 -@@ -41,8 +41,17 @@ - #include "tcldbg.h" - #endif - -+/* The initial length is 2000. We increment it by 2000. The maximum -+ is 8MB (0x800000). */ -+#define EXP_MATCH_MAX 2000 -+#define EXP_MATCH_INC 2000 -+#define EXP_MATCH_STEP_LIMIT 0x700000 -+#define EXP_MATCH_LIMIT 0x800000 -+#define EXP_MATCH_LIMIT_QUOTE "0x800000" -+ - /* initial length of strings that we can guarantee patterns can match */ --int exp_default_match_max = 2000; -+int exp_default_match_max = EXP_MATCH_MAX; -+int exp_default_match_max_changed = 0; - #define INIT_EXPECT_TIMEOUT_LIT "10" /* seconds */ - #define INIT_EXPECT_TIMEOUT 10 /* seconds */ - int exp_default_parity = TRUE; -@@ -1618,6 +1627,76 @@ - return newsize; - } - -+/* returns # of bytes until we see a newline at the end or EOF. */ -+/*ARGSUSED*/ -+static int -+expReadNewLine(interp,esPtr,save_flags) /* INTL */ -+Tcl_Interp *interp; -+ExpState *esPtr; -+int save_flags; -+{ -+ int size; -+ int exp_size; -+ int full_size; -+ int count; -+ char *str; -+ -+ count = 0; -+ for (;;) { -+ exp_size = expSizeGet(esPtr); -+ -+ /* When we reach the limit, we will only read one char at a -+ time. */ -+ if (esPtr->umsize >= EXP_MATCH_STEP_LIMIT) -+ size = TCL_UTF_MAX; -+ else -+ size = exp_size; -+ -+ if (exp_size + TCL_UTF_MAX >= esPtr->msize) { -+ if (esPtr->umsize >= EXP_MATCH_LIMIT) { -+ expDiagLogU("WARNING: interact buffer is full. probably your program\r\n"); -+ expDiagLogU("is not interactive or has a very long output line. The\r\n"); -+ expDiagLogU("current limit is " EXP_MATCH_LIMIT_QUOTE ".\r\n"); -+ expDiagLogU("Dumping first half of buffer in order to continue\r\n"); -+ expDiagLogU("Recommend you enlarge the buffer.\r\n"); -+ exp_buffer_shuffle(interp,esPtr,save_flags,EXPECT_OUT,"expect"); -+ return count; -+ } -+ else { -+ esPtr->umsize += EXP_MATCH_INC; -+ expAdjust(esPtr); -+ } -+ } -+ -+ full_size = esPtr->msize - (size / TCL_UTF_MAX); -+ size = Tcl_ReadChars(esPtr->channel, -+ esPtr->buffer, -+ full_size, -+ 1 /* append */); -+ if (size > 0) { -+ count += size; -+ /* We try again if there are more to read and we haven't -+ seen a newline at the end. */ -+ if (size == full_size) { -+ str = Tcl_GetStringFromObj(esPtr->buffer, &size); -+ if (str[size - 1] != '\n') -+ continue; -+ } -+ } -+ else { -+ /* It is even trickier. We got an error from read. We have -+ to recover from it. Let's make sure the size of -+ buffer is correct. It can be corrupted. */ -+ str = Tcl_GetString(esPtr->buffer); -+ Tcl_SetObjLength(esPtr->buffer, strlen(str)); -+ } -+ -+ break; -+ } -+ -+ return count; -+} -+ - /* returns # of bytes read or (non-positive) error of form EXP_XXX */ - /* returns 0 for end of file */ - /* If timeout is non-zero, set an alarm before doing the read, else assume */ -@@ -1632,6 +1711,8 @@ - { - int cc = EXP_TIMEOUT; - int size = expSizeGet(esPtr); -+ int full_size; -+ int count; - - if (size + TCL_UTF_MAX >= esPtr->msize) - exp_buffer_shuffle(interp,esPtr,save_flags,EXPECT_OUT,"expect"); -@@ -1648,11 +1729,43 @@ - } - #endif - -- -+ /* FIXME: If we ask less than what is available in the tcl buffer -+ when tcl has seen EOF, we will throw away the remaining data -+ since the next read will get EOF. Since expect is line-oriented, -+ we exand our buffer to get EOF or the next newline at the end of -+ the input buffer. I don't know if it is the right fix. H.J. */ -+ count = 0; -+ full_size = esPtr->msize - (size / TCL_UTF_MAX); - cc = Tcl_ReadChars(esPtr->channel, -- esPtr->buffer, -- esPtr->msize - (size / TCL_UTF_MAX), -- 1 /* append */); -+ esPtr->buffer, -+ full_size, -+ 1 /* append */); -+ if (cc > 0) { -+ count += cc; -+ /* It gets very tricky. There are more to read. We will expand -+ our buffer and get EOF or a newline at the end unless the -+ buffer length has been changed. */ -+ if (cc == full_size) { -+ char *str; -+ str = Tcl_GetStringFromObj(esPtr->buffer, &size); -+ if (str[size - 1] != '\n') { -+ if (esPtr->umsize_changed) { -+ char buf[20]; /* big enough for 64bit int in hex. */ -+ snprintf(buf,sizeof(buf),"0x%x", esPtr->umsize); -+ expDiagLogU("WARNING: interact buffer is not large enough to hold\r\n"); -+ expDiagLogU("all output. probably your program is not interactive or\r\n"); -+ expDiagLogU("has a very long output line. The current limit is "); -+ expDiagLogU(buf); -+ expDiagLogU(".\r\n"); -+ } -+ else { -+ cc = expReadNewLine(interp,esPtr,save_flags); -+ if (cc > 0) -+ count += cc; -+ } -+ } -+ } -+ } - i_read_errno = errno; - - #ifdef SIMPLE_EVENT -@@ -1673,7 +1786,7 @@ - } - } - #endif -- return cc; -+ return count > 0 ? count : cc; - } - - /* -@@ -2746,8 +2859,14 @@ - return(TCL_ERROR); - } - -- if (Default) exp_default_match_max = size; -- else esPtr->umsize = size; -+ if (Default) { -+ exp_default_match_max = size; -+ exp_default_match_max_changed = 1; -+ } -+ else { -+ esPtr->umsize = size; -+ esPtr->umsize_changed = 1; -+ } - - return(TCL_OK); - } diff --git a/pkgs/toolchain/expect/patches/expect-5.43.0-tcl_8.5.8_fix-1.patch b/pkgs/toolchain/expect/patches/expect-5.43.0-tcl_8.5.8_fix-1.patch deleted file mode 100644 index 5b9596a..0000000 --- a/pkgs/toolchain/expect/patches/expect-5.43.0-tcl_8.5.8_fix-1.patch +++ /dev/null @@ -1,125 +0,0 @@ -Submitted By: DJ Lucas <dj_AT_linuxfromscratch_DOT_org> -Date: 2008-09-28 -Initial Package Version: 5.43 -Upstream status: Not Submitted -Origin: LFS ticket 2126 (http://wiki.linuxfromscratch.org/lfs/ticket/2126) - Bryan Kadzban bryan@kadzban.is-a-geek.net -Description: Removes references to functions that Tcl 8.5 no longer exposes - and correct other minor build problems WRT TCL-8.5.x. - -diff -Naur expect-5.43-orig/Dbg.c expect-5.43/Dbg.c ---- expect-5.43-orig/Dbg.c 2002-03-22 22:11:54.000000000 -0600 -+++ expect-5.43/Dbg.c 2008-08-24 01:30:15.000000000 -0500 -@@ -9,7 +9,7 @@ - */ - - #include <stdio.h> -- -+#include "expect_cf.h" - #include "tcldbgcf.h" - #if 0 - /* tclInt.h drags in stdlib. By claiming no-stdlib, force it to drag in */ -diff -Naur expect-5.43-orig/exp_inter.c expect-5.43/exp_inter.c ---- expect-5.43-orig/exp_inter.c 2004-08-17 21:03:00.000000000 -0500 -+++ expect-5.43/exp_inter.c 2008-08-24 01:28:59.000000000 -0500 -@@ -36,6 +36,7 @@ - #include <ctype.h> - - #include "tcl.h" -+#include "tclInt.h" - #include "string.h" - - #include "exp_tty_in.h" -diff -Naur expect-5.43/exp_command.c expect-5.43-patched/exp_command.c ---- expect-5.43/exp_command.c 2004-08-20 13:18:01.000000000 -0400 -+++ expect-5.43-patched/exp_command.c 2008-01-12 11:42:45.000000000 -0500 -@@ -2265,6 +2265,8 @@ - /*NOTREACHED*/ - } - -+static struct exp_cmd_data cmd_data[]; -+ - /*ARGSUSED*/ - static int - Exp_CloseObjCmd(clientData, interp, objc, objv) -@@ -2311,12 +2313,23 @@ - /* Historical note: we used "close" long before there was a */ - /* Tcl builtin by the same name. */ - -+ /* The code that registered this function as the handler for */ -+ /* the "close" command stored away the old handler in the */ -+ /* exp_cmd_data for the "close" command. */ -+ -+ struct exp_cmd_data *cmd_ptr; - Tcl_CmdInfo info; -+ -+ for(cmd_ptr = &cmd_data[0]; cmd_ptr->name; cmd_ptr++) { -+ if(strncmp(cmd_ptr->name, "close", 5) == 0) -+ break; -+ } -+ - Tcl_ResetResult(interp); - if (0 == Tcl_GetCommandInfo(interp,"close",&info)) { - info.clientData = 0; - } -- return(Tcl_CloseObjCmd(info.clientData,interp,objc_orig,objv_orig)); -+ return(cmd_ptr->old_objProc(info.clientData,interp,objc_orig,objv_orig)); - } - - if (chanName) { -@@ -2961,7 +2974,10 @@ - /* if successful (i.e., TCL_RETURN is returned) */ - /* modify the result, so that we will handle it specially */ - -- int result = Tcl_ReturnObjCmd(clientData,interp,objc,objv); -+ Tcl_CmdInfo info; -+ Tcl_GetCommandInfo(interp, "return", &info); -+ -+ int result = info.objProc(clientData,interp,objc,objv); - if (result == TCL_RETURN) - result = EXP_TCL_RETURN; - return result; -@@ -3062,8 +3078,7 @@ - - for (;c->name;c++) { - /* if already defined, don't redefine */ -- if ((c->flags & EXP_REDEFINE) || -- !(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) || -+ if (!(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) || - Tcl_FindHashEntry(&currNsPtr->cmdTable,c->name))) { - if (c->objproc) - Tcl_CreateObjCommand(interp,c->name, -@@ -3072,6 +3087,21 @@ - Tcl_CreateCommand(interp,c->name,c->proc, - c->data,exp_deleteProc); - } -+ else if (c->flags & EXP_REDEFINE) { /* unless the REDEFINE flag is present */ -+ Tcl_CmdInfo info; -+ -+ if (Tcl_GetCommandInfo(interp, c->name, &info)) { -+ c->old_proc = info.proc; -+ c->old_objProc = info.objProc; -+ } -+ -+ if (c->objproc) -+ Tcl_CreateObjCommand(interp,c->name, -+ c->objproc,c->data,exp_deleteObjProc); -+ else -+ Tcl_CreateCommand(interp,c->name,c->proc, -+ c->data,exp_deleteProc); -+ } - if (!(c->name[0] == 'e' && - c->name[1] == 'x' && - c->name[2] == 'p') -diff -Naur expect-5.43/exp_command.h expect-5.43-patched/exp_command.h ---- expect-5.43/exp_command.h 2008-01-12 11:44:11.000000000 -0500 -+++ expect-5.43-patched/exp_command.h 2008-01-12 11:26:05.000000000 -0500 -@@ -297,6 +297,8 @@ - Tcl_CmdProc *proc; - ClientData data; - int flags; -+ Tcl_CmdProc *old_proc; /* these store the procedure for the old command, */ -+ Tcl_ObjCmdProc *old_objProc; /* if any */ - }; - - EXTERN void exp_create_commands _ANSI_ARGS_((Tcl_Interp *, diff --git a/pkgs/toolchain/tcl/patches/tcl-8.5.8-autopath.patch b/pkgs/toolchain/tcl/patches/tcl-8.5.8-autopath.patch deleted file mode 100644 index 4e5c7fb..0000000 --- a/pkgs/toolchain/tcl/patches/tcl-8.5.8-autopath.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff -up tcl8.5.7/../library/auto.tcl.old tcl8.5.7/library/auto.tcl ---- tcl8.5.7/../library/auto.tcl.old 2006-11-03 01:34:52.000000000 +0100 -+++ tcl8.5.7/../library/auto.tcl 2009-05-18 10:28:16.337102378 +0200 -@@ -85,6 +85,13 @@ proc tcl_findLibrary {basename version p - lappend dirs $value - } - -+ # 2a. As a sibling of Tcl's script directory -+ if {[catch { -+ ::tcl::pkgconfig get scriptdir,runtime -+ } value] == 0} { -+ lappend dirs [file join [file dirname $value] $basename$version] -+ } -+ - # 3. Relative to auto_path directories. This checks relative to the - # Tcl library as well as allowing loading of libraries added to the - # auto_path that is not relative to the core library or binary paths. -diff -up tcl8.5.7/../library/init.tcl.old tcl8.5.7/library/init.tcl ---- tcl8.5.7/../library/init.tcl.old 2009-04-10 18:54:51.000000000 +0200 -+++ tcl8.5.7/../library/init.tcl 2009-05-18 10:25:25.904853164 +0200 -@@ -48,16 +48,11 @@ if {![info exists auto_path]} { - } - namespace eval tcl { - variable Dir -- foreach Dir [list $::tcl_library [file dirname $::tcl_library]] { -+ foreach Dir [list $::tcl_library] { - if {$Dir ni $::auto_path} { - lappend ::auto_path $Dir - } - } -- set Dir [file join [file dirname [file dirname \ -- [info nameofexecutable]]] lib] -- if {$Dir ni $::auto_path} { -- lappend ::auto_path $Dir -- } - catch { - foreach Dir $::tcl_pkgPath { - if {$Dir ni $::auto_path} { -diff -up tcl8.5.7/../unix/configure.in.old tcl8.5.7/unix/configure.in ---- tcl8.5.7/../unix/configure.in.old 2009-04-15 21:30:05.000000000 +0200 -+++ tcl8.5.7/../unix/configure.in 2009-05-18 10:21:30.987855050 +0200 -@@ -833,9 +833,9 @@ if test "$FRAMEWORK_BUILD" = "1" ; then - test -z "$TCL_MODULE_PATH" && \ - TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl /System/Library/Tcl" - elif test "$prefix/lib" != "$libdir"; then -- TCL_PACKAGE_PATH="${libdir} ${prefix}/lib ${TCL_PACKAGE_PATH}" -+ TCL_PACKAGE_PATH="${libdir}/tcl8.5 ${prefix}/share/tcl8.5 ${TCL_PACKAGE_PATH}" - else -- TCL_PACKAGE_PATH="${prefix}/lib ${TCL_PACKAGE_PATH}" -+ TCL_PACKAGE_PATH="${libdir}/tcl8.5 ${prefix}/share/tcl8.5 ${TCL_PACKAGE_PATH}" - fi - - #-------------------------------------------------------------------- diff --git a/pkgs/toolchain/tcl/patches/tcl-8.5.8-conf.patch b/pkgs/toolchain/tcl/patches/tcl-8.5.8-conf.patch deleted file mode 100644 index 5381e70..0000000 --- a/pkgs/toolchain/tcl/patches/tcl-8.5.8-conf.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- tcl8.5.0/../unix/tcl.m4.conf 2007-12-20 10:48:05.000000000 +0100 -+++ tcl8.5.0/../unix/tcl.m4 2007-12-20 10:48:52.000000000 +0100 -@@ -1427,12 +1427,12 @@ dnl AC_CHECK_TOOL(AR, ar) - # get rid of the warnings. - #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" - -- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' -+ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -fPIC -Wl,-soname,${@}' - DL_OBJS="tclLoadDl.o" - DL_LIBS="-ldl" - LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - AS_IF([test $doRpath = yes], [ -- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) -+ CC_SEARCH_FLAGS='']) - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) - AS_IF([test $do64bit = yes], [ -@@ -1464,7 +1464,7 @@ dnl AC_CHECK_TOOL(AR, ar) - SHLIB_LD_LIBS='${LIBS}' - SHLIB_SUFFIX=".so" - -- SHLIB_LD='${CC} -shared' -+ SHLIB_LD='${CC} ${CFLAGS} -shared -fPIC' - DL_OBJS="" - DL_LIBS="-ldl" - LDFLAGS="$LDFLAGS -Wl,--export-dynamic" diff --git a/pkgs/toolchain/tcl/patches/tcl-8.5.8-pic.patch b/pkgs/toolchain/tcl/patches/tcl-8.5.8-pic.patch deleted file mode 100644 index 1d34912..0000000 --- a/pkgs/toolchain/tcl/patches/tcl-8.5.8-pic.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up tcl8.5.7/../unix/Makefile.in.old tcl8.5.7/unix/Makefile.in ---- tcl8.5.7/../unix//Makefile.in.old 2009-04-15 21:30:05.000000000 +0200 -+++ tcl8.5.7/../unix/Makefile.in 2009-07-16 08:27:32.758444459 +0200 -@@ -569,7 +569,7 @@ objs: ${OBJS} - - - tclsh: ${TCLSH_OBJS} ${TCL_LIB_FILE} -- ${CC} ${CFLAGS} ${LDFLAGS} ${TCLSH_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} @EXTRA_TCLSH_LIBS@ \ -+ ${CC} ${CFLAGS} ${LDFLAGS} -fPIC ${TCLSH_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} @EXTRA_TCLSH_LIBS@ \ - ${CC_SEARCH_FLAGS} -o tclsh - - # Resetting the LIB_RUNTIME_DIR below is required so that the generated diff --git a/pkgs/toolchain/tcl/tcl.nm b/pkgs/toolchain/tcl/tcl.nm deleted file mode 100644 index e4430aa..0000000 --- a/pkgs/toolchain/tcl/tcl.nm +++ /dev/null @@ -1,19 +0,0 @@ - -PKG_TOOLCHAIN_DEPS += gcc glibc - -include ../../core/tcl/tcl.nm - -define STAGE_BUILD - cd $(DIR_APP) && \ - ./configure \ - --prefix=$(TOOLS_DIR) \ - --disable-nls \ - --enable-shared - - cd $(DIR_APP) && make $(PARALLELISMFLAGS) -endef - -define STAGE_INSTALL - cd $(DIR_APP) && make install - cd $(DIR_APP) && make install-private-headers -endef
hooks/post-receive -- IPFire 3.x development tree