Hello community,
here is the log from the commit of package nspluginwrapper
checked in at Wed Apr 18 00:37:36 CEST 2007.
--------
--- nspluginwrapper/nspluginwrapper.changes 2007-04-03 19:42:02.000000000 +0200
+++ /mounts/work_src_done/STABLE/nspluginwrapper/nspluginwrapper.changes 2007-04-17 18:35:36.000000000 +0200
@@ -1,0 +2,8 @@
+Tue Apr 17 18:05:18 CEST 2007 - sbrabec@suse.cz
+
+- Updated to version 0.9.91.4:
+ * Don’t try to wrap native plugins
+ * Fix build on Linux systems with SSP enabled by default
+- Removed self-requires.
+
+-------------------------------------------------------------------
Old:
----
nspluginwrapper-0.9.91.3.tar.bz2
nspluginwrapper-null-last-argument.patch
New:
----
nspluginwrapper-0.9.91.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nspluginwrapper.spec ++++++
--- /var/tmp/diff_new_pack.b23929/_old 2007-04-18 00:37:05.000000000 +0200
+++ /var/tmp/diff_new_pack.b23929/_new 2007-04-18 00:37:05.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package nspluginwrapper (Version 0.9.91.3)
+# spec file for package nspluginwrapper (Version 0.9.91.4)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,14 +11,13 @@
# norootforbuild
Name: nspluginwrapper
-Version: 0.9.91.3
-Release: 4
+Version: 0.9.91.4
+Release: 1
Group: Productivity/Networking/Web/Utilities
Summary: Compatibility Layer for Netscape 4 Plugins
License: GNU General Public License (GPL)
URL: http://gwenole.beauchesne.info/projects/nspluginwrapper/
Source: %{name}-%{version}.tar.bz2
-Patch: nspluginwrapper-null-last-argument.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gtk2-devel
# We need libstdc++41, libstdc++ does not yet contain libsupc++
@@ -27,7 +26,6 @@
BuildRequires: gcc41-32bit glibc-devel-32bit libstdc++41-32bit libstdc++41-devel-32bit
%endif
Provides: %{name}-%{_arch} = %{version}-%{release}
-Requires: %{name}-%{_arch} = %{version}
%description
nspluginwrapper makes it possible to use Netscape 4 compatible plugins
@@ -47,7 +45,6 @@
%prep
%setup -q
-%patch
%build
#
@@ -111,6 +108,11 @@
%{_prefix}/lib/%{name}
%changelog
+* Tue Apr 17 2007 - sbrabec@suse.cz
+- Updated to version 0.9.91.4:
+ * Don’t try to wrap native plugins
+ * Fix build on Linux systems with SSP enabled by default
+- Removed self-requires.
* Tue Apr 03 2007 - lrupp@suse.de
- fix typo => _arch instead of target_arch
* Mon Mar 26 2007 - sbrabec@suse.cz
++++++ nspluginwrapper-0.9.91.3.tar.bz2 -> nspluginwrapper-0.9.91.4.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/ChangeLog new/nspluginwrapper-0.9.91.4/ChangeLog
--- old/nspluginwrapper-0.9.91.3/ChangeLog 2007-03-04 17:07:18.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/ChangeLog 2007-04-03 20:00:08.000000000 +0200
@@ -1,5 +1,91 @@
+2007-04-03 17:59 Gwenole Beauchesne
+
+ * lsb-build/headers/stddef.h: Fix NULL definition for C (openSUSE
+ patch).
+
+2007-04-03 05:36 Gwenole Beauchesne
+
+ * ChangeLog: Generated by svn2cl.
+
+2007-04-03 05:35 Gwenole Beauchesne
+
+ * NEWS: 0.9.91.4.
+
+2007-04-03 05:34 Gwenole Beauchesne
+
+ * tests/test-plugins.html: Add Citrix ICA Client plugin demo page.
+ Need to find a better one.
+
+2007-04-03 05:32 Gwenole Beauchesne
+
+ * Makefile: Move generated RPMs in archivedir (files/ directory).
+
+2007-04-03 05:20 Gwenole Beauchesne
+
+ * Makefile: Handle make distrpm for public RPMs redistribution
+ (--with-generic build).
+
+2007-04-03 05:05 Gwenole Beauchesne
+
+ * README, nspluginwrapper.spec: Document --generic-build.
+
+2007-04-02 22:30 Gwenole Beauchesne
+
+ * nspluginwrapper.spec: Updates: typos & mention use of anonymous
+ sockets by default.
+
+2007-04-02 21:42 Gwenole Beauchesne
+
+ * NEWS, configure, lsb-build/stub_libs/libc_main.c,
+ nspluginwrapper.spec: Fix build on Linux systems with SSP
+ enabled by default (e.g. Ubuntu).
+
+2007-04-02 21:05 Gwenole Beauchesne
+
+ * configure: Document missing options.
+
+2007-04-02 20:54 Gwenole Beauchesne
+
+ * Makefile, NEWS, configure, src/npw-config.c: DragonFlyBSD
+ support (Steve O'Hara-Smith).
+
+2007-04-02 20:40 Gwenole Beauchesne
+
+ * nspluginwrapper.spec: Prepare for 0.9.91.4.
+
+2007-04-02 20:28 Gwenole Beauchesne
+
+ * configure: Handle --with-x11-prefix=* to feed in an X11 base
+ directory.
+
+2007-04-02 20:17 Gwenole Beauchesne
+
+ * README: Citrix ICA Client also works (Denny Reeh).
+
+2007-04-02 20:07 Gwenole Beauchesne
+
+ * configure, src/rpc.c: Use anonymous sockets when building for
+ native Linux only. If building a
+ viewer to be run on a non-Linux system, configure with
+ --generic-build.
+
+2007-04-02 20:02 Gwenole Beauchesne
+
+ * NEWS, src/npw-config.c, src/npw-viewer.sh: Don't try to wrap
+ native plugins.
+
+2007-04-02 19:50 Gwenole Beauchesne
+
+ * NEWS, configure: Fix build on NetBSD, including v4-beta (David
+ Brownlee).
+
+2007-03-13 06:56 Gwenole Beauchesne
+
+ * src/npw-wrapper.c: Missing headers (aka NetBSD compile fix).
+
2007-03-04 16:07 Gwenole Beauchesne
+ * ChangeLog: Generated by svn2cl.
* NEWS, nspluginwrapper.spec: 0.9.91.3
2007-03-04 16:04 Gwenole Beauchesne
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/configure new/nspluginwrapper-0.9.91.4/configure
--- old/nspluginwrapper-0.9.91.3/configure 2007-03-04 16:01:22.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/configure 2007-04-02 23:42:24.000000000 +0200
@@ -23,8 +23,10 @@
prefix="/usr"
lib32=""
lib64=""
+x_base_dirs=""
biarch="guess"
build_viewer="guess"
+linux_only="guess"
cc="gcc -std=c99"
cxx="g++"
host_os=`uname -s | tr '[A-Z]' '[a-z]'`
@@ -84,6 +86,9 @@
--target-cpu=*)
target_cpu=`echo $opt | cut -d '=' -f 2 | sed -e 's/^i.86$/i386/'`
;;
+--generic-build)
+ linux_only="no"
+ ;;
--with-biarch)
biarch="yes"
;;
@@ -102,6 +107,9 @@
--with-lib64=*)
lib64=`echo $opt | cut -d '=' -f 2`
;;
+--with-x11-prefix=*)
+ x_base_dirs=`echo $opt | cut -d '=' -f 2`
+ ;;
--with-cc=*)
cc=`echo $opt | cut -d '=' -f 2`
;;
@@ -111,6 +119,15 @@
esac
done
+# check for linux only build
+if test "$linux_only" = "guess"; then
+ if test "$host_os" = "linux" -a "$target_os" = "linux"; then
+ linux_only="yes"
+ else
+ linux_only="no"
+ fi
+fi
+
# check for biarch build
if test "$biarch" = "guess"; then
case $host_cpu:$target_cpu in
@@ -200,6 +217,32 @@
fi
rm -f $TMPC $TMPE
+# check for egrep program
+if echo a | (grep -E '(a|b)') >/dev/null 2>&1; then
+ EGREP='grep -E'
+else
+ EGREP='egrep'
+fi
+
+# check for __stack_chk_fail() in target GNU C library
+if test "$biarch" = "yes"; then
+ glibc_header_dir="/usr/include"
+ libc_provides_ssp=no
+ if test -f $glibc_header_dir/features.h \
+ && $EGREP '^[ ]*#[ ]*define[ ]+__GNU_LIBRARY__[ ]+([1-9][0-9]|[6-9])' \
+ $glibc_header_dir/features.h > /dev/null; then
+ if $EGREP '^[ ]*#[ ]*define[ ]+__GLIBC__[ ]+([1-9][0-9]|[3-9])' \
+ $glibc_header_dir/features.h > /dev/null; then
+ libc_provides_ssp=yes
+ elif $EGREP '^[ ]*#[ ]*define[ ]+__GLIBC__[ ]+2' \
+ $glibc_header_dir/features.h > /dev/null \
+ && $EGREP '^[ ]*#[ ]*define[ ]+__GLIBC_MINOR__[ ]+([1-9][0-9]|[4-9])' \
+ $glibc_header_dir/features.h > /dev/null; then
+ libc_provides_ssp=yes
+ fi
+ fi
+fi
+
# check for compiler flag
check_cc_option() {
echo "int i;" > $TMPC
@@ -279,10 +322,14 @@
fi
# check for X11 base dir
-x_base_dirs='
-/usr
-/usr/X11R6
-/usr/local/X11R6'
+if test -z "$x_base_dirs"; then
+ x_base_dirs="
+ /usr
+ /usr/X11R6
+ /usr/local/X11R6
+ $prefix
+ "
+fi
for dir in $x_base_dirs; do
x_include_dir="$dir/include"
if test -f $x_include_dir/X11/Intrinsic.h; then
@@ -410,9 +457,11 @@
echo ""
echo "Advanced options (experts only):"
echo " --source-path=PATH path of source code [$source_path]"
+echo " --generic-build don't use system-specific additions"
+echo " --with-biarch build both 32-bit and 64-bit components at once"
echo " --with-lib32=NAME use NAME as the 32-bit library dir name [$lib32]"
echo " --with-lib64=NAME use NAME as the 64-bit library dir name [$lib64]"
-echo " --with-biarch build both 32-bit and 64-bit components at once"
+echo " --with-x11-prefix=PREFIX use PREFIX as the X11 base dir [autodetect]"
echo " --with-cc=CC use C compiler CC [$cc]"
echo " --with-cxx=CXX use C++ compiler CXX [$cxx]"
echo ""
@@ -424,6 +473,7 @@
echo "nspluginwrapper root dir $pkglibdir"
echo "Bi-arch build $biarch"
echo "Build viewer $build_viewer"
+echo "Build for Linux only $linux_only"
echo "32-bit library dir name $lib32"
echo "64-bit library dir name $lib64"
echo "Source path $source_path"
@@ -458,6 +508,10 @@
echo "OS=linux" >> $config_mak
echo "#define HOST_LINUX 1" >> $config_h
echo "#define HOST_OS \"linux\"" >> $config_h
+elif test "$host_os" = "dragonfly"; then
+ echo "OS=dragonfly" >> $config_mak
+ echo "#define HOST_DRAGONFLY 1" >> $config_h
+ echo "#define HOST_OS \"dragonfly\"" >> $config_h
elif test "$host_os" = "freebsd"; then
echo "OS=freebsd" >> $config_mak
echo "#define HOST_FREEBSD 1" >> $config_h
@@ -558,6 +612,11 @@
else
echo "#undef HAVE_INITFINI_ARRAY" >> $config_h
fi
+if test "$libc_provides_ssp" = "yes"; then
+ echo "#define TARGET_LIBC_PROVIDES_SSP 1" >> $config_h
+else
+ echo "#undef TARGET_LIBC_PROVIDES_SSP" >> $config_h
+fi
config_mak="config.mak"
echo "# Automatically generated by configure - do not modify" > $config_mak
@@ -567,6 +626,10 @@
echo "/* Automatically generated by configure - do not modify */" > $config_h
echo "#include \"config-host.h\"" >> $config_h
+if test "$linux_only" = "yes"; then
+ echo "#define BUILD_LINUX_ONLY 1" >> $config_h
+fi
+
if test "$target_os" = "linux"; then
echo "TARGET_OS=linux" >> $config_mak
echo "#define TARGET_OS \"linux\"" >> $config_h
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/lsb-build/headers/stddef.h new/nspluginwrapper-0.9.91.4/lsb-build/headers/stddef.h
--- old/nspluginwrapper-0.9.91.3/lsb-build/headers/stddef.h 2006-11-19 18:27:03.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/lsb-build/headers/stddef.h 2007-04-03 19:58:28.000000000 +0200
@@ -8,10 +8,11 @@
#define offsetof(TYPE,MEMBER) ((size_t)&((TYPE*)0)->MEMBER)
-#define NULL (0L)
-
#if !defined(__cplusplus)
+
+#define NULL (void*)(0)
+
typedef int wchar_t;
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/lsb-build/stub_libs/libc_main.c new/nspluginwrapper-0.9.91.4/lsb-build/stub_libs/libc_main.c
--- old/nspluginwrapper-0.9.91.3/lsb-build/stub_libs/libc_main.c 2006-12-22 12:38:34.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/lsb-build/stub_libs/libc_main.c 2007-04-02 23:40:33.000000000 +0200
@@ -1,3 +1,10 @@
+#include "config.h"
+
+#ifdef TARGET_LIBC_PROVIDES_SSP
+void __stack_chk_fail() {} ;
+void __stack_chk_fail_local() {} ;
+#endif
+
void _Exit() {} ;
void _IO_feof() {} ;
void _IO_getc() {} ;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/Makefile new/nspluginwrapper-0.9.91.4/Makefile
--- old/nspluginwrapper-0.9.91.3/Makefile 2007-03-04 16:01:22.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/Makefile 2007-04-03 07:31:22.000000000 +0200
@@ -41,9 +41,14 @@
libdl_LDFLAGS = -ldl
endif
+libpthread_LDFLAGS = -lpthread
+ifeq ($(OS),dragonfly)
+libpthread_LDFLAGS = -pthread
+endif
+
X_CFLAGS = -I$(x11prefix)/include
X_LDFLAGS = -L$(x11prefix)/$(lib64) -lX11 -lXt
-ifeq ($(OS),netbsd)
+ifneq (,$(findstring $(OS),netbsd dragonfly))
X_LDFLAGS += -Wl,--rpath,$(x11prefix)/$(lib64)
endif
@@ -78,7 +83,7 @@
npwrapper_SOURCES = $(npwrapper_RAWSRCS:%.c=$(SRC_PATH)/src/%.c)
npwrapper_OBJECTS = $(npwrapper_RAWSRCS:%.c=npwrapper-%.os)
npwrapper_CFLAGS = $(CFLAGS) $(X_CFLAGS) $(MOZILLA_CFLAGS) $(GLIB_CFLAGS)
-npwrapper_LDFLAGS = $(X_LDFLAGS) -lpthread
+npwrapper_LDFLAGS = $(X_LDFLAGS) $(libpthread_LDFLAGS)
npwrapper_LDFLAGS += $(GLIB_LDFLAGS)
npviewer_PROGRAM = npviewer.bin
@@ -97,7 +102,7 @@
npviewer_LDFLAGS = $(GTK_LDFLAGS) $(X_LDFLAGS)
endif
npviewer_CFLAGS += $(MOZILLA_CFLAGS)
-npviewer_LDFLAGS += $(libdl_LDFLAGS) -lpthread
+npviewer_LDFLAGS += $(libdl_LDFLAGS) $(libpthread_LDFLAGS)
ifeq ($(TARGET_ARCH),i386)
npviewer_MAPFILE = $(SRC_PATH)/src/npw-viewer.map
endif
@@ -122,11 +127,11 @@
npconfig_SOURCES = $(npconfig_RAWSRCS:%.c=$(SRC_PATH)/src/%.c)
npconfig_OBJECTS = $(npconfig_RAWSRCS:%.c=npconfig-%.o)
npconfig_LDFLAGS = $(libdl_LDFLAGS)
-ifeq ($(OS),netbsd)
+ifneq (,$(findstring $(OS),netbsd dragonfly))
# We will try to dlopen() the native plugin library. If that lib is
# linked against libpthread, then so must our program too.
# XXX use the ELF decoder for native plugins too?
-npconfig_LDFLAGS += -lpthread
+npconfig_LDFLAGS += $(libpthread_LDFLAGS)
endif
nploader_PROGRAM = npviewer
@@ -261,8 +266,18 @@
$(archivedir)$(SRCARCHIVE).bz2: $(archivedir)$(SRCARCHIVE)
bzip2 -9vf $(archivedir)$(SRCARCHIVE)
+RPMBUILD = \
+ RPMDIR=`mktemp -d` ; \
+ mkdir -p $$RPMDIR/{SPECS,SOURCES,BUILD,RPMS,SRPMS} ; \
+ rpmbuild --define "_topdir $$RPMDIR" -ta $(2) $(1) && \
+ find $$RPMDIR/ -name *.rpm -exec mv -f {} $(archivedir) \; ; \
+ rm -rf $$RPMDIR
+
+distrpm: $(archivedir)$(SRCARCHIVE).bz2
+ $(call RPMBUILD,$<,--with generic)
+
localrpm: $(archivedir)$(SRCARCHIVE).bz2
- rpm -ta $<
+ $(call RPMBUILD,$<)
changelog: ../common/authors.xml
svn_prefix=`svn info .|sed -n '/^URL *: .*\/svn\/\(.*\)$$/s//\1\//p'`; \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/NEWS new/nspluginwrapper-0.9.91.4/NEWS
--- old/nspluginwrapper-0.9.91.3/NEWS 2007-03-04 17:05:00.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/NEWS 2007-04-03 07:21:19.000000000 +0200
@@ -1,6 +1,12 @@
-nspluginwrapper NEWS -- history of user-visible changes. 2007-03-04
+nspluginwrapper NEWS -- history of user-visible changes. 2007-04-03
Copyright (C) 2005-2007 Gwenole Beauchesne
+Version 0.9.91.4 (BETA) - 03.Apr.2007
+* Don't try to wrap native plugins
+* Fix build on NetBSD (David Brownlee)
+* Fix build on DragonFlyBSD (Steve O'Hara-Smith)
+* Fix build on Linux systems with SSP enabled by default (e.g. Ubuntu)
+
Version 0.9.91.3 (BETA) - 04.Mar.2007
* Fix printing with EMBED plugins
* Fix build on Debian (Rob Andrews)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/nspluginwrapper.spec new/nspluginwrapper-0.9.91.4/nspluginwrapper.spec
--- old/nspluginwrapper-0.9.91.3/nspluginwrapper.spec 2007-03-04 17:14:49.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/nspluginwrapper.spec 2007-04-03 21:53:31.000000000 +0200
@@ -1,7 +1,7 @@
%define name nspluginwrapper
-%define version 0.9.91.3
+%define version 0.9.91.4
%define release 1
-#define svndate 20070304
+#define svndate 20070403
# define 32-bit arch of multiarch platforms
%define arch_32 %{nil}
@@ -28,7 +28,8 @@
%define plugindir %{_libdir}/mozilla/plugins
# define to build a biarch package
-# XXX really build one package and handle upgrades
+# NOTE: biarch builds require a "multilib" capable compiler, which
+# should be the default on decent Linux distributions
%define build_biarch 0
%if "%{_arch}:%{arch_32}" == "x86_64:i386"
%define build_biarch 1
@@ -36,6 +37,14 @@
%{expand: %{?_with_biarch: %%global build_biarch 1}}
%{expand: %{?_without_biarch: %%global build_biarch 0}}
+# define to build a Linux package suitable for other OS (e.g. NetBSD)
+# NOTE: this option is *not* needed on Linux usually. However, if you
+# need this package to be used verbatim on *BSD systems, you have to
+# define this option for your Linux build
+%define build_generic 0
+%{expand: %{?_with_generic: %%global build_generic 1}}
+%{expand: %{?_without_generic: %%global build_generic 0}}
+
Summary: A compatibility layer for Netscape 4 plugins
Name: %{name}
Version: %{version}
@@ -62,6 +71,9 @@
%package %{target_arch}
Summary: A viewer for %{target_arch} compiled Netscape 4 plugins
Group: Networking/WWW
+%if "%{target_arch}" == "i386"
+Requires: %{_bindir}/linux32
+%endif
%description %{target_arch}
nspluginwrapper makes it possible to use Netscape 4 compatible plugins
@@ -84,9 +96,12 @@
%else
biarch="--without-biarch"
%endif
+%if %{build_generic}
+generic_build="--generic-build"
+%endif
mkdir objs
pushd objs
-../configure --prefix=%{_prefix} $biarch
+../configure --prefix=%{_prefix} $biarch $generic_build
make
popd
@@ -143,6 +158,12 @@
%endif
%changelog
+* Mon Apr 2 2007 Gwenole Beauchesne 0.9.91.4-1
+- use anonymous sockets by default
+- don't try to wrap native plugins
+- require linux32 for nspluginwrapper-i386
+- fix build on systems with SSP enabled by default
+
* Sun Mar 4 2007 Gwenole Beauchesne 0.9.91.3-1
- fix printing with EMBED plugins
- fix build on Debian systems (Rob Andrews)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/README new/nspluginwrapper-0.9.91.4/README
--- old/nspluginwrapper-0.9.91.3/README 2006-12-25 00:57:20.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/README 2007-04-03 06:52:06.000000000 +0200
@@ -2,7 +2,7 @@
nspluginwrapper
A cross-platform NPAPI plugin viewer
- Copyright (C) 2005-2006 Gwenole Beauchesne
+ Copyright (C) 2005-2007 Gwenole Beauchesne
License
@@ -35,6 +35,11 @@
Or, if you prefer from a source package:
$ rpm --rebuild nspluginwrapper.src.rpm
+NOTE: if you are building the Linux viewer to use on a non-Linux
+system (e.g. NetBSD, FreeBSD), you will have to configure the Linux
+build with the --generic-build option. That way, named sockets will be
+used and work under the Linux emulation on those operating systems.
+
Requirements and Installation
-----------------------------
@@ -79,6 +84,7 @@
- Real Player 10.0.5
- Tcl plugin 3.1
- Squeak VM plugin 3.7
+- Citrix ICA Client 10.0
Broken or partially working:
- Real Player 8.0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/src/npw-config.c new/nspluginwrapper-0.9.91.4/src/npw-config.c
--- old/nspluginwrapper-0.9.91.3/src/npw-config.c 2007-03-04 16:01:22.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/src/npw-config.c 2007-04-02 22:42:15.000000000 +0200
@@ -124,6 +124,14 @@
};
dirs = freebsd_dirs;
}
+#elif defined(__DragonFly__)
+ {
+ static const char *dragonfly_dirs[] = {
+ "/usr/pkg/" LIB "/mozilla/plugins",
+ "/usr/pkg/" LIB "/firefox/plugins",
+ };
+ dirs = dragonfly_dirs;
+ }
#elif defined(__NetBSD__)
{
static const char *netbsd_dirs[] = {
@@ -206,6 +214,13 @@
"/usr/local/lib/npapi/linux-flashplugin",
"/usr/X11R6/Adobe/Acrobat7.0/ENU/Browser/intellinux",
#endif
+#if defined(__DragonFly__)
+ "/usr/pkg/lib/netscape/plugins",
+ "/usr/pkg/lib/firefox/plugins",
+ "/usr/pkg/lib/RealPlayer/mozilla",
+ "/usr/pkg/Acrobat5/Browsers/intellinux",
+ "/usr/pkg/Acrobat7/Browser/intellinux",
+#endif
#if defined(__NetBSD__)
"/usr/pkg/lib/netscape/plugins",
"/usr/pkg/lib/firefox/plugins",
@@ -500,7 +515,14 @@
return ret;
}
-static bool is_plugin_viewer_available(const char *filename, NPW_PluginInfo *out_plugin_info)
+enum {
+ EXIT_VIEWER_NOT_FOUND = -2,
+ EXIT_VIEWER_ERROR = -1,
+ EXIT_VIEWER_OK = 0,
+ EXIT_VIEWER_NATIVE = 20
+};
+
+static int detect_plugin_viewer(const char *filename, NPW_PluginInfo *out_plugin_info)
{
static const char *target_arch_table[] = {
NULL,
@@ -541,7 +563,7 @@
if (target_os == NULL)
continue;
if (strcmp(target_arch, HOST_ARCH) == 0 && strcmp(target_os, HOST_OS) == 0)
- continue; // skip viewers that match host OS/ARCH pairs
+ return EXIT_VIEWER_NATIVE; // don't wrap plugins for host OS/ARCH
char viewer_path[PATH_MAX];
sprintf(viewer_path, "%s/%s/%s", viewer_arch_path, target_os, NPW_VIEWER);
if (access(viewer_path, F_OK) != 0)
@@ -557,17 +579,24 @@
int status;
while (waitpid(pid, &status, 0) != pid)
;
- if (WIFEXITED(status) && WEXITSTATUS(status) == 0) {
- if (out_plugin_info) {
+ if (WIFEXITED(status)) {
+ status = WEXITSTATUS(status);
+ if (status == EXIT_VIEWER_OK && out_plugin_info) {
strcpy(out_plugin_info->target_arch, target_arch);
strcpy(out_plugin_info->target_os, target_os);
}
- return true;
+ return status;
}
+ return EXIT_VIEWER_ERROR;
}
}
}
- return false;
+ return EXIT_VIEWER_NOT_FOUND;
+}
+
+static bool is_plugin_viewer_available(const char *filename, NPW_PluginInfo *out_plugin_info)
+{
+ return detect_plugin_viewer(filename, out_plugin_info) == EXIT_VIEWER_OK;
}
static bool is_plugin(const char *filename, NPW_PluginInfo *out_plugin_info)
@@ -997,7 +1026,7 @@
static int process_install(int argc, char *argv[])
{
- int i;
+ int i, ret;
if (g_auto)
return auto_install_plugins();
@@ -1008,9 +1037,15 @@
for (i = 0; i < argc; i++) {
NPW_PluginInfo plugin_info;
const char *plugin_path = argv[i];
- if (!is_compatible_plugin(plugin_path, &plugin_info))
+ if (!is_plugin(plugin_path, &plugin_info))
error("%s is not a valid NPAPI plugin", plugin_path);
- int ret = install_plugin(plugin_path, &plugin_info);
+ ret = detect_plugin_viewer(plugin_path, &plugin_info);
+ if (ret != EXIT_VIEWER_OK) {
+ if (ret == EXIT_VIEWER_NATIVE)
+ return 0; /* silently ignore exit status */
+ error("no appropriate viewer found for %s", plugin_path);
+ }
+ ret = install_plugin(plugin_path, &plugin_info);
if (ret != 0)
return ret;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/src/npw-viewer.sh new/nspluginwrapper-0.9.91.4/src/npw-viewer.sh
--- old/nspluginwrapper-0.9.91.3/src/npw-viewer.sh 2007-03-04 17:03:08.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/src/npw-viewer.sh 2007-04-02 21:52:57.000000000 +0200
@@ -71,6 +71,15 @@
fi
fi
+# Don't wrap host plugins
+case " $@ " in
+*" --test "*|*" -t "*)
+ if test "$TARGET_OS" = "$OS" -a "$TARGET_ARCH" = "$ARCH"; then
+ exit 20 # EXIT_VIEWER_NATIVE
+ fi
+ ;;
+esac
+
# Expand PATH for RealPlayer package on NetBSD (realplay)
if test "$OS" = "NetBSD"; then
REALPLAYER_HOME="/usr/pkg/lib/RealPlayer"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/src/npw-wrapper.c new/nspluginwrapper-0.9.91.4/src/npw-wrapper.c
--- old/nspluginwrapper-0.9.91.3/src/npw-wrapper.c 2007-03-04 16:01:22.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/src/npw-wrapper.c 2007-04-02 21:52:57.000000000 +0200
@@ -26,6 +26,7 @@
#include
#include
#include
+#include
#include
#include
#include
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/src/rpc.c new/nspluginwrapper-0.9.91.4/src/rpc.c
--- old/nspluginwrapper-0.9.91.3/src/rpc.c 2007-03-04 16:01:22.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/src/rpc.c 2007-04-02 22:03:07.000000000 +0200
@@ -58,8 +58,8 @@
// build of the viewer can interoperate with non-Linux wrappers. Linux
// distributions can use this code though.
// XXX better clean-up dead sockets properly on failure...
-#if defined __linux__
-#define USE_ANONYMOUS_SOCKETS 0
+#ifdef BUILD_LINUX_ONLY
+#define USE_ANONYMOUS_SOCKETS 1
#endif
// Define the maximum amount of time (in seconds) to wait for a message
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nspluginwrapper-0.9.91.3/tests/test-plugins.html new/nspluginwrapper-0.9.91.4/tests/test-plugins.html
--- old/nspluginwrapper-0.9.91.3/tests/test-plugins.html 2006-12-25 00:37:21.000000000 +0100
+++ new/nspluginwrapper-0.9.91.4/tests/test-plugins.html 2007-04-03 00:33:45.000000000 +0200
@@ -27,6 +27,8 @@
<a href="http://www.tcl.tk/software/plugin/applets.html">http://www.tcl.tk/software/plugin/applets.html</a>
<li><p><b>Squeak VM plugin tests</b><br>
<a href="http://www.squeakland.org/plugin/launch.html">http://www.squeakland.org/plugin/launch.html</a>
+<li><p><b>Citrix ICA Client demo</b><br>
+<a href="http://www.rentonlinesoftware.com/store/tryademo.asp">http://www.rentonlinesoftware.com/store/tryademo.asp</a>
</ul>
</body>
</html>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org