#patch #package #built #source #makepkg #patch-file #pkgbuild

app makeppkg

wrapper for Arch Linux's makepkg, patches source before packages are built

3 stable releases

Uses old Rust 2015

1.1.1 Oct 5, 2018
1.1.0 Oct 3, 2018
1.0.0 Oct 2, 2018

#4 in #makepkg

25 downloads per month

Apache-2.0

18KB
431 lines

makeppkg

(make, patch, package)

Build Status

Installation

Aur:

makeppkg

makeppkg-git

Source:

git clone https://github.com/ibrokemypie/makeppkg

cd makeppkg

cargo build --release

Binary will be built at ./target/release/makeppkg

Usage

$ makeppkg -l <makeppkg patch dir location> <makepkg arguments>

Patch dir location defaults to $HOME/.config/makeppkg

If no patches are found, makeppkg will simply wrap makepkg.

Details

Makeppkg will search the makeppkg patch dir for a folder named after the package being build (taken from the PKGBUILD, the first name found if it is a multi package script).

If the patch directory is found, it will be searched for files ending in .patch.

Makeppkg will then apply patches to the PKGBUILD if any are found, getting the destination file name from the patch contents, falling back to the base name of the patch file.

Makeppkg will compute the appropriate checksums for the other patches found then insert to the PKGBUILD at the beginning of the prepare step.

Makeppkg only adds patches to be applied to the PKGBUILD rather than patching files directly so that the original checksums are still used to confirm sources before the patches apply.

Example

// TODO: PRODUCE WORKING EXAMPLE

The usecase for this program is to allow the automated patching of packages that are updated, working as a makepkg wrapper that defaults to no action.

An example would be applying patches to the PKGBUILD and kernel config file provided by the linux-zen package to use modprobed-db and enable MuQSS.

By using makeppkg the changes would be applied every time the package is built automatically.

Dependencies

~5.5MB
~105K SLoC