diff options
Diffstat (limited to 'dev-tcltk/blt/files/blt-2.4z-mkdir-safely.patch')
-rw-r--r-- | dev-tcltk/blt/files/blt-2.4z-mkdir-safely.patch | 387 |
1 files changed, 387 insertions, 0 deletions
diff --git a/dev-tcltk/blt/files/blt-2.4z-mkdir-safely.patch b/dev-tcltk/blt/files/blt-2.4z-mkdir-safely.patch new file mode 100644 index 0000000..638491a --- /dev/null +++ b/dev-tcltk/blt/files/blt-2.4z-mkdir-safely.patch @@ -0,0 +1,387 @@ +From: Gregory M. Turner <gmt@be-evil.net> + +Somehow (I suspect it is some subtle bug in the xattr-wrapper(!), but I +didn't investigate carefully), this ebuild mysteriously started failing due +to installing files where there were supposed to be directories. + +Not sure what changed, but it's pretty easy to see how, if this makefile +were being run by a sufficiently creative make, how the current implementation +could break. I guess we could fix it by placing a dependency on mkdirs for +all of the subsequent targets requisite to "install". But, sheesh, gross. + +Better just to fix the underlying problem by using install in a fully consistent +manner. This patch changes blt to do just that, always using install -t or +install -T, and always preceeding those calls by one to install -d (which +wont run in parallel no matter what :)). + +I even fixed it for cygwin. TODO: submit to upstream. + +-gmt + +diff -urpN blt2.4z-8.5.2.orig/demos/Makefile.in blt2.4z-8.5.2/demos/Makefile.in +--- blt2.4z-8.5.2.orig/demos/Makefile.in 2014-07-05 01:46:30.058060792 -0700 ++++ blt2.4z-8.5.2/demos/Makefile.in 2014-07-05 01:43:08.391034175 -0700 +@@ -17,17 +17,6 @@ INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_ROOT = + +-instdirs = $(prefix) \ +- $(exec_prefix) \ +- $(libdir) \ +- $(scriptdir) \ +- $(destdir) \ +- $(destdir)/bitmaps \ +- $(destdir)/bitmaps/hand \ +- $(destdir)/bitmaps/fish \ +- $(destdir)/images \ +- $(destdir)/scripts +- + demos = barchart1.tcl barchart2.tcl barchart3.tcl barchart4.tcl \ + barchart5.tcl \ + bgexec1.tcl bgexec2.tcl bgexec3.tcl bgexec4.tcl \ +@@ -48,42 +37,37 @@ demos = barchart1.tcl barchart2.tcl bar + + all: + +-install: mkdirs install-bitmaps install-images install-scripts ++install: install-bitmaps install-images install-scripts + + install-scripts: ++ $(INSTALL) -d $(INSTALL_ROOT)$(destdir)/scripts + for i in $(srcdir)/scripts/*.tcl ; do \ +- $(INSTALL) $$i $(INSTALL_ROOT)$(destdir)/scripts ; \ ++ $(INSTALL) -t $(INSTALL_ROOT)$(destdir)/scripts $$i ; \ + done + for i in $(demos) ; do \ +- $(INSTALL) $(srcdir)/$$i $(INSTALL_ROOT)$(destdir)/$$i ; \ ++ $(INSTALL) -t $(INSTALL_ROOT)$(destdir) $(srcdir)/$$i ; \ + done + + install-bitmaps: ++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(destdir)/bitmaps/hand \ ++ $(INSTALL_ROOT)$(destdir)/bitmaps/fish \ ++ $(INSTALL_ROOT)$(destdir)/images + for i in $(srcdir)/bitmaps/*.xbm ; do \ +- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(destdir)/bitmaps ; \ ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(destdir)/bitmaps $$i ; \ + done + for i in $(srcdir)/bitmaps/hand/*.xbm ; do \ +- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(destdir)/bitmaps/hand ; \ ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(destdir)/bitmaps/hand $$i ; \ + done + for i in $(srcdir)/bitmaps/fish/*.xbm ; do \ +- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(destdir)/bitmaps/fish ; \ ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(destdir)/bitmaps/fish $$i ; \ + done + + install-images: ++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(destdir)/images + for i in $(srcdir)/images/*.gif $(srcdir)/images/*.ps ; do \ +- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(destdir)/images ; \ ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(destdir)/images $$i ; \ + done + +-mkdirs: +- @for i in $(instdirs) ; do \ +- if test -d $(INSTALL_ROOT)"$$i" ; then \ +- : ; \ +- else \ +- echo " mkdir $(INSTALL_ROOT)$$i" ; \ +- mkdir $(INSTALL_ROOT)"$$i" ; \ +- fi ; \ +- done +- + clean: + $(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* + +diff -urpN blt2.4z-8.5.2.orig/library/Makefile.in blt2.4z-8.5.2/library/Makefile.in +--- blt2.4z-8.5.2.orig/library/Makefile.in 2014-07-05 01:46:30.058060792 -0700 ++++ blt2.4z-8.5.2/library/Makefile.in 2014-07-05 01:43:08.127036759 -0700 +@@ -38,9 +38,6 @@ ddFiles = dd-color.tcl \ + dd-text.tcl \ + tclIndex + +-instdirs = $(prefix) $(exec_prefix) \ +- $(libdir) $(prefix)/lib $(scriptdir) $(scriptdir)/dd_protocols +- + all: pkgIndex + + pkgIndex: +@@ -50,25 +47,16 @@ pkgIndex: + sed -e 's;%LIB_DIR%;$(libdir);' > pkgIndex.tcl + + +-install: mkdirs pkgIndex ++install: pkgIndex ++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(scriptdir)/dd_protocols + for i in $(ddFiles) ; do \ +- $(INSTALL_DATA) $(srcdir)/dd_protocols/$$i \ +- $(INSTALL_ROOT)$(scriptdir)/dd_protocols ; \ ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(scriptdir)/dd_protocols \ ++ $(srcdir)/dd_protocols/$$i ; \ + done + for i in $(miscFiles) ; do \ +- $(INSTALL_DATA) $(srcdir)/$$i $(INSTALL_ROOT)$(scriptdir) ; \ ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(scriptdir) $(srcdir)/$$i ; \ + done +- $(INSTALL_DATA) pkgIndex.tcl $(INSTALL_ROOT)$(scriptdir) +- +-mkdirs: +- @for i in $(instdirs) ; do \ +- if test -d $(INSTALL_ROOT)$$i ; then \ +- : ; \ +- else \ +- echo " mkdir $(INSTALL_ROOT)$$i" ; \ +- mkdir $(INSTALL_ROOT)$$i ; \ +- fi ; \ +- done ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(scriptdir) pkgIndex.tcl + + clean: + $(RM) pkgIndex.tcl +diff -urpN blt2.4z-8.5.2.orig/Makefile.in blt2.4z-8.5.2/Makefile.in +--- blt2.4z-8.5.2.orig/Makefile.in 2014-07-05 01:46:30.058060792 -0700 ++++ blt2.4z-8.5.2/Makefile.in 2014-07-05 01:43:08.390034185 -0700 +@@ -16,13 +16,6 @@ version = @BLT_VERSION@ + gentoo_libdir = @GENTOO_LIBDIR@ + scriptdir = $(prefix)/$(gentoo_libdir)/blt$(version) + +-instdirs = $(prefix) \ +- $(exec_prefix) \ +- $(bindir) \ +- $(libdir) \ +- $(includedir) \ +- $(scriptdir) +- + # ------------------------------------------------------------------------ + # Don't edit anything beyond this point + # ------------------------------------------------------------------------ +@@ -41,26 +34,15 @@ all: + (cd man; $(MAKE) all) + (cd demos; $(MAKE) all) + +-install: mkdirs install-all ++install: install-all + + install-all: + (cd src; $(MAKE) install) + (cd library; $(MAKE) install) + (cd man; $(MAKE) install) + (cd demos; $(MAKE) install) +- $(INSTALL_DATA) $(srcdir)/README $(INSTALL_ROOT)$(scriptdir) +- $(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_ROOT)$(scriptdir) +- $(INSTALL_DATA) $(srcdir)/NEWS $(INSTALL_ROOT)$(scriptdir) +- +-mkdirs: +- @for i in $(instdirs) ; do \ +- if test -d $(INSTALL_ROOT)$$i ; then \ +- : ; \ +- else \ +- echo " mkdir $(INSTALL_ROOT)$$i" ; \ +- mkdir $(INSTALL_ROOT)$$i ; \ +- fi ; \ +- done ++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(scriptdir) ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(scriptdir) $(srcdir)/README $(srcdir)/PROBLEMS $(srcdir)/NEWS + + clean: + (cd src; $(MAKE) clean) +diff -urpN blt2.4z-8.5.2.orig/man/Makefile.in blt2.4z-8.5.2/man/Makefile.in +--- blt2.4z-8.5.2.orig/man/Makefile.in 2014-07-05 01:46:30.058060792 -0700 ++++ blt2.4z-8.5.2/man/Makefile.in 2014-07-05 01:43:08.127036759 -0700 +@@ -8,8 +8,6 @@ sectiondir = $(mandir)/mann + srcdir = @srcdir@ + version = @BLT_VERSION@ + +-instdirs = $(mandir) $(mandir)/mann $(mandir)/man3 +- + MAN_N = BLT.n barchart.n beep.n bgexec.n bitmap.n \ + bltdebug.n busy.n container.n cutbuffer.n \ + dragdrop.n eps.n graph.n hierbox.n \ +@@ -34,26 +32,17 @@ VPATH = $(srcdir) + + all: man.macros $(MANPAGES) + +-install: mkdirs install-mann install-man3 ++install: install-mann install-man3 + + install-mann: $(MAN_N) ++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(mandir)/mann $(INSTALL_ROOT)$(mandir)/man3 + for i in *.n ; do \ +- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(mandir)/mann; \ ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(mandir)/mann $$i ; \ + done + + install-man3: $(MAN_3) + for i in *.3 ; do \ +- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(mandir)/man3; \ +- done +- +-mkdirs: +- @for i in $(instdirs) ; do \ +- if test -d $(INSTALL_ROOT)$$i ; then \ +- : ; \ +- else \ +- echo " mkdir $(INSTALL_ROOT)$$i" ; \ +- mkdir $(INSTALL_ROOT)$$i ; \ +- fi ; \ ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(mandir)/man3 $$i ; \ + done + + .SUFFIXES: .n .mann .3 .man3 +diff -urpN blt2.4z-8.5.2.orig/src/Makefile-cyg.in blt2.4z-8.5.2/src/Makefile-cyg.in +--- blt2.4z-8.5.2.orig/src/Makefile-cyg.in 2014-07-05 01:46:30.058060792 -0700 ++++ blt2.4z-8.5.2/src/Makefile-cyg.in 2014-07-05 01:50:53.702482022 -0700 +@@ -32,8 +32,6 @@ scriptdir = @BLT_LIBRARY@ + prefix = @prefix@ + srcdir = @srcdir@ + +-instdirs = $(prefix) $(exec_prefix) $(bindir) $(scriptdir) $(libdir) $(incdir) +- + # ------------------------------------------------------------------------ + # Directories containing Tcl and Tk include files and libraries + # ------------------------------------------------------------------------ +@@ -216,34 +214,26 @@ $(tcl_only_lib_so): $(TCL_ONLY_OBJS) bl + $(SHLIB_LD) $(SHLIB_LD_FLAGS) ${LDFLAGS} -o $@ bltInit_tclonly.o $(TCL_ONLY_OBJS) \ + $(TCL_ONLY_LIBS) + +-install: mkdirs install-lib install-demo install-headers ++install: install-lib install-demo install-headers + + install-demo: $(bltwish) $(bltsh) +- $(INSTALL) -m 0755 $(bltwish) $(INSTALL_ROOT)$(bindir) +- $(INSTALL) -m 0755 $(bltsh) $(INSTALL_ROOT)$(bindir) ++ $(INSTALL) -d $(INSTALL_ROOT)$(bindir) ++ $(INSTALL) -m 0755 $(INSTALL_ROOT)$(bindir) $(bltwish) $(bltsh) + + install-lib: $(lib_a) $(tcl_only_lib_a) $(lib_so) $(tcl_only_lib_so) +- $(INSTALL_DATA) $(lib_a) $(INSTALL_ROOT)$(libdir) ++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(libdir) ++ $(INSTALL) -d $(INSTALL_ROOT)$(bindir) ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(libdir) $(lib_a) + $(RANLIB) $(INSTALL_ROOT)$(libdir)/$(lib_a) +- $(INSTALL_DATA) $(tcl_only_lib_a) $(INSTALL_ROOT)$(libdir) ++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(libdir) $(tcl_only_lib_a) + $(RANLIB) $(INSTALL_ROOT)$(libdir)/$(tcl_only_lib_a) +- $(INSTALL) -m 0755 $(lib_so) $(INSTALL_ROOT)$(bindir) +- $(INSTALL) -m 0755 $(tcl_only_lib_so) $(INSTALL_ROOT)$(bindir) +- +-mkdirs: +- @for i in $(instdirs) ; do \ +- if test -d $(INSTALL_ROOT)$$i ; then \ +- : ; \ +- else \ +- echo " mkdir $(INSTALL_ROOT)$$i" ; \ +- mkdir $(INSTALL_ROOT)$$i ; \ +- fi ; \ +- done ++ $(INSTALL) -m 0755 -t $(INSTALL_ROOT)$(bindir) $(lib_so) $(tcl_only_lib_so) + + install-headers: ++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(incdir) + @for i in $(headers) ; do \ + echo "installing $$i..." ; \ +- $(INSTALL_DATA) -m 0444 $$i $(INSTALL_ROOT)$(incdir) ; \ ++ $(INSTALL_DATA) -m 0444 -t $(INSTALL_ROOT)$(incdir) $$i ; \ + done + + lint: +diff -urpN blt2.4z-8.5.2.orig/src/Makefile.in blt2.4z-8.5.2/src/Makefile.in +--- blt2.4z-8.5.2.orig/src/Makefile.in 2014-07-05 01:46:30.059060782 -0700 ++++ blt2.4z-8.5.2/src/Makefile.in 2014-07-05 01:43:08.459033510 -0700 +@@ -29,8 +29,6 @@ scriptdir = $(exec_prefix)/lib + prefix = @prefix@ + srcdir = @srcdir@ + +-instdirs = $(prefix) $(exec_prefix) $(bindir) $(libdir) $(incdir) +- + # ------------------------------------------------------------------------ + # Directories containing Tcl and Tk include files and libraries + # ------------------------------------------------------------------------ +@@ -193,35 +191,27 @@ $(tcl_only_lib_a): $(TCL_ONLY_OBJS) blt + $(AR) $@ $(TCL_ONLY_OBJS) bltInit_tclonly.o + $(RANLIB) $@ + +-install: mkdirs install-lib install-demo install-headers ++install: install-lib install-demo install-headers + + install-demo: $(bltwish) $(bltsh) +- $(INSTALL) -m 0755 $(bltwish) $(INSTALL_ROOT)$(bindir) +- $(INSTALL) -m 0755 $(bltsh) $(INSTALL_ROOT)$(bindir) ++ $(INSTALL) -d $(INSTALL_ROOT)$(bindir) ++ $(INSTALL) -m 0755 -t $(INSTALL_ROOT)$(bindir) $(bltwish) $(bltsh) + + install-lib: $(lib_a) $(tcl_only_lib_a) +- $(INSTALL_DATA) $(lib_a) $(INSTALL_ROOT)$(libdir)/$(libvers_a) ++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(libdir) ++ $(INSTALL_DATA) -T $(lib_a) $(INSTALL_ROOT)$(libdir)/$(libvers_a) + (cd $(INSTALL_ROOT)$(libdir); $(RM) $(lib_a) ; $(LN_S) $(libvers_a) $(lib_a)) + $(RANLIB) $(INSTALL_ROOT)$(libdir)/$(libvers_a) +- $(INSTALL_DATA) $(tcl_only_lib_a) $(INSTALL_ROOT)$(libdir)/$(tcl_only_libvers_a) ++ $(INSTALL_DATA) -T $(tcl_only_lib_a) $(INSTALL_ROOT)$(libdir)/$(tcl_only_libvers_a) + (cd $(INSTALL_ROOT)$(libdir); $(RM) $(tcl_only_lib_a) ; $(LN_S) $(tcl_only_libvers_a) $(tcl_only_lib_a)) + $(RANLIB) $(INSTALL_ROOT)$(libdir)/$(tcl_only_libvers_a) + (cd shared; $(MAKE) install) + +-mkdirs: +- @for i in $(instdirs) ; do \ +- if test -d $(INSTALL_ROOT)$$i ; then \ +- : ; \ +- else \ +- echo " mkdir $(INSTALL_ROOT)$$i" ; \ +- mkdir $(INSTALL_ROOT)$$i ; \ +- fi ; \ +- done +- + install-headers: ++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(incdir) + @for i in $(headers) ; do \ + echo "installing $$i..." ; \ +- $(INSTALL_DATA) -m 0444 $$i $(INSTALL_ROOT)$(incdir) ; \ ++ $(INSTALL_DATA) -m 0444 -t $(INSTALL_ROOT)$(incdir) $$i ; \ + done + + lint: +diff -urpN blt2.4z-8.5.2.orig/src/shared/Makefile.in blt2.4z-8.5.2/src/shared/Makefile.in +--- blt2.4z-8.5.2.orig/src/shared/Makefile.in 2014-07-05 01:46:30.059060782 -0700 ++++ blt2.4z-8.5.2/src/shared/Makefile.in 2014-07-05 01:51:45.929971311 -0700 +@@ -26,8 +26,6 @@ libdir = @libdir@ + bindir = $(exec_prefix)/bin + srcdir = @srcdir@/.. + +-instdirs = $(exec_prefix) $(libdir) +- + scriptdir = @BLT_LIBRARY@ + + LIBS = @LIB_SPECS@ @EXTRA_LIB_SPECS@ +@@ -162,25 +160,16 @@ $(tcl_only_lib_so): $(TCL_ONLY_OBJS) blt + $(SHLIB_LD) $(SHLIB_LD_FLAGS) $(LDFLAGS) -o $@ bltInit_tclonly.o $(TCL_ONLY_OBJS) \ + $(SHLIB_TCL_ONLY_LIB_SPECS) $(LIBS) + +-install: mkdirs install-lib install-demo ++install: install-lib install-demo + + install-demo: $(bltwish) +- $(INSTALL) -m 0755 bltwish$(version) $(INSTALL_ROOT)$(bindir) +- $(INSTALL) -m 0755 bltsh$(version) $(INSTALL_ROOT)$(bindir) ++ $(INSTALL) -d $(INSTALL_ROOT)$(bindir) ++ $(INSTALL) -m 0755 -t $(INSTALL_ROOT)$(bindir) bltwish$(version) bltsh$(version) + + install-lib: $(lib_so) $(tcl_only_lib_so) +- $(INSTALL) -m 0755 $(lib_so) $(INSTALL_ROOT)$(libdir) +- $(INSTALL) -m 0755 $(tcl_only_lib_so) $(INSTALL_ROOT)$(libdir) ++ $(INSTALL) -d $(INSTALL_ROOT)$(libdir) ++ $(INSTALL) -m 0755 -t $(INSTALL_ROOT)$(libdir) $(lib_so) $(tcl_only_lib_so) + +-mkdirs: +- @for i in $(instdirs) ; do \ +- if test -d $(INSTALL_ROOT)$$i ; then \ +- : ;\ +- else \ +- echo " mkdir $(INSTALL_ROOT)$$i" ; \ +- mkdir $(INSTALL_ROOT)$$i ; \ +- fi ; \ +- done + clean: + $(RM) $(OBJS) $(lib_so) $(tcl_only_lib_so) $(bltwish) $(bltsh) \ + *pure* .pure* bltInit_tcltk.o bltInit_tclonly.o \ |