...
 
Commits (33)
image: ubuntu:xenial
image: fedora:26
cache:
key: apt-cache
paths:
- apt-cache/
key: dnf-cache
paths:
- dnf-cache/
variables:
BUILDTOOLS_PKGS: "meson gcc redhat-rpm-config vala-tools"
GLIB2_PKGS: "pkgconfig(glib-2.0) pkgconfig(gio-2.0) pkgconfig(gio-unix-2.0) pkgconfig(gmodule-2.0)"
SQLITE_PKG: "pkgconfig(sqlite3)"
DOCGEN_PKGS: "pkgconfig(gtk-doc)"
GIR_PKGS: "pkgconfig(gobject-introspection-1.0)"
CI_PKGS: "pkgconfig(check) lcov"
LOCALE_PKGS: "langpacks-en"
before_script:
- export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
- apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y autotools-dev pkg-config libdbus-1-dev gtk-doc-tools libsqlite3-dev libglib2.0-dev check
- dnf --setopt=cachedir=`pwd`/dnf-cache --quiet --refresh --assumeyes install $BUILDTOOLS_PKGS $GLIB2_PKGS $SQLITE_PKG $DOCGEN_PKGS $GIR_PKGS $CI_PKGS $LOCALE_PKGS
build_amd64:
stage: build
script:
- NOCONFIGURE=1 ./autogen.sh
- mkdir build
- cd build
- ../configure --enable-gtk-doc --enable-coverage --enable-debug
- make -j 4
artifacts:
paths:
- ./
build_x86-64:
stage: build
script:
- meson build -Ddebug=true -Ddocumentation=true -Db_coverage=true
- cd build
- ninja
artifacts:
paths:
- ./
test_amd64:
stage: test
script:
- find build | xargs touch # Avoid rebuilding
- cd build
- make check
dependencies:
- build_amd64
artifacts:
paths:
- ./
test_x86-64:
stage: test
script:
- cd build
- ninja test
- ninja coverage-html
dependencies:
- build_x86-64
artifacts:
paths:
- ./
pages:
stage: deploy
script:
- mkdir public
- cp -a build/docs/html/* public
only:
- tags
dependencies:
- test_amd64
artifacts:
paths:
- public
stage: deploy
script:
- cd build
- ninja install
- cd ..
- mkdir public
- cp -a build/docs/reference/html/* public
only:
- tags
- master@accounts-sso/gsignond
dependencies:
- test_x86-64
artifacts:
paths:
- public
jussi.laako@linux.intel.com
ACLOCAL_AMFLAGS = -I m4
# --enable-distcheck is here to make it possible to use
# also --enable-dbus-type=session here
AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-debug \
--enable-gtk-doc \
--enable-distcheck \
--enable-introspection=yes
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gsignond.pc
sysconf_DATA = gsignond.conf
SUBDIRS = src test docs
EXTRA_DIST = dists tools m4/introspection.m4
valgrind:
cd test; make valgrind
lcov: check
@rm -rf lcov-report
@lcov -c --directory src/ --output-file lcov.output
@genhtml lcov.output --output-directory lcov-report
@rm lcov.output
@echo "Coverage report is in file://$(abs_srcdir)/lcov-report/index.html"
GSignOn daemon
=============
==============
The GSignOn daemon is a D-Bus service which performs user authentication on
behalf of its clients. There are currently authentication plugins for OAuth 1.0
and 2.0, SASL, Digest-MD5, and plain username/password combination.
License
-------
See COPYING file.
Build instructions
------------------
This project depends on GLib and SQLite. To build it, run
This project depends on GLib and SQLite, and uses the Meson build system. To build it, run
```
./autogen.sh
make
make install
meson build --prefix=/usr
cd build
ninja
sudo ninja install
```
Configuration
-------------
You can use `meson configure -Doption=value` to set the configuration values of your choice.
The different options on this project are:
- bus_type : specify the DBus type used. accepted values are `session`, `system` and `p2p`.
- extension : select the extension to build. existing extensions are `default`, `ostro`, `tizen` and `desktop`.
- debug : enable debugging related options.
- documentation : build and install the documentation.
- keychain : system context of the keychain.
- storagedir : path for user specific storage directories.
License
-------
See COPYING file.
Resources
---------
......
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
olddir=`pwd`
cd $srcdir
check_exists() {
variable=`which $1`
if test -z $variable; then
echo "*** No $1 found, please intall it ***" >&2
exit 1
fi
}
check_exists aclocal
check_exists autoreconf
check_exists gtkdocize
m4dir=`autoconf --trace 'AC_CONFIG_MACRO_DIR:$1'`
if [ -n "$m4dir" ]; then
mkdir -p $m4dir
fi
aclocal -I m4 || exit $?
gtkdocize --copy || exit $?
autoreconf --verbose --force --install -Wno-portability || exit $?
cd $olddir
test -n "$NOCONFIGURE" || "$srcdir/configure" --enable-maintainer-mode "$@"
extensionsdir = $(pkglibdir)/extensions
pluginloadersdir = $(pkglibdir)/pluginloaders
gpluginsdir = $(pkglibdir)/gplugins
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.60])
AC_INIT([gsignond], [1.0.6],[],[],[http://01.org/gsso])
AC_CONFIG_SRCDIR([src/daemon/main.c])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11 nostdinc foreign silent-rules subdir-objects tar-pax -Wno-portability])
# Checks for programs.
AC_PROG_CC
AM_PROG_AR
AX_CHECK_GNU_MAKE
if test "x$ifGNUmake" = "x#" ; then
AC_MSG_ERROR("GNUmake is required")
fi
#libtool
LT_PREREQ([2.2])
LT_INIT([disable-static])
# Gobject Introspection
GOBJECT_INTROSPECTION_CHECK([1.30.0])
VAPIGEN_CHECK()
# Checks for libraries.
PKG_CHECK_MODULES([GSIGNOND],
[glib-2.0 >= 2.30
gio-2.0
gio-unix-2.0
gmodule-2.0
sqlite3])
AC_SUBST(GSIGNOND_CFLAGS)
AC_SUBST(GSIGNOND_LIBS)
# AM_PATH_CHECK() is deprecated, but check documentation fails to tell that :-/
PKG_CHECK_MODULES([CHECK], [check >= 0.9.4], [have_check=yes], [have_check=no])
AC_SUBST(CHECK_CFLAGS)
AC_SUBST(CHECK_LIBS)
PKG_CHECK_MODULES([LIBSMACK], libsmack >= 1.0, [libsmack=yes], [libsmack=no])
AM_CONDITIONAL(HAVE_LIBSMACK, [test x$libsmack = xyes])
if test "x$libsmack" = xyes; then
AC_DEFINE(HAVE_LIBSMACK, [1], [Define if libsmack exists.])
fi
PKG_CHECK_MODULES([LIBECRYPTFS], libecryptfs >= 96, [libecryptfs=yes], [libecryptfs=no])
AM_CONDITIONAL(HAVE_LIBECRYPTFS, [test x$libecryptfs = xyes])
if test "x$libecryptfs" = xyes; then
AC_DEFINE(HAVE_LIBECRYPTFS, [1], [Define if libecryptfs exists.])
fi
AC_CHECK_HEADER([trousers/tss.h], [libtspi=yes], [libtspi=no], AC_INCLUDES_DEFAULT)
AM_CONDITIONAL(HAVE_LIBTSPI, [test x$libtspi = xyes])
if test "x$libtspi" = xyes; then
AC_DEFINE(HAVE_LIBTSPI, [1], [Define if libtspi exists.])
AC_SUBST(LIBTSPI_LIBS, [-ltspi])
fi
AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
AC_ARG_ENABLE([coverage],
[AS_HELP_STRING([--enable-coverage], [compile with coverage info])])
AS_IF([test "x$enable_coverage" = "xyes"],
[CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"])
# allow fake installations for "distcheck"
AC_ARG_ENABLE(distcheck,
[ --enable-distcheck build for distcheck target],
[enable_distcheck=yes], [enable_distcheck=no])
echo -n "running distcheck... "
echo $enable_distcheck
AC_ARG_ENABLE(dbus-type,
[ --enable-dbus-type=dbus-type specify daemon dbus type:
p2p(default): uses peer to peer dbus
session: uses session message bus
system: uses system message bus],
[enable_dbus_type=$enableval], [enable_dbus_type=p2p])
echo "----------------------"
echo " DBUS TYPE : '$enable_dbus_type'"
echo "----------------------"
if test "x$enable_dbus_type" = "xp2p" ; then
AC_DEFINE(USE_P2P, [1], [Use peer to peer dbus])
elif test "x$enable_dbus_type" = "xsession" ; then
AC_DEFINE(GSIGNOND_BUS_TYPE, [G_BUS_TYPE_SESSION], [Use session bus])
if test "x$enable_distcheck" = "xyes" ; then
DBUS_SERVICES_DIR="${datadir}/dbus-1/services"
else
DBUS_SERVICES_DIR="`pkg-config --variable session_bus_services_dir dbus-1`"
fi
PKG_CHECK_MODULES(GTestDBus, gio-2.0 >= 2.34, [gtestdbus=yes], [gtestdbus=no])
if test "x$gtestdbus" = xyes; then
AC_DEFINE(HAVE_GTESTDBUS, [1], [Define if GTestDBus exists.])
fi
elif test "x$enable_dbus_type" = "xsystem" ; then
AC_DEFINE(GSIGNOND_BUS_TYPE, [G_BUS_TYPE_SYSTEM], [Use system bus])
if test "x$enable_distcheck" = "xyes" ; then
DBUS_SERVICES_DIR="${datadir}/dbus-1/system-services"
else
DBUS_SERVICES_DIR="`pkg-config --variable system_bus_services_dir dbus-1`"
fi
fi
if test "x$enable_distcheck" = "xyes" ; then
DBUS_INTERFACES_DIR="${datadir}/dbus-1/interfaces"
else
DBUS_INTERFACES_DIR="`pkg-config --variable interfaces_dir dbus-1`"
fi
AC_ARG_ENABLE(keychain,
[ --enable-keychain=sysctx
enable keychain access with
system context "sysctx"],
[enable_keychain=$enableval])
if test "x$enable_keychain" != "x" ; then
AC_DEFINE_UNQUOTED(KEYCHAIN_SYSCTX,
["$enable_keychain"],
[Keychain system context])
AC_SUBST(KEYCHAIN_SYSCTX,
["#KeychainSystemContext = $enable_keychain"])
else
AC_SUBST(KEYCHAIN_SYSCTX,
["#KeychainSystemContext = \"\""])
fi
AC_ARG_ENABLE(storagedir,
[ --enable-storagedir=path
enable storage at location "path"
instead of default "/var/db"],
[enable_storagedir=$enableval],
[enable_storagedir="/var/db"])
AC_DEFINE_UNQUOTED(BASE_STORAGE_DIR,
["$enable_storagedir"],
[Base path for user specific storage directories])
AC_SUBST(BASE_STORAGE_DIR,
["#StoragePath = $enable_storagedir"])
AC_ARG_ENABLE(debug,
[ --enable-debug enable debug features],
[enable_debug=yes], [enable_debug=no])
echo -n "enable debug features... "
echo $enable_debug
if test "x$enable_debug" = "xyes" ; then
AC_DEFINE(ENABLE_DEBUG, [1], [Enable debug features])
AC_ARG_ENABLE(sql-log,
[ --enable-sql-log enable sql log feature],
[enable_sql_log=yes], [enable_sql_log=no])
echo -n "enable sql log feature... "
echo $enable_sql_log
if test "x$enable_sql_log" = "xyes" ; then
AC_DEFINE(ENABLE_SQL_LOG, [1], [Enable SQL log feature])
fi
fi
AC_ARG_ENABLE(acltriggers,
[ --enable-acltriggers enable ACL before delete triggers],
[enable_acl_triggers=yes], [enable_acl_triggers=no])
if test "x$enable_acl_triggers" = "xyes" ; then
AC_DEFINE(ENABLE_DB_ACL_TRIGGERS, [1], [Enable ACL triggers])
fi
AM_CONDITIONAL(USE_GTESTDBUS, [test x$gtestdbus = xyes])
AC_SUBST(MESSAGE_BUS_TYPE, [$enable_dbus_type])
AM_CONDITIONAL(HAVE_DEBUG, [test x$enable_debug = xyes])
AM_CONDITIONAL(SET_PERMISSIONS, [test x$enable_distcheck != xyes])
AC_SUBST(DBUS_SERVICES_DIR)
AC_SUBST(DBUS_INTERFACES_DIR)
# gtk-doc
GTK_DOC_CHECK([1.18],[--flavour no-tmpl])
# Checks for header files.
AC_CHECK_HEADERS([string.h])
# Enable feature sets
GSIGNOND_CFLAGS="$GSIGNOND_CFLAGS -D_POSIX_C_SOURCE=\\\"200809L\\\" -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE"
# Checks for typedefs, structures, and compiler characteristics.
GSIGNOND_CFLAGS="$GSIGNOND_CFLAGS -Wall -DG_LOG_DOMAIN=\\\"gsignond\\\""
if test "x$enable_debug" = "xno" ; then
GSIGNOND_CFLAGS="$GSIGNOND_CFLAGS -Werror"
else
GSIGNOND_CFLAGS="$GSIGNOND_CFLAGS -DENABLE_DEBUG"
fi
# GSIGNOND_LIBS="$GSIGNOND_LIBS -lduma"
# Checks for library functions.
AC_OUTPUT([
Makefile
${PACKAGE_NAME}.pc
${PACKAGE_NAME}-uninstalled.pc
gsignond.conf
docs/Makefile
src/Makefile
src/common/Makefile
src/common/db/Makefile
src/daemon/Makefile
src/daemon/db/Makefile
src/daemon/dbus/Makefile
src/daemon/dbus/services/com.google.code.AccountsSSO.gSingleSignOn.service
src/daemon/plugins/Makefile
src/gplugind/Makefile
src/extensions/Makefile
src/extensions/test/Makefile
src/extensions/tizen/Makefile
src/extensions/ostro/Makefile
src/plugins/Makefile
src/plugins/password/Makefile
src/plugins/ssotest/Makefile
src/plugins/digest/Makefile
test/Makefile
test/common/Makefile
test/db/Makefile
test/daemon/Makefile
test/daemon/gsignond-dbus.conf
test/plugins/Makefile
])
if test x$enable_dbus_type != xp2p; then
AC_OUTPUT([
test/daemon/services/com.google.code.AccountsSSO.gSingleSignOn.service
])
fi
gsso_interface_name = 'com.google.code.AccountsSSO.gSingleSignOn'
gsso_interface_prefix = gsso_interface_name + '.'
dbus_auth_service_xml = files (join_paths('interfaces', 'com.google.code.AccountsSSO.gSingleSignOn.AuthService.xml'))
dbus_auth_service_gen = gnome.gdbus_codegen(
'gsignond-dbus-auth-service-gen',
dbus_auth_service_xml,
interface_prefix: gsso_interface_prefix,
namespace: 'GSignondDbus'
)
dbus_auth_session_xml = files (join_paths('interfaces', 'com.google.code.AccountsSSO.gSingleSignOn.AuthSession.xml'))
dbus_auth_session_gen = gnome.gdbus_codegen(
'gsignond-dbus-auth-session-gen',
dbus_auth_session_xml,
interface_prefix: gsso_interface_prefix,
namespace: 'GSignondDbus'
)
dbus_identity_xml = files (join_paths('interfaces', 'com.google.code.AccountsSSO.gSingleSignOn.Identity.xml'))
dbus_identity_gen = gnome.gdbus_codegen(
'gsignond-dbus-identity-gen',
dbus_identity_xml,
interface_prefix: gsso_interface_prefix,
namespace: 'GSignondDbus'
)
dbus_remote_plugin_xml = files (join_paths('interfaces', 'com.google.code.AccountsSSO.gSingleSignOn.RemotePlugin.xml'))
dbus_remote_plugin_gen = gnome.gdbus_codegen(
'gsignond-dbus-remote-plugin-gen',
dbus_remote_plugin_xml,
interface_prefix: gsso_interface_prefix,
namespace: 'GSignondDbus'
)
# Create a configuration file
dbus_configuration_data = configuration_data()
if bus_type == 'p2p'
dbus_configuration_data.set_quoted ('GSIGNOND_DBUS_ADDRESS', 'unix:path=%s/gsignond/bus-sock')
endif
dbus_configuration_data.set_quoted ('GSIGNOND_SERVICE', gsso_interface_name)
dbus_configuration_data.set_quoted ('GSIGNOND_DAEMON_OBJECTPATH', '/com/google/code/AccountsSSO/gSingleSignOn')
dbus_configuration_data.set_quoted ('GSIGNOND_DAEMON_INTERFACE', gsso_interface_prefix + 'AuthService')
dbus_configuration_data.set_quoted ('GSIGNOND_IDENTITY_INTERFACE', gsso_interface_prefix + 'Identity')
dbus_configuration_data.set_quoted ('GSIGNOND_AUTH_SESSION_INTERFACE', gsso_interface_prefix + 'AuthSession')
dbus_configuration_data.set_quoted ('GSIGNOND_PLUGIN_OBJECTPATH', '/')
dbus_configuration_data.set_quoted ('SIGNONUI_SERVICE', gsso_interface_prefix + 'UI')
dbus_configuration_data.set_quoted ('SIGNONUI_OBJECTPATH', '/')
dbus_configuration_data.set_quoted ('SIGNONUI_IFACE', gsso_interface_prefix + 'UI')
dbus_configuration_data.set_quoted ('SIGNONUI_DIALOG_IFACE', gsso_interface_prefix + 'UI.Dialog')
dbus_configuration_data.set_quoted ('SIGNONUI_DIALOG_OBJECTPATH', '/Dialog')
dbus_header = configure_file(
configuration: dbus_configuration_data,
output: 'gsignond-dbus.h'
)
gsignond_dbus = declare_dependency(
sources: dbus_header,
include_directories: include_directories('.')
)
# Install the .service file
service_configuration_data = configuration_data()
service_configuration_data.set ('NAME', gsso_interface_name)
service_configuration_data.set ('EXEC_PATH', join_paths(get_option('prefix'), get_option('bindir'), 'gsignond'))
configure_file(
configuration: service_configuration_data,
input: join_paths('services', 'com.google.code.AccountsSSO.gSingleSignOn.service.in'),
output: 'com.google.code.AccountsSSO.gSingleSignOn.service',
install_dir: join_paths(get_option('datadir'), 'dbus-1', 'services')
)
The Debian Package gsignond
----------------------------
This is default Debian packaging for gsignond.
-- Jussi Laako <jussi.laako@linux.intel.com> Wed, 03 Jul 2013 17:24:53 +0300
gsignond (1.0.6) UNRELEASED; urgency=low
* Update to 1.0.6
-- Corentin Noël <corentin@elementary.io> Tue, 11 Apr 2017 18:11:49 +0200
gsignond (1.0.5) UNRELEASED; urgency=low
* Update to 1.0.5
-- Jussi Laako <jussi.laako@linux.intel.com> Mon, 06 Jun 2016 16:08:00 +0300
gsignond (1.0.4) UNRELEASED; urgency=low
* Update to 1.0.4
-- Imran Zamam <imran.zaman@intel.com> Thu, 12 Feb 2015 16:22:00 +0200
gsignond (1.0.3) UNRELEASED; urgency=low
* Update to 1.0.3
-- Imran Zamam <imran.zaman@intel.com> Mon, 30 Jun 2014 16:22:00 +0200
gsignond (1.0.2) UNRELEASED; urgency=low
* Update to 1.0.2
-- Jussi Laako <jussi.laako@linux.intel.com> Wed, 25 Jun 2014 14:15:00 +0300
gsignond (1.0.1) UNRELEASED; urgency=low
* Update to 1.0.1
-- Jussi Laako <jussi.laako@linux.intel.com> Fri, 07 Mar 2014 16:22:00 +0200
gsignond (0.0.4) UNRELEASED; urgency=low
* Update to 0.0.4
-- Jussi Laako <jussi.laako@linux.intel.com> Fri, 28 Feb 2014 15:44:00 +0200
gsignond (0.0.3) UNRELEASED; urgency=low
* Minor update
-- Jussi Laako <jussi.laako@linux.intel.com> Wed, 08 Jan 2014 17:37:00 +0200
gsignond (0.0.3) UNRELEASED; urgency=low
* Bug fixes in UI interaction
* Documentation support
-- Alexander Kanavin <alex.kanavin@gmail.com> Fri, 23 Aug 2013 15:55:07 +0300
gsignond (0.0.2) UNRELEASED; urgency=low
* Initial Release.
-- Jussi Laako <jussi.laako@linux.intel.com> Wed, 03 Jul 2013 17:24:53 +0300
Source: gsignond
Section: net
Priority: extra
Maintainer: Jussi Laako <jussi.laako@linux.intel.com>
Build-Depends: autotools-dev,
debhelper (>= 9),
gobject-introspection (>= 1.30.0),
gtk-doc-tools,
libdbus-1-dev,
libgirepository1.0-dev (>= 1.30.0),
libglib2.0-dev (>= 2.30),
libsqlite3-dev,
pkg-config,
valac
Standards-Version: 3.9.7
Homepage: https://01.org/gsso
Vcs-Git: https://gitlab.com/accounts-sso/gsignond
Vcs-Browser: https://gitlab.com/accounts-sso/gsignond/tree/master
Package: gsignond
Architecture: any
Depends: libgsignond-common0 (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends}
Description: gSSO daemon and default plugins
gSSO is a single sign-on framework, providing secure storage and single sign-on
service.
Package: libgsignond-common0
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Description: gSSO common library
gSSO is a single sign-on framework, providing secure storage and single sign-on
service.
Package: libgsignond-common-dev
Architecture: any
Section: libdevel
Depends: gir1.2-gsignond-1.0 (= ${binary:Version}),
libglib2.0-dev (>= 2.30),
libgsignond-common0 (= ${binary:Version}),
libsqlite3-dev,
${misc:Depends},
${shlibs:Depens}
Description: development files for gsignond
Headers and libraries necessary for developing plugins and extensions.
Package: gir1.2-gsignond-1.0
Section: introspection
Architecture: any
Depends: ${gir:Depends},
${misc:Depends},
${shlibs:Depends}
Description: gir bindings for gsignond
gSSO is a single sign-on framework, providing secure storage and single sign-on
service.
.
This package can be used by other packages using the GIRepository format to
generate dynamic bindings.
Package: gsignond-doc
Architecture: all
Section: doc
Suggests: devhelp
Description: documentation for gsignond
Developer documentation for developing plugins and extensions.
Format: http://dep.debian.net/deps/dep5
Upstream-Name: gsignond
Source: https://gitlab.com/accounts-sso/gsignond/tree/master
Files: *
Copyright: 2012 - 2013 Intel Corporation
License: LGPL-2.1+
Files: debian/*
Copyright: 2013-2017 Jussi Laako <jussi.laako@linux.intel.com>
2017 Corentin Noël <corentin@elementary.io>
License: LGPL-2.1+
License: LGPL-2.1+
This package is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU Lesser General
Public License can be found in "/usr/share/common-licenses/LGPL-2.1".
/usr/share/gtk-doc/html/gsignond/*
/etc/gsignond
/usr/bin/gsignond*
/usr/lib/*/gsignond/extensions/*.so*
/usr/lib/*/gsignond/gplugins/*.so*
/usr/lib/*/gsignond/pluginloaders/gsignond-plugind
/usr/share/dbus-1/services/*SingleSignOn*.service
/usr/bin/gsignond
/usr/lib/libgsignond-*.so.*
/usr/lib/gsignond/extensions/*.so*
/usr/lib/gsignond/gplugins/*.so*
/usr/lib/gsignond/pluginloaders/gsignond-plugind
/usr/share/dbus-1/services/*SingleSignOn*.service
/etc/gsignond/gsignond.conf
/usr/include/gsignond/*
/usr/lib/*/libgsignond-common.so
/usr/lib/*/pkgconfig/gsignond.pc
/usr/share/dbus-1/interfaces/*SSO*.xml
/usr/share/vala/
/usr/share/gir-1.0/
/usr/lib/*/libgsignond-common.so.*
\ No newline at end of file
#!/bin/sh
# postinst script for gsignond
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
ldconfig
groupadd -f -r gsignond
chmod 4755 /usr/bin/gsignond
install -d -m 755 -o root -g root /var/db
# update-alternatives
update-alternatives --install /etc/gsignond.conf gsignond.conf /etc/gsignond/gsignond.conf 0
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
#!/bin/sh
# postrm script for gsignond
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <overwriter>
# <overwriter-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
ldconfig
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
#!/bin/sh
# preinst script for gsignond
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <new-preinst> `install'
# * <new-preinst> `install' <old-version>
# * <new-preinst> `upgrade' <old-version>
# * <old-preinst> `abort-upgrade' <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
install)
;;
upgrade)
cp -a /etc/gsignond.conf /etc/gsignond.conf.orig
;;
abort-upgrade)
;;
*)
echo "preinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
#!/bin/sh
# prerm script for gsignond
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <prerm> `remove'
# * <old-prerm> `upgrade' <new-version>
# * <new-prerm> `failed-upgrade' <old-version>
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
# * <deconfigured's-prerm> `deconfigure' `in-favour'
# <package-being-installed> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
remove|upgrade|deconfigure)
update-alternatives --remove gsignond.conf /etc/gsignond.conf
;;
failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
#!/usr/bin/make -f
# -*- makefile -*-
DEB_CONFIGURE_EXTRA_FLAGS += --enable-dbus-type=session
# Optionally build a debug version
#DEB_CONFIGURE_EXTRA_FLAGS += --enable-debug
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
# This has to be exported to make some magic below work.
export DH_OPTIONS
%:
dh $@ --parallel
override_dh_auto_configure:
dh_auto_configure -- --enable-dbus-type=session --enable-gtk-doc
override_dh_install:
mkdir -p debian/tmp/etc/gsignond
mv debian/tmp/etc/gsignond.conf debian/tmp/etc/gsignond/
dh_install
override_dh_auto_test:
true
# 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: 1.0.6
Release: 0
Group: System/Daemons
License: LGPL-2.1+
Source: %{name}-%{version}.tar.gz
URL: https://01.org/gsso
Provides: gsignon
%if %{dbus_type} != "p2p"
Requires: dbus-1
%endif
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}.
%package doc
Summary: Documentation files for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description doc
%{summary}.
%prep
%setup -q -n %{name}-%{version}
# for repository snapshot packages
#gtkdocize
# fore release source packages
autoreconf -f -i
%build
%if %{debug_build} == 1
%configure --enable-dbus-type=%{dbus_type} --enable-debug --enable-gtk-doc
%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}
groupadd -f -r gsignond
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING.LIB INSTALL NEWS README
%{_bindir}/%{name}
%{_libdir}/lib%{name}-*.so.*
%{_libdir}/%{name}/extensions/*.so*
%{_libdir}/%{name}/gplugins/*.so*
%{_libdir}/%{name}/pluginloaders/%{name}-plugind
%if %{dbus_type} != "p2p"
%{_datadir}/dbus-1/services/*SingleSignOn*.service
%endif
%exclude %{_libdir}/gsignond/extensions/*.la
%exclude %{_libdir}/gsignond/gplugins/*.la
%config(noreplace) %{_sysconfdir}/gsignond.conf
%files devel
%defattr(-,root,root,-)
%{_includedir}/%{name}/*.h
%{_libdir}/lib%{name}-*.so
%{_libdir}/lib%{name}-*.la
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/dbus-1/interfaces/*SSO*.xml
%files doc
%defattr(-,root,root,-)
%{_datadir}/gtk-doc/html/gsignond/*
%changelog
* Thu Feb 12 2015 Imran Zaman <imran.zaman@intel.com>
- Release 1.0.4
* Mon Jun 30 2014 Imran Zaman <imran.zaman@intel.com>
- Release 1.0.3
* Fri Mar 07 2014 Jussi Laako <jussi.laako@linux.intel.com>
- Release 1.0.1
* Thu Mar 06 2014 Imran Zaman <imran.zaman@intel.com>
- Release 1.0.0
* Fri Feb 28 2014 Jussi Laako <jussi.laako@linux.intel.com>
- Release 0.0.4
* Thu Aug 22 2013 Amarnath Valluri <amarnath.valluri@linux.intel.com>
- Release 0.0.3
- Bug fixes in UI interaction
- Documentation support
* Mon Jun 24 2013 Imran Zaman <imran.zaman@intel.com>
- Release 0.0.2 that comprises of bug fixes
* 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
* Tue Apr 11 2017 Corentin Noël <corentin@elementary.io>
- Release 1.0.6
* Thu Feb 12 2015 Imran Zaman <imran.zaman@intel.com>
- Release 1.0.4
* Mon Jun 30 2014 Imran Zaman <imran.zaman@intel.com>
- Release 1.0.3
* Wed Jun 25 2014 Jussi Laako <jussi.laako@linux.intel.com>
- Release 1.0.2
* Wed Jun 11 2014 Jussi Laako <jussi.laako@linux.intel.com>
- Add service file so the daemon gets auto-started inside the user session
* Fri Mar 07 2014 Jussi Laako <jussi.laako@linux.intel.com>
- Release 1.0.1
* Thu Mar 06 2014 Imran Zaman <imran.zaman@intel.com>
- Release 1.0.0
- Assorted fixes and cleanups, updated version
- docs: add documentation for multple plugin loaders
- Update .gitignore
- plugins: simplify process killing
- plugind: export the plugin object on d-bus after connecting all the signals and setting properties
- Other memory leak and bug fixes
* Fri Feb 28 2014 Jussi Laako <jussi.laako@linux.intel.com>
- Release 0.0.4
* Thu Aug 22 2013 Amarnath Valluri <amarnath.valluri@linux.intel.com>
- Release 0.0.3
- Bug fixes in UI interaction
- Documentation support
* Mon Jun 24 2013 Imran Zaman <imran.zaman@intel.com>
- Release 0.0.2 that comprises of bug fixes
* 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
<manifest>
<request>
<domain name="_"/>
</request>
</manifest>
# define used dbus type [p2p, session, system]
%define dbus_type p2p
# 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: 1.0.6
Release: 0
Group: Security/Accounts
License: LGPL-2.1+ and GPL-2.0+
Source: %{name}-%{version}.tar.gz
URL: https://01.org/gsso
Source1001: %{name}.manifest
Source1002: gsignond-cleandb
Provides: gsignon
%if %{dbus_type} != "p2p"
BuildRequires: dbus-1
%endif
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)
BuildRequires: pkgconfig(libecryptfs)
BuildRequires: pkgconfig(libsmack)
%description
%{summary} package
%package devel
Summary: Development files for %{name}
Group: SDK/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
%{summary} package
%package doc
Summary: Documentation files for %{name}
Group: SDK/Documentation
Requires: %{name} = %{version}-%{release}
%description doc
%{summary} package
%prep
%setup -q -n %{name}-%{version}
cp %{SOURCE1001} .
cp %{SOURCE1002} .
%build
autoreconf -ivf
%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
install -m 755 -d %{buildroot}%{_unitdir_user}
install -m 644 data/gsignond.service %{buildroot}%{_unitdir_user}/
install -m 755 -d %{buildroot}%{_unitdir_user}/default.target.wants
ln -sf ../gsignond.service %{buildroot}%{_unitdir_user}/default.target.wants/gsignond.service
install -m 755 -d %{buildroot}%{_sysconfdir}/gumd/userdel.d/
install -m 755 gsignond-cleandb %{buildroot}%{_sysconfdir}/gumd/userdel.d/
%post
/sbin/ldconfig
chmod u+s %{_bindir}/%{name}
getent group gsignond > /dev/null || /usr/sbin/groupadd -r gsignond
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%manifest %{name}.manifest
%doc AUTHORS COPYING.LIB
%{_bindir}/%{name}
%{_libdir}/lib%{name}-*.so.*
%{_libdir}/%{name}/extensions/*.so*
%{_libdir}/%{name}/gplugins/*.so*
%{_libdir}/%{name}/pluginloaders/%{name}-plugind
%if %{dbus_type} != "p2p"
%{_datadir}/dbus-1/services/*SingleSignOn*.service
%endif
%{_unitdir_user}/gsignond.service
%{_unitdir_user}/default.target.wants/gsignond.service
%config(noreplace) %{_sysconfdir}/gsignond.conf
%{_sysconfdir}/gumd/userdel.d/
%files devel
%defattr(-,root,root,-)
%{_includedir}/%{name}/*.h
%{_libdir}/lib%{name}-*.so
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/dbus-1/interfaces/*SSO*.xml
%files doc
%defattr(-,root,root,-)
%{_datadir}/gtk-doc/html/gsignond/*
## Process this file with automake to produce Makefile.in
# We require automake 1.6 at least.
AUTOMAKE_OPTIONS = 1.6
# This is a blank Makefile.am for using gtk-doc.
# Copy this to your project's API docs directory and modify the variables to
# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
# of using the various options.
# The name of the module, e.g. 'glib'.
DOC_MODULE=gsignond
# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
#DOC_MODULE_VERSION=2
# The top-level SGML file. You can change this if you want to.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
# Directories containing the source code.
# gtk-doc will search all .c and .h files beneath these paths
# for inline comments documenting functions and macros.
# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
DOC_SOURCE_DIR=$(top_srcdir)/include\
$(top_srcdir)/src/common\
$(top_srcdir)/src/plugins
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS=
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
SCAN_OPTIONS=
# Extra options to supply to gtkdoc-mkdb.
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
MKDB_OPTIONS=--xml-mode --output-format=xml
# Extra options to supply to gtkdoc-mktmpl
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
MKTMPL_OPTIONS=
# Extra options to supply to gtkdoc-mkhtml
MKHTML_OPTIONS=
# Extra options to supply to gtkdoc-fixref. Not normally needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
FIXXREF_OPTIONS=
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
HFILE_GLOB=
CFILE_GLOB=
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
EXTRA_HFILES=
# Header files or dirs to ignore when scanning. Use base file/dir names
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
IGNORE_HFILES=\
gsignond-disposable.h\
gsignond-identity-info.h\
gsignond-identity-info-internal.h\
gsignond-pipe-stream.h\
gsignond-plugin-enum-types.h\
gsignond-db-defines.h\
gsignond-db-error.h\
gsignond-db-secret-database.h\
gsignond-db-sql-database.h\
gsignond-db-sql-database-private.h
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
HTML_IMAGES=
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
content_files=building.xml plugin-loaders-overview.xml
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
# These files must be listed here *and* in content_files
# e.g. expand_content_files=running.sgml
expand_content_files=
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
# signals and properties.
# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
GTKDOC_CFLAGS=
GTKDOC_LIBS=\
$(top_builddir)/src/common/libgsignond-common.la\
$(top_builddir)/src/plugins/digest/libdigest.la\
$(top_builddir)/src/plugins/password/libpassword.la\
$(top_builddir)/src/plugins/ssotest/libssotest.la
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
# e.g. EXTRA_DIST += version.xml.in
EXTRA_DIST +=
# Files not to distribute
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
#DISTCLEANFILES +=
# Comment this out if you want 'make check' to test you doc status
# and run some sanity checks
if ENABLE_GTK_DOC