Oct 30, 2008

accept input from stdin

if possible emerge-ng should be able to accept input from .

e.g. cat packagelist | emergeng

thus far neither portage nore pkgcore have this capability.

Oct 29, 2008

minimum permissions and privilegdges

I like security... which means I should be able to run portage as portage (user) and have the umask be 077, or perhaps 027. Unfortunately the last time I checked portage could handle these restrictive permissions (I forget if it was these exactly) except for one set... java. In a perfect ebuild world all ebuilds would be able to be installed under a very restrictive umask.

Should regen2 ever come to fruition this should be fixed.

Oct 28, 2008

pkgcore the victor

pkgcore is my pick for the next portage and codebase for emerge-ng. I admit I haven't let paludis have a chance (yet).

Why haven't I let paludis have it's chance?

The reasons are quite simple. Everytime I have tried paludis prior to this it has required extra configuration (meaning it doesn't work out of the box). I believe this was fixed recently. However,

paludis@1208029212: [WARNING] Use of Portage configuration files will lead to sub-optimal performance and loss of functionality. Full support for Portage configuration formats is not guaranteed; issues should be reported via trac. You are strongly encouraged to migrate to a Paludis configuration.
paludis@1208029212: [WARNING] Use of Portage configuration files will lead to sub-optimal performance and loss of functionality. Full support for Portage configuration formats is not guaranteed; issues should be reported via trac. You are strongly encouraged to migrate to a Paludis configuration.
* Done cleaning write cache for ebuild format repositories
paludis@1208029212: [WARNING] Use of Portage configuration files will lead to sub-optimal performance and loss of functionality. Full support for Portage configuration formats is not guaranteed; issues should be reported via trac. You are strongly encouraged to migrate to a Paludis configuration.

This is the end of a paludis --sync. Annoying. Paludis also has it's alpha releases marked as ~arch, this is a no, no. I also found the people in #paludis on irc to be rude and unhelpful. I was annoyed at the time (so being rude myself) as gentoo kde-svn overlay was going to require paludis which means I was going to be forced to use it. Regardless I've never been met with lot's of friendliness or help in #paludis. They are an RTFM crowd. I have been told to use paludis several times without even asking about it (as if it is the solution to all problems). So is pkgcore better? I can't say without a doubt that it is.

Why is pkgcore the victor?

For starter's it's only the victor for me. paludis is a more mature product at this point and has a stronger following of fanatic's/zealot's.

1.) pkgcore it more similar to portage.

pkgcore was originally intended to be portage 3. This leads to a large amount of similarities and backwards compatibility.

2.) pkgcore devs are really friendly. Sometimes patience is a virtue getting an answer on #pkgcore but most of the times I get one. This allowed me to quickly learn what I could and could not (yet) do with pkgcore, including finding a bug within a week.

3.) pkgcore just works. I installed pkgcore and with a quick look at the site was quickly able to start doing work with it.

4.) pkgcore installs faster. I think it took like an hour to build paludis on this machine (maybe more) pkgcore took 2 minutes tops.

5.) pkgcore uses C. For the parts of portage that were really slow they re-wrote them in C using cpython. using both python and c leads to faster development and speed where needed.

How do I use pkgcore
real quick

pmaint sync

this is the biggest adaption from portage, imho and I'm not sure why it's not --sync or pmerge --sync (in some ways it's more similar to portage 2.0 syntax). This will not only sync your main gentoo tree but any repositories you've intalled with layman. as of yet you still have to install them via layman, but this may change in the future.

pmerge packagename

I told you this was easy. Most of the options I use work. The biggest that doesn't is --verbose, this seems to be default now (with --ask) so an option is no longer needed. updating world

pmerge -auDs world

an -s is now needed to work with things like system and world. It's for package set. My one complaint here is the --newuse doesn't currently work with sets. This is a bug and will be fixed in the future.

Is anything wrong with pkgcore in your eyes?

well aside from the plethora of missing features (they'll get done, it's just a time thing). Documentation... I usually learn stuff by reading web documentation (or books) until I'm comfortable enough reading man pages. The web documentation for pkgcore needs a lot of work. I may actually volunteer to help with this. I haven't decided yet, and it depends partially on if they want to answer all my questions as I write the docs.

It'd be nice if at some point pmerge could become emerge etc... (meaning reprise it's roll as portage 3).

for more information on pkgcore go to pkgcore.org

Oct 27, 2008

.iso's are a waste of time

That's right all of releng's work on making a pretty iso is a waste of time. Gentoo doesn't need them. You can install Gentoo off of any livecd, or not, my last install was nothing but chroot until I thought had everything set, then I removed the other distro, moved gentoo and attempted a boot. It didn't work, but that was probably because I had forgotten SATA requires SCSI in the kernel.

releng should focus on getting us up to date tarballs more often, especially when gcc, or glibc have been updated (as the 2 biggest pita's in system). Other than that we should have them use the Sabayon, System Rescue Cd, or other distro's based on Gentoo (we could point them to knoppix or dsl for all it matters) to install from. Instead our tarball's are out of date because releng must develop a new cd/dvd.

People will think less of Gentoo if we don't offer a CD.

So? Gentoo is and has always been for power users. I don't want the n00buntu user's here before they are ready. If they are judging us based on a cd they won't be using daily what does that say about them? first and foremost we should be satisfying the needs of our current users.

That being said we should still update iso's once a year maybe once every 2 years, because users will need cd's to install from. This should be very low on the list, because as I said there are other livecd distro's that can do this job and let releng get back on track.

Oct 26, 2008

Graphical Package Manager

Anyone that knows how I work in linux, knows that I"m comfortable with the cli, and prefer it to a gui. I know that not everyone is or should have to be. Sometimes a gui can make management easier. Even a die hard cli person like me realizes that. However, you should never have to do things the gui way, they are just front ends. emerge-ng needs to support having a gui even if the development of such a project is not directly part of the emerge-ng project.

Oct 25, 2008

Why not Sabayon?

I'm going to be short and sweet on this. The last time I checked, Sabayon made you run ~arch, upgrading would break your system, and it was all about bleeding edge gui's. Sabayon is good for the last. But stay away from it if you want/need stability, or gentoo upgrades.

Oct 24, 2008

More than 3 levels of stable

Currently Gentoo has arch, ~arch, and ~M ( - if not available ).

One of the main things people want are security patches only updates. I tend to agree with this, although they should be between arch and ~arch, maybe +arch. Technically a security patch can break things which is why they shouldn't be considered stable.

Regen2 should also have strict rules about what's what. Alpha products should always be ~M, beta's and rc's should be ~arch. The wouldn't be listed as those upstream if they were stable, and if upstream says they are stable then tell upstream to move them to stable.

We should add an unmaintained level akin to ~M, perhaps ~U, this is so just because the current maintainer doesn't want it in the tree, it doesn't go completely away (in the event someone wants to pick it up and fix it).

we should have some way of setting up the vcs packages by arch.

Oct 22, 2008

versioned /etc

regen2 should support an /etc that's under version control. something like etckeeper could/should work. Or we could just build our own tool for use with an existing vcs.

Oct 21, 2008

Dan Robbins Tarballs

I think having weekly tarballs is a great idea. But I'm less concerned about the release schedule of such things for regen2 and more concerned about the system packages that tarballs contain. A new tarball should be released, 1 week after a new glibc or gcc is updated, for sure, but any system package should be enough. Why 1 week? well once they stabilize they will hit a lot more people who are likely to have bugs, and that gives time for bugs to be fixed before tar-ing it. Why those 2 packages in particular? They are huge and take a long time to compile.

I'd like to warn people about using Dan Robbins tarballs. I don't think they are stable. I was building 2 systems recently and one was built off of the last Gentoo i686 tarball the other was built off of Dans latest tarball (I think, I had really lost track after 2-3 weeks). I went to build mysql, it failed to build on the Dan Robbins tarball system, couldn't figure out any rhyme or reason why, other than maybe something on his tarball was weird. So I grabbed a gentoo tarball and started over (note both system's were chroot's at the time and had the exact same configs, just different hardware underneath). Everything went fine the second time I tried. So just a word of warning, his tarball's may have problems. No I haven't reported this to him, I don't have the error anymore either, I unfortunately didn't have a good way to get one to him at the time.

EDIT: A more recent post from him suggests that this may have been cause by him using the 2007.1 profile which was never really released.

Oct 20, 2008

no more stabalizing rx one after another

so yesterday gentoo stabilized. gentoo-sources 2.6.24-r3 today they are stabilizing 2.6.24-r4. Come on people? I just built the damn kernel didn't you test long enough before releasing? well here goes building another kernel.

Oct 19, 2008


emerge-ng should be able to build rpms, and debs. regen2 should be the distro that builds other distro's, not only should it be good at that (gentoo is now) it should be designed for it.

Oct 18, 2008

kde-overlay (svn) now requires paludis

details are here

so apparently the folks running the kde overlay have decided to discontinue portage compatibility. I suppose I can't blame them, on the other hand I don't approve. Even though I haven't started testing paludis yet. I am still firmly against it as it is as gentoo's next package manager. I won't be regen2's without heavy modification. Including some re-writes. I do intend to investigate the possibility of using paludis code in emerge-ng.

Oct 17, 2008

pkgcore & paludis

So I figure it isn't fair to judge them without using them for a bit (even though they miss the mark of being drop in). over then next few days I will be testing them to see how they work.

Oct 14, 2008

emerge-ng multiple trees

first I hate repositories, but it is unlikely they will go away. So we must strive to make sure that they are only needed for truly rare things. from my perspective the sunrise repo shouldn't exist. and vcs builds should be in the tree. regen2 should strive to have everything possible in the tree. when it can't an overlay should have all the capabilities of the main tree. meaning that an overlay shouldn't automagically be considered less stable and require the keywording of all the ebuilds in it. also overlay's should be search-able regardless of whether they are installed to expedite the finding of apps.

emerge-ng and vcs builds

gentoo is a source based distribution, and this is a good thing. why then has the ability to have trunk builds (which has been added to many overlay's) seem like such a hack? all non-binary program ebuilds in the tree should have a 'trunk' version option. emerge --sync should then be able to find out whether trunk has been updated so you can correctly rebuild programs as needed with emerge --ask --verbose --update --deep --newuse world

Oct 10, 2008

what is regen2 linux?

In short a concept aimed at forking Gentoo Linux. First some history and my own experiences.

Gentoo is a sick adolescent who refuses to acknowledge his illness. Because he refuses to acknowledge the illness he can't be helped. There are many who have ideas about how to help him. Some of those are wrong.

Gentoo's biggest problem? Democracy. Making it actually work is not easy. Most of the really successful, open source, projects have one or two people at the top. A good benevolent leader is needed, imho. Gentoo's developer council did not seem to have things under control for the better part of 2007. Some things seem to have improved but I have lost faith in them.

Dan Robbins (gentoo's creator an prior benevolent dictator) made 2 offers to help, but left quickly after both. It is obvious that he can't/won't (shouldn't?) attempt to save Gentoo.

Political is Gentoo's biggest thorn and as a result it is suffering technically.

Portage (gentoo's ports like package manager) is said to be unmaintainable, buggy, and un-fixable. I believe there are 3 package managers being written separately, with the idea of being alternatives. From what I've seen of Paludis and Pkg-core neither of them have the right idea for an actual replacement. I will go into that in another post.

Gentoo's dev's have no respect for standards or conventions, and as such certain area's which could be easily fixed have suffered. such as Gentoo's Apache binary being named apache and apache2 instead of httpd which is mostly a convention, or the lack of an /srv which is not optional according to FHS.

Gentoo lacks a sense of business, to the point the foundations charter was revoked (or was it almost revoked, plenty of confusion to be sure). If support rallies behind me (or the idea) I fully intend on incorporating for the purpose of commercially supporting the distribution.

In short, I hope ReGen2 will be a commercial funded, rapid developing, fast, versatile, source based linux distribution. Which will continue to be a leader in the open source world.

Oct 9, 2008


at the time of this writing. a concept for software with a name that may not be it's final, and it may never get done.

emerge-ng should ultimately be a drop in replacement for the portage package (the main package manager) in gentoo linux.

for clarity I will be referring to portage as the software and if I mean to refer to portage's tree (basically one giant software repository), I will refer to it that way.

I know of at least 3 other projects to replace the outdated barely maintainable portage. I think all of them are going about it wrong. They are developing different package manager's instead of developing a better version of emerge. They are right that portage needs to be rebuilt from ground up, but that doesn't mean that the interface the user sees is bad. if vim had not tried to be mostly a clone of vi would it have been as successful? so successful that is it more popular than what it cloned? if gnu coreutils weren't posix compliant and didn't mostly match the original unix commands would we be using them? probably not.

I will be writing posts here to detail features that emerge-ng can benefit from.