Skip to content
This repository has been archived by the owner on Feb 3, 2022. It is now read-only.
/ manylinux Public archive
forked from pypa/manylinux

Python wheels that work on any linux (almost)

Notifications You must be signed in to change notification settings

scikit-build/manylinux

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

What is this project ?

This project is NOT the official manylinux repository.

It is a fork of the official upstream repository hosted at https://github.com/pypa/manylinux.

It is used as staging area to maintain and test patches that will be contributed back to the official repository.

Docker images associated with this repository are manually published into the scikitbuild dockerhub organization.

Motivation: Since integration of Python 3.8 pre-release in upstream images was not possible, these custom images provide support for it. Read here for more details.

Available branches

What is the branch naming convention ?

Each branch is named following the pattern scikit-build-manylinux1-YYYY-MM-DD-SHA{9}

where:

  • manylinux1 is the version of the forked project
  • YYYY-MM-DD is the date of the last official commit associated with the branch.
  • SHA{9} are the first seven characters of the last official commit associated with the branch.

How to update the version of manylinux ?

  1. Clone this repository and add a remote to the official project
git clone git://github.com/scikit-build/manylinux
cd manylinux
git remote add upstream git://github.com/pypa/manylinux
git fetch upstream
  1. Create a new branch following the convention
DATE=$(git show -s --format=%ci upstream/master | cut -d" " -f1)
echo "DATE [${DATE}]"

manylinuxSHA=$(git show -s --format=%h upstream/master)
echo "manylinuxSHA: [${manylinuxSHA}]"

BRANCH_NAME=scikit-build-manylinux1-${DATE}-${manylinuxSHA}
echo "BRANCH_NAME [${BRANCH_NAME}]"

git checkout -b ${BRANCH_NAME} ${manylinuxSHA}
  1. Cherry-pick the scikit-build specific commits from last branch. Resolve conflict as needed.

    • the commit hash included in each branch name is the manylinux upstream hash, so scikit-build specific commits may be viewed with the git range (..) operation:
          git log --pretty=format:"%h" ${manylinuxSHA}..scikit-build-manylinux1-YYYY-MM-DD-${manylinuxSHA}
  1. Test the changes

  2. Publish the branch. (directly in this repo if you have push rights, or on a fork)

How to rebuild the docker images ?

  • for manylinux2010, locally build manylinux2010_centos-6-no-vsyscall image
cd docker/glibc
docker build --rm -t quay.io/pypa/manylinux2010_centos-6-no-vsyscall .
  • for both manylinux1 and manylinux2010
docker/build_scripts/prefetch.sh openssl curl

COMMIT=$(git rev-parse HEAD | head -c 9)
echo "COMMIT [${COMMIT}]"

PLATFORM=x86_64
docker build --rm -t scikitbuild/manylinux2010_${PLATFORM}:${COMMIT} -f docker/Dockerfile-${PLATFORM} docker/

docker push scikitbuild/manylinux2010_${PLATFORM}:${COMMIT}
  • for manylinux1
docker/build_scripts/prefetch.sh openssl curl

COMMIT=$(git rev-parse HEAD | head -c 9)
echo "COMMIT [${COMMIT}]"

PLATFORM=i686
docker build --rm -t scikitbuild/manylinux2010_${PLATFORM}:${COMMIT} -f docker/Dockerfile-${PLATFORM} docker/

docker push scikitbuild/manylinux2010_${PLATFORM}:${COMMIT}

How to be granted push rights ?

Create an issue

Questions

If you have questions, create an issue

About

Python wheels that work on any linux (almost)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published