Giter Site home page Giter Site logo

dirtbike's Introduction

dirtbike

Purpose of the software

This is a Python program that takes packages that are already installed on a system and converts them to wheels.

That is an admittedly strange goal. The deeper purpose is to help Debian packages like pip vendor their dependencies in a way compatible with the packaging policy for Debian, and hopefully other GNU/Linux distributions.

Therefore, we are eager to see this tool discussed and/or adopted by Fedora, Debian, Ubuntu, and any other software distributions that distribute pip as well as other Python packages.

License

This software is available under the terms of the same license as pya/pip:

Copyright (c) 2008-2014 The developers (see AUTHORS.txt file)

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Origin of the name

The name comes from a They Might Be Giants song:

Here comes the dirt bike,
Beware of the dirt bike.
[...]
You see I never thought I'd understand.
Till that bike took me by the hand,
Now I ride.

The real motivation behind the name was to find a word or two that alludes to the idea of "wheel."

"Boat of Car" might have been too confusing.

dirtbike's People

Contributors

alex avatar jwilk avatar paulproteus avatar thomir avatar warsaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

dirtbike's Issues

DpkgImportCalloutStrategy when python2 doesn't exist

The subprocess.check_output() call will fail but not with a CalledProcessError. It fails with a FileNotFoundError, so catch this too.

Since this won't likely happen in practice (e.g. I found it while writing a DEP-8 test), this isn't an urgent bug.

Fix travis

.travis.yml is broken now so CI isn't working. I tried mightily to fix it but was unable to. Maybe you will be our CI hero!

Join forces with rewheel?

Rewheel was the original project to serve this purpose (as part of Fedora's ensurepip implementation), and it seems redundant to maintain two different utilities for the same task rather than collaborating on a shared need: https://github.com/fedora-python/rewheel

Could someone explain how dirtbike differs from rewheel, and what would need to change to be able to merge the two projects?

(/cc @bkabrda)

Test suite artifacts

The test suite leaves a build directory owned by root in the top-level directory. Let's fix that!

Use setuptools.setup

In order to get the entry_points to work, we need setuptool's setup() not distutils.core. PR coming momentarily.

Prevent install_egg_info from deleting the temp .egg-info directory

When rewheeling pip, we lose the entry points because the distutils install_egg_info command deletes it in the temporary directory and replaces it with an egg-info file. That file doesn't contain the entry points so when bdist_wheel turns it into a dist-info directory, we lose the entry_points.txt file. This means when virtualenv uses the pip wheel to initialize the venv, we have no /bin/pip.

We have to either prevent install_egg_info from deleting the .egg-info directory, which we already know is good, or ditch the whole bdist_wheel and zip it all up ourselves. I have an ugly patch for the former.

Please give 'barry' co-ownership on PyPI project

This is actually a blocker for 0.2 (unless you want to do the upload Asheesh, but I am very happy to do it).

https://pypi.python.org/pypi/dirtbike/0.1

I am ready for the 0.2 release. I'm using it now in a local staging environment to build the full pip stack and it's working very nicely. I want to do a tarball release on PyPI, and then upload the first version to Debian NEW.

My PyPI user is 'barry'.

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.