Local Repo for testing

Anything that pertains to Entropy, Equo or Sulfur

Moderator: Moderators

Local Repo for testing

Postby manwithaplan » Sat Feb 21, 2009 0:16

I'm new to the Sabayon world... and have been impressed by there entropy. I come from the Gentoo world of portage. As all gentoo users know there are many overlays that private individuals setup for others to use.
I want to setup a couple overlays I've used in the past and compile some software. The trick is, or I guess I should say, I need some clarification to prevent any collision between portage and entropy. I have a couple of questions for anyone out there that can help me setup a local repo using overlays for testing. I think I can manage using repository manager and repositories.conf file to setup a localhost server for my custom binary builds. I am most concerned with is my world files,package.use files and make.conf's, when building packages from the overlays or custom ebuilds. (I'd like to quarantine all custom builds for my local repo, and make them independent from my current build). I've reviewed this wiki here http://wiki.sabayonlinux.org/index.php?title=En:HOWTO:Set_Up_A_Community_Repository and it seems simple enough to setup a repository for testing.
When I emerge and build packages from these overlay's and build, should I:
Code: Select all
 "emerge -av1 (package_name)"
each time I emerge from portage to prevent world file collision, when building my own binary's. What I mean is, I've noticed before when I have emerged a package from portage, entropy automatically merges all builds from portage. When I say merged, I dont know if entropy uses its own world file or just adds it to an existing database, it just prompted me if I wanted to add it to the list of already installed programs. After an "equo world --ask" it reinstalls or updates the packages that I emerged earlier from portage. Without the specific use flags I originally used from portage.

Example: I emerged gparted with the gnome USE flag. Then on a world update through entropy I am ask to reinstall gparted again (same revision) without the gnome USE flag. I did check the details of the binary in spritz to see the USE flags, and gnome was not included. So I assume even if I added the gnome flag in entropy's package.use it wouldn't matter either way because there binary.

To sum up this very long winded post, and I apologize... Is, I want too build my own binary's from ebuilds and overlays, independent from my host system. Then setup the localhost repository server, and use Entropy for selection and testing my binaries.
The only solution I can come up with is to run a VM and build from there... Though I do have a decent setup, its just not pratical. Would a chrooted minimal install be practical for binary builds?
manwithaplan
Baby Hen
 
Posts: 4
Joined: Sun Jan 11, 2009 13:08

Re: Local Repo for testing

Postby WarraWarra » Sat Feb 21, 2009 12:18

Sounds good. Print out the emerge options and read up on how they work as this will safe a lot of time later, same with entropy / equo.
Then make notes of options you would use for build , testing like deps etc , the more frequent ones you will use to make sure they are stable.

Look at somehow to sandbox jail the builds as you can build without installing or install and build or install using emerge / portage.
Also look at empty tree option in emerge.

equo --help
In equo you will find database and gentoosync and using this the 2 will be merged or made aware of each other.

Conflict:
You might still end up with 2 versions of portage wanting to be instaled but this can be fixed with either masking one of them or like in sandbox jailed enviroment you use the one that pleases you and it will have no effect on your installed.

Crontab:
You could just automate this using crontab and chroot enviroment see gentoo handbook install from scratch, let it build and then exit the jailed enviroment.

Script:
Use crontab to load your build script, make a script that mkdir, copy needed files to new directory, check if internet os on or source files for task is locally available, chroot, --sync, update portage, then either check current deps or jut start the build, again test new build packs deps, do other tweaking tasks, empty temp files, do some maintenance, exit to normal user enviroment.

Funtoo once ready:
Then you could end up using funtoo to build custom distro's.
Having equo / entropy handle new distro's files is just a question of pointing equo to where the files are how what and where it should use similar to make.conf and let it do it's thing.

Example
Equo might even be able to do your tax returns provided you can tell it where the input is and how to process it, then where to place the output and how to process the files in future for reuse. This is the concept you just need to adjust it.

To stable or not to stable that is the question
Entropy defaults to unstable x86 or testing x86 and not the stable x86 packages you might want. Using stable you would ahve to know a bit more about portage and how it works + mask and unmask idees etc.

Gnome issues:
Have a look at how equo / spritz / entropy works and then tweak it's own make.conf likely adding gnome to it's USE flags.
Also you can run deptest and libtest but again are you using the gnome used by equo / entropy or the one from emerge / portage as both might be 2 different versions ?

2 guys and 2 bank accounts, what ?
Check both /etc/make.conf and equo / entropy make.conf and make sure they speak the same languages and uses the same parts as this will have a effect on what and how it installs.

Hope this helps.
WarraWarra
Sagely Hen
 
Posts: 1989
Joined: Wed Jan 03, 2007 21:01
Location: 31.324270, -113.585511

Re: Local Repo for testing

Postby manwithaplan » Sun Feb 22, 2009 8:21

WarraWarra, Thank you for the patient reply... I'm going with an attitude to be more proactive. My scripting skills are par at best, and have found by setting up my own testing rig it would help me graduate into the testing realm of development.

I did review Gentoo's sandbox developer guide and can see that a jailed sandbox environment is perfect for development testing ebuilds binarys, this definitely clarifies my confusion with affecting my host build, and to use a chroot environment containment.

Just a few more questions?
Crontab:
You could just automate this using crontab and chroot environment see gentoo handbook install from scratch, let it build and then exit the jailed enviroment.

Script:
Use crontab to load your build script, make a script that mkdir, copy needed files to new directory, check if internet os on or source files for task is locally available, chroot, --sync, update portage, then either check current deps or just start the build, again test new build packs deps, do other tweaking tasks, empty temp files, do some maintenance, exit to normal user environment.


I'm familiar with cron and have a few scripts loading on certain days, which I manage through webmin. From what your saying is, I can cron entire gentoo builds? I have written certain scripts before that automount my partitions and chroot on startup and sync portage. Just haven't taken them far enough to continue a full auto build, or automate installs. Any websites you know of that could help? (not that i'm afraid of google, just some suggestions) Sounds fun... Entire build --synced and built

Example:
Equo might even be able to do your tax returns provided you can tell it where the input is and how to process it, then where to place the output and how to process the files in future for reuse. This is the concept you just need to adjust it.


This has too be the most confusing for me (Like Taxes.... :x ) Is how, and where I can tell equo to build and process binary's and place the output for future use..? Any developer guides to equo's build process? The general Entropy wiki is vague, and caters to general use, not package development. And how can I sync my entropy/ w portage ?, so I can see any portage builds in spritz or equo. Oops... ( equo database gentoosync)

EDIT: I am reviewing the equo printout.... it'll takes some review.... are there any quick how to's on package builds?

Gnome issues:
Have a look at how equo / spritz / entropy works and then tweak it's own make.conf likely adding gnome to it's USE flags.
Also you can run deptest and libtest but again are you using the gnome used by equo / entropy or the one from emerge / portage as both might be 2 different versions ?


That, I have reviewed... and know that certain Sabayon binary builds do not have the proper flags that I require, or want. And from my recent IRC chat, I was made aware of the package delay's on the binary builds from the Gentoo portage tree to the Sabayon database (Which is perfectly ok with me, that's why I have chosen this distro, for its moving forward attitude, and giving the user more control over the OS, and easy installs). That's why I want an independent repository for testing newer ebuilds, or custom ebuilds, and to pull from the latest overlays (~amd64 & ~x86) and from SVN, or Git sources to test and build new binary builds. Just a clarification, is the Sabayon development team building all binary's from directly from source without the Gentoo ebuilds?... Please excuse any of my amateur development ignorance.

2 guys and 2 bank accounts, what ?
Check both /etc/make.conf and equo / entropy make.conf and make sure they speak the same languages and uses the same parts as this will have a effect on what and how it installs
.

This is where I am confused between the two... Again in my latest IRC chat I was recommended to keep all CFLAGS...etc etc.. the same unless I choose to use portage over entropy. With the exception of USE flags, so they speak the same. And was later recommended in IRC to just stick with the package.use files... Which I'm happily obliged with for version control because of delays, or any conflicts in the configuration files of different versions in Gentoo portage and Entropy.

EDIT: I'm getting.. it now... if I run a "equo database gentoosync" and then a "equo world" and the USE flags don't match my original emerge, then "equo world " asks for an update, or downgrade, if the version or USE flags are not the same? Is this right? And the only way to correct this is to edit the make.confs and package.use files, for both package managers. I always assumed that even if my USE flags where declared, it wouldn't matter if a binary package that is already built with its predetermined USE flags. So even with a gentoosync, Entropy would always ask for an upgrade or downgrade. Is this correct? And if so, would I need to mask them from an Entropy update if the binary's don't have the proper USE flags.?

Summary:
1) I'd like to know how Sabayon team builds binary's from source, or ebuilds
2) And if the binary's built using equo, a How To, or developer guide would be great
3) I'm just an amateur trying to build a personal repo... that I can use to grow my skills, and eventually make a secondary mainstream repo for users to share. I have the bandwidth and computer power to at least try it


Thx a again for your any help.... Just wanna go to the next level... Again apologies for an extremely winded post...
manwithaplan
Baby Hen
 
Posts: 4
Joined: Sun Jan 11, 2009 13:08

Re: Local Repo for testing

Postby wolfden » Sun Feb 22, 2009 10:54

entropy gets packages from portage.

entropy is precompiled packages from portage for you to install via binary, see the config files to see how packages are built.
wolfden
Sharecropper
 
Posts: 9051
Joined: Sat Jan 14, 2006 0:55
Location: Midwest USA

Re: Local Repo for testing

Postby manwithaplan » Sun Feb 22, 2009 11:35

Wolfden,
To be honest.... I'm completely over-complicating things with eqou... I guess I just wanna know how everything works.

BTW, WarraWarra I'm half way through script to completely auto-build from stage1 w/ a bootstrap. Should be nice to quickly (distcc) setup chroots for builds. Then follow up with crontrab to automate some scripts to mount and emerge --sync with world updates, and then export emerge logs to my desktop to check for any failed compiles.
manwithaplan
Baby Hen
 
Posts: 4
Joined: Sun Jan 11, 2009 13:08

Re: Local Repo for testing

Postby Thev00d00 » Mon Feb 23, 2009 11:39

Hey man
1) I'd like to know how Sabayon team builds binary's from source, or ebuilds

We emerge things, as usual, we then run
Code: Select all
equo community repos update

This command checks for differences between the entropy and portage DBs, then creates a package from all the new additions.
2) And if the binary's built using equo, a How To, or developer guide would be great

The howto is quite clear. on this: http://wiki.sabayonlinux.org/index.php? ... _something
3) I'm just an amateur trying to build a personal repo... that I can use to grow my skills, and eventually make a secondary mainstream repo for users to share. I have the bandwidth and computer power to at least try it

Thats how my zenana repo started, I like having my own use flags but like the entropy system, so I set up a chroot, and here we are, my repo tracks portage much closer and has lots of overlays, it has the latest stuff usually a week or so before the main repo, and has all the cool stuff turned on! :D
If you want you stuff hsoted when you public, just ask me, I host all the public community repos in existance currently (about 3 lol)
Image
Please report Bugs on the Bugzilla, not forum
Please Adopt an Unanswered thread
Website / Blog : v00d00.net
twitter: Follow Me
G+: Circle Me
Thev00d00
Generally Awesome (tm)
 
Posts: 1472
Joined: Wed Feb 21, 2007 15:52
Location: United Kingdom


Return to Entropy|Equo|Rigo Package Managers

Who is online

Users browsing this forum: No registered users and 0 guests