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 |
#14 in #patch-file
18KB
431 lines
makeppkg
(make, patch, package)
Installation
Aur:
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
~6MB
~108K SLoC