New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

failure to create valid RPMs for fabric #384

Closed
blalor opened this Issue Mar 16, 2013 · 8 comments

Comments

Projects
None yet
2 participants
@blalor

blalor commented Mar 16, 2013

I'm trying to use fpm to create RPMs for fabric. I've run into two different problems.

fpm 0.4.29
Python 2.6.8
CentOS release 5.8

fpm -s python -t rpm \
    --python-easyinstall easy_install-2.6 \
    --python-bin python2.6 \
    --python-package-name-prefix python26 \
    -v 1.6.0 \
    fabric

issues

  • fpm ignores install requirements in Fabric's setup.py, choosing requirements.txt instead
  • the generated RPM requires Fudge < 1.0, but the RPM I built for Fudge 0.9.6 (fpm … -v 0.9.6 fudge) fails to satisfy the requirement for fabric: python26-fudge < 1.0 is needed by python26-fabric-1.6.0-1.noarch

I've worked around the missing requirement for paramiko by adding a --depends, and I just manually (eek!) deleted the dependency on fudge by adding -e.

@jordansissel

This comment has been minimized.

Owner

jordansissel commented Mar 22, 2013

Ok, so maybe having requirements.txt obeyed by default was a bad decision. ;)

@jordansissel

This comment has been minimized.

Owner

jordansissel commented Mar 22, 2013

Proposal:

  • Make a new flag: --python-obey-requirements-txt
  • Default is disabled (requirements.txt will NOT be obeyed by default)

Thoughts?

@blalor

This comment has been minimized.

blalor commented Mar 22, 2013

I think that's reasonable. I consider requirements.txt to be used for compile-time dependencies, not necessarily for runtime. I think even pip only uses setup.py to determine install deps.

Brian Lalor
blalor@bravo5.org

On Mar 21, 2013, at 9:11 PM, Jordan Sissel notifications@github.com wrote:

Proposal:

Make a new flag: --python-obey-requirements-txt
Default is disabled (requirements.txt will NOT be obeyed by default)
Thoughts?


Reply to this email directly or view it on GitHub.

@jordansissel

This comment has been minimized.

Owner

jordansissel commented Mar 22, 2013

Ok, details with the new flag:

defaults

  • fpm -e -s python -t deb fabric
  • Depends: python-paramiko (>= 1.10.0)

--python-obey-requirements-txt

  • bin/fpm --python-obey-requirements-txt -e -s python -t deb fabric
  • Depends: python-nose, python-fudge (<< 1.0), python-sphinx (>= 0.6)
@jordansissel

This comment has been minimized.

Owner

jordansissel commented Mar 22, 2013

Based on the results above, I think this feature is done.

jordansissel added a commit that referenced this issue Mar 22, 2013

@jordansissel

This comment has been minimized.

Owner

jordansissel commented Mar 22, 2013

Closing - implemented! Will show up in the next release.

@blalor

This comment has been minimized.

blalor commented Mar 22, 2013

On Mar 22, 2013, at 12:11 AM, Jordan Sissel notifications@github.com wrote:

Based on the results above, I think this feature is done.

Agreed, with the exception of including "-e" in those invocations. Is that necessary? Otherwise, looks great!

@jordansissel

This comment has been minimized.

Owner

jordansissel commented Mar 22, 2013

Nah, -e was just so I could see exactly what was generated. It's always optional and not really useful in the common case usage :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment