Tuesday, December 18, 2012

HowTo - [Gentoo] Apply a patch to sources using ebuild

1. Locate the ebuild file, for example, libdrm-2.4.31.ebuild.

$ ls /usr/portage/x11-libs/libdrm/libdrm-2.4.31.ebuild

2. Digest, fetch, unpack

$ sudo ebuild /usr/portage/x11-libs/libdrm/libdrm-2.4.31.ebuild digest
$ sudo ebuild /usr/portage/x11-libs/libdrm/libdrm-2.4.31.ebuild fetch
$ sudo ebuild /usr/portage/x11-libs/libdrm/libdrm-2.4.31.ebuild unpack

3. The unpacked source file would be in the /tmp folder. You might need to switch to super user to access that folder.


$ sudo su
# cd /var/tmp/portage/x11-libs/libdrm-2.4.31/work/libdrm-2.4.31/
# patch -p1 < patch1.patch
...
# exit

4. Compile, install and qmerge

$ sudo ebuild /usr/portage/x11-libs/libdrm/libdrm-2.4.31.ebuild compile
$ sudo ebuild /usr/portage/x11-libs/libdrm/libdrm-2.4.31.ebuild install
$ sudo ebuild /usr/portage/x11-libs/libdrm/libdrm-2.4.31.ebuild qmerge

The generated executable file will replace the original ones. Patch applying finished. 

No comments:

Post a Comment