Difference between revisions of "Applying Local Patches to Ebuilds"

(How it works)
 
(4 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 12: Line 12:
 
foobashrc_modules = "localpatch"
 
foobashrc_modules = "localpatch"
 
</pre>
 
</pre>
to your make.conf. By un-/commenting this line you can easily activate/deactivate localepatch.
+
to your /etc/make.conf. By un-/commenting this line you can easily activate/deactivate localpatch.
 +
 
 
== 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, January 28, 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 (package not on wiki - please add):

# 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