Difference between revisions of "Applying Local Patches to Ebuilds"

From Funtoo
Jump to: navigation, search
(Installation)
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Template:Fancynote|This is just workprint. Feel free to contribute.}}
+
{{fancynote| This is just workprint. Feel free to contribute.}}
 
{{fancyimportant|'''Localpatch feature is severely outdated and removed from portage, use foobashrc ebuild'''!}}
 
{{fancyimportant|'''Localpatch feature is severely outdated and removed from portage, use foobashrc ebuild'''!}}
  
 
== Installation ==
 
== Installation ==
localpatch is no longer part of portage. You need to install foobashrc:  
+
localpatch is no longer part of portage. You need to install {{Package|app-portage/foobashrc}}:  
 
<console># ##i##emerge app-portage/foobashrc</console>
 
<console># ##i##emerge app-portage/foobashrc</console>
 
This will install the script foobashrc.bashrc at /etc/portage/. It is intended to be used in the emerge process through /etc/portage/bashrc (see [http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=3&chap=6#doc_chap3 Hooking In the Emerge Process (Gentoo Manual)]). If you do not have your own bashrc yet, you can just link it to foobashrc.bashrc:
 
This will install the script foobashrc.bashrc at /etc/portage/. It is intended to be used in the emerge process through /etc/portage/bashrc (see [http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=3&chap=6#doc_chap3 Hooking In the Emerge Process (Gentoo Manual)]). If you do not have your own bashrc yet, you can just link it to foobashrc.bashrc:
Line 16: Line 16:
 
== How it works ==
 
== How it works ==
  
By default, localpatch will look into /etc/portage/localpatches in order to search for patches. This can be changed by setting LOCALPATCH_OVERLAY variable within make.conf.
+
By default, localpatch will look into /etc/portage/localpatches in order to search for patches. This can be changed by setting LOCALPATCH_OVERLAY variable within /etc/make.conf.
  
 
The actual patches for a package are placed in subdirectories with one of the following naming schemata:
 
The actual patches for a package are placed in subdirectories with one of the following naming schemata:

Revision as of 21:38, 28 January 2014

Note: This is just workprint. Feel free to contribute.
Important: Localpatch feature is severely outdated and removed from portage, use foobashrc ebuild!

Installation

localpatch is no longer part of portage. You need to install app-portage/foobashrc:

# emerge app-portage/foobashrc

This will install the script foobashrc.bashrc at /etc/portage/. It is intended to be used in the emerge process through /etc/portage/bashrc (see Hooking In the Emerge Process (Gentoo Manual)). If you do not have your own bashrc yet, you can just link it to foobashrc.bashrc:

# ln -s /etc/portage/foobashrc.bashrc /etc/portage/bashrc

To complete the installation you need to add

foobashrc_modules = "localpatch"

to your /etc/make.conf. By un-/commenting this line you can easily activate/deactivate localpatch.

How it works

By default, localpatch will look into /etc/portage/localpatches in order to search for patches. This can be changed by setting LOCALPATCH_OVERLAY variable within /etc/make.conf.

The actual patches for a package are placed in subdirectories with one of the following naming schemata:

  1. ${CATEGORY}/${PN}-${PV}-${PR} - example 'app-foo/bar-1.0-r1'
  2. ${CATEGORY}/${PN}-${PV} - example 'app-foo/bar-1.0'
  3. ${CATEGORY}/${PN} - example 'app-foo/bar'

Only the patches within the first matching schema are used and are applied within numerical order.

See Also

Localpatch_(Tutorial)
http://forums.funtoo.org/viewtopic.php?id=193