bernd / fpm-cookery

A tool for building software packages with fpm.
Other
460 stars 88 forks source link

Can't specify 32 bit dependencies for RHEL systems without using --no-deps #182

Open rpocase opened 7 years ago

rpocase commented 7 years ago

The pre-build installation for dependencies does not allow you to specify the correct format for RHEL systems. You can work around this by using "--no-deps", but you then have to manually do all installation.

/usr/bin/yum -d 0 -e 0 -y list zlib(x86-32)

===> Installing package: zlib(x86-32)
FATAL: While processing depends package 'zlib(x86-32)':
FATAL: Execution of '/usr/bin/yum -d 0 -e 0 -y list zlib(x86-32)' returned 1: Error: No matching Packages to list
FATAL: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y list zlib(x86-32)' returned 1: Error: No matching Packages to list

Recipe depends except:

 depends 'zlib(x86-32)', 'libX11(x86-32)'

There are a couple options for resolution offhand, but it's really just where you prefer to do the translation. Could also do both solutions for ease of user experience.

  1. Translate all (x86-32) -> .i686 at yum search time
  2. Translate all .i686 -> (x86-32) at rpm spec generation time (really, fpm call time).
  3. Do both

I tend to prefer the first method as it is closer to users who are familiar with rpm generation would expect, but the second option or both makes it possible for users to specify similar looking dependencies for both RHEL and Debian based systems.

Environment: docker container: centos:centos6 Ruby 1.9.3 fpm-cookery v0.32.0 (fpm v1.6.3)