Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 215281 - >=mail-client/mail-notification-5.2 does not install schema files correctly in some cases
Summary: >=mail-client/mail-notification-5.2 does not install schema files correctly i...
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Hans de Graaff
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-29 06:02 UTC by Balint Dobai-Pataky
Modified: 2009-01-04 10:16 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Balint Dobai-Pataky 2008-03-29 06:02:19 UTC
it gives:
mail-notification 

** (mail-notification:5725): WARNING **: cannot find default value of configuration key "/apps/mail-notification/tooltip-mail-summary-limit"

** (mail-notification:5725): WARNING **: cannot find default value of configuration key "/apps/mail-notification/popups/expiration/delay-2"

** (mail-notification:5725): WARNING **: cannot find default value of configuration key "/apps/mail-notification/fallback-charsets"

** (mail-notification:5725): WARNING **: cannot find default value of configuration key "/apps/mail-notification/popups/expiration/delay-2"


and it popped up a window about wrong default mail notification installation 

Reproducible: Always
Comment 1 Harris Landgarten 2008-03-30 17:03:08 UTC
I see the same on AMD64. Downgrading to 5.0-r1 fixes the problem.
Comment 2 Hans de Graaff gentoo-dev Security 2008-03-31 18:11:53 UTC
This seems to work fine for me (on amd64), and checking with gconf-editor shows me that I do have all of those keys. I would assume that mail-notification would just install the defaults if they are not there.

Normally these new keys should be in the updated gconf schema file which should be located in /etc/gconf/schemas/mail-notification.schemas. Did this file get updated during installation? Does it contain the new keys (eg the tooltip-mail-summary-limit key at the end of the file)?
Comment 3 Balint Dobai-Pataky 2008-04-01 05:58:13 UTC
the file /etc/gconf/schemas/mail-notification.schemas does not exist.
/usr/share/gconf/schemas/mail-notification.schemas has yhe key tooltip-mail-summary-limit.
Comment 4 Balint Dobai-Pataky 2008-04-04 20:36:24 UTC
as user had to run:
gconftool-2 --install-schema-file=//usr/share/gconf/schemas/mail-
notification.schemas
Comment 5 Harris Landgarten 2008-04-04 21:54:33 UTC
Comment 4 fixed the problem for me. Is this an upstream problem or an omission from the ebuild?
Comment 6 Aggelos Orfanakos (RETIRED) gentoo-dev 2008-04-04 23:18:30 UTC
Comment 4 didn't fix the problem for me.
Comment 7 Balazs Nemeth 2008-04-05 00:00:30 UTC
(In reply to comment #4)
> as user had to run:
> gconftool-2 --install-schema-file=//usr/share/gconf/schemas/mail-
> notification.schemas
> 

Worked for me.
Köszi a tippet. :)
Comment 8 Hans de Graaff gentoo-dev Security 2008-04-12 08:14:21 UTC
For those of you that had or have this problem, could you include the output of 

gconftool-2 --get-default-source
Comment 9 Hans de Graaff gentoo-dev Security 2008-04-12 12:31:05 UTC
It would also be useful to know the output of the following command:

bzgrep GNOME2_ECLASS_SCHEMAS /var/db/pkg/mail-client/mail-notification-5.2*/environment.bz2
Comment 10 Aggelos Orfanakos (RETIRED) gentoo-dev 2008-04-12 15:27:09 UTC
xml:merged:/etc/gconf/gconf.xml.defaults

and

GNOME2_ECLASS_SCHEMAS=
    if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then
    for F in ${GNOME2_ECLASS_SCHEMAS};
    export GNOME2_ECLASS_SCHEMAS=$(find 'etc/gconf/schemas/' -name '*.schemas' 2> /dev/null);
    if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then
    for F in ${GNOME2_ECLASS_SCHEMAS};
declare -x GNOME2_ECLASS_SCHEMAS=""

respectively. Let me know if you need anything else. :-)
Comment 11 Peter Asplund 2008-04-29 11:21:45 UTC
The issue might be the one mentioned on the projects homepage:
"A crash affecting Evolution mailboxes on 64-bit systems has been fixed."

which seems to be fixed in 5.3. But perhaps not, since I don't have any Evolution mailboxes. I haven't the new version yet though, waiting for it to get into portage.
Comment 12 Hans de Graaff gentoo-dev Security 2008-04-29 16:30:48 UTC
(In reply to comment #11)
> The issue might be the one mentioned on the projects homepage:
> "A crash affecting Evolution mailboxes on 64-bit systems has been fixed."

No, that crash is completely unrelated to this issue and fixed in 5.2-r1.
Comment 13 Peter Asplund 2008-04-29 19:55:49 UTC
(In reply to comment #11)
> The issue might be the one mentioned on the projects homepage:
> "A crash affecting Evolution mailboxes on 64-bit systems has been fixed."
> 
> which seems to be fixed in 5.3. But perhaps not, since I don't have any
> Evolution mailboxes. I haven't the new version yet though, waiting for it to
> get into portage.
> 

Comment 4 fixed the issue for me, thanks! Just wished I had looked at the bugzilla two weeks ago ;)
Comment 14 Norman Jonas 2008-04-30 23:30:00 UTC
The problem still exists in mail-notification-5.3. It would be nice if someone could rename this bug, e.g. >mail-notification-5.0-r1 : default configuration is not installed correctly.

comment #4 fixed it for me

( @ those for whom the fix does not work : execute as the correct user )

The problem seems to be the wrong installation path of the schemas file(s).
Comment 15 Hans de Graaff gentoo-dev Security 2008-05-02 05:03:29 UTC
For those of you who have or had this problem, please try to provide the information in comment 8 and comment 9 so that we can work towards a solution. Even though the command in comment 4 solves the problem, it is not the solution we should be looking for in the ebuild, since the files should not be in /usr/share in the first place.
Comment 16 Norman Jonas 2008-05-02 13:47:15 UTC
(In reply to comment #15)
gconftool-2 --get-default-source is correct ( /etc/... ). Probably its a bug in the -propietary- build system of mail-notification.

The function which sets the value is in jbsrc/lib/src/core/jb-feature.c :

static void
gconf_configure (void)
{
  JBVariable *variable;

  jb_require_program("gconftool-2");

  if (! strcmp(jb_variable_get_string("gconf-config-source"), "autodetect"))
    {
      char *config_source;

      if (! jb_exec_expand(&config_source, NULL, "$gconftool-2 --get-default-source", NULL))
	jb_error("unable to detect the GConf configuration source address");

      jb_variable_set_string("gconf-config-source", config_source);
      g_free(config_source);
    }

  /* fix the default schemas dir on Ubuntu */
  variable = jb_variable_get_variable_or_error("gconf-schemas-dir");
  if (! variable->user_set)
    {
      static const char *ubuntu_dir = "$datadir/gconf/schemas";
      char *expanded;

      expanded = jb_variable_expand(ubuntu_dir, NULL);

      if (g_file_test(expanded, G_FILE_TEST_IS_DIR))
	jb_variable_set_string("gconf-schemas-dir", ubuntu_dir);

      g_free(expanded);
    }
}

I assume the bug is in there - either the correct value doesnt get set in the first part or the value gets overwritten in the ubuntu part in any case.

Rant : I really wonder why someone writes his own brand new build system for such a tiny app. It has no chance of becoming a standard ( autotools are the standard / cmake maybe will be a standard, jbsrc never will be a standard ) imposing additional work on distributions / maintainers.
Comment 17 Balazs Nemeth 2008-05-02 17:00:51 UTC
(In reply to comment #15)
> For those of you who have or had this problem, please try to provide the
> information in comment 8 and comment 9 so that we can work towards a solution.
> Even though the command in comment 4 solves the problem, it is not the solution
> we should be looking for in the ebuild, since the files should not be in
> /usr/share in the first place.
> 

I am using mail-notification-5.3 right now, but 5.2 needed this workaround to work.

Here comes the info you asked.

xml:merged:/etc/gconf/gconf.xml.defaults

GNOME2_ECLASS_SCHEMAS=
    if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then
    for F in ${GNOME2_ECLASS_SCHEMAS};
    export GNOME2_ECLASS_SCHEMAS=$(find 'etc/gconf/schemas/' -name '*.schemas' 2> /dev/null);
    if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then
    for F in ${GNOME2_ECLASS_SCHEMAS};
declare -x GNOME2_ECLASS_SCHEMAS=""
Comment 18 Hans de Graaff gentoo-dev Security 2008-07-22 09:53:43 UTC
I've just added mail-notification 5.4 to the tree. In this version I've removed the ubuntu special case code mentioned in comment 16. I hope that this fixes the problem, but I would like to get some feedback on that from people who had the earlier problems.

Note that the problem may not be obvious as you already installed the correct schema files manually, so the thing to look for is to see where emerge places the schema files. You should see this among the files:

>>> /etc/gconf/schemas/mail-notification.schemas

If you see this file being installed in /usr/share then it would be helpful if you could attach a full build log to the bug.
Comment 19 Norman Jonas 2008-07-22 12:20:33 UTC
(In reply to comment #18)
> I've just added mail-notification 5.4 to the tree. In this version I've removed
> the ubuntu special case code mentioned in comment 16. I hope that this fixes
> the problem, but I would like to get some feedback on that from people who had
> the earlier problems.
> 
> Note that the problem may not be obvious as you already installed the correct
> schema files manually, so the thing to look for is to see where emerge places
> the schema files. You should see this among the files:
> 
> >>> /etc/gconf/schemas/mail-notification.schemas
> 
> If you see this file being installed in /usr/share then it would be helpful if
> you could attach a full build log to the bug.
> 

mail-notification 5.4 now works fine for me - schemas file is where it belongs.
Comment 20 Aggelos Orfanakos (RETIRED) gentoo-dev 2008-08-02 20:12:15 UTC
(In reply to comment #19)
> mail-notification 5.4 now works fine for me - schemas file is where it belongs.

Same here!