Discussion:
Spec file question
Frost, Jere
2008-10-14 21:39:27 UTC
Permalink
Hello all,

I have little experience with RPM/spec files but trying to help a fellow worker. We have an an RPM meta package (task-compat-vcd_fw_ipg_ins_ics_ics) that we want to install RHEL 32bit packages on RHEL 64bit systems via yum for compatibility purposes.

In the spec file, we specify "Requires: PackageName(s).i386" for each 32 bit package we want to install
(e.g. "ImageMagick-c++-devel.i386").

When trying to install the RPM metapackage via yum, we get an error for each line "requires PackageName.i386" e.g.:

Error: Missing Dependency: ImageMagick-c++-devel.i386 is needed by package task-compat-vcd_fw_ipg_ins_ics_ics

How do we specify PackageName(s).i386 in our spec file so Yum will install the i386 version?

yum list | grep ImageMagick-c++-devel
ImageMagick-c++-devel.x86_64 6.2.8.0-3.el5.4 installed
ImageMagick-c++-devel.i386 6.2.8.0-3.el5.4 RedHat-5.1Server

"yum install ImageMagick-c++-devel.i386" works fine on the 64 bit systems.

See spec file below.

Thanks in advance....

--jere


------------------------------------------------------------------

Name: task-compat-vcd_fw_ipg_ins_ics_ics
Version: 0.1.3
Release: 1.el5.64
Summary: WABIS metapackage for vcd_fw_ipg_ins_ics_ics (32bit compat)
Group: Applications/System
License: TBD

Requires: ImageMagick-c++-devel.i386
Requires: ImageMagick-c++.i386
Requires: ImageMagick-devel.i386
Requires: OpenEXR-devel.i386
Requires: OpenEXR.i386
Requires: OpenIPMI-libs.i386
Requires: SDL.i386
Requires: Xaw3d-devel.i386
Requires: Xaw3d.i386
Requires: agg.i386
Requires: akode.i386
Requires: alchemist.i386
Requires: alsa-lib-devel.i386
Requires: apr-devel.i386
Requires: apr-util-devel.i386
Requires: audiofile-devel.i386
Requires: avahi-devel.i386
Requires: beecrypt-devel.i386
Requires: bind-libs.i386
Requires: binutils-devel.i386
Requires: bison-devel.i386
Requires: bitmap.i386
Requires: blas-devel.i386
Requires: blas.i386
Requires: blitz-devel.i386
Requires: blitz.i386
Requires: bluez-libs.i386
Requires: brlapi.i386
Requires: cairo-devel.i386
Requires: cairomm.i386
Requires: cdparanoia-devel.i386
Requires: cdrecord-devel.i386
Requires: cln.i386
Requires: compat-db.i386
Requires: compat-libf2c-34.i386
Requires: compat-openldap.i386
Requires: cppunit-devel.i386
Requires: cppunit.i386
Requires: cyrus-sasl-md5.i386
Requires: cyrus-sasl.i386
Requires: dbus-glib-devel.i386
Requires: directfb-devel.i386
Requires: directfb.i386
Requires: dirmngr.i386
Requires: e2fsprogs-devel.i386
Requires: elfutils-devel.i386
Requires: elfutils-libelf-devel.i386
Requires: elfutils-libs.i386
Requires: eruby-devel.i386
Requires: eruby-libs.i386
Requires: esound-devel.i386
Requires: expect-devel.i386
Requires: expect.i386
Requires: festival.i386
Requires: fftw2.i386
Requires: fftw3-devel.i386
Requires: fftw3.i386
Requires: fltk.i386
Requires: fontconfig-devel.i386
Requires: freealut.i386
Requires: freetype-devel.i386
Requires: fribidi.i386
Requires: ftplib-devel.i386
Requires: ftplib.i386
Requires: gc.i386
Requires: gd-devel.i386
Requires: gd.i386
Requires: gdk-pixbuf-devel.i386
Requires: gdk-pixbuf.i386
Requires: gettext-devel.i386
Requires: ghex-devel.i386
Requires: ghex.i386
Requires: ghostscript-devel.i386
Requires: giflib-devel.i386
Requires: giflib.i386
Requires: gimp-libs.i386
Requires: gimp-print.i386
Requires: ginac.i386
Requires: glib-devel.i386
Requires: glibmm24.i386
Requires: glpk.i386
Requires: gmime.i386
Requires: gnome-keyring-devel.i386
Requires: gnome-speech.i386
Requires: gnome-utils-devel.i386
Requires: gnupg2.i386
Requires: gphoto2-devel.i386
Requires: grace-devel.i386
Requires: grace.i386
Requires: graphviz-devel.i386
Requires: graphviz.i386
Requires: gsl-devel.i386
Requires: gsl.i386
Requires: gtkhtml2.i386
Requires: gtkmm24.i386
Requires: gtksourceview.i386
Requires: gucharmap.i386
Requires: guile.i386
Requires: hdf5-devel.i386
Requires: hdf5.i386
Requires: hfsutils-devel.i386
Requires: imlib.i386
Requires: imlib2-devel.i386
Requires: imlib2.i386
Requires: iverilog.i386
Requires: jasper-devel.i386
Requires: jasper.i386
Requires: kdebindings-devel.i386
Requires: kdemultimedia-devel.i386
Requires: kdesdk-devel.i386
Requires: kdewebdev.i386
Requires: kdnssd-avahi-devel.i386
Requires: keyutils-libs-devel.i386
Requires: lapack-devel.i386
Requires: lapack.i386
Requires: lcms-devel.i386
Requires: libAfterImage-devel.i386
Requires: libAfterImage.i386
Requires: libFS.i386
Requires: libICE-devel.i386
Requires: libIDL-devel.i386
Requires: libSM-devel.i386
Requires: libX11-devel.i386
Requires: libXTrap.i386
Requires: libXau-devel.i386
Requires: libXaw-devel.i386
Requires: libXaw.i386
Requires: libXcursor-devel.i386
Requires: libXdmcp-devel.i386
Requires: libXext-devel.i386
Requires: libXfixes-devel.i386
Requires: libXfont-devel.i386
Requires: libXfont.i386
Requires: libXfontcache-devel.i386
Requires: libXfontcache.i386
Requires: libXft-devel.i386
Requires: libXi-devel.i386
Requires: libXinerama-devel.i386
Requires: libXmu-devel.i386
Requires: libXp-devel.i386
Requires: libXpm-devel.i386
Requires: libXpm.i386
Requires: libXrandr-devel.i386
Requires: libXrender-devel.i386
Requires: libXt-devel.i386
Requires: libXvMC.i386
Requires: libXxf86dga.i386
Requires: libaio-devel.i386
Requires: libao-devel.i386
Requires: libavc1394.i386
Requires: libcroco-devel.i386
Requires: libdap.i386
Requires: libdmx.i386
Requires: libdrm-devel.i386
Requires: libdv.i386
Requires: libevent.i386
Requires: libexif-devel.i386
Requires: libfontenc-devel.i386
Requires: libgcj-devel.i386
Requires: libgconf-java.i386
Requires: libgcrypt-devel.i386
Requires: libgfortran.i386
Requires: libgnat.i386
Requires: libgnomeprint22-devel.i386
Requires: libgomp.i386
Requires: libgpg-error-devel.i386
Requires: libgpod.i386
Requires: libgsf-devel.i386
Requires: libgssapi.i386
Requires: libid3tag.i386
Requires: libidn-devel.i386
Requires: libiec61883.i386
Requires: libieee1284-devel.i386
Requires: libieee1284.i386
Requires: libjpeg-devel.i386
Requires: libksba.i386
Requires: libmng-devel.i386
Requires: libmodplug.i386
Requires: libmpcdec.i386
Requires: libmusicbrainz.i386
Requires: libnc-dap.i386
Requires: libnl.i386
Requires: libobjc.i386
Requires: libpaper.i386
Requires: libpcap-devel.i386
Requires: libpcap.i386
Requires: libpng-devel.i386
Requires: libraw1394-devel.i386
Requires: librsvg2-devel.i386
Requires: librx-devel.i386
Requires: librx.i386
Requires: libsamplerate-devel.i386
Requires: libsamplerate.i386
Requires: libsepol-devel.i386
Requires: libsigc++20.i386
Requires: libsndfile-devel.i386
Requires: libsndfile.i386
Requires: libstdc++-devel.i386
Requires: libsysfs-devel.i386
Requires: libtidy.i386

BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -u -n)

%description
This WABIS artifact is a meta-package, meaning that its purpose is to contain dependencies for installing the vcd_fw_ipg_ins_ics_ics classname and provide the 32bit compatibility libraries

%files

%changelog
Jeff Johnson
2008-10-15 00:21:22 UTC
Permalink
Post by Frost, Jere
Hello all,
I have little experience with RPM/spec files but trying to help a
fellow worker. We have an an RPM meta package (task-compat-
vcd_fw_ipg_ins_ics_ics) that we want to install RHEL 32bit packages
on RHEL 64bit systems via yum for compatibility purposes.
In the spec file, we specify "Requires: PackageName(s).i386" for
each 32 bit package we want to install
(e.g. "ImageMagick-c++-devel.i386").
When trying to install the RPM metapackage via yum, we get an error
Error: Missing Dependency: ImageMagick-c++-devel.i386 is needed by
package task-compat-vcd_fw_ipg_ins_ics_ics
Yep.
Post by Frost, Jere
How do we specify PackageName(s).i386 in our spec file so Yum will
install the i386 version?
yum list | grep ImageMagick-c++-devel
ImageMagick-c++-devel.x86_64 6.2.8.0-3.el5.4
installed
ImageMagick-c++-devel.i386 6.2.8.0-3.el5.4
RedHat-5.1Server
"yum install ImageMagick-c++-devel.i386" works fine on the 64 bit systems.
You basically cannot specify
PackageName.i386
in an rpm package as you can on the yum CLI.

FYI, rpm-5.0 does permit arch to be appended to a package name
in a Requires: as you are trying to do. However, even then, yum would
need to
split the "N.A" compund into a package {name,arch} tuple, and discover
what was intended to be satisfied by the Requires:. There
has been no detectable interest in supporting that convention in yum,
the N.A compound
was implemented 1.5 years ago, requested by Fedora developers too.

IIRC rpm-4.5.90 has a different convention, silently adding the
arch to the package name as Yet Another Provide, which current yum
might be able to discover. However, rpm-4.5.90 is not yet released,
and the packages built with the new convention are largely limited
to Fedora10beta atm.

hth

73 de Jeff

Continue reading on narkive:
Loading...