Closed GoogleCodeExporter closed 9 years ago
According to what I have seen in the gconf examples, when you choose
--disable-schemas-install the files should not be copied and they should not be
registered in gconf. Under what use case are you wanting this particular
behavior.
Original comment by kdeko...@gmail.com
on 12 Nov 2008 at 5:08
Hi..
thx for the reply.
I'm working on Slackware buildscripts that create packages for Slackware Linux
(just
like the .spec files for rpm based distributions). Like other people who are
working
on packages for Slackware the packages will be created using
'./configure && make && make install DESTDIR=xyz'
If the schema files get installed (not copied!) using gconftool-2 into
${DESTDIR}/etc/gconf/gconf.xml.defaults
and the package will get installed later then that directory would replace the
whole
gconf-database. For the packages i do maintain i have to use
'--disable-schemas-install' or, for packages that do not support that correct,
delete
that directory.
For me it's not a problem to add the gecko-schema-files manually (since this is
the
only package i have to modify) but the idea behind that might be that you can
install
many packages and then simply run gconftool-2 for every schema-file in
etc/gconf/schemas to install all schemas at once.
If that is correct what you said about the gconf examples then a lot of GNOME
related
packages do work different to the examples (just installed more then 60
packages).
Here is a sample line from gedit during 'make install' with
--disable-schemas-install':
test -z "/etc/gconf/schemas" || /usr/bin/mkdir -p "/etc/gconf/schemas"
/usr/bin/ginstall -c -m 644 'gedit.schemas' '/etc/gconf/schemas/gedit.schemas'
Same from totem:
test -z "/etc/gconf/schemas" || /usr/bin/mkdir -p "/etc/gconf/schemas"
/usr/bin/ginstall -c -m 644 'totem.schemas' '/etc/gconf/schemas/totem.schemas'
/usr/bin/ginstall -c -m 644 'totem-video-thumbnail.schemas'
'/etc/gconf/schemas/totem-video-thumbnail.schemas'
/usr/bin/ginstall -c -m 644 'totem-handlers.schemas'
'/etc/gconf/schemas/totem-handlers.schemas'
When i look to the Makefiles i think schemas get copied to /etc/gconf/schemas
but the
section that would run gconftool-2 to install the schemas is commented out. In
case
of totem the Makefile.in in totem/data looks like that:
install-data-local: $(schema_DATA)
@GCONF_SCHEMAS_INSTALL_TRUE@ if test -z "$(DESTDIR)" ; then \
@GCONF_SCHEMAS_INSTALL_TRUE@ for p in $^ ; do \
@GCONF_SCHEMAS_INSTALL_TRUE@ GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE)
$(GCONFTOOL) --makefile-install-rule $$p 2>&1 > /dev/null; \
@GCONF_SCHEMAS_INSTALL_TRUE@ done \
@GCONF_SCHEMAS_INSTALL_TRUE@ fi
And after compile the Makefile in totem/data looks like that:
install-data-local: $(schema_DATA)
# if test -z "$(DESTDIR)" ; then \
# for p in $^ ; do \
# GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL)
--makefile-install-rule $$p 2>&1 > /dev/null; \
# done \
# fi
So it looks like the schemas get copied and if --disable-schemas-install is
used they
will not get installed to the gconf database.
Markus
Original comment by markus.k...@googlemail.com
on 12 Nov 2008 at 7:07
Well if you want to patch up the Makefile.am in gecko-mediaplayer, I'd be
willing to
look at it. But I know I did find an example somewhere, otherwise I would not
have
known how to do it. I use the same type of setup in gnome-mplayer as well.
I realize you are trying to save some CPU by delaying the run of gconftool, but
are
you really saving that much?
Original comment by kdeko...@gmail.com
on 12 Nov 2008 at 7:20
Well, like i said, i could fix the package manually. It's not about saveing CPU
time,
it's just i have to fix the install since gecko-mediaplayer behaves different
to many
other packages.
I just used google to find some documentation but that was not that easy. From
what i
understand Fedora and OpenSuSE do also use --disable-schemas-install when
building
the RPM and then run gconftool-2 from the "%post" section during install. And
i'm
sure for the same reason:
If they would use '--with-gconf' then gecko-mediaplayer would install the schema
files to the ${DESTDIR}/etc/gconf/gconf.xml.defaults directory. If such an RPM
would
be installed it would also overwrite the systems gconf database. That is why
Fedora
also uses --disable-schemas-install (for other packages that will support that)
and
do only install the new schema files from the '%post' section of the rpm
install script.
I prefer to install all schemas at once but for single packages i do also add a
'%post' section to the slackware specific install script, just like Fedora or
OpenSuSE.
So it is not to save CPU time... it's just to get conmpatible with other
packaging
rules. Using '--with-gconf' to create the schemas and
'--disable-schemas-install' to
not install the schemas to the temporary install location and packagers do have
to
add the schema files manually to the package using
'cp file1 file2 file3 file4 file5 ${DESTDIR}/etc/gconf/schemas'
As i understand that option it will prevent the Makefile to install the schem
files
to the temporary system gconf database, it will not prevend the makefile from
copy
the files itself... but i may be wrong.
Markus
Original comment by markus.k...@googlemail.com
on 12 Nov 2008 at 8:15
P.S. I forgot to add that i do not have enough knowledge to patch the makefile
myself
so it might be best to make my script to remove these extra files from the
package or
to use :
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
make install DESTDIR=xyz
unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
like described here:
http://fedoraproject.org/wiki/PackagingDrafts/ScriptletSnippets#GConf
Have not tested that myself with gecko-mediaplayer yet...
Original comment by markus.k...@googlemail.com
on 12 Nov 2008 at 8:25
Original comment by kdeko...@gmail.com
on 6 Feb 2009 at 8:09
Original issue reported on code.google.com by
markus.k...@googlemail.com
on 12 Nov 2008 at 6:35