Merge lp://qastaging/~amigadave/gnome-control-center-signon/standalone-preferences into lp://qastaging/gnome-control-center-signon

Proposed by David King
Status: Merged
Approved by: Alberto Mardegan
Approved revision: 128
Merged at revision: 125
Proposed branch: lp://qastaging/~amigadave/gnome-control-center-signon/standalone-preferences
Merge into: lp://qastaging/gnome-control-center-signon
Diff against target: 377 lines (+62/-240)
5 files modified
.bzrignore (+2/-0)
Makefile.am (+36/-18)
configure.ac (+16/-0)
online-accounts-preferences.in (+8/-0)
po/Makefile.in.in (+0/-222)
To merge this branch: bzr merge lp://qastaging/~amigadave/gnome-control-center-signon/standalone-preferences
Reviewer Review Type Date Requested Status
Alberto Mardegan (community) Approve
PS Jenkins bot (community) continuous-integration Needs Fixing
Review via email: mp+134278@code.qastaging.launchpad.net

Description of the change

Add ability to configure the package with a standalone preferences binary

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Alberto Mardegan (mardy) wrote :
Download full text (5.0 KiB)

I ran

  ./autogen.sh --prefix=/tmp/test

and then make install failed:

===============
 /bin/mkdir -p '/tmp/test/lib'
 /bin/bash ./libtool --mode=install /usr/bin/install -c libaccount-plugin-1.0.la '/tmp/test/lib'
libtool: install: /usr/bin/install -c .libs/libaccount-plugin-1.0.so.0.0.0 /tmp/test/lib/libaccount-plugin-1.0.so.0.0.0
libtool: install: (cd /tmp/test/lib && { ln -s -f libaccount-plugin-1.0.so.0.0.0 libaccount-plugin-1.0.so.0 || { rm -f libaccount-plugin-1.0.so.0 && ln -s libaccount-plugin-1.0.so.0.0.0 libaccount-plugin-1.0.so.0; }; })
libtool: install: (cd /tmp/test/lib && { ln -s -f libaccount-plugin-1.0.so.0.0.0 libaccount-plugin-1.0.so || { rm -f libaccount-plugin-1.0.so && ln -s libaccount-plugin-1.0.so.0.0.0 libaccount-plugin-1.0.so; }; })
libtool: install: /usr/bin/install -c .libs/libaccount-plugin-1.0.lai /tmp/test/lib/libaccount-plugin-1.0.la
libtool: finish: PATH="/home/mardy/bin:/home/mardy/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/sbin" ldconfig -n /tmp/test/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /tmp/test/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /bin/mkdir -p '/tmp/test/bin'
  /bin/bash ./libtool --mode=install /usr/bin/install -c credentials-preferences '/tmp/test/bin'
libtool: install: /usr/bin/install -c .libs/credentials-preferences /tmp/test/bin/credentials-preferences
 /bin/mkdir -p '/tmp/test/libexec'
  /bin/bash ./libtool --mode=install /usr/bin/install -c update-accounts '/tmp/test/libexec'
libtool: install: /usr/bin/install -c update-accounts /tmp/test/libexec/update-accounts
 /bin/mkdir -p '/usr/lib/control-center-1/panels'
 /bin/bash ./libtool --mode=install /usr/bin/install -c libcredentials.la '/usr/lib/control-center-1/panels'
libtool: install: warning: relinking `libcredentials.la'
libtool: install: (cd /home/mardy/src/bzr/accounts-sso/gnome-control-center/standalone-preferences; /bin/bash /home/mardy/src/bzr/accounts-sso/gnome-control-center/standalone-preferences/libtool --silent --tag CC --mode=relink gcc -g -O2 -O0 -fprofile-arcs -ftest-coverage -export_dynamic -avoid-version -module -no-undefined -export-symbols-regex "^g_io_module_(load|unload)" -lgcov -o libcredentials.la -rpath /usr/lib/control-center-1/panels src/libcredentials_la-cc-credentials-account-applications-model.lo src/libcredentials_la-cc-credentials-account-details-page.lo src/libcredenti...

Read more...

review: Needs Fixing
Revision history for this message
David King (amigadave) wrote :

The library path (for the gnome-control-center panel) comes from the pkg-config file, but you can override that with an environment variable (control_center_extensiondir).

> The most serious issue is with the D-Bus service file: if you build both the control center and the
> standalone app, the .service file uses the control center executable. This means that the debian
> packages generated will not work properly in an environment where the gnome control center is not
> installed.
>
> I'm not sure on how to fix this. Maybe have the D-Bus service file use a small shell script to
> decide whether to exec the control center or the standalone app?

This is likely a good idea, as currently the canonical way for applications to open the Online Accounts panel is to call "gnome-control-center credentials", which of course would not work with a standalone preferences panel.

127. By David King

Add simple helper script to launch panel or standalone preferences

This can be called by the D-Bus service to start whichever preferences
application is installed, and prefers the panel embedded into GNOME
Control Center if both are installed.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
VĂ­ctor R. Ruiz (vrruiz) wrote :

automake: cannot open < gtk-doc.make: No such file or directory
autoreconf: automake failed with exit status: 1

Revision history for this message
David King (amigadave) wrote :

> automake: cannot open < gtk-doc.make: No such file or directory
> autoreconf: automake failed with exit status: 1

I had a closer look at the build log, and saw that the packaging calls autoreconf, rather than using autogen.sh (which in turns calls gnome-autogen.sh). In order for gtkdocize to be executed (which would copy gtk-doc.make into the source tree), autogen.sh should be used instead of calling autoreconf.

Revision history for this message
Alberto Mardegan (mardy) wrote :

I can't get the service to be activated:

==============
mardy@ubuntu-devel:~/src/bzr/accounts-sso/gnome-control-center/standalone-preferences$ dbus-send --session --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.StartServiceByName string:com.canonical.webcredentials.capture uint32:0
Error org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /usr/bin/online-account-preferences: Success
==============

The script is called /usr/bin/online-accounts-preferences (note "accounts" vs "account").

review: Needs Fixing
128. By David King

Make the D-Bus service file call the helper script

Revision history for this message
David King (amigadave) wrote :

I fixed the typo in the latest commit.

Revision history for this message
Alberto Mardegan (mardy) wrote :

Excellent, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: