Bug 197191 - [patch] devel/dconf: hardcoded "/etc" causes ibus-dconf failure, leading to engine preferences not saved
Summary: [patch] devel/dconf: hardcoded "/etc" causes ibus-dconf failure, leading to ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Xin LI
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-30 06:17 UTC by Christopher Hall
Modified: 2015-09-09 01:09 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (gnome)


Attachments
patch port Makefile to substitute "/etc" (408 bytes, patch)
2015-01-30 06:17 UTC, Christopher Hall
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher Hall 2015-01-30 06:17:45 UTC
Created attachment 152364 [details]
patch port Makefile to substitute "/etc"

Basically devel/dconf does not read profiles from /usr/local/etc/dconf/profile

Here is the problem that lead to this:

I found that ibus engine preferences are not saved e.g. from a Chinese Bopomofo selecting traditional mode would not be retained and engine would always return to default when switching between English and Chinese.

The main settings panel (ibus-settings) is fine and not affected by this.

here is a small sample of truss output:

open("/etc/dconf/profile/ibus",O_RDONLY,0666)    ERR#2 'No such file or directory'
open("/share/dconf/profile/ibus",O_RDONLY,0666)  ERR#2 'No such file or directory'
open("/usr/share/dconf/profile/ibus",O_RDONLY,0666) ERR#2 'No such file or directory'
open("/usr/local/share/dconf/profile/ibus",O_RDONLY,0666) ERR#2 'No such file or directory'
getpid()                                         = 35300 (0x89e4)
write(2,"\n(ibus-dconf:35300): dconf-WARNING **: unable to open named profile (ibus): using the null configuration.\n",106) = 106 (0x6a)

The textproc/ibus port actually installs this file as: /usr/local/etc/dconf/profile/ibus

The real cause is that the devel/dconf file: engine/dconf-engine-profile.c hard codes "/etc" and the sed command in port Makefile looks only for /etc/
therefore add an additional s/// to change all "/etc" (with quotes for safety)
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2015-01-30 06:17:45 UTC
Auto-assigned to maintainer gnome@FreeBSD.org
Comment 2 Henry Hu 2015-06-16 06:25:51 UTC
So after https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=186616, they moved /etc into a common variable....
Comment 3 Kurt Jaeger freebsd_committer freebsd_triage 2015-06-16 16:28:32 UTC
Test-build on 10.1a, 9.3a, 8.4i went fine.

Does gnome@ approve ?
Comment 4 Christopher Hall 2015-09-03 01:41:35 UTC
Any progress with this?
Comment 5 commit-hook freebsd_committer freebsd_triage 2015-09-09 01:07:20 UTC
A commit references this bug:

Author: delphij
Date: Wed Sep  9 01:06:57 UTC 2015
New revision: 396450
URL: https://svnweb.freebsd.org/changeset/ports/396450

Log:
  Replace "/etc" with $PREFIX/etc.  Without this change ibus-dconf won't be
  able to save input method engine preferences.

  PR:		ports/197191
  Submitted by:	Christopher Hall <christopherhall hsw gmail.com>
  Approved by:	maintainer timeout (> 6 months)
  MFH:		2015Q3

Changes:
  head/devel/dconf/Makefile
Comment 6 commit-hook freebsd_committer freebsd_triage 2015-09-09 01:08:22 UTC
A commit references this bug:

Author: delphij
Date: Wed Sep  9 01:07:35 UTC 2015
New revision: 396451
URL: https://svnweb.freebsd.org/changeset/ports/396451

Log:
  MFH: r396450

  Replace "/etc" with $PREFIX/etc.  Without this change ibus-dconf won't be
  able to save input method engine preferences.

  PR:		ports/197191
  Submitted by:	Christopher Hall <christopherhall hsw gmail.com>
  Approved by:	ports-secteam

Changes:
_U  branches/2015Q3/
  branches/2015Q3/devel/dconf/Makefile
Comment 7 Xin LI freebsd_committer freebsd_triage 2015-09-09 01:09:21 UTC
Committed, thanks!