Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Idea: mass customization of Gentoo with Portage
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3, 4  Next  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
oanjao
n00b
n00b


Joined: 19 Feb 2004
Posts: 73
Location: Orlando, FL

PostPosted: Mon Apr 26, 2004 2:12 am    Post subject: Idea: mass customization of Gentoo with Portage Reply with quote

The other day, as I installed another specialized mathematical library on a RedHat box, I started thinking about what a pain it's going to be to start over with Gentoo on that machine. Not installing Gentoo, but installing all of the little specialized applications that I've accumulated. In fact, just remembering what I need is going to be a challenge. Once I have it up and running, what if there were a way to export that portion of my world profile, in a form that would be of use to other users? That way, someone wanting to use Linux to write his thesis could just grab "Craig's Math Profile" and install everything with one command. Other application-oriented profiles could be "Web server" and "Multimedia Author." With the implementation of cascading profiles, I think this may not be too hard.

This would make Gentoo a lot more beginner friendly. A Linux newbie could very well install Gentoo and KDE and then be disappointed about the poor photo editing software available, never realizing that he had to install something called "GIMP." It would be a lot easier to choose the "Graphic Design" profile and start with a suite of apps suggested by a more experienced user. Everyone would find it much easier to reload their applications after a hard drive failure, since most home users only back up user data.

I think this would improve Gentoo without sacrificing the flexibility and transparency that we have all come to love. I'd like to hear your thoughts.

-- Craig
_________________
For tips and examples, check out my software development and scientific programming blog
Back to top
View user's profile Send private message
clar77
Apprentice
Apprentice


Joined: 02 Feb 2004
Posts: 210
Location: Charm City, MD

PostPosted: Mon Apr 26, 2004 2:24 am    Post subject: Reply with quote

Hey I kinda like this idea, I'm going to be updating a redhat box to gentoo at work that uses a bunch of special software for crystallography and molecular graphics. It would also be nice to be able to 'clone' the apps on several boxes for something like a university lab in such a fashion.

funny I was thinking what a PITA the same type upgrade would be.
_________________
Pointless screenshots
My dogs :)
Back to top
View user's profile Send private message
PowerFactor
Veteran
Veteran


Joined: 30 Jan 2003
Posts: 1693
Location: out of it

PostPosted: Mon Apr 26, 2004 4:10 am    Post subject: Reply with quote

Why not just use meta-ebuilds like is done with kde and gnome?
Back to top
View user's profile Send private message
Freak_NL
Apprentice
Apprentice


Joined: 27 Jun 2002
Posts: 261
Location: The Netherlands

PostPosted: Mon Apr 26, 2004 10:03 am    Post subject: Reply with quote

According to Gentoo developer "foser", meta ebuilds are "hackish" and "should be avoided as much as possible".

I like the idea of software profiles and the ability to create custom profiles. I think it would mean extending Portage with a form of functionality that offers it though. What do the Gentoo developers say?
Back to top
View user's profile Send private message
tihkal
Apprentice
Apprentice


Joined: 28 Feb 2004
Posts: 225

PostPosted: Mon Apr 26, 2004 2:12 pm    Post subject: Reply with quote

That's a pretty cool idea.
Mandrake had a similar idea where after installation you could create a disk to duplicate the install on another machine. Kind of handy for getting a box to a default state fit for your foibles.
Of course, in portage it'd be much better because we'd be getting up to date software :-)

What's wrong with meta packages by the way? I must confess i've not looked into them, perhaps I'll go see what the KDE one constitutes...

EDIT:

Ok so I looked at the KDE meta package for 3.2.2 and all it essentially is a bunch of dependencies. Now I can see this is not terribly elegant, but I can't see any good reason for using them. Though, it has to be said my time on Gentoo has been relatively short so I'm still getting my head around the nuances of the portage system.
Back to top
View user's profile Send private message
PowerFactor
Veteran
Veteran


Joined: 30 Jan 2003
Posts: 1693
Location: out of it

PostPosted: Mon Apr 26, 2004 4:32 pm    Post subject: Reply with quote

Freak_NL wrote:
According to Gentoo developer "foser", meta ebuilds are "hackish" and "should be avoided as much as possible".

Could you kindly point me to where he provides some justification for that opinion?

I agree that meta-ebuilds are not extremely "elegant." But I still don't see any functional advantage to profiles over meta-ebuilds for this purpose the way portage currently works. And you could roll you own meta-ebuilds today, without any changes to portage whatsoever. And a tool to generate them shouldn't be too dificult to make either.

And you may be able to use custom profiles with portage already, I don't know. You can use a custom "system" profile, and the "world" profile is obvously easy to customise. But I don't know if there is a way to use other profiles besides those two.
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9507
Location: beyond the rim

PostPosted: Mon Apr 26, 2004 4:49 pm    Post subject: Reply with quote

http://www.gentoo.org/proj/en/glep/glep-0021.html
Back to top
View user's profile Send private message
PowerFactor
Veteran
Veteran


Joined: 30 Jan 2003
Posts: 1693
Location: out of it

PostPosted: Mon Apr 26, 2004 5:14 pm    Post subject: Reply with quote

Thanks Genone. It's been a while since I looked at the GLEP page.
Back to top
View user's profile Send private message
Freak_NL
Apprentice
Apprentice


Joined: 27 Jun 2002
Posts: 261
Location: The Netherlands

PostPosted: Mon Apr 26, 2004 8:22 pm    Post subject: Reply with quote

PowerFactor:
In Bugzilla, no explanation though.

I didn't know about GLEP, it seems just that what is desired. :)
Back to top
View user's profile Send private message
oanjao
n00b
n00b


Joined: 19 Feb 2004
Posts: 73
Location: Orlando, FL

PostPosted: Tue Apr 27, 2004 5:51 pm    Post subject: Great! Now what? Reply with quote

I'd never heard of the GLEP either... thanks for bringing that up. Now, what to do with it? Is a developer working on this, and is there a way to encourage them? :wink: I volunteer to beta-test the idea on my test system, and I can put together some page sets, but I don't know the first thing about Python development.
_________________
For tips and examples, check out my software development and scientific programming blog
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9507
Location: beyond the rim

PostPosted: Tue Apr 27, 2004 8:10 pm    Post subject: Reply with quote

It's under development, maybe it will be implemented in 2.0.51 (I'm a bit out of touch with recent development lately due to time constraints).
Back to top
View user's profile Send private message
khud
n00b
n00b


Joined: 29 Sep 2004
Posts: 33
Location: Valencia - Spain

PostPosted: Wed Sep 29, 2004 9:24 am    Post subject: Wold like to see in Portage: Package Groups Reply with quote

Hi, I just registered today to reply to a post, and after replying, I felt like sharing this idea I've had for a long time.
For long, I've disliked the idea of updating the whole system with an emerge -uDpv world. Many times, the list is long, and many other times, even with a not-too-long list, you may want to avoid updating some packages.
I get by this by adding that specific version that is going to be updated to the /etc/portage/package.mask file, like "=sys-this/package-that-0.1.1" for example. I mean, I have gcc-2.4.2-r1 after an emerge -uD world, i don't want to spend some more hours emerging the next couple days just to get the -r2!!, so I end up echoing -r2 into package.mask. Same goes for packages like samba, mysql, xorg/xfree, the kernel sources, etc.
Needless to say, in my opinion this approach is not optimum, so I thought of a possible solution.
Many times you feel like updating some packages, always "those" packages, but they end up being enough in number to stop you from emerge(ing) -uD each and everyone of them. So you just do a emerge -uDpv world and leave it during the night. Yeah, problem fixed, or so you feel.
That's where the idea came up, Package Groups. This (i believe) would be a very simple way to manage groups of packages, their updates , and hell, even they package.keywords.
The main thing would be to add packages to groups. This is _NOT_ a developer issue, more an end-user stuff. This is how it would work:
The user emerges Samba for example, and adds samba to the group "big_apps". He later emerges the openoffice (source-code version, of course) and decides it's big enough to go into big_apps groups, he adds it. He does the same for mysql, xfree/xorg, development-sources and Gnome.
Okay, so he now has a group big_apps. And then, he wants to update _only_ this group. What does he do? Very simple, just like with world or system, he updates big_apps:
Code:
emerge -uDpv big_apps

Then emerge would only pick the big apps and check for the dependencies with the options passed to it (like --deep in this example), and print out a depgraph of what is to be emerged.
Maybe you find this a little... i don't know, useless? Consider this: You create a group with the(pseudo)command:
Code:
portgroups --groupadd break_my_gentoo

Now, we add the break my gentoo ebuilds that we emerge into the group break_my_gentoo with the (pseudo)command:
Code:
portgroups ----pkgadd <package_name> <group_name>

I still have not thought what would happen to dependencies, but I think it would not be needed to add these dependencies to the group_name since they're just dependencies. Of course, the user would have to --pkgadd each package manually, one by one, but I don't think its a hard work, except you emerge all bmg ebuilds.
Well, now the user updates the bmg-tree and wants to update all his bmg packages, but not all the system, so he simple executes:
Code:
emerge -uDav break_my_gentoo


I don't think it's hard to implement, but I don't know Python (hey, but I'm just learning, really) which is what portage practicaly is in, and this also has to do with core portage functionality so I rather not mess in there, and leave that to the devs. If enough users find this useful (and I hope they do) it might get attention ^_^

P.D: Sorry if the post was long, when I was writing I didn't care the length of the post, but if you're constant in these forums you should not complain, I've read longer posts ^^!

EDIT: Merged thread. --pjp
_________________
Antes morir de pie que vivir de rodillas.
Back to top
View user's profile Send private message
moocha
Watchman
Watchman


Joined: 21 Oct 2003
Posts: 5722

PostPosted: Wed Sep 29, 2004 10:42 am    Post subject: Reply with quote

Uh, this functionality is already present and used in Portage... They're called meta-packages. Example: kde-base/kde or gnome-base/gnome. They're simply empty packages which have the "real" packages as dependencies.
As to the -r problem - what's stopping you from adding two atoms like >=category/packagename-version-r1 and <=category/packagename-version-r99 to package.mask?
_________________
Military Commissions Act of 2006: http://tinyurl.com/jrcto

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety."
-- attributed to Benjamin Franklin
Back to top
View user's profile Send private message
asph
l33t
l33t


Joined: 25 Aug 2003
Posts: 741
Location: Barcelona, Spain

PostPosted: Wed Sep 29, 2004 10:59 am    Post subject: Reply with quote

also you can use scripts like PYE (pick your emerge) to only update the packages you want, look for it in the forums
_________________
gentoo sex is updatedb; locate; talk; date; cd; strip; look; touch; finger; unzip; uptime; gawk; head; emerge --oneshot condom; mount; fsck; gasp; more; yes; yes; yes; more; umount; emerge -C condom; make clean; sleep
Back to top
View user's profile Send private message
khud
n00b
n00b


Joined: 29 Sep 2004
Posts: 33
Location: Valencia - Spain

PostPosted: Wed Sep 29, 2004 11:09 am    Post subject: Reply with quote

Yeah, I know meta-packages are "somewhat" the same. But it is still not the same.
First, you need to create an ebuild in portage overlay for example.
Secondly, you don't want to be writing ebuilds and adding dependencies every time you emerge one of these packages, I tried doing a small program in perl to add packages into the meta-package but it's as unconfortable as it gets. Sometimes i had to add the meta-package to package.keywords in order to get it to install. This is not the goal.
I'm not looking for hacks, that's so... fake. What I have as of now are text filles in /usr/local/portgroups with the name of the package group, for example /usr/local/portgroups/break_my_gentoo
Then I manually echo "package" >> /usr/.../break_my_gentoo and then use a bash script to update the list in that package group. It's ugly, but it's what I have, and it's a LOT MORE confortable than metapackages.
_________________
Antes morir de pie que vivir de rodillas.
Back to top
View user's profile Send private message
spb
Retired Dev
Retired Dev


Joined: 02 Jan 2004
Posts: 2135
Location: Cambridge, UK

PostPosted: Wed Sep 29, 2004 1:23 pm    Post subject: Reply with quote

Well, some of the more recent portage releases have started creating /etc/portage/sets, which contains a symlink to /var/lib/portage/world. So I'd guess that this sort of functionality is planned for some point in the future.
Back to top
View user's profile Send private message
oberyno
Guru
Guru


Joined: 15 Feb 2004
Posts: 467
Location: /bin/zsh

PostPosted: Wed Sep 29, 2004 5:48 pm    Post subject: Reply with quote

Is doing this with cat and xargs really so hard?
Code:
oberyno % cat pack.txt                                                        ~
gaim
=gcc-3.4.1
~zsh-4.1.1
oberyno % cat pack.txt| xargs emerge -p                                       ~

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] net-im/gaim-1.0.0 
[ebuild     UD] sys-devel/gcc-3.4.1 [3.4.1-r3]
[ebuild     UD] app-shells/zsh-4.1.1-r5 [4.2.1]
Admittedly, it might be nice to have emerge recognize "emerge big_pkgs", but who is going to decide which are big?

Personally, I think it might be cool if categories could be upgraded like this "emerge -p --category=games-*". Obviously, it should only see installed packages. The same thing could be done right now, though, using qpgk.
Back to top
View user's profile Send private message
khud
n00b
n00b


Joined: 29 Sep 2004
Posts: 33
Location: Valencia - Spain

PostPosted: Wed Sep 29, 2004 11:05 pm    Post subject: Reply with quote

oberyno wrote:
Admittedly, it might be nice to have emerge recognize "emerge big_pkgs", but who is going to decide which are big?

Personally, I think it might be cool if categories could be upgraded like this "emerge -p --category=games-*". Obviously, it should only see installed packages. The same thing could be done right now, though, using qpgk.

The idea is that the user will creat his/her categories, and then upgrade them. Everyone knows how often they upgrade some set of packages, and for every person it differs. I don't think developers should define categories, but the users, adding packages to categories, and then unpgrading the categories. That way you could create a category "experimental" or "unwanted" to try some things, and unmerge them all in one emerge unmerge experimental. I think it would be cool.
_________________
Antes morir de pie que vivir de rodillas.
Back to top
View user's profile Send private message
ciaranm
Retired Dev
Retired Dev


Joined: 19 Jul 2003
Posts: 1719
Location: In Hiding

PostPosted: Wed Sep 29, 2004 11:11 pm    Post subject: Reply with quote

Congratulations, you just reinvented GLEP 21.
Back to top
View user's profile Send private message
khud
n00b
n00b


Joined: 29 Sep 2004
Posts: 33
Location: Valencia - Spain

PostPosted: Thu Sep 30, 2004 9:31 am    Post subject: Reply with quote

Ooops... I didn't know it even existed (or is in the process of...). I searchd for GLEP 21 and found this, so I was happy to see this has already been tought of :)
But I don't know when this will get into portage, since the date there says early this year, but it seems not to be implemented yet.
So if I understood the specification, it's basicaly similar to what I'm doing at the moment, you put a set of files in /etc/portage/sets and each file is a set with a list of packages that make up the set, and it integrates with portage seamlessly, giving us the chance to do all sorts of things, like emerge unmerge --package-set <set>, etc?
I wonder if this would go as far as doing: echo "package-set-name ~x86" >> /etc/portage/package.keywords or even package.mask and have portage act on the whole set and not give out an error.
_________________
Antes morir de pie que vivir de rodillas.
Back to top
View user's profile Send private message
koyaanisqatsi
n00b
n00b


Joined: 20 Apr 2005
Posts: 3

PostPosted: Wed Apr 20, 2005 10:10 pm    Post subject: Suggested new USE flag: gui Reply with quote

(I hope this is not the wrong place to log this sort of correspondence. I did not see any other channel for USE flag suggestions)

I build servers a lot and would love to be able to prevent all things GUI from being installed on them. The problem I had most recently was when I wanted to emerge cacti and mysql, it kept wanting to install xorg-x11 as a dependency. I finally was able to rule it out with '-qt' in my USE flags, even though I already had '-X' in the USE flags. This trimmed down the list of packages substantially.

It would be really helpfult to those of us who do not use any GUI on our boxes to be able to prevent gui-specific packages from being installed. I realize that there are libraries that some packages need even if there is no GUI running, and that's fine. But I'm pretty sure I don't need an X server for any of the things I do with my servers.

Thanks!

Mark Chester

EDIT: Merged thread. --pjp
Back to top
View user's profile Send private message
TrueDFX
Retired Dev
Retired Dev


Joined: 02 Jun 2004
Posts: 1348

PostPosted: Wed Apr 20, 2005 10:51 pm    Post subject: Reply with quote

Glep 29. Not yet implemented, but hopefully you'll at least like seeing there are plans for it.
Back to top
View user's profile Send private message
curtis119
Bodhisattva
Bodhisattva


Joined: 10 Mar 2003
Posts: 2160
Location: Toledo, Ohio,USA, North America, Earth, SOL System, Milky Way, The Universe, The Cosmos, and Beyond.

PostPosted: Wed Apr 20, 2005 10:59 pm    Post subject: Reply with quote

Moved from Portage & Programming
_________________
Gentoo: it's like wiping your ass with silk.
Back to top
View user's profile Send private message
koyaanisqatsi
n00b
n00b


Joined: 20 Apr 2005
Posts: 3

PostPosted: Thu Apr 21, 2005 2:17 am    Post subject: Reply with quote

That looks like the ticket. I look forward to it's implementation. Now I just have to convince one of the Gentoo developers to create a bundled @GUI with all the right flags in it.

Thanks!
_________________
Do you cheat at Solitare?
Back to top
View user's profile Send private message
Drysh
Apprentice
Apprentice


Joined: 06 Apr 2005
Posts: 203
Location: São Paulo, Brazil

PostPosted: Sat May 28, 2005 1:54 pm    Post subject: Idea: Meta-packages Project Reply with quote

One thing that would (IMHO) increase the usability of gentoo are meta-packages that set the whole system. Like we have gnome and kde metas... But extend it to the whole system.. A meta for a desktop using KDE, with the " best" choices of software for the usual things. And another for gnome. These are what I would be most interested, but there should be others too.
You may ask, why do we need it... We don't. That's not for the average gentoo user, but for the "younger syster computer" (or mother, brother, and in my case grandma). We need something that could make gentoo a distribution. And, if I recall it rigthly, gentoo is a meta-distribution. That's what so great about gentoo... We can make a distribution whithout much trouble (understand distribution as a selection of programs, nothing else).

The Plan
1. Select the packages, using the forum. Everyone is welcome to give suggestions.
2. Make an ebuild for the most popular choices.
3. Test it.
4. Find a place to store these ebuilds, and let people use them.
5. Keep testing it, updating, etc.

How to use
1. Follow the usual instalation manual until the end.
2. Download the meta package and copy it to /usr/local/portage/metapackage/ (or another location)
3. Type:
Code:
emerge meta_package

4. Follow aditional instructions provided by the package to finish the instalation.

How about it?

EDIT: Merged thread. --pjp
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum