Here I explain why emerge --sync should return to it's original sync form.
I think emerge sync should have the ability to have a target. Currently emerge --sync has a target of the SYNC variable in make.conf or the default hardcoded. However, git support is being added to portage. git is a very powerful tool, and the Funtoo project uses it to manage it's full portage tree. git doesn't work like rsync, it's not so straight forward as rsync uri, which is effectively what emerge sync is doing. git supports branches. The current implementation of git in portage effectively does git pull ... which is great... you know if you pull from the default.
I don't, and I'm not sure I'd always want to, it'd be great to be able to change tree's on the fly with a more distributed model. If I want to test funtoo without pulling it's tree into mine I could emerge sync funtoo funtoo.org, or I could switch to gentoo by doing an emerge sync rsync://rsync.gentoo.org/gentoo-portage and none of this will change the default or require configuring in make.conf.
Biggest reason to do this is branches though. what if I have a development branch and I need to test something... I, in theory should be able to change the branch quickly. with git I will have to cd to PORTDIR then run checkout. with portages current implementation I'll have to reconfigure some of git and then do a sync. However, if I were able to add a target to it I could easily do emerge sync origin development or emerge sync origin master.
The SYNC variable and maybe some GIT_BRANCH variable could still define defaults while adding a target would make development and testing easier for developers and testers respectively.
Showing posts with label pms. Show all posts
Showing posts with label pms. Show all posts
Dec 21, 2008
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.
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.
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,
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
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.
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
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
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 syncthis 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 packagenameI 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 worldan -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 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 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.
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 19, 2008
buildpkg
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 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.
Oct 9, 2008
emerge-ng
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.
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.
Subscribe to:
Posts (Atom)