Ticket #157 (closed defect: fixed)

Opened 2 years ago

Last modified 20 months ago

pkgcore does not tolerate -scm suffix in ebuilds

Reported by: anonymous Owned by:
Priority: normal Milestone: 0.5
Component: pkgcore Version: 0.4.2
Keywords: Cc:

Description (last modified by ferringb) (diff)

  File "/usr/lib/python2.5/site-packages/pkgcore/ebuild/ebuild_built.py", line 155, in new_package
    inst = self._cached_instances[args] = self.child_class(self, *args)
  File "/usr/lib/python2.5/site-packages/pkgcore/package/metadata.py", line 47, in __init__
    original_kls.__init__(self, *a, **kwds)
TypeError: cpv accepts either 1 arg (cpvstr), or 3 (category, package, version); all must be strings: got ('sys-apps', 'paludis-scm', None)

I would suggest that pkgcore give some nice warnings instead of errors and a nicely formatted error msg instead of a backtrace :)

Change History

comment:1 Changed 2 years ago by ferringb

  • version changed from 0.4 to 0.4.2
  • milestone 0.4.2 deleted

Hey now, the exception is concise enough ;)

Will beautify it for next release. Regarding "give warnings instead of errors", PM's advocating that are by and large doing a pretty dangerous disservice to their users- here be why.

1) install kde-scm w/ -scm aware manager. shiny, you're outside eapi1 atm, but you've got your kde 2) you try using a different manager that doesn't know of -scm, just ignores the entries. along the way of dep resolution, it goes to install kde. since the manager can't "see" kde-scm is there, it stomps the install instead of properly upgrading it. 3) chaos ensues.

comment:2 Changed 2 years ago by ferringb

  • description modified (diff)
  • milestone set to 0.4.4

comment:3 Changed 2 years ago by ferringb

  • milestone changed from 0.4.4 to 0.5

comment:4 Changed 21 months ago by masterdriverz

How much progress has been made wrt this?

comment:5 Changed 20 months ago by ferringb

  • status changed from new to closed
  • resolution set to fixed

I took care of this one a while back actually; additionally, there is a feature (ignore-paludis-versioning) to ignore invalid ebuilds like that.

Note: See TracTickets for help on using tickets.