[Distutils] How I sorted things out

Uche Ogbuji uche.ogbuji@fourthought.com
Wed Sep 20 20:06:48 2000


I ended up doing things by hand.  I'd like to have distutils help
automate things, and if it's any help, here's what I ended up doing.

I had to do all the following as root, which I know distutils tries to
avoid.  Maybe there's another way around.

I copied the spec file from
build/bdist.linux-i686/rpm/SOURCES/4Suite-0.9.0.tar.gz to
/usr/src/redhat/SOURCES and used the following spec file (mods from
distutils)

-----------------------------------%--------------------------------------
%define name 4Suite
%define version 0.9.0
%define release 1

Summary: Tools for XML, DOM, XPath, XSLT, RDF and object database
Name: %{name}
Version: %{version}
Release: %{release}
Source0: %{name}-%{version}.tar.gz
Copyright: FourThought, Inc
Group: Development/Languages/Python
Vendor: Fourthought, Inc. <support@4suite.org>
Url: http://www.4suite.org

%description
4Suite is a collection of Python tools for XML processing and
object-databases.
4Suite is an integrated packaging of 4DOM, 4XPath, 4XSLT, 4RDF, and
4ODS.

%prep
%setup

%build
env CFLAGS="$RPM_OPT_FLAGS" python setup.py build

%install
python setup.py install --record=INSTALLED_FILES

#%clean

%files -f INSTALLED_FILES
/usr/lib/python1.5/site-packages/xml/xpath/XPath.py
/usr/lib/python1.5/site-packages/xml/xslt/XPattern.py
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Odl/Odl.py
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oql/Oql.py
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oif/Oif.py
/usr/lib/python1.5/site-packages/xml/xpath/XPathParserBase.py
/usr/lib/python1.5/site-packages/xml/xslt/XPatternParserBase.py
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Odl/OdlParserBase.py
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Odl/OdlParseTreeMapping.py
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oql/OqlParserBase.py
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oql/OqlParseTreeTuple.py
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oif/OifParserBase.py
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oif/OifParseTreeMapping.py
/usr/lib/python1.5/site-packages/xml/xpath/XPath.py?
/usr/lib/python1.5/site-packages/xml/xslt/XPattern.py?
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Odl/Odl.py?
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oql/Oql.py?
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oif/Oif.py?
/usr/lib/python1.5/site-packages/xml/xpath/XPathParserBase.py?
/usr/lib/python1.5/site-packages/xml/xslt/XPatternParserBase.py?
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Odl/OdlParserBase.py?
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Odl/OdlParseTreeMapping.py?
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oql/OqlParserBase.py?
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oql/OqlParseTreeTuple.py?
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oif/OifParserBase.py?
/usr/lib/python1.5/site-packages/Ft/Ods/Parsers/Oif/OifParseTreeMapping.py?
%defattr(-,root,root)

%changelog
* Wed Sep 20 2000 Uche Ogbuji <uche.ogbuji@fourthought.com>
- initial RPM release
-----------------------------------%--------------------------------------

Note that we have to manually list out more files than setup.py
recognizes.  This is because of the limitation of distutils with regard
to extensions with multiple output files (see Mike Olson's message to
distutils-sig today).

I don't know if things can be made smoother.  Are we missing something?

Thanks.

-- 
Uche Ogbuji                               Principal Consultant
uche.ogbuji@fourthought.com               +1 303 583 9900 x 101
Fourthought, Inc.                         http://Fourthought.com 
4735 East Walnut St, Ste. C, Boulder, CO 80301-2537, USA
Software-engineering, knowledge-management, XML, CORBA, Linux, Python