diff --git a/.cvsignore b/.cvsignore index 3d480c0..df04215 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -tk8.4.15-src.tar.gz +tk8.5.0-src.tar.gz diff --git a/sources b/sources index a3a3a35..a2b9328 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -68777568d818e1980dda4b6b02b92f1a tk8.4.15-src.tar.gz +bc217c45ed6b2f5b8d3120df63fa13bd tk8.5.0-src.tar.gz diff --git a/tk.spec b/tk.spec index a51553a..b612955 100644 --- a/tk.spec +++ b/tk.spec @@ -1,9 +1,9 @@ -%define majorver 8.4 +%define majorver 8.5 Summary: The graphical toolkit for the Tcl scripting language Name: tk -Version: %{majorver}.15 -Release: 5%{?dist} +Version: %{majorver}.0 +Release: 1%{?dist} Epoch: 1 License: TCL Group: Development/Languages @@ -14,11 +14,11 @@ Requires: tcl = %{epoch}:%{version} Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig BuildRequires: tcl-devel = %{epoch}:%{version}, autoconf -BuildRequires: libX11-devel, gawk +BuildRequires: libX11-devel # panedwindow.n from itcl conflicts Conflicts: itcl <= 3.2 -Patch1: tk-confi.patch -Patch2: tk-gifoverflow.patch +Patch1: tk8.5-make.patch +Patch2: tk8.5-conf.patch %description When paired with the Tcl scripting language, Tk provides a fast and powerful @@ -40,8 +40,8 @@ The package contains the development files and man pages for tk. %prep %setup -n %{name}%{version} -q -%patch1 -p1 -b .confi -%patch2 -p1 -b .buffer +%patch1 -p1 -b .make +%patch2 -p1 -b .conf %build cd unix @@ -62,23 +62,23 @@ make %{?_smp_mflags} TK_LIBRARY=%{_datadir}/%{name}%{majorver} rm -rf %{buildroot} make install -C unix INSTALL_ROOT=%{buildroot} TK_LIBRARY=%{_datadir}/%{name}%{majorver} -ln -s wish%{majorver} %{buildroot}%{_bindir}/wish +#ln -s wish%{majorver} %{buildroot}%{_bindir}/wish # for linking with -l%{name} ln -s lib%{name}%{majorver}.so %{buildroot}%{_libdir}/lib%{name}.so -mkdir -p %buildroot/%{_includedir}/%{name}-private/{generic,unix} -find generic unix -name "*.h" -exec cp -p '{}' %buildroot/%{_includedir}/%{name}-private/'{}' ';' -( cd %buildroot/%{_includedir} +mkdir -p $RPM_BUILD_ROOT/%{_includedir}/%{name}-private/{generic/ttk,unix} +find generic unix -name "*.h" -exec cp -p '{}' $RPM_BUILD_ROOT/%{_includedir}/%{name}-private/'{}' ';' +( cd $RPM_BUILD_ROOT/%{_includedir} for i in *.h ; do - [ -f %buildroot/%{_includedir}/%{name}-private/generic/$i ] && ln -sf ../../$i %buildroot/%{_includedir}/%{name}-private/generic ; + [ -f $RPM_BUILD_ROOT/%{_includedir}/%{name}-private/generic/$i ] && ln -sf ../../$i $RPM_BUILD_ROOT/%{_includedir}/%{name}-private/generic ; done ) # remove buildroot traces -sed -i -e "s|$PWD/unix|%{_libdir}|; s|$PWD|%{_includedir}/%{name}-private|" %buildroot/%{_libdir}/%{name}Config.sh -rm -rf %buildroot/%{_datadir}/%{name}%{majorver}/tkAppInit.c -rm -rf %buildroot/%{_datadir}/%{name}%{majorver}/prolog.ps +sed -i -e "s|$PWD/unix|%{_libdir}|; s|$PWD|%{_includedir}/%{name}-private|" $RPM_BUILD_ROOT/%{_libdir}/%{name}Config.sh +rm -rf $RPM_BUILD_ROOT/%{_datadir}/%{name}%{majorver}/tkAppInit.c +rm -rf $RPM_BUILD_ROOT/%{_datadir}/%{name}%{majorver}/prolog.ps %clean rm -rf %{buildroot} @@ -109,6 +109,9 @@ rm -rf %{buildroot} %{_mandir}/man3/* %changelog +* Wed Jan 2 2008 Marcela Maslanova - 1:8.5.0-1 +- upgrade on the 8.5.0 + * Mon Sep 17 2007 Marcela Maslanova - 1:8.4.15-5 - CVE-2007-4851 Tk GIF processing buffer overflow - Resolves: rhbz#290991 diff --git a/tk8.5-conf.patch b/tk8.5-conf.patch new file mode 100644 index 0000000..f162035 --- /dev/null +++ b/tk8.5-conf.patch @@ -0,0 +1,27 @@ +diff -up tk8.5.0/unix/tcl.m4.conf tk8.5.0/unix/tcl.m4 +--- tk8.5.0/unix/tcl.m4.conf 2007-12-20 12:32:05.000000000 +0100 ++++ tk8.5.0/unix/tcl.m4 2007-12-20 12:33:11.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} -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' + DL_OBJS="" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" diff --git a/tk8.5-make.patch b/tk8.5-make.patch new file mode 100644 index 0000000..965fdc2 --- /dev/null +++ b/tk8.5-make.patch @@ -0,0 +1,65 @@ +diff -up tk8.5.0/unix/configure.in.make tk8.5.0/unix/configure.in +--- tk8.5.0/unix/configure.in.make 2007-12-20 12:13:46.000000000 +0100 ++++ tk8.5.0/unix/configure.in 2007-12-20 12:15:22.000000000 +0100 +@@ -563,7 +563,7 @@ PRIVATE_INCLUDE_DIR='$(includedir)' + HTML_DIR='$(DISTDIR)/html' + TK_PKG_DIR='tk$(VERSION)' + TK_RSRC_FILE='tk$(VERSION).rsrc' +-WISH_RSRC_FILE='wish$(VERSION).rsrc' ++WISH_RSRC_FILE='wish.rsrc' + + # Note: in the following variable, it's important to use the absolute + # path name of the Tcl directory rather than "..": this is because +@@ -616,9 +616,9 @@ if test "$FRAMEWORK_BUILD" = "1" ; then + EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing license.terms to $(LIB_INSTALL_DIR)/Resources" && $(INSTALL_DATA) "$(TOP_DIR)/license.terms" "$(LIB_INSTALL_DIR)/Resources"' + if test $tk_aqua = yes; then + EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing ${TK_RSRC_FILE} to $(LIB_INSTALL_DIR)/Resources" && mkdir -p "$(LIB_INSTALL_DIR)/Resources" && $(INSTALL_DATA) "${TK_RSRC_FILE}" "$(LIB_INSTALL_DIR)/Resources"' +- EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing wish$(VERSION) script to $(INSTALL_ROOT)/'"${bindir}"'" && mkdir -p "$(INSTALL_ROOT)/'"${bindir}"'" && printf > "$(INSTALL_ROOT)/'"${bindir}"'/wish$(VERSION)" "#!/bin/sh\n\"\$$(dirname \$$0)'"`eval d="${bindir}"; echo "$d" | sed -e 's#/[^/][^/]*#/..#g'`"'$(bindir)/Wish\" \"\$$@\"" && chmod +x "$(INSTALL_ROOT)/'"${bindir}"'/wish$(VERSION)"' ++ EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing wish script to $(INSTALL_ROOT)/'"${bindir}"'" && mkdir -p "$(INSTALL_ROOT)/'"${bindir}"'" && printf > "$(INSTALL_ROOT)/'"${bindir}"'/wish" "#!/bin/sh\n\"\$$(dirname \$$0)'"`eval d="${bindir}"; echo "$d" | sed -e 's#/[^/][^/]*#/..#g'`"'$(bindir)/Wish\" \"\$$@\"" && chmod +x "$(INSTALL_ROOT)/'"${bindir}"'/wish"' + bindir="${libdir}/Resources/Wish.app/Contents/MacOS" +- EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing Info.plist to $(BIN_INSTALL_DIR)/.." && $(INSTALL_DATA) Wish-Info.plist "$(BIN_INSTALL_DIR)/../Info.plist" && mv -f "$(BIN_INSTALL_DIR)/wish$(VERSION)" "$(BIN_INSTALL_DIR)/Wish"' ++ EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing Info.plist to $(BIN_INSTALL_DIR)/.." && $(INSTALL_DATA) Wish-Info.plist "$(BIN_INSTALL_DIR)/../Info.plist" && mv -f "$(BIN_INSTALL_DIR)/wish" "$(BIN_INSTALL_DIR)/Wish"' + EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing Wish.icns to $(BIN_INSTALL_DIR)/../Resources" && mkdir -p "$(BIN_INSTALL_DIR)/../Resources" && $(INSTALL_DATA) "$(MAC_OSX_DIR)/Wish.icns" "$(BIN_INSTALL_DIR)/../Resources"' + EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing ${WISH_RSRC_FILE} to $(BIN_INSTALL_DIR)/../Resources" && $(INSTALL_DATA) "${WISH_RSRC_FILE}" "$(BIN_INSTALL_DIR)/../Resources"' + fi +diff -up tk8.5.0/unix/Makefile.in.make tk8.5.0/unix/Makefile.in +--- tk8.5.0/unix/Makefile.in.make 2007-12-20 12:11:33.000000000 +0100 ++++ tk8.5.0/unix/Makefile.in 2007-12-20 12:19:20.000000000 +0100 +@@ -715,14 +715,14 @@ install-binaries: $(TK_LIB_FILE) $(TK_ST + fi + @echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/" + @@INSTALL_LIB@ +- @chmod 555 $(LIB_INSTALL_DIR)/$(LIB_FILE) ++ @chmod 755 $(LIB_INSTALL_DIR)/$(LIB_FILE) + @if test "$(TK_BUILD_EXP_FILE)" != ""; then \ + echo "Installing $(TK_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \ + $(INSTALL_DATA) $(TK_BUILD_EXP_FILE) \ + $(LIB_INSTALL_DIR)/$(TK_EXP_FILE); \ + fi +- @echo "Installing wish as $(BIN_INSTALL_DIR)/wish$(VERSION)" +- @$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish$(VERSION) ++ @echo "Installing wish as $(BIN_INSTALL_DIR)/wish" ++ @$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish + @echo "Installing tkConfig.sh to $(LIB_INSTALL_DIR)/" + @$(INSTALL_DATA) tkConfig.sh $(LIB_INSTALL_DIR)/tkConfig.sh + @if test "$(STUB_LIB_FILE)" != "" ; then \ +@@ -801,7 +801,7 @@ install-demos: + @for i in $(TOP_DIR)/library/demos/*; \ + do \ + if [ -f $$i ] ; then \ +- sed -e '3 s|exec wish|exec wish$(VERSION)|' \ ++ sed -e '3 s|exec wish|exec wish|' \ + $$i > $(SCRIPT_INSTALL_DIR)/demos/`basename $$i`; \ + fi; \ + done; +@@ -1732,8 +1732,8 @@ package-common: + mkdir -p $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin + sed -e "s/TCLVERSION/$(TCLVERSION)/g" \ + -e "s/TKVERSION/$(VERSION)/g" < $(UNIX_DIR)/wish.sh \ +- > $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin/wish$(VERSION) +- chmod 755 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin/wish$(VERSION) ++ > $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin/wish ++ chmod 755 $(DISTDIR)/SUNWtcl/$(TCLVERSION)/bin/wish + + # + # Build and install the architecture specific files in the dist directory.