GithubHelp home page GithubHelp logo

Comments (8)

pombredanne avatar pombredanne commented on May 30, 2024

@armijnhemel that's a great feature!
@TG1999 what do you think?

from packageurl-python.

TG1999 avatar TG1999 commented on May 30, 2024

Yes sure @pombredanne , can we get some sample input and outputs, so we can think of a mapping for same

from packageurl-python.

armijnhemel avatar armijnhemel commented on May 30, 2024

I realize that from a plain package you cannot determine the distro such as "debian" or "fedora". I think it would be acceptable to assume that this would be supplied as a parameter or to set it to a generic value, which can later be changed or overridden.

from packageurl-python.

armijnhemel avatar armijnhemel commented on May 30, 2024

Package to purl string could be like this:

babeld_1.8.3-1_amd64.deb -> pkg:deb/[email protected]?arch=amd64
bash-5.1.0-2.fc34.x86_64.rpm -> pkg:rpm/fedora/[email protected]?arch=x86_64

Optionally, because there is 'fc34' in the name you could conclude that it is Fedora 34, but I wouldn't do that, as I can see that there are packages in Fedora 34 that have fc33 in the name.

Currently when feeding these purl strings to PackageURL.from_string gives me:

packageurl.PackageURL.from_string('pkg:rpm/[email protected]?arch=x86_64')
PackageURL(type='rpm', namespace=None, name='bash', version='5.1.0-2', qualifiers={'arch': 'x86_64'}, subpath=None)

so I could imagine the identical output for the proposed method:

packageurl.PackageURL.from_package_name('bash-5.1.0-2.fc34.x86_64.rpm')
PackageURL(type='rpm', namespace=None, name='bash', version='5.1.0-2', qualifiers={'arch': 'x86_64'}, subpath=None)

from packageurl-python.

pombredanne avatar pombredanne commented on May 30, 2024

@armijnhemel thanks! that's clear.

from packageurl-python.

pombredanne avatar pombredanne commented on May 30, 2024

@armijnhemel would this be only for .deb and .rpm?

from packageurl-python.

armijnhemel avatar armijnhemel commented on May 30, 2024

@armijnhemel would this be only for .deb and .rpm?

For now yes. In the future I could also envision ipkg (extension: ipk) and possibly others (Python wheel, etc.).

from packageurl-python.

pombredanne avatar pombredanne commented on May 30, 2024

FWIW, we have a lot of these in url2purl... but for full URLs, not mere package archives

>>> url2purl("https://files.pythonhosted.org/packages/a1/eb/b37ef5647243ade8308f7bb46b1a45e6204790c163cbd8cf6df990d5c1c1/boolean.py-3.8.tar.gz")
PackageURL(type='pypi', namespace=None, name='boolean.py', version='3.8', qualifiers={}, subpath=None)

and not yet for debian and RPMs

from packageurl-python.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.