View Single Post
Old 21 August 2013, 19:44   #1
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Packaging changes (important information for packagers)

Hi, there has been some structural changes which affects those who create installable packages for operating systems.

One change is that FS-UAE Launcher is now longer part of the fs-uae tarball. It has its own fs-uae-launcher tarball. (I also think this can make life simpler for many packagers, since one does not need to consider two different build systems in the same package). I recommend creating separately installable packages fs-uae and fs-uae-launcher (and also a separate one for fs-uae-game-center). This will also correspond with the available source packages.

Another important consideration - which will affect you when you try to package both fs-uae-launcher and fs-uae-game-center - is that there are some shared packages which are distributed with both these projects. If you do not handle that "properly", you will get a file conflict when trying to install both packages at once. One could argue that these common packages should be put it a separate library package, but I think it is easier the way it is (in my source repository, the shared packages are... shared -but they are copied to both fs-uae-launcher and fs-uae-game-center projects when creating the tarballs).

The file conflict problem will occur when the python packages are installed to the distribution's site-directory. But this practice is actually discouraged anyway (for Debian at least), since this is application-specific python files which does not need to pollute the shared package/module namespace.

I recommend to do what I have done with my .deb packages, which is to install the python packages and modules to an application-specific directory. For example /usr/share/fs-uae-launcher (and /usr/share/fs-uae-game-center) or /usr/lib/fs-uae-launcher (and /usr/lib/fs-uae-launcher).

This is how fs-uae-launcher is installed in my .deb package:
Code:
python setup.py install --root=debian/fs-uae-launcher --install-layout=deb --install-lib=/usr/share/fs-uae-launcher --install-scripts=/usr/share/fs-uae-launcher
make install DESTDIR=$$(pwd)/debian/fs-uae-launcher prefix=/usr install
This also ensures that the startup script for the application is copied to /usr/share/fs-uae-launcher, and I then proceed to create a symlink from /usr/bin/fs-uae-launcher to /usr/share/fs-uae-launcher/fs-uae-launcher. The python packages in /usr/share/fs-uae-launcher will automatically be found since they are in the same directory as the startup script.

Last edited by FrodeSolheim; 07 September 2013 at 15:44.
FrodeSolheim is offline  
 
Page generated in 0.04367 seconds with 11 queries