[Distutils] Appears bdist_rpm completely broken
Uche Ogbuji
uche.ogbuji@fourthought.com
Wed Sep 20 14:29:03 2000
Andrew Kuchling wrote:
> >line 3, in ?
> >ImportError: cannot import name XPathParserBase
> >>>>
>
> What exactly is the bug? Do you not expect that ImportError to be
> raised? Or is it just that the path names shown in tracebacks are
> wrong?
The ImportError is being raised _because_ of the wrong pathnames. If I
perform the exact same procedure on the exact same machine with a 4Suite
installed from the distutils sdist, I get no such ImportError.
> >Further investigation turns up the culprit: The generated pyc files
> >from the RPM have the "/var/tmp/..." hard-coded in to their imports.
>
> Presumably bdist_rpm shouldn't contain .pyc files, and should instead
> use a postinstall script to compile the .py files.
Incorrect. Here is the .spec that bdist_rpm generates:
%define name 4Suite
%define version 0.9.0
%define release 1
Summary: 4Suite Description
Name: %{name}
Version: %{version}
Release: %{release}
Source0: %{name}-%{version}.tar.gz
Copyright: UNKNOWN
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-buildroot
Prefix: %{_prefix}
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 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
%clean
rm -rf $RPM_BUILD_ROOT
%files -f INSTALLED_FILES
%defattr(-,root,root)
As you can see, there is no post-installation script registration.
Note that I can probably solve this probblem by building the RPM by hand
without the BuildRoot line or the "--root=$RPM_BUILD_ROOT" argument in
the "python setup.py...". Of course I'll need a smarter %clean section
as well.
If so, I'll post a working .spec file for additional data.
In case it helps anyone to look at the package, there is a 4Suite sdist
available at
ftp://ftp.fourthought.com/pub/4Suite/4Suite-0.9.0rc1.tar.gz
Note the prerequisite of
ftp://ftp.fourthought.com/pub/4Suite/BisonGen-0.5.0rc1.tar.gz
--
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