The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Creating Your Own Overlay"
Threesixes (talk | contribs) m (more details) |
Threesixes (talk | contribs) m (more details) |
||
Line 1: | Line 1: | ||
This page intends to get your local overlay going, show how to revision bump a package, and sync your goodies to github. | This page intends to get your local overlay going, show how to revision bump a package, and sync your goodies to github. | ||
{{console|body=###i## mkdir /var/overlay}} | {{console|body=###i## mkdir /var/overlay}} | ||
Line 8: | Line 7: | ||
{{console|body=###i## chown root:root /var/overlay && cd /var/overlay | {{console|body=###i## chown root:root /var/overlay && cd /var/overlay | ||
###i## git clone http://git.funtoo.org/skeleton-overlay/ local && cd local | ###i## git clone http://git.funtoo.org/skeleton-overlay/ local && cd local | ||
echo "myoverlayname" > /var/overlay/local/profiles/repo_name}} | ###i## echo "myoverlayname" > /var/overlay/local/profiles/repo_name}} | ||
Change the readme message to what you want to show up on the front page of your repo: | Change the readme message to what you want to show up on the front page of your repo: | ||
Line 19: | Line 18: | ||
{{console|body=###i## mkdir -p /var/overlay/local/cat-egory/package | {{console|body=###i## mkdir -p /var/overlay/local/cat-egory/package | ||
###i## mv package-oldversion.ebuild /var/overlay/local/cat-egory/package/package-oldversion.ebuild | ###i## mv package-oldversion.ebuild /var/overlay/local/cat-egory/package/package-oldversion.ebuild | ||
###i## cp /var/overlay/local/cat-egory/package/package-oldversion.ebuild /var/overlay/local/cat-egory/package/package-newversion.ebuild | ###i## cp /var/overlay/local/cat-egory/package/package-oldversion.ebuild /var/overlay/local/cat-egory/package/package-newversion.ebuild | ||
###i## ebuild *.ebuild manifest}} | ###i## ebuild *.ebuild manifest}} | ||
for init files, patches etc: | |||
example{{c|/var/overlay/local/sys-apps/apparmor/files/apparmor-init}} | |||
{{console|body=###i## mkdir /var/overlay/local/cat-egory/package/files | |||
###i## nano /var/overlay/local/cat-egory/package/files/package-init}} | |||
Add your overlay to make.conf: | Add your overlay to make.conf: | ||
Line 31: | Line 35: | ||
=== GIT === | === GIT === | ||
make ssh keys and upload them to github or else entering your password will get very old very quick. | {{note|make [[SSH#Passwordless_Authentication | ssh keys]] and upload them to github or else entering your password will get very old very quick.}} | ||
https://github.com/666threesixes666 = my github user account<br /> | |||
https://github.com/666threesixes666/tripsix = my /var/overlay/local/profiles/repo_name contents | |||
{{console|body=###i## cd /var/overlay/local | {{console|body=###i## cd /var/overlay/local | ||
Line 42: | Line 50: | ||
###i## git push origin master}} | ###i## git push origin master}} | ||
If flaws are discovered in your ebuild, you can repair them | If flaws are discovered in your ebuild, you can repair the ebuild/patches/init files/conf.d files within them and upload them to github by these commands: | ||
{{console|body=###i## cd /var/overlay/local | {{console|body=###i## cd /var/overlay/local | ||
###i## git add . && git commit -m 'updates' && git push origin master}} | ###i## git add . && git commit -m 'updates' && git push origin master}} |
Revision as of 02:28, May 3, 2015
This page intends to get your local overlay going, show how to revision bump a package, and sync your goodies to github.
root # mkdir /var/overlay
Change the /var/overlay user and group to your own, everyone has the root user, and root group, so we'll use root for the example, though it should be changed to the primary unprivileged account used to edit the ebuilds. Clone the skeleton from github. Change the repo name from skeleton to your own repo name as you want to see it when emerging.
root # chown root:root /var/overlay && cd /var/overlay root # git clone http://git.funtoo.org/skeleton-overlay/ local && cd local root # echo "myoverlayname" > /var/overlay/local/profiles/repo_name
Change the readme message to what you want to show up on the front page of your repo:
/var/overlay/local/README.rst
- Set the github front page messageThis overlay is from so and so funtoo user. Order a $15/month container today @ funtoo.org
Insert portage structure category & package directories. For example i want to fix apparmor to include the very latest source , i would mkdir -p /var/overlay/local/sys-apps/apparmor then copy the old ebuild i found online (or on my computer) to the directory. /var/overlay/local/sys-apps/apparmor/apparmor-2.8.4.ebuild
is where the old ebuild would sit. Copy it to the latest upstream version number. cp apparmor-2.8.4.ebuild apparmor-2.9.2.ebuild
then run the ebuild manifest file.
root # mkdir -p /var/overlay/local/cat-egory/package root # mv package-oldversion.ebuild /var/overlay/local/cat-egory/package/package-oldversion.ebuild root # cp /var/overlay/local/cat-egory/package/package-oldversion.ebuild /var/overlay/local/cat-egory/package/package-newversion.ebuild root # ebuild *.ebuild manifest
for init files, patches etc:
example/var/overlay/local/sys-apps/apparmor/files/apparmor-init
root # mkdir /var/overlay/local/cat-egory/package/files root # nano /var/overlay/local/cat-egory/package/files/package-init
Add your overlay to make.conf:
/etc/portage/make.conf
- Insert the local overlayPORTDIR_OVERLAY="/var/overlay/local"
You're ready to emerge the new version, you don't need to sync, you can make minor changes, then emerge, and if it breaks again you can make more minor changes, and emerge again. Once you're satisfied with the ebuild its time to share your fun goodies.
GIT
make ssh keys and upload them to github or else entering your password will get very old very quick.
https://github.com/666threesixes666 = my github user account
https://github.com/666threesixes666/tripsix = my /var/overlay/local/profiles/repo_name contents
root # cd /var/overlay/local root # git init root # git add . root # git commit -m 'First commit' root # git remote add origin git@github.com:666threesixes666/tripsix.git root # git remote set-url origin git@github.com:666threesixes666/tripsix.git root # git remote -v root # git push origin master
If flaws are discovered in your ebuild, you can repair the ebuild/patches/init files/conf.d files within them and upload them to github by these commands:
root # cd /var/overlay/local root # git add . && git commit -m 'updates' && git push origin master