From: Nick H. <nic...@ho...> - 2012-09-20 17:59:59
|
Benny, I was helping Rob. He was working on distutils2 which we should be able to get working for Linux quite easily. There are 3 python options: 1. distutils 2. setuptools 3. packaging (distutils2) The most modern is packaging which should be included in the next python release, but is available for earlier versions. It should include some of the useful features of setuptools. These tools provide 3 main functions: 1. Source distribution. Files for distribution can be specified in a manifest file, in a configuration file or by using a manifest builder. I wrote a manifest builder for distutils2 to include all files under subversion control. The problem with this is that different versions of subversion use different file formats. If we want to use a manifest builder, then we will need to run a subversion command rather than looking at the file system. At the moment I suggest using a manifest file. 2. Build. We don't actually build anything, but do run some translation utility scripts in this phase. In distutils2, hooks are provided to run custom scripts. In distutils and setuptools, custom scripts can be run by sub-classing commands. 3. Installation. Installation involves copying files to the appropriate locations. It is easy to specify where to install packages and package data. We did not fully investigate how to handle resources. In disutils2, they introduced a concept of resources. The idea was that you could specify a target such as {doc}. This would be substituted for the location of documentation, which is OS dependent. We may need to investigate how to define custom resource locations. For more complex software, such as Gramps, distutils2 could do with some more work. It is getting there, but not quickly. I'll get working what we have so far for you. Nick. On 20/09/12 16:25, Benny Malengier wrote: > Nick, > > With Rob gone, how to proceed with > http://www.gramps-project.org/wiki/index.php?title=GEPS_026:_Replace_%27make%27_for_Gramps_build > Looking at that page, I don't see definite answers, more like a list > of possible problems. > You were involved with Rob in this if I remember correctly. Is > distutils2 the way to go? > If so, I would try to start that. I assume deleting all makefiles, and > creating a setup.py is all that is needed. Then deciding if we need > one or two packages (gramps/gen and rest). > > Benny |