Code review comment for lp://qastaging/~amigadave/gnome-control-center-signon/standalone-preferences

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

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/libcredentials_la-cc-credentials-accounts-model.lo src/libcredentials_la-cc-credentials-accounts-page.lo src/libcredentials_la-cc-credentials-applications-model.lo src/libcredentials_la-cc-credentials-authorization-page.lo src/libcredentials_la-cc-credentials-login-capture.lo src/libcredentials_la-cc-credentials-preferences.lo src/libcredentials_la-cc-credentials-providers-model.lo src/libcredentials_la-cc-credentials-providers-page.lo src/libcredentials_la-cc-webcredentials-indicator.lo src/libcredentials_la-cc-credentials-panel.lo -laccounts-glib -lsignon-glib -lgnome-control-center -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 libaccount-plugin-1.0.la )
libtool: install: /usr/bin/install -c .libs/libcredentials.soT /usr/lib/control-center-1/panels/libcredentials.so
/usr/bin/install: cannot remove `/usr/lib/control-center-1/panels/libcredentials.so': Permission denied
make[2]: *** [install-ccpanelsLTLIBRARIES] Error 1
make[2]: Leaving directory `/media/mardy/Data/src/bzr/accounts-sso/gnome-control-center/standalone-preferences'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/media/mardy/Data/src/bzr/accounts-sso/gnome-control-center/standalone-preferences'
make: *** [install-recursive] Error 1
============

It's trying to remove the library installed on the system, for some reason. However I noticed that this happens with trunk as well, so it's not a blocker for this merge request.

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?

review: Needs Fixing

« Back to merge proposal