Giter Site home page Giter Site logo

gamerlv / elementary-os-patches Goto Github PK

View Code? Open in Web Editor NEW

This project forked from elementary/os-patches

0.0 0.0 0.0 557.96 MB

Patched packages for elementary OS and the tools that keep them up-to-date

License: GNU General Public License v3.0

Python 100.00%

elementary-os-patches's Introduction

OS Patches metarepository

This repository contains all the sources for the elementary specific patches

The packages are included into the OS Patches Repository.

How is this repository working

The master branch is composed of GitHub Workflows that are running daily to check for any new version in the Ubuntu repositories of the patched components. If a newer version of a package is found in the Ubuntu repositories, a GitHub issue will be opened in this repository to let the team know to rebase patches and push and update.

The workflow uses the get-latest-version.py python script included.

It depends on python3-launchpadlib, python3-apt and python3-github.

Many branches

The repository is made of several distinct branches:

  • import-list-$UBUNTU_NAME is the branch listing the different packages that are getting patched.
  • $PACKAGE-$UBUNTU_NAME is the last source that got used to create the patched version
  • $PACKAGE-$UBUNTU_NAME-patched is $PACKAGE-$UBUNTU_NAME with the patch applied on it

The package list file in import-list-$UBUNTU_NAME contains one package per line of packages to be monitored by the workflow. If the patched package has been backported from a newer Ubuntu release, you can denote this in the list with a colon separator

e.g. packagekit:$NEWER_UBUNTU_NAME

Note that when possible, we try to discourage the use of OS patches and work directly with upstream to include them.

Creating a new Patch

  1. Create a new orphan branch

    git checkout --orphan {pkg-name}-{dist} && git rm -rf .

  2. Get the source of the package to be patched with apt-source. Do not use sudo.

    apt source {pkg-name}

  3. Remove everything but the unpacked sources

    rm *.tar.* *.dsc

  4. Move the source folder contents up to the pwd and then delete the empty folder

    cp -r {source-folder-name}/* . && rm -r {source-folder-name}

  5. Add source files, commit, and push

    git add * && git commit -am "Initial Import, version {pkg-version}"

  6. Create a -patched branch as a fork of this branch, not an orphan, make changes and push

  7. Create a packaging recipe on Launchpad: https://code.launchpad.net/~elementary-os/elementaryos/+git/os-patches/+recipes

  8. Once the build succeeds and is uploaded, update the import-list-{dist} branch. If this is done before the build succeeds, there will be false issue reports filed due to missing packages.

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.