You are not logged in.
I often find myself in the situation where I would like to make a package of some piece of Gnome related software. By looking at other PKGBUILDs from Arch Linux CVS, I take it that there are some peculiarities in making packages of Gnome software (gconf, scrollkeeper, others?).
Could anyone who understands something about it please comment on those special procedures one needs to put in a Gnome related PKGBUILD so that the software builds and installs cleanly?
Thank you!
Offline
i would styrongly recommend contacting JGC or Blaasvis who are the gnome maintainers. You could email them (Arjan = laasvis and Jan = JGC). They will give you the lowdown. Some gnome builds can be very easy because they are not heavily dependent upon gnome packages that are then interdependent on other gnome packages.
AKA uknowme
I am not your friend
Offline
i am not really understanding what the question is.
If it is about the gconf schemes, Just look how we did it in .install files.
could you please be more specific.
thx...
Freedom is what i love
Offline
OK, there we go:
1) What is this part for? Why is it necessary? Do I need to adapt it if I am making my own packages?
find . -name Makefile.in -exec sed -i -e 's/-scrollkeeper-update.*//' {} ;
if [ -f omf.make ]; then
sed -i -e 's/-scrollkeeper-update.*//' omf.make
fi
2) Same questions here:
for schema in "${schemas[@]}" ; do
GCONF_CONFIG_SOURCE=`opt/gnome/bin/gconftool-2 --get-default-source` opt/gnome/bin/gconftool-2 --makefile-install-rule "$schema" > /dev/null 2>&1
done
kill -HUP `pidof /opt/gnome/bin/gconfd-2` > /dev/null 2>&1
echo "updating scrollkeeper catalogue ..."
scrollkeeper-update -p /var/lib/scrollkeeper > /dev/null 2>&1
update-desktop-database > /dev/null 2>&1
Offline
1) Without knowing too much about scrollkeeper, it looks like the Makefile is bad, poorly written, or just doesn't work well under Arch. This happens every now and then - some people make bad make files, so in order to make it work you have to do something which will make it behave like a normal makefile. In this case, the PKGBUILD is just removing "-scrollkeeper-update.*" from all the Makefiles...
2) I would assume this is just installing gconf schemas......
If you are making your own packages you need to understand quite a bit about Makefiles and things of that nature... otherwise you won't be able to get these things to work...
In addition, why do you want to make your own gconf and scrollkeeper packages?
Offline
In addition, why do you want to make your own gconf and scrollkeeper packages?
I don't. Scrollkeeper and gconf are Gnome components used by many software programs for Gnome (docs and registry).
Offline
OK, there we go:
1) What is this part for? Why is it necessary? Do I need to adapt it if I am making my own packages?
find . -name Makefile.in -exec sed -i -e 's/-scrollkeeper-update.*//' {} ; if [ -f omf.make ]; then sed -i -e 's/-scrollkeeper-update.*//' omf.make fi
simple: many packages run "scrollkeeper-update" on "make install". this is hardcoded and cannot be disabled, so we just wreck it out of all Makefiles and an optional omf.make file. This prevents packages with included scrollkeeper databases. They should be generated in post_install and post_remove instead.
You have to run this piece of code for every package that includes .omf files.
2) Same questions here:
for schema in "${schemas[@]}" ; do GCONF_CONFIG_SOURCE=`opt/gnome/bin/gconftool-2 --get-default-source` opt/gnome/bin/gconftool-2 --makefile-install-rule "$schema" > /dev/null 2>&1 done kill -HUP `pidof /opt/gnome/bin/gconfd-2` > /dev/null 2>&1 echo "updating scrollkeeper catalogue ..." scrollkeeper-update -p /var/lib/scrollkeeper > /dev/null 2>&1 update-desktop-database > /dev/null 2>&1
We make a schemafile array of schemas we want to install in gconf. This array of schemafiles is run through with gconftool-2. This needs to be done for applications that have /opt/gnome/etc/gconf/schemas/* files. You also need to pass the --disable-schemas-install option to configure, or wreck the script with some sed lines as done with gnomemeeting, which doesn't work nicely with --disable-schemas-install option.
After registering gconf keys using direct database writes, we notify all running gconfd-2 processes that it should re-read that db, since something could have been changed.
The scrollkeeper-update thing is a replacement in postinstall for what was wrecked out of the Makefiles at 1).
Update-desktop-database stuff is to update the mime cache files with new mimetype registrations included in some .desktop files. Only needed when you have .desktop files with mimeType lines in it, but it doesn't harm to run it without need for it.
Hope to be clear about these. All gnome packages should have these in (epiphany is an example since latest release, look at that one), if you find one without it applied yet, file it as a bug.
Offline
Thanks! Very insightful.
Offline