diff options
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | dists/rpm/gsignond-suse.spec | 109 | ||||
-rw-r--r-- | dists/rpm/gsignond-tizen.changes | 5 | ||||
-rw-r--r-- | dists/rpm/gsignond-tizen.spec | 93 | ||||
-rw-r--r-- | gsignond-uninstalled.pc.in | 4 | ||||
-rw-r--r-- | gsignond.pc.in | 2 | ||||
-rw-r--r-- | packaging/gsignond.changes | 6 | ||||
-rw-r--r-- | packaging/gsignond.spec | 8 | ||||
-rw-r--r-- | src/daemon/dbus/Makefile.am | 12 | ||||
-rw-r--r-- | src/daemon/dbus/Makefile.in | 30 | ||||
-rw-r--r-- | src/daemon/dbus/gsignond-dbus-signonui-adapter.c | 265 | ||||
-rw-r--r-- | src/daemon/dbus/gsignond-dbus.h | 8 | ||||
-rwxr-xr-x | tools/archive.sh (renamed from packaging/archive.sh) | 0 | ||||
-rwxr-xr-x | tools/prepare-tizen.sh | 22 | ||||
-rwxr-xr-x | tools/run-tests.sh | 16 | ||||
-rwxr-xr-x | tools/setup-and-start-daemon.sh | 54 |
17 files changed, 491 insertions, 147 deletions
diff --git a/Makefile.am b/Makefile.am index 05f8163..22f236b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -11,7 +11,7 @@ pkgconfig_DATA = gsignond.pc SUBDIRS = src test -EXTRA_DIST = packaging +EXTRA_DIST = dists tools valgrind: cd test; make valgrind diff --git a/Makefile.in b/Makefile.in index 988a9f1..4475fd5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -301,7 +301,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gsignond.pc SUBDIRS = src test -EXTRA_DIST = packaging +EXTRA_DIST = dists tools all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive diff --git a/dists/rpm/gsignond-suse.spec b/dists/rpm/gsignond-suse.spec new file mode 100644 index 0000000..84f7321 --- /dev/null +++ b/dists/rpm/gsignond-suse.spec @@ -0,0 +1,109 @@ +# define used dbus type [p2p, session, system] +%define dbus_type session +# enable debug features such as control environment variables +# WARNING! do not use for production builds as it will break security +%define debug_build 0 + +Name: gsignond +Summary: GLib based Single Sign-On daemon +Version: 0.0.1 +Release: 9 +Group: System/Daemons +License: LGPL +Source: %{name}-%{version}.tar.gz +Requires: dbus-1 +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(gtk-doc) +BuildRequires: pkgconfig(glib-2.0) >= 2.30 +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(gmodule-2.0) +BuildRequires: pkgconfig(sqlite3) + + +%description +%{summary}. + + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +%{summary}. + + +%prep +%setup -q -n %{name}-%{version} +#gtkdocize +# for repository snapshot packages +#aclocal +#autoheader +#libtoolize --copy --force +#autoconf +#automake --add-missing --copy +#autoreconf --install --force +# fore release source packages +autoreconf -f -i + + +%build +%if %{debug_build} == 1 +%configure --enable-dbus-type=%{dbus_type} --enable-debug +%else +%configure --enable-dbus-type=%{dbus_type} +%endif + +make %{?_smp_mflags} + + +%install +rm -rf %{buildroot} +%make_install + + +%post +/sbin/ldconfig +chmod u+s %{_bindir}/%{name} + + +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING.LIB INSTALL NEWS README +%{_bindir}/%{name} +%{_bindir}/%{name}-plugind +%{_libdir}/lib%{name}-*.so.* +%{_libdir}/%{name}/extensions/*.so* +%{_libdir}/%{name}/plugins/*.so* +%if %{dbus_type} != "p2p" +%{_datadir}/dbus-1/services/*SingleSignOn*.service +%endif +%exclude %{_libdir}/gsignond/extensions/*.la +%exclude %{_libdir}/gsignond/plugins/*.la + + +%files devel +%defattr(-,root,root,-) +%{_includedir}/%{name}/*.h +%{_libdir}/lib%{name}-*.so +%{_libdir}/lib%{name}-*.la +%{_libdir}/pkgconfig/%{name}.pc +%if %{dbus_type} != "p2p" +%{_datadir}/dbus-1/interfaces/*SSO*.xml +%endif + + +%changelog +* Wed Jun 12 2013 Jussi Laako <jussi.laako@linux.intel.com> +- Prepare for first release + +* Thu Feb 08 2013 Jussi Laako <jussi.laako@linux.intel.com> +- Initial RPM packaging + diff --git a/dists/rpm/gsignond-tizen.changes b/dists/rpm/gsignond-tizen.changes new file mode 100644 index 0000000..8de2263 --- /dev/null +++ b/dists/rpm/gsignond-tizen.changes @@ -0,0 +1,5 @@ +* Wed Jun 12 2013 Jussi Laako <jussi.laako@linux.intel.com> +- Prepare for first release + +* Thu Feb 08 2013 Jussi Laako <jussi.laako@linux.intel.com> +- Initial RPM packaging diff --git a/dists/rpm/gsignond-tizen.spec b/dists/rpm/gsignond-tizen.spec new file mode 100644 index 0000000..d87723e --- /dev/null +++ b/dists/rpm/gsignond-tizen.spec @@ -0,0 +1,93 @@ +# define used dbus type [p2p, session, system] +%define dbus_type session +# enable debug features such as control environment variables +# WARNING! do not use for production builds as it will break security +%define debug_build 0 + +Name: gsignond +Summary: GLib based Single Sign-On daemon +Version: 0.0.1 +Release: 9 +Group: System/Daemons +License: LGPL +Source: %{name}-%{version}.tar.gz +Requires: dbus-1 +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(glib-2.0) >= 2.30 +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(gmodule-2.0) +BuildRequires: pkgconfig(sqlite3) + + +%description +%{summary}. + + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +%{summary}. + + +%prep +%setup -q -n %{name}-%{version} +if [ -f = "gtk-doc.make" ] +then +rm gtk-doc.make +fi +touch gtk-doc.make +autoreconf -f -i + + +%build +%if %{debug_build} == 1 +%configure --enable-dbus-type=%{dbus_type} --enable-debug +%else +%configure --enable-dbus-type=%{dbus_type} +%endif + +make %{?_smp_mflags} + + +%install +rm -rf %{buildroot} +%make_install + + +%post +/sbin/ldconfig +chmod u+s %{_bindir}/%{name} + + +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING.LIB INSTALL NEWS README +%{_bindir}/%{name} +%{_bindir}/%{name}-plugind +%{_libdir}/lib%{name}-*.so.* +%{_libdir}/%{name}/extensions/*.so* +%{_libdir}/%{name}/plugins/*.so* +%if %{dbus_type} != "p2p" +%{_datadir}/dbus-1/services/*SingleSignOn*.service +%endif + + +%files devel +%defattr(-,root,root,-) +%{_includedir}/%{name}/*.h +%{_libdir}/lib%{name}-*.so +%{_libdir}/pkgconfig/%{name}.pc +%if %{dbus_type} != "p2p" +%{_datadir}/dbus-1/interfaces/*SSO*.xml +%endif + diff --git a/gsignond-uninstalled.pc.in b/gsignond-uninstalled.pc.in index 6158941..c17bca5 100644 --- a/gsignond-uninstalled.pc.in +++ b/gsignond-uninstalled.pc.in @@ -14,5 +14,5 @@ Description: Single-sign-on daemon and libraries, not installed Version: @PACKAGE_VERSION@ URL: @PACKAGE_URL@ Requires: glib-2.0 >= 2.30 gio-2.0 gio-unix-2.0 gmodule-2.0 sqlite3 -Libs: @abs_top_builddir@/src/common/libgsignond-common.la @abs_top_builddir@/src/common/db/libgsignond-common-db.la -Cflags: -I${includedir}
\ No newline at end of file +Libs: @abs_top_builddir@/src/common/libgsignond-common.la +Cflags: -I${includedir} diff --git a/gsignond.pc.in b/gsignond.pc.in index 7ccc602..ae81423 100644 --- a/gsignond.pc.in +++ b/gsignond.pc.in @@ -11,6 +11,6 @@ Description: Single-sign-on daemon and libraries Version: @PACKAGE_VERSION@ URL: @PACKAGE_URL@ Requires: glib-2.0 >= 2.30 gio-2.0 gio-unix-2.0 gmodule-2.0 sqlite3 -Libs: -L${libdir} -lgsignond-common -lgsignond-common-db +Libs: -L${libdir} -lgsignond-common Cflags: -I${includedir} diff --git a/packaging/gsignond.changes b/packaging/gsignond.changes index 077efc4..8de2263 100644 --- a/packaging/gsignond.changes +++ b/packaging/gsignond.changes @@ -1,3 +1,5 @@ -* Fri Jun 14 2013 Imran Zaman <imran.zaman@intel.com> submit/trunk/20130614.152516@f60ae3e -- gsignond first release 0.0.1 +* Wed Jun 12 2013 Jussi Laako <jussi.laako@linux.intel.com> +- Prepare for first release +* Thu Feb 08 2013 Jussi Laako <jussi.laako@linux.intel.com> +- Initial RPM packaging diff --git a/packaging/gsignond.spec b/packaging/gsignond.spec index 94dc799..d87723e 100644 --- a/packaging/gsignond.spec +++ b/packaging/gsignond.spec @@ -91,11 +91,3 @@ chmod u+s %{_bindir}/%{name} %{_datadir}/dbus-1/interfaces/*SSO*.xml %endif - -%changelog -* Wed Jun 12 2013 Jussi Laako <jussi.laako@linux.intel.com> -- Prepare for first release - -* Thu Feb 08 2013 Jussi Laako <jussi.laako@linux.intel.com> -- Initial RPM packaging - diff --git a/src/daemon/dbus/Makefile.am b/src/daemon/dbus/Makefile.am index a5f9596..f98ec6f 100644 --- a/src/daemon/dbus/Makefile.am +++ b/src/daemon/dbus/Makefile.am @@ -8,8 +8,6 @@ DBUS_BUILT_SOURCES = \ gsignond-dbus-auth-session-gen.h \ gsignond-dbus-identity-gen.c \ gsignond-dbus-identity-gen.h \ - gsignond-dbus-signonui-gen.c \ - gsignond-dbus-signonui-gen.h \ gsignond-dbus-remote-plugin-gen.c \ gsignond-dbus-remote-plugin-gen.h \ $(NULL) @@ -18,7 +16,6 @@ DBUS_BUILT_DOCS = \ gsignond-dbus-auth-service-doc-gen-com.google.code.AccountsSSO.gSingleSignOn.AuthService.xml \ gsignond-dbus-auth-session-doc-gen-com.google.code.AccountsSSO.gSingleSignOn.AuthSession.xml \ gsignond-dbus-identity-doc-gen-com.google.code.AccountsSSO.gSingleSignOn.Identity.xml \ - gsignond-dbus-signonui-doc-gen-org.tizen.SSO.singlesignonui.xml \ gsignond-dbus-remote-plugin-doc-gen-com.google.code.AccountsSSO.gSingleSignOn.RemotePlugin.xml \ $(NULL) @@ -47,14 +44,6 @@ gsignond-dbus-identity-gen.c gsignond-dbus-identity-gen.h : $(INTERFACES_DIR)/co --generate-docbook gsignond-dbus-identity-doc-gen \ $< -gsignond-dbus-signonui-gen.c gsignond-dbus-signonui-gen.h : $(INTERFACES_DIR)/org.tizen.SSO.singlesignonui.xml - gdbus-codegen \ - --interface-prefix org.tizen.SSO \ - --c-namespace GSignondDbus \ - --generate-c-code gsignond-dbus-signonui-gen \ - --generate-docbook gsignond-dbus-signonui-doc-gen\ - $< - gsignond-dbus-remote-plugin-gen.c gsignond-dbus-remote-plugin-gen.h : $(INTERFACES_DIR)/com.google.code.AccountsSSO.gSingleSignOn.RemotePlugin.xml gdbus-codegen \ --interface-prefix $(DBUS_INTERFACE_PREFIX) \ @@ -117,7 +106,6 @@ dbusinterfaces_DATA = \ $(INTERFACES_DIR)/com.google.code.AccountsSSO.gSingleSignOn.AuthService.xml \ $(INTERFACES_DIR)/com.google.code.AccountsSSO.gSingleSignOn.AuthSession.xml \ $(INTERFACES_DIR)/com.google.code.AccountsSSO.gSingleSignOn.Identity.xml \ - $(INTERFACES_DIR)/org.tizen.SSO.singlesignonui.xml \ $(INTERFACES_DIR)/com.google.code.AccountsSSO.gSingleSignOn.RemotePlugin.xml EXTRA_DIST = interfaces diff --git a/src/daemon/dbus/Makefile.in b/src/daemon/dbus/Makefile.in index 649178f..9668bce 100644 --- a/src/daemon/dbus/Makefile.in +++ b/src/daemon/dbus/Makefile.in @@ -87,7 +87,6 @@ am__objects_2 = \ libgsignond_dbus_glue_la-gsignond-dbus-auth-service-gen.lo \ libgsignond_dbus_glue_la-gsignond-dbus-auth-session-gen.lo \ libgsignond_dbus_glue_la-gsignond-dbus-identity-gen.lo \ - libgsignond_dbus_glue_la-gsignond-dbus-signonui-gen.lo \ libgsignond_dbus_glue_la-gsignond-dbus-remote-plugin-gen.lo \ $(am__objects_1) am_libgsignond_dbus_glue_la_OBJECTS = $(am__objects_2) @@ -101,7 +100,6 @@ libgsignond_dbus_la_DEPENDENCIES = libgsignond-dbus-glue.la \ am__objects_3 = libgsignond_dbus_la-gsignond-dbus-auth-service-gen.lo \ libgsignond_dbus_la-gsignond-dbus-auth-session-gen.lo \ libgsignond_dbus_la-gsignond-dbus-identity-gen.lo \ - libgsignond_dbus_la-gsignond-dbus-signonui-gen.lo \ libgsignond_dbus_la-gsignond-dbus-remote-plugin-gen.lo \ $(am__objects_1) am_libgsignond_dbus_la_OBJECTS = $(am__objects_3) \ @@ -295,8 +293,6 @@ DBUS_BUILT_SOURCES = \ gsignond-dbus-auth-session-gen.h \ gsignond-dbus-identity-gen.c \ gsignond-dbus-identity-gen.h \ - gsignond-dbus-signonui-gen.c \ - gsignond-dbus-signonui-gen.h \ gsignond-dbus-remote-plugin-gen.c \ gsignond-dbus-remote-plugin-gen.h \ $(NULL) @@ -305,7 +301,6 @@ DBUS_BUILT_DOCS = \ gsignond-dbus-auth-service-doc-gen-com.google.code.AccountsSSO.gSingleSignOn.AuthService.xml \ gsignond-dbus-auth-session-doc-gen-com.google.code.AccountsSSO.gSingleSignOn.AuthSession.xml \ gsignond-dbus-identity-doc-gen-com.google.code.AccountsSSO.gSingleSignOn.Identity.xml \ - gsignond-dbus-signonui-doc-gen-org.tizen.SSO.singlesignonui.xml \ gsignond-dbus-remote-plugin-doc-gen-com.google.code.AccountsSSO.gSingleSignOn.RemotePlugin.xml \ $(NULL) @@ -361,7 +356,6 @@ dbusinterfaces_DATA = \ $(INTERFACES_DIR)/com.google.code.AccountsSSO.gSingleSignOn.AuthService.xml \ $(INTERFACES_DIR)/com.google.code.AccountsSSO.gSingleSignOn.AuthSession.xml \ $(INTERFACES_DIR)/com.google.code.AccountsSSO.gSingleSignOn.Identity.xml \ - $(INTERFACES_DIR)/org.tizen.SSO.singlesignonui.xml \ $(INTERFACES_DIR)/com.google.code.AccountsSSO.gSingleSignOn.RemotePlugin.xml EXTRA_DIST = interfaces @@ -445,7 +439,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_glue_la-gsignond-dbus-auth-session-gen.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_glue_la-gsignond-dbus-identity-gen.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_glue_la-gsignond-dbus-remote-plugin-gen.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_glue_la-gsignond-dbus-signonui-gen.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-auth-service-adapter.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-auth-service-gen.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-auth-session-adapter.Plo@am__quote@ @@ -455,7 +448,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-remote-plugin-gen.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-server.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-signonui-adapter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-signonui-gen.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @@ -502,13 +494,6 @@ libgsignond_dbus_glue_la-gsignond-dbus-identity-gen.lo: gsignond-dbus-identity-g @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgsignond_dbus_glue_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgsignond_dbus_glue_la-gsignond-dbus-identity-gen.lo `test -f 'gsignond-dbus-identity-gen.c' || echo '$(srcdir)/'`gsignond-dbus-identity-gen.c -libgsignond_dbus_glue_la-gsignond-dbus-signonui-gen.lo: gsignond-dbus-signonui-gen.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgsignond_dbus_glue_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgsignond_dbus_glue_la-gsignond-dbus-signonui-gen.lo -MD -MP -MF $(DEPDIR)/libgsignond_dbus_glue_la-gsignond-dbus-signonui-gen.Tpo -c -o libgsignond_dbus_glue_la-gsignond-dbus-signonui-gen.lo `test -f 'gsignond-dbus-signonui-gen.c' || echo '$(srcdir)/'`gsignond-dbus-signonui-gen.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgsignond_dbus_glue_la-gsignond-dbus-signonui-gen.Tpo $(DEPDIR)/libgsignond_dbus_glue_la-gsignond-dbus-signonui-gen.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gsignond-dbus-signonui-gen.c' object='libgsignond_dbus_glue_la-gsignond-dbus-signonui-gen.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgsignond_dbus_glue_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgsignond_dbus_glue_la-gsignond-dbus-signonui-gen.lo `test -f 'gsignond-dbus-signonui-gen.c' || echo '$(srcdir)/'`gsignond-dbus-signonui-gen.c - libgsignond_dbus_glue_la-gsignond-dbus-remote-plugin-gen.lo: gsignond-dbus-remote-plugin-gen.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgsignond_dbus_glue_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgsignond_dbus_glue_la-gsignond-dbus-remote-plugin-gen.lo -MD -MP -MF $(DEPDIR)/libgsignond_dbus_glue_la-gsignond-dbus-remote-plugin-gen.Tpo -c -o libgsignond_dbus_glue_la-gsignond-dbus-remote-plugin-gen.lo `test -f 'gsignond-dbus-remote-plugin-gen.c' || echo '$(srcdir)/'`gsignond-dbus-remote-plugin-gen.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgsignond_dbus_glue_la-gsignond-dbus-remote-plugin-gen.Tpo $(DEPDIR)/libgsignond_dbus_glue_la-gsignond-dbus-remote-plugin-gen.Plo @@ -537,13 +522,6 @@ libgsignond_dbus_la-gsignond-dbus-identity-gen.lo: gsignond-dbus-identity-gen.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgsignond_dbus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgsignond_dbus_la-gsignond-dbus-identity-gen.lo `test -f 'gsignond-dbus-identity-gen.c' || echo '$(srcdir)/'`gsignond-dbus-identity-gen.c -libgsignond_dbus_la-gsignond-dbus-signonui-gen.lo: gsignond-dbus-signonui-gen.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgsignond_dbus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgsignond_dbus_la-gsignond-dbus-signonui-gen.lo -MD -MP -MF $(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-signonui-gen.Tpo -c -o libgsignond_dbus_la-gsignond-dbus-signonui-gen.lo `test -f 'gsignond-dbus-signonui-gen.c' || echo '$(srcdir)/'`gsignond-dbus-signonui-gen.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-signonui-gen.Tpo $(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-signonui-gen.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gsignond-dbus-signonui-gen.c' object='libgsignond_dbus_la-gsignond-dbus-signonui-gen.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgsignond_dbus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgsignond_dbus_la-gsignond-dbus-signonui-gen.lo `test -f 'gsignond-dbus-signonui-gen.c' || echo '$(srcdir)/'`gsignond-dbus-signonui-gen.c - libgsignond_dbus_la-gsignond-dbus-remote-plugin-gen.lo: gsignond-dbus-remote-plugin-gen.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgsignond_dbus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgsignond_dbus_la-gsignond-dbus-remote-plugin-gen.lo -MD -MP -MF $(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-remote-plugin-gen.Tpo -c -o libgsignond_dbus_la-gsignond-dbus-remote-plugin-gen.lo `test -f 'gsignond-dbus-remote-plugin-gen.c' || echo '$(srcdir)/'`gsignond-dbus-remote-plugin-gen.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-remote-plugin-gen.Tpo $(DEPDIR)/libgsignond_dbus_la-gsignond-dbus-remote-plugin-gen.Plo @@ -882,14 +860,6 @@ gsignond-dbus-identity-gen.c gsignond-dbus-identity-gen.h : $(INTERFACES_DIR)/co --generate-docbook gsignond-dbus-identity-doc-gen \ $< -gsignond-dbus-signonui-gen.c gsignond-dbus-signonui-gen.h : $(INTERFACES_DIR)/org.tizen.SSO.singlesignonui.xml - gdbus-codegen \ - --interface-prefix org.tizen.SSO \ - --c-namespace GSignondDbus \ - --generate-c-code gsignond-dbus-signonui-gen \ - --generate-docbook gsignond-dbus-signonui-doc-gen\ - $< - gsignond-dbus-remote-plugin-gen.c gsignond-dbus-remote-plugin-gen.h : $(INTERFACES_DIR)/com.google.code.AccountsSSO.gSingleSignOn.RemotePlugin.xml gdbus-codegen \ --interface-prefix $(DBUS_INTERFACE_PREFIX) \ diff --git a/src/daemon/dbus/gsignond-dbus-signonui-adapter.c b/src/daemon/dbus/gsignond-dbus-signonui-adapter.c index db3398f..155348c 100644 --- a/src/daemon/dbus/gsignond-dbus-signonui-adapter.c +++ b/src/daemon/dbus/gsignond-dbus-signonui-adapter.c @@ -24,14 +24,14 @@ */ #include "gsignond-dbus-signonui-adapter.h" -#include "gsignond-dbus-signonui-gen.h" #include "gsignond/gsignond-log.h" #include "gsignond-dbus.h" struct _GSignondDbusSignonuiAdapterPrivate { GDBusConnection *connection; - GSignondDbusSinglesignonui *proxy; + GDBusProxy *proxy; + gulong connection_close_signal_id; }; G_DEFINE_TYPE (GSignondDbusSignonuiAdapter, gsignond_dbus_signonui_adapter, G_TYPE_OBJECT) @@ -58,6 +58,11 @@ _dispose (GObject *object) { GSignondDbusSignonuiAdapter *self = GSIGNOND_DBUS_SIGNONUI_ADAPTER (object); + if (self->priv->connection_close_signal_id) { + g_signal_handler_disconnect (self->priv->connection, self->priv->connection_close_signal_id); + self->priv->connection_close_signal_id = 0; + } + if (self->priv->connection) { g_object_unref (self->priv->connection); self->priv->connection = NULL; @@ -104,32 +109,139 @@ gsignond_dbus_signonui_adapter_init (GSignondDbusSignonuiAdapter *self) self->priv = GSIGNOND_DBUS_SIGNONUI_ADAPTER_GET_PRIV(self); self->priv->connection = 0; self->priv->proxy = 0; + self->priv->connection_close_signal_id = 0; +} + +static void +_on_proxy_signal (GSignondDbusSignonuiAdapter *adapter, + gchar *sender_name, + gchar *signal_name, + GVariant *params, + gpointer user_data) +{ + gchar *request_id = NULL; + + g_return_if_fail (adapter && signal_name && params); + + /* Ignore other than 'refresh' signal */ + if (g_strcmp0(signal_name, "refresh") != 0) return ; + + if (!g_variant_is_of_type (params, G_VARIANT_TYPE_TUPLE)) { + WARN ("Expected 'tuple' type but got '%s' type", + g_variant_get_type_string (params)); + return ; + } + + g_variant_get (params, "(s)", &request_id); + + if (request_id) { + g_signal_emit (adapter, _signals[SIG_REFRESH], 0, request_id); + g_free (request_id); + } +} + +static void +_on_connection_closed (GSignondDbusSignonuiAdapter *adapter, + gboolean remote_peer_vanished, + GError *error, + gpointer user_data) +{ + g_return_if_fail (adapter); + + DBG("UI Connection closed..."); + + g_signal_handler_disconnect (adapter->priv->connection, adapter->priv->connection_close_signal_id); + adapter->priv->connection_close_signal_id = 0; + + g_clear_object (&adapter->priv->connection); + g_clear_object (&adapter->priv->proxy); +} + +static gboolean +_setup_ui_connection (GSignondDbusSignonuiAdapter *adapter) +{ + GError *err = NULL; + GVariant *reply = NULL; + gchar *ui_server_address = NULL; + GDBusConnection *session_bus = NULL; + + g_return_val_if_fail (adapter, FALSE); + + if (adapter->priv->connection) return TRUE; + + session_bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &err); + if (err) { + WARN ("Error getting session bus :%s", err->message); + goto fail; + } + + reply = g_dbus_connection_call_sync (session_bus, SIGNONUI_SERVICE, SIGNONUI_OBJECTPATH, + SIGNONUI_IFACE, "getBusAddress", g_variant_new ("()"), + G_VARIANT_TYPE_TUPLE, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &err); + if (!reply) { + WARN ("Failed to get signon ui bus address : %s", err->message); + goto fail; + } + + g_variant_get(reply, "(s)", &ui_server_address); + + DBG ("Connecting to UI Server at : %s", ui_server_address); + + adapter->priv->connection = g_dbus_connection_new_for_address_sync (ui_server_address, + G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT, NULL, NULL, &err); + g_free (ui_server_address); + if (err) { + WARN ("Failed to connect UI server at address '%s' : %s", ui_server_address, + err->message); + goto fail; + } + + adapter->priv->connection_close_signal_id = + g_signal_connect_swapped (adapter->priv->connection, + "closed", G_CALLBACK(_on_connection_closed), adapter); + + adapter->priv->proxy = g_dbus_proxy_new_sync (adapter->priv->connection, + G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, + NULL, + NULL, + SIGNONUI_DIALOG_OBJECTPATH, + SIGNONUI_DIALOG_IFACE, + NULL, + &err); + if (err) { + WARN ("failed to get ui object : %s", err->message); + goto fail; + } + + g_signal_connect_swapped (adapter->priv->proxy, "g-signal", G_CALLBACK (_on_proxy_signal), adapter); + + return TRUE; +fail: + if (err) g_error_free (err); + return FALSE; } static void _on_query_dialog_ready (GObject *proxy, GAsyncResult *res, gpointer user_data) { GError *error = NULL; - GVariant *out_params = NULL; + GVariant *reply = NULL; _SignonuiDbusInfo *info = (_SignonuiDbusInfo *)user_data; - gsignond_dbus_singlesignonui_call_query_dialog_finish ( - GSIGNOND_DBUS_SINGLESIGNONUI (proxy), &out_params, res, &error); + reply = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, &error); - if (!info) { - ERR ("Memory curropted"); - return; - } - - if (info->cb) { - ((GSignondDbusSignonuiQueryDialogCb)info->cb) (out_params, error, info->data); + if (info) { + if (info->cb) { + GVariant *out_params = NULL; g_variant_get (reply, "(@a{sv})", &out_params); + ((GSignondDbusSignonuiQueryDialogCb)info->cb) (out_params, error, info->data); + g_variant_unref (out_params); + } g_object_unref (info->adapter); - g_free (info); - } - else { - if (error) g_error_free (error); - if (out_params) g_variant_unref (out_params); + g_slice_free (_SignonuiDbusInfo, info); } + + if (error) g_error_free (error); + if (reply) g_variant_unref (reply); } gboolean @@ -142,13 +254,19 @@ gsignond_dbus_signonui_adapter_query_dialog (GSignondDbusSignonuiAdapter *adapte WARN ("assert (!adapter ||!GSIGNOND_IS_DBUS_SIGNONUI_ADAPTER (adapter)) failed"); return FALSE; } - _SignonuiDbusInfo *info = g_new0 (_SignonuiDbusInfo, 1); + if (!adapter->priv->proxy && !_setup_ui_connection(adapter)) { + WARN ("Failed to setup ui connection"); + return FALSE; + } + _SignonuiDbusInfo *info = g_slice_new0 (_SignonuiDbusInfo); info->adapter = g_object_ref (adapter); info->cb = callback; info->data = user_data; - gsignond_dbus_singlesignonui_call_query_dialog (adapter->priv->proxy, params, NULL, - _on_query_dialog_ready, (gpointer)info); + + g_dbus_proxy_call (adapter->priv->proxy, "queryDialog", + g_variant_new ("(a{sv})", params), G_DBUS_CALL_FLAGS_NONE, -1, NULL, + _on_query_dialog_ready, (gpointer)info); return TRUE; } @@ -157,23 +275,20 @@ static void _on_refresh_dialog_ready (GObject *proxy, GAsyncResult *res, gpointer user_data) { GError *error = NULL; + GVariant *reply = NULL; _SignonuiDbusInfo *info = (_SignonuiDbusInfo *)user_data; - gsignond_dbus_singlesignonui_call_refresh_dialog_finish ( - GSIGNOND_DBUS_SINGLESIGNONUI (proxy), res, &error); - - if (!info) { - ERR ("Memory curropted"); - g_error_free (error); - return; - } + reply = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, &error); - if (info->cb) { - ((GSignondDbusSignonuiRefreshDialogCb)info->cb) (error, info->data); + if (info) { + if (info->cb) + ((GSignondDbusSignonuiRefreshDialogCb)info->cb) (error, info->data); g_object_unref (info->adapter); - g_free (info); + g_slice_free (_SignonuiDbusInfo, info); } - else if (error) g_error_free (error); + + if (reply) g_variant_unref (reply); + if (error) g_error_free (error); } gboolean @@ -186,13 +301,20 @@ gsignond_dbus_signonui_adapter_refresh_dialog (GSignondDbusSignonuiAdapter *adap WARN ("assert (!adapter ||!GSIGNOND_IS_DBUS_SIGNONUI_ADAPTER (adapter)) failed"); return FALSE; } - _SignonuiDbusInfo *info = g_new0 (_SignonuiDbusInfo, 1); + if (!adapter->priv->proxy && !_setup_ui_connection(adapter)) { + WARN ("Failed to setup ui connection"); + return FALSE; + } + + _SignonuiDbusInfo *info = g_slice_new0 (_SignonuiDbusInfo); info->adapter = g_object_ref (adapter); info->cb = callback; info->data = user_data; - gsignond_dbus_singlesignonui_call_refresh_dialog (adapter->priv->proxy, params, NULL, - _on_refresh_dialog_ready, (gpointer)info); + + g_dbus_proxy_call (adapter->priv->proxy, "refreshDialog", + g_variant_new ("(a{sv})", params), G_DBUS_CALL_FLAGS_NONE, -1, NULL, + _on_refresh_dialog_ready, (gpointer)info); return TRUE; } @@ -201,23 +323,20 @@ static void _on_cancel_request_ready (GObject *proxy, GAsyncResult *res, gpointer user_data) { GError *error = NULL; + GVariant *reply = NULL; _SignonuiDbusInfo *info = (_SignonuiDbusInfo *)user_data; - gsignond_dbus_singlesignonui_call_cancel_ui_request_finish ( - GSIGNOND_DBUS_SINGLESIGNONUI (proxy), res, &error); - - if (!info) { - ERR ("Memory curropted"); - g_error_free (error); - return; - } + reply = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, &error); - if (info->cb) { - ((GSignondDbusSignonuiCancelRequestCb)info->cb) (error, info->data); + if (info) { + if (info->cb) + ((GSignondDbusSignonuiCancelRequestCb)info->cb) (error, info->data); g_object_unref (info->adapter); - g_free (info); + g_slice_free (_SignonuiDbusInfo, info); } - else if (error) g_error_free (error); + + if (reply) g_variant_unref (reply); + if (error) g_error_free (error); } gboolean @@ -230,28 +349,21 @@ gsignond_dbus_signonui_adapter_cancel_request (GSignondDbusSignonuiAdapter *adap WARN ("assert (!adapter ||!GSIGNOND_IS_DBUS_SIGNONUI_ADAPTER (adapter)) failed"); return FALSE; } - _SignonuiDbusInfo *info = g_new0 (_SignonuiDbusInfo, 1); + if (!adapter->priv->proxy && !_setup_ui_connection(adapter)) { + WARN ("Failed to setup ui connection"); + return FALSE; + } + _SignonuiDbusInfo *info = g_slice_new0 (_SignonuiDbusInfo); info->adapter = g_object_ref (adapter); info->cb = callback; info->data = user_data; - gsignond_dbus_singlesignonui_call_cancel_ui_request (adapter->priv->proxy, request_id, NULL, - _on_cancel_request_ready, (gpointer)info); - return TRUE; -} - -static void -_on_refresh_request (GSignondDbusSignonuiAdapter *proxy, gchar *request_id, gpointer userdata) -{ - GSignondDbusSignonuiAdapter *adapter = GSIGNOND_DBUS_SIGNONUI_ADAPTER (userdata); - - if (!adapter) { - ERR ("DBus-Error: memroy curroption"); - return; - } + g_dbus_proxy_call (adapter->priv->proxy, "cancelUiRequest", + g_variant_new ("(s)", request_id), G_DBUS_CALL_FLAGS_NONE, -1, NULL, + _on_cancel_request_ready, (gpointer)info); - g_signal_emit (adapter, _signals[SIG_REFRESH], 0, request_id); + return TRUE; } /** @@ -264,34 +376,13 @@ _on_refresh_request (GSignondDbusSignonuiAdapter *proxy, gchar *request_id, gpoi GSignondDbusSignonuiAdapter * gsignond_dbus_signonui_adapter_new () { - GError *err = NULL; GSignondDbusSignonuiAdapter *adapter = GSIGNOND_DBUS_SIGNONUI_ADAPTER ( g_object_new (GSIGNOND_TYPE_DBUS_SIGNONUI_ADAPTER, NULL)); - - adapter->priv->connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &err); - if (err) { - ERR ("Error getting session bus :%s", err->message); - goto fail; - } - adapter->priv->proxy = gsignond_dbus_singlesignonui_proxy_new_sync (adapter->priv->connection, - G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, - SIGNONUI_SERVICE, - SIGNONUI_OBJECTPATH, - NULL, - &err); - if (err) { - WARN ("failed to get ui object : %s", err->message); - goto fail; + if (!_setup_ui_connection (adapter)) { + g_object_unref (adapter); + return NULL; } - g_signal_connect (adapter->priv->proxy, "refresh", G_CALLBACK (_on_refresh_request), adapter); - return adapter; - -fail: - if (err) g_error_free (err); - g_object_unref (adapter); - return NULL; } - diff --git a/src/daemon/dbus/gsignond-dbus.h b/src/daemon/dbus/gsignond-dbus.h index 82fb529..8da81ce 100644 --- a/src/daemon/dbus/gsignond-dbus.h +++ b/src/daemon/dbus/gsignond-dbus.h @@ -38,8 +38,10 @@ #define GSIGNOND_AUTH_SESSION_INTERFACE GSIGNOND_SERVICE_PREFIX ".AuthSession" #define GSIGNOND_PLUGIN_OBJECTPATH GSIGNOND_DAEMON_OBJECTPATH "/Plugin" -#define SIGNONUI_SERVICE "org.tizen.SSO" -#define SIGNONUI_OBJECTPATH "/org/tizen/SSO/SignonUi" -#define SIGNONUI_INTERFACE "org.tizen.SSO.singlesignonui" +#define SIGNONUI_SERVICE "com.google.code.AccountsSSO.gSingleSignOn.UI" +#define SIGNONUI_OBJECTPATH "/" +#define SIGNONUI_IFACE "com.google.code.AccountsSSO.gSingleSignOn.UI" +#define SIGNONUI_DIALOG_IFACE "com.google.code.AccountsSSO.gSingleSignOn.UI.Dialog" +#define SIGNONUI_DIALOG_OBJECTPATH "/Dialog" #endif /* __GSIGNOND_DBUS_H_ */ diff --git a/packaging/archive.sh b/tools/archive.sh index b28d24f..b28d24f 100755 --- a/packaging/archive.sh +++ b/tools/archive.sh diff --git a/tools/prepare-tizen.sh b/tools/prepare-tizen.sh new file mode 100755 index 0000000..d4329b2 --- /dev/null +++ b/tools/prepare-tizen.sh @@ -0,0 +1,22 @@ +# $1 corresponds to gsignond-<ver>.tar.gz +# $2 is the destination folder +# NOTE: all the files will be extracted under destination folder (instead of destfolder/gsignond-<version>) + +if [ $# -ne 2 -o -z "$1" -o -z "$2" ]; then + echo "Invalid arguments supplied" + echo "Usage: ./prepare-tizen.sh gsignond-<version>.tar.gz destfolder" + echo "NOTE: All the files will be extracted under destfolder (instead of destfolder/gsignond-<version>)" + exit +fi + +currdir = `pwd`; +echo "CURR dir = $currdir" + +mkdir -p $2 && \ +tar -xzvf $1 -C $2 --strip-components 1 && \ +cd $2 && \ +mkdir -p packaging && \ +cd packaging && \ +cp -f ../dists/rpm/gsignond-tizen.spec gsignond.spec && +cp -f ../dists/rpm/gsignond-tizen.changes gsignond.changes; + diff --git a/tools/run-tests.sh b/tools/run-tests.sh new file mode 100755 index 0000000..0d271d4 --- /dev/null +++ b/tools/run-tests.sh @@ -0,0 +1,16 @@ +#Environment variables for the tests +export G_MESSAGES_DEBUG=all +export SSO_STORAGE_PATH=/tmp/gsignond +export SSO_SECRET_PATH=/tmp/gsignond + +rm -rf "$SSO_STORAGE_PATH" + +make distclean; +autoreconf -fi; +./configure --enable-dbus-type=session --enable-debug && \ +make -j4 && make check && make distclean && \ +./configure --enable-dbus-type=system --enable-debug && \ +make -j4 && make check && make distclean && \ +./configure --enable-dbus-type=p2p --enable-debug && \ +make -j4 && make check && make distclean; + diff --git a/tools/setup-and-start-daemon.sh b/tools/setup-and-start-daemon.sh new file mode 100755 index 0000000..a7ecd8b --- /dev/null +++ b/tools/setup-and-start-daemon.sh @@ -0,0 +1,54 @@ +SRC_HOME="." +with_duma=0 +with_gdb=0 + +if test $# -ge 1 ; then + if test "$1" == "--with-duma" ; then + with_duma=1 + with_gdb=1 + else + with_duma=0 + if test "$1" == "--with-gdb" ; then + with_gdb=1 + fi + fi +fi + +killall gsignond + +export SSO_SECRET_PATH="/tmp/gsignond" +export SSO_STORAGE_PATH="/tmp/gsignond" +if [ -f "$SRC_HOME/test/daemon/.libs/lt-daemontest" ] ; then +export SSO_KEYCHAIN_SYSCTX="$SRC_HOME/test/daemon/.libs/lt-daemontest" +else +export SSO_KEYCHAIN_SYSCTX="$SRC_HOME/test/daemon/.libs/daemontest" +fi +export SSO_BIN_DIR=$SRC_HOME/src/daemon/.libs +export SSO_PLUGINS_DIR=$SRC_HOME/src/plugins/.libs +export LD_LIBRARY_PATH="$SRC_HOME/src/daemon/plugins/plugind/.libs:$SRC_HOME/src/daemon/plugins/.libs" +export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SRC_HOME/src/common/.libs:$SRC_HOME/src/common/db/.libs:$SRC_HOME/src/daemon/.libs:$SRC_HOME/src/daemon/db/.libs:$SRC_HOME/src/daemon/dbus/.libs" +export G_MESSAGES_DEBUG="all" + +# Clean db +rm -rf /tmp/gsignond + +echo "--------------------------" +echo "with_duma: $with_duma" +echo "with_gdb: $with_gdb" +echo "--------------------------" +if test $with_duma -eq 1 ; then + export G_SLICE="always-malloc" + export DUMA_PROTECT_FREE=1 + export DUMA_PROTECT_BELOW=1 + + LD_PRELOAD="libduma.so" $SRC_HOME/src/daemon/.libs/gsignond & + + if test $with_gdb -eq 1 ; then + sudo gdb --pid=`pidof gsignond` + fi +elif test $with_gdb -eq 1 ; then + gdb $SRC_HOME/src/daemon/.libs/gsignond +else + $SRC_HOME/src/daemon/.libs/gsignond +fi + |