Difference between pages "Category:FLOP" and "Git local overlay"

(Difference between pages)
 
(Created page with "Here is How To: Work with local overlay synchronized with your git repository. == Setup git local overlay == === Create local overlay === Create the necessary directory struct...")
 
Line 1: Line 1:
This page lists all FLOPs, also known as Funtoo Linux Optimization Proposals. FLOPs are proposals created by our community that describe ways that Funtoo Linux can be improved. You are welcome to submit a FLOP on the wiki for any initiative you have that you think may improve Funtoo Linux. Use FLOPs for things that aren't bugs or small fixes, but for larger initiatives that will make Funtoo Linux better.
+
Here is How To: Work with local overlay synchronized with your git repository.
== How To Add a FLOP ==
+
 
To create a new FLOP, enter the name of your FLOP in the field below and click "Create or Edit". You will then be prompted to fill out a form for the FLOP, and enter wikitext on the bottom. When saved, your FLOP will have the prefix "FLOP:" to clearly designate it as a FLOP, so it's not necessary to include phrases like "Funtoo Linux" or "Proposal" in your FLOP name.
+
== Setup git local overlay ==
{{#forminput:form=FLOP|query string=namespace=FLOP}}
+
 
This category uses the form [[Has default form::FLOP]].
+
=== Create local overlay ===
 +
 
 +
Create the necessary directory structure
 +
<pre>
 +
# mkdir -p /usr/local/portage/profiles
 +
# echo "$HOSTNAME" >> /usr/local/portage/profiles/repo_name
 +
</pre>
 +
 
 +
This enables access to /usr/local/portage
 +
for users in the portage group
 +
<pre>
 +
# chown root:portage /usr/local/portage
 +
</pre>
 +
 
 +
Assign the portage group as default for newly created files in
 +
/usr/local/portage
 +
<pre>
 +
# chmod g+s /usr/local/portage
 +
</pre>
 +
 
 +
Enable users in the portage group to write to
 +
/usr/local/portage
 +
<pre>
 +
# chmod 775 /usr/local/portage
 +
</pre>
 +
 
 +
Edit make.conf
 +
<pre>
 +
# echo "PORTDIR_OVERLAY=/usr/local/portage" >> /etc/make.conf
 +
</pre>
 +
 
 +
Logout as root
 +
<pre>
 +
# exit
 +
</pre>
 +
 
 +
Create the relevant directory structure
 +
(I use the game rain-slick as example)
 +
<pre>
 +
$ mkdir -p /usr/local/portage/games-rpg/rain-slick
 +
</pre>
 +
 
 +
Copy the ebuild to your overlay
 +
<pre>
 +
$ cp rain-slick-1.5.ebuild /usr/local/portage/games-rpg/rain-slick
 +
</pre>
 +
 
 +
Issue the following commands to install rain-slick from your overlay
 +
<pre>
 +
$ cd /usr/local/portage/games-rpg/rain-slick
 +
$ ebuild rain-slick-1.5.ebuild digest
 +
$ su
 +
# emerge -a rain-slick
 +
</pre>
 +
 
 +
=== Synchronize with git repository ===
 +
 
 +
If you are not related with git and ssh you can check [http://help.github.com/ this] GitHub manual.
 +
If you have not git repository with local overlay yet you can assign it alike :
 +
<pre>
 +
$ cd /usr/local/portage/
 +
$ git add /usr/local/portage/profiles/repo_name
 +
$ git commit -m 'git init'
 +
$ git remote add origin git@github.com:YourGitHubAccount/YourGitHubRepository.git
 +
$ git push -u origin master
 +
</pre>
 +
 
 +
If you already have git overlay repository or want to use some you can assign it alike :
 +
<pre>
 +
$ cd /usr/local/portage/
 +
$ git init
 +
$ git remote add origin git@github.com:YourGitHubAccount/YourGitHubRepository.git
 +
$ git fetch
 +
$ git branch master origin/master
 +
$ git checkout master
 +
</pre>

Revision as of 05:53, 23 June 2011

Here is How To: Work with local overlay synchronized with your git repository.

Setup git local overlay

Create local overlay

Create the necessary directory structure

# mkdir -p /usr/local/portage/profiles 
# echo "$HOSTNAME" >> /usr/local/portage/profiles/repo_name

This enables access to /usr/local/portage for users in the portage group

# chown root:portage /usr/local/portage

Assign the portage group as default for newly created files in /usr/local/portage

# chmod g+s /usr/local/portage

Enable users in the portage group to write to /usr/local/portage

# chmod 775 /usr/local/portage

Edit make.conf

# echo "PORTDIR_OVERLAY=/usr/local/portage" >> /etc/make.conf

Logout as root

# exit

Create the relevant directory structure (I use the game rain-slick as example)

$ mkdir -p /usr/local/portage/games-rpg/rain-slick

Copy the ebuild to your overlay

$ cp rain-slick-1.5.ebuild /usr/local/portage/games-rpg/rain-slick

Issue the following commands to install rain-slick from your overlay

$ cd /usr/local/portage/games-rpg/rain-slick
$ ebuild rain-slick-1.5.ebuild digest
$ su
# emerge -a rain-slick

Synchronize with git repository

If you are not related with git and ssh you can check this GitHub manual. If you have not git repository with local overlay yet you can assign it alike :

$ cd /usr/local/portage/
$ git add /usr/local/portage/profiles/repo_name
$ git commit -m 'git init'
$ git remote add origin git@github.com:YourGitHubAccount/YourGitHubRepository.git
$ git push -u origin master

If you already have git overlay repository or want to use some you can assign it alike :

$ cd /usr/local/portage/
$ git init
$ git remote add origin git@github.com:YourGitHubAccount/YourGitHubRepository.git
$ git fetch
$ git branch master origin/master
$ git checkout master