A set of tools to integrate upstream open source projects into Fedora operating system.
Project description
Pack It!
This project provides tooling and automation to integrate upstream open source projects into Fedora operating system.
Plan and current status
We are working on two things now:
- Packit as a tool - a standalone CLI tool which you can install from Fedora repositories and use easily.
- Packit service - A service offering built on top of packit tool. Our expectation is that you would add packit service into your Github repository and it would start handling things automatically: opening pull requests on dist-git, building packages, creating updates, ...
For the run-down of the planned work, please see the task-list below.
- E2E workflow for getting upstream releases into Fedora using packit CLI.
- Bring new upstream releases into Fedora rawhide as dist-git pull
requests. (
propose-update
command included in in 0.1.0 release) - Build the change once it's merged. #137
- Send new downstream changes back to upstream. (so the spec files are in sync) #145
- Packit can create bodhi updates. #139
- Ability to propose updates also to stable releases of Fedora.
- Create SRPMs from the upstream repository
- Build RPMs in COPR and integrate the results into Github.
- Bring new upstream releases into Fedora rawhide as dist-git pull
requests. (
- source-git
- Packit can create a SRPM from a source-git repo.
- You can release to rawhide from source-git using packit.
- Packit can create a source-git repository.
- Packit helps developers with their source-git repositories.
- Packit as a service
- Packit reacts to Github webhooks.
- Have a Github app for packit.
- Github app is on Marketplace.
- Packit service is deployed and usable by anyone.
Workflows covered by packit
This list contains workflows covered by packit tool and links to the documentation.
- Update Fedora dist-git with an upstream release.
- Build content of a Fedora dist-git branch in koji.
- Create a bodhi update.
- Create a SRPM from the current content in the upstream repository.
- Sync content of the Fedora dist-git repo into the upstream repository.
Configuration
Configuration file for packit is described in a separate document: docs/configuration.md.
TL;DR
specfile_path: packit.spec
synced_files:
- packit.spec
upstream_project_name: packit
downstream_package_name: packit
Requirements
Packit is written in python 3 and is supported only on 3.6 and later.
When packit interacts with dist-git, it uses fedpkg
, we suggest installing it:
sudo dnf install -y fedpkg
Installation
On Fedora:
$ dnf install --enablerepo=updates-testing packit
Or
$ pip3 install --user packitos
(packit project on PyPI is NOT this packit project)
You can also install packit from master branch, if you are brave enough:
$ pip3 install --user git+https://github.com/packit-service/packit.git
Run from git directly:
You don't need need to install packit to try it out. You can run it directly from git (if you have all the dependencies installed):
$ python3 -m packit.cli.packit_base --help
Usage: packit_base.py [OPTIONS] COMMAND [ARGS]...
Options:
-d, --debug
-h, --help Show this message and exit.
...
Already on-boarded
Package name | Contacts | Link to packit configuration file |
---|---|---|
rebase-helper | @nforro | .packit.yaml |
pykickstart | @dcantrell @larskarlitski | packit.yaml |
packit | .packit.yaml | |
colin | .packit.yaml | |
conu | .packit.yaml | |
sen | @TomasTomecek | .packit.yaml |
ogr | @lachmanfrantisek | .packit.yaml |
Who is interested
- Identity team (@pvoborni)
- Plumbers - Source Git (@msekletar @lnykryn)
- shells (@siteshwar)
- python-operator-courier (Ralph Bean)
- @thrix
- youtube-dl (Till Mass)
- greenboot (@LorbusChris)
- ABRT
- OSBS (atomic-reactor, osbs-client, koji-containerbuild) (@cverna)
- CoreOS (starting with rpm-ostree, ignition, and ostree) (@jlebon)
- cockpit (@martinpitt)
- iptables (@jsynacek)
Currently on-boarding
Package name | Contacts | Links (Bugzillas, PRs, etc.) |
---|---|---|
anaconda | @jkonecny12 | BZ1697339 |
standard-test-roles | PR325 | |
rear | @gdha | PR2145 |
Resources
- An excellent document by Colin Walters which describes a modern way of developing a distribution:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file packitos-0.4.1.tar.gz
.
File metadata
- Download URL: packitos-0.4.1.tar.gz
- Upload date:
- Size: 219.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5d6ff129eb2d88754b930cafd267ef3bfba4a4a445a8b8fad7b01f847ff92cf |
|
MD5 | f48b4af429273f94f1c30ee311e912f8 |
|
BLAKE2b-256 | e762ac6f2505e71988aea06adb99ba0b2fbc47d6f221d457081711e3d6237b80 |
File details
Details for the file packitos-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: packitos-0.4.1-py3-none-any.whl
- Upload date:
- Size: 79.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b025ba8b0d19c734cec8530e4b2d3bc6e8f2f7a99879e093fe64093c7bbf6a74 |
|
MD5 | 3f5b412032ca857c272104c4adbca6df |
|
BLAKE2b-256 | 6a6ceda16aa4c9ec0b33378b3465ce7aa8e0e5ca0b2a40d7a5915b114bbe4c79 |