gnome-zeitgeist-users team mailing list archive
-
gnome-zeitgeist-users team
-
Mailing list archive
-
Message #00041
Patch to installation
Hi,
I am currently trying to package gnome-activity-journal for Fedora, and
in doing so I have run into a few issues with the distutils installation
setup.
Now I have to admit that I am not an expert at distutils, but I have
attached a patch that tries to make the installation a bit smoother - at
least seen from a packagers perspective.
One thing I tried to fix was to make sure that all needed files were
actually getting installed. This meant making sure that the desktop file
and the mo files were getting installed. Apparently there is no sensible
way to install GConf schemas to the right location using distutils, so I
haven't solved that issue, unfortunately.
When creating a package it is generally frowned upon to have absolute
symlinks included. Therefore I have removed all the symlinks. The
symlinking of share/icons didn't seem to be needed anymore, so that one
just got removed. Symlinking the icon for gnome-activity-journal has
been replaced by an extra copy of the icon (hopefully not a problem).
The symlink for the main executable has been replaced with a small shell
script that merely execs the actual executable. The script will have to
be modified during installation to point to the correct installation
path of gnome-activity-journal but I haven't done that yet - I first
wanted to find out if this would be an acceptable way forward.
I hope that some of this work can be used by you.
Regards.
--
Mads Villadsen <maxx@xxxxxxxxx>
=== modified file 'extra/gnome-activity-journal.desktop.in'
--- extra/gnome-activity-journal.desktop.in 2010-01-17 19:28:29 +0000
+++ extra/gnome-activity-journal.desktop.in 2010-02-26 12:08:43 +0000
@@ -3,6 +3,6 @@
_Name=Activity Journal
_GenericName=Activity Journal
_Comment=Browse a chronological log of your activities and easily find files, contacts, etc.
-Exec=gnome-activity-journal
+Exec=gnome-activity-journal.sh
Icon=gnome-activity-journal
Categories=GTK;Utility;
=== added file 'gnome-activity-journal.sh'
--- gnome-activity-journal.sh 1970-01-01 00:00:00 +0000
+++ gnome-activity-journal.sh 2010-02-26 12:08:21 +0000
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+PREFIX=/usr
+GAJDIR=share/gnome-activity-journal
+
+exec $PREFIX/$GAJDIR/gnome-activity-journal
\ No newline at end of file
=== modified file 'setup.cfg'
--- setup.cfg 2010-01-19 17:59:18 +0000
+++ setup.cfg 2010-02-26 12:09:09 +0000
@@ -2,4 +2,4 @@
domain=gnome-activity-journal
bug_contact=zeitgeist@xxxxxxxxxxxxxxxxxxx
desktop_files=[('share/applications', ('extra/gnome-activity-journal.desktop.in',))]
-schemas_files=[('share/gconf/schemas', ('extra/gnome-activity-journal.schemas.in',))]
+schemas_files=[('etc/gconf/schemas', ('extra/gnome-activity-journal.schemas.in',))]
=== modified file 'setup.py'
--- setup.py 2010-02-23 13:57:42 +0000
+++ setup.py 2010-02-26 12:16:12 +0000
@@ -46,22 +46,6 @@
else:
self._destdir = self.prefix
orig_install.run(self)
- # Ensure the needed directories exist
- self._create_directory('bin')
- self._create_directory('share/pixmaps')
- # Create a symlink for the executable file
- self._create_symlink(
- 'share/gnome-activity-journal/gnome-activity-journal',
- 'bin/gnome-activity-journal')
- # Symlink the 48x48 PNG icon into share/pixmaps
- self._create_symlink(
- 'share/gnome-activity-journal/data/icons/hicolor/48x48/apps/' \
- 'gnome-activity-journal.png',
- 'share/pixmaps/gnome-activity-journal.png')
- # Symlink the icons so that the Journal can find them
- self._create_symlink(
- 'share/icons/',
- 'share/gnome-activity-journal/data/icons')
class _build_i18n(build_i18n.build_i18n):
@@ -117,9 +101,18 @@
platforms = ['GNU/Linux'],
data_files = list_from_lists(
[('share/gnome-activity-journal', ['gnome-activity-journal'])],
+ [('bin/', ['gnome-activity-journal.sh'])],
[('share/gnome-activity-journal/data', glob('data/*.svg'))],
[('share/gnome-activity-journal/data/zlogo', glob('data/zlogo/*.png'))],
[('share/pixmaps/', ['data/gnome-activity-journal.xpm'])],
+ [('share/pixmaps/', ['data/icons/hicolor/48x48/apps/gnome-activity-journal.png'])],
+
+ [('share/applications/', ['build/share/applications/gnome-activity-journal.desktop'])],
+ recursive_install('share/locale', 'build/mo/', '',
+ ext=['.mo']),
+ # gconf schemas can apparently not be easily installed using distutils
+ #[('etc/gconf/schemas/', ['build/etc/gconf/schemas/gnome-activity-journal.schemas'])],
+
recursive_install('share/icons/hicolor', 'data/icons/hicolor/', '',
ext=['.png', '.svg']),
recursive_install('share/gnome-activity-journal', 'src/', ext=['.py']),
Follow ups