garoeda | I think it's about time i present to you our second Gentoo speaker |
---|---|
sarnold | carpaski: ready to go onto the portage details? :) |
garoeda | It's Nicolas Jones |
garoeda | the Gentoo Linux Project Coordinator |
garoeda | and he's going to present portage, the package management features it offers |
garoeda | and the coming developments in the portage system |
garoeda | carpaski: it's all yours :-) |
garoeda | correction: carpaski maintains Portage ;) |
carpaski | Ok... Hi. |
carpaski | There we go. |
carpaski | Gentoo, as most of you have just been hearing is a ports based Linux metadistribution. |
carpaski | A distribution derrived effectively derived from scripts. |
carpaski | Sorry. had to change boxes. |
Nicholas | Ok. |
Nicholas | Let's try that again. |
Nicholas | By meta-distribution I mean that the entire system is effectively script derived. The scripts and the applications that run them are collectively known as portage. |
Nicholas | Each script (known as an ebuild) provides descriptive data, dependency information, and compilation code for a single package. |
Nicholas | The descriptive data contains information such as licenses, a package description, homepages, and tarball locations. Fairly similar to what you'd find in an rpm spec file or the pkg-* and makefiles of FreeBSD. |
Nicholas | Portage provides the capability to search the descriptions and titles of all the packages installed on a system with a simple 'emerge -s package' or 'emerge -S word'. |
Nicholas | This of course provides admins with a very easy way to keep their users up to speed with the applications they need to be productive. |
Nicholas | Description searching is fairly slow in the combined meta-data and build data, so portage accommodates by using a distributed meta-data cache which contains pre-parsed data from the ebuilds. |
Nicholas | Dependancy tracking is a strong point of Gentoo's portage system. |
Nicholas | USE flags provide a very well defined set of flags that describe major optional components. |
Nicholas | There are 120 flags that define optional components like Arts and XMMS support, database types, graphics libraries, and X-windows support. |
Nicholas | Each of these flags are aimed at giving the user the greatest control over their system with minimal effort. |
Nicholas | Portage tries to mix ease of maintenance with advanced configuration control to give the administrator the most optimal and useful system they can have. |
Nicholas | Portage also takes into consideration packages you have merged to add USE flags to your system. |
Nicholas | Merging a jre will cause 'java' to be added to your USE flags. |
Nicholas | Of course, you can force removal of all automatic flags by disabling them from make.conf. If you wish to have a package available, but not allow other packages to be dependent upon it. |
Nicholas | Virtuals are a system by which portage can associate multiple packages that provide the same function. |
Nicholas | The JDK's and JRE's are a good example of this. |
Nicholas | Every architecture has a profile from which it is based. |
Nicholas | In that profile there are definitions for the automatically set USE flags, required system packages, and a default listing of virtuals. |
Nicholas | The scripts (ebuilds) portage uses for compilation are simply bash scripts. |
Nicholas | They define a set of operations that compile a package. |
Nicholas | These steps are exactly the same as you would see if you were to build the package by hand. |
Nicholas | Portage and it's supporting files provide many additional functions to scripts to speed up the process of dealing with multiple architectures and options. |
Nicholas | Packages may inherit eclasses that provide functions to handle common tasks such as filtering flags, dealing with CVS, or even completely automating a build process by declaring a few variables. |
Nicholas | In the build process portage uses a feature called sandboxing. |
Nicholas | Sandboxing locks the compilation of a package into limited set of directories to ensure that files modifications can be tracked. |
Nicholas | Configuration files are tracked very closely as well. |
Nicholas | Portage employs a feature called "Config Protection" to ensure that important files are not overwritten. |
Nicholas | By default this applies to the majority of /etc, but other directories can be added easily via the environment variable CONFIG_PROTECT. |
Nicholas | This is very similar to how FreeBSD approaches configuration file updates. The process uses vimdiff to give side-by-side comparisons of the current and newly-merged default configuration. |
Nicholas | Portage also maintains a list of merged configurations so that remerging a package will not cause a configuration file to be listed for updating. |
Nicholas | When merging packages portage maintains a listing of all the packages that were explicitly merged in a file called the 'world' file. |
Nicholas | This file is used when you perform updates so that only packages you need and want are used to create the package tree for your system. |
Nicholas | 'emerge gnome' would compile everything needed to use gnome, and would append gnome to your world file. |
Nicholas | Updating on Gentoo is fairly simple. Just 'emerge sync' to get the latest tree, then 'emerge --update world' which lists updates everything you've explicitly merged and required updates to satisfy them. |
Nicholas | You can also tell portage to go deep, updating everything, regardless of it being explicit or not. 'emerge --update --deep world' |
Nicholas | You cna see examples on http://gentoo.twobit.net/portage_shots/ |
Nicholas | Portage provides a few methods for determining the stability of packages too. The unified tree we use for portage allows anyone to start with a completely stable system and take it completely out to the edge with a few simple edits of configuration files. |
Nicholas | Using masking provides gentoo with a quick and easy way to distribute packages for testing, while keeping the stable users stable and the others just out into bleeding. |
Nicholas | A few new features coming to portage will greatly help out users. |
Nicholas | Sticky Flags will allow users to mix and match stable and unstable packages without having to choose one or the other. |
Nicholas | Fakeroot and user privileged merging will remove root from the compilation process for added security. |
Nicholas | Presently the digests calculated on all ebuilds prevents users from acquiring malicious tarballs from mirrors, as has been happening recently. Gentoo users have made the first reports. |
Nicholas | Reverse Dependencies should be appearing in the near future as well. Informing users of how altering their confurations and unmerging packages will affect their system. |
Nicholas | Lovechild: ^^^ :) |
Nicholas | Along with Reverse dependencies, portage will gain the ability to rebuild packages if your use flags change. Dependence on packages such as QT can be removed from all linked packages and you system will function without extra intervention. |
Nicholas | Other features being considered are alternate rsync trees. Which would allow portage to be employed in rolling out non-gentoo package sets and tree with minimal effort. |
Nicholas | <Lovechild> Nicholas: How about support for things such as patching sources with diffs instead of getting the full tarball, and parallel download support? |
Nicholas | Patching sources is a fairly difficult problem. |
Nicholas | It is being considered, but will be a little ways off before anything is done about it. (Unless someone feels up to the challenge.) |
Nicholas | Parallel download support hopefully will be a possibilty early next year. |
Nicholas | Any more questions? |
Nicholas | Parallel merging should be worked into portage as well. |
Nicholas | <garoeda> Nicholas: how difficult is it to develop extensions to portage? |
Nicholas | Depends on what kind of extentions you mean. |
Nicholas | <garoeda> like implementing parallel ebuilds |
Nicholas | Parallel as in running two emerges, shouldn't be too difficult. It does require ensuring that the package lists do not in any way overlap, and that all db writes are locked. |
Nicholas | Parallel ebuilds, as in threading is much more of a problem as portage needs some rewriting to remove some globals. |
Nicholas | The ultimate goal would be to make portage pluggable. Allowing you to use whatever methods you wish. |
Nicholas | Things like syslog messages as opposed to console messages. |
Nicholas | How the db is stored... |
Nicholas | <Lovechild> would it be possible to create a CFLAGS list that compiled some stuff with -O3 and crazy opts, and the rest with more conservative flags.. |
Nicholas | Yes. That is the intent of sticky. |
Nicholas | stickies=["KEYWORDS_ACCEPT","USE","CFLAGS","CXXFLAGS","MAKEOPTS","EXTRA_ECONF","EXTRA_EMAKE"] |
Nicholas | Those are the flags that will be maintained when sticky becomes active in portage. |
Nicholas | Any of those variables specified in your environment will be maintained when you do an 'emerge -u world' or an 'emerge -e world' |
Nicholas | EXTRA_ECONF and EXTRA_EMAKE are undocumented, but will allow users to specified specific flags to configure and make... Accompanied by sticky, this will allow fine-grained control of package options. |
Nicholas | Lovechild> people like myself have a special talent for breaking Gentoo, would it be possible to setup a FEATURE flag for debug, that block everything that's harmful for debugging - so we can provide good feedback to our beloved developers? |
Nicholas | That is a really good idea... Wanna post a bug on it for me? ;) |
Nicholas | HMmmmm.... |
Nicholas | Ok... Anyone else have questions or comments? |
Nicholas | <mattam> portage already has a flag for stip/nostrip IIRC |
Nicholas | FEATURES=nostrip ---- I do believe. |
Nicholas | Might be a restrict... I'd have to look. |
Nicholas | mattam> Nicholas: a feature request: add license to the small desc |
Nicholas | That's doable. |
Nicholas | Anything else? |
Nicholas | Lovechild> Nicholas: http://bugs.gentoo.org/show_bug.cgi?id=12272 bug filed as requested |
sarnold | If there is nothing else, I'd like to thank Nicholas and Seemant for presenting, and thank our translators for their tireless efforts :) |
Nicholas | <mattam> oh an having the ebuild replay only a part of the process, not restarting from the beginning each time |
Nicholas | FEATURES=noauto <--- Should be listed in make.conf |
Nicholas | Using ebuild. |
Nicholas | I think that's all. |
garoeda | clap clap clap clap clap |
garoeda | clap clap clap clap clap |
garoeda | clap clap clap clap clap |
garoeda | clap clap clap clap clap |
j2 | clap clap |
vegai | herm, just missed ,) |
Vegas | well done |
ag | clap clap clap |
vegai | gotta get the logs |
j2 | clap clap clap |
sarnold | clap clap clap clap clap :) |
sarnold | clap clap clap clap clap :) |
sarnold | clap clap clap clap clap :) |
lostlogic | clap clap clap' |
Lovechild | AWESOME LECTURE SET.... Gentoo totally rocks |
viZard | applause applause applause applause |
Nicholas | Lovechild: I have that one in my list. Emerge will have a --startwith 'package', or somethign to that effect. |
viZard | applause applause applause applause |
viZard | applause applause applause applause |
viZard | applause applause applause applause |
viZard | applause applause applause applause |
viZard | :-) |
bcowan | GOOD JOB!! |
BaSS | Nicholas good job :) |
Lovechild | Nicholas: why not write to a worldlist backup and delete lines as they are merged, and then just parsing the remain lines to emerge afterwards if we fail for some reason ? |
Lovechild | not that it happens everytime I do emerge -eu world |
Nicholas | Lovechild: Hmmmm... Interesting. |
Lovechild | but as I said, I'm talented... I see broken OSs, they run like normal OSs, they are not even aware they are broken..... |
lostlogic | '/var/cache/currentmerge |
Arador | Nicholas: plas plas plas plas plas plas plas plas plas (late sorry;) |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
casanegra | clap clap clap clap clap clap clap clap clap clap |
Lovechild | Nicholas: of course we have no assurances that just emerging again will fix the problem unless we log the type of error |
viZard | applause applause applause applause |
Arador | plas plas plas plas plas plas plas plas |
viZard | applause applause applause applause |
Arador | plas plas plas plas plas plas plas plas |
MJesus | clap clap clap clap clap clap clap clap clap clap |
Arador | plas plas plas plas plas plas plas plas |
casanegra | clap clap clap clap clap clap clap clap clap clap |
Arador | plas plas plas plas plas plas plas plas |
MJesus | clap clap clap clap clap clap clap clap clap clap |
Arador | plas plas plas plas plas plas plas plas |
viZard | applause applause applause applause |
Arador | plas plas plas plas plas plas plas plas |
MJesus | clap clap clap clap clap clap clap clap clap clap |
Arador | plas plas plas plas plas plas plas plas |
MJesus | clap clap clap clap clap clap clap clap clap clap |
casanegra | clap clap clap clap clap clap clap clap clap clap!!!!!!! |
Arador | plas plas plas plas plas plas plas plas |
casanegra | clap clap clap clap clap clap clap clap clap clap!!!!!!! |
Arador | plas plas plas plas plas plas plas plas |
Arador | plas plas plas plas plas plas plas plas |
Arador | plas plas plas plas plas plas plas plas |
conman | clap flood++ |
MJesus | bravo bravo bravo !! |
lostlogic | Lovechild usually need to go into a package and fix something and then try to resume, but either way having it stored in a file would be quite nie |
MJesus | for seemant and carpaski |
garoeda | clap clap clap clap clap !!! |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
Nicholas | garoeda: Sure. Can you email them to seemant@gentoo.org ? |
Lovechild | while(1) cout <<"CLAP!" <<endl; |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
Arador | killall Lovechild ;) |
garoeda | Nicholas: i will do that from the moment they're on the website |
garoeda | Nicholas: and i corrected my spelling mistakes ;) |
Lovechild | Arador: you can't kill me, I know Kung Foobar.... |
casanegra | clap clap clap clap clap clap clap clap clap clap!!!!!!! |
casanegra | clap clap clap clap clap clap clap clap clap clap!!!!!!! |
j2 | nite |
MJesus | traslator, arador, horacio to Spanish, garoeda to Dusch |
Lovechild | Arador: muhahahaha... |
MJesus | traslator, arador, horacio to Spanish, garoeda to Dusch |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
MJesus | clap clap clap clap clap clap clap clap clap clap |
sarnold | garoeda :) |
vegai | where were the logs again? |
sarnold | http://umeet.uninet.edu/umeet2002/english/des.eng.html |
garoeda | after all these wonderfull gentoo presentations i feel the urge to 'emerge sync' my pc right now :) |
BaSS | nites |
garoeda | and again a wonderfull evening has come to an end |
sarnold | woah, something is broken |
sarnold | heh, looks like my alternate self dissapeared 1.5 hours ago. :-/ |
garoeda | during the netsplit i think |
mzulu | buenas noches |
mzulu | alguien me puede recomendar algun manual unix fasilito de digerir:aqui un autodidacta |
sarnold | mzulu: o'reilly books are good |
sarnold | mzulu: the linux documentation project HOWTOs are ok |
mzulu | thanks sarnold..and how easy?? |
sarnold | mzulu: varies from easy to difficult |
sarnold | mzulu: but, if you are self-taught, well worth the effort :) |
mzulu | the matter is that it is not about linux..i think i need to know a bit about unix too |
sarnold | mzulu: also, reading manpages... cd /usr/bin, ls, and read every manpage :) |
sarnold | mzulu: hmm, linux is similar to commercial unix systems in many ways, but not all |
sarnold | mzulu: and it varies quite a bit by vendor; solaris is different from aix is different from SCO .. |
mzulu | i see, but u know, when it does not starts, there´s no man no nothing -) |
sarnold | mzulu: you could also play with FreeBSD, NetBSD, OpenBSD, etc |
mzulu | :-) u think?? it´s hard enough with linux only i think |
mzulu | i come from windows.. jeje |
sarnold | mzulu: mzulu well, they are different enough that they can provide a good learning experience |
mzulu | ok..so reading it a good begin...?? |
sarnold | mzulu: one nice feature of *BSD systems, they tend to have very good system documentation |
sarnold | mzulu: reading is about the only way to learn unix :) |
sarnold | mzulu: reading is about the only way to learn unix :) |
ag | jeje..somebody ´s is palying football with me?? |
sarnold | hehe |
ag | ok..understood..u know i´ve discovered these by my own and i thought i could´nt reach these point so only ahead.. |
sarnold | ag: you can go far without formal classes on unix |
ag | i gone to take them sure |
ag | i.m going(better) |
ag | what about courses in redhat? |
sarnold | ag: the documentation on www.redhat.com should be enough for a first introduction to their tools |
garoeda | ag: http://www.tldp.org is very usefull too |
sarnold | ag: combined with the HOWTOs that are typically written with redhat in mind, you'll do alright :) |
ag | take note |
ag | mmm..is it like the lucas projetc in spanish?? |
ag | excuse me...it is in spanish too |
ag | and it is lucas..jeje..ok thanks |
sarnold | ag: lucas y COMO, if I recall :) |
ag | ok..i knew this site so i was on the way..but very useful your help, thanks |
ag | and the o´reilly books |
ag | ;-) |
sarnold | ag: manpages :) |
sarnold | ag: and try lots of different systems |
sarnold | MJaw: goodnight amiga :) |
garoeda | MJaw: goodnight ! |
sarnold | grrrr |
ag | lots??? u kidding...jeje..ok, i´ll try |
sarnold | ag: lots :) |
sarnold | ag: try every linux distribution you can, and the BSDs. :) |
MJaw | last logs: http://red.uninet.edu/umeet/english/des.eng.html |
debUgo- | =) |
sarnold | thanks debUgo- :) |
debUgo- | MJaw! |
garoeda | sarnold: in what language will OpenMosix be given? |
sarnold | garoeda: i'm not sure |
sarnold | garoeda: the topic is in english, but the guy is from spain :) |
garoeda | sarnold: i'll be around...mayby i can refine my introduction skills :) |
sarnold | garoeda :) |
garoeda | sarnold: only practice helps :) |
sarnold | garoeda :) |
garoeda | i just noticed that there are no women that will give a presentation |
sarnold | hummm, you're right |
garoeda | that should change, somehow in the feature |
garoeda | s/feature/future |
garoeda | and i read a few weeks ago that the number of girls in sciences (at our university) is still decreasing |
sarnold | decreasing? i wonder why |
Geryon | garoeda is scaring them all away |
sarnold | :) |
garoeda | Geryon: very funny :) |
debUgo- | heh |
Geryon | :) |
garoeda | i'm doing now computer science, in the first year we have +- 50 boys and +- 5 girls (don't know exact numbers) |
Geryon | i think it's more like 70/5 |
garoeda | oh my, that's even worse |
Geryon | indeed it is |
debUgo- | that % is pretty normal in science, IMO |
debUgo- | at least here in .co |
Geryon | but it shouldn't be :( |
garoeda | same here in .be |
debUgo- | i should be a civil engineer... |
debUgo- | =P |
garoeda | only if bill gates was a woman...that would attract *a lot* of girls :-D (lol) |
mzulu | ok ciao everybody, sarnold see u |
sarnold | mzulu: ciao :) |
mzulu | and thanks |
garoeda | mzulu: ciao |
sarnold | BAH, I forgot to update the Subject: YET AGAIN |
sarnold | that makes three times. at least three times. |
jose_n | sarnold: http://monkey.org/~jose/graphing/netmaps/dec02/net3d.png |
sarnold | jose_n: slike :) but that image caused mozilla to .. misbehave. while loading it, it caused odd effects in the spinner at the bottom and the pulsating M, along with the vertical scrollbar... |
jose_n | eek ... sorry. its just a png ... |
jose_n | downloads ok in netscape 4.7 |
garoeda | konq too |
jose_n | i need to learn povray more better, but thats the gist. |
garoeda | jose_n: looks cool...but i still don't know what it means |
jose_n | heh ... its the paths my my cable modem to random points on the internet |
jose_n | every hop is an autonomous system (ie Qwest, UUNet, ATT, BBN, etc ...) |
garoeda | wow, i thought it had something to do with the deeper meaning of life |