tzdata & friends
Hi Guys,
One annoying thing i encountered in the past when using gentoo on a linux box was staying up to date with packages (like timzonedata & pytz). when you want to stay in sync with the portage tree - you also have to update a lot of other packages from time to time ... which alters the system and possibly needs other work to be involved to keep it running ... in the end you have to test the whole behaviour again and the customer gets a "new" system - which is lot of work and hard to argument ;) when you dont update, timezonedata could be out of date ... and the customer discovers that DST change did not happen correctly ... which is also hard to argument ;) so basically i am searching for a solution where i can update "only" relevant packages from time to time (like timezonedata) but leave the rest of the system untouched ... customers boxes are running in a private lan so security is not really a concern ;) currently the only way i can think of is to maintain a private portage tree and update packages selectively - as long as the dependencies dont require more ... are there any other possibilities ?!? how are you handling such situations ?!? the other question is on distributing the packages to the boxes: in the past i had a full gentoo system where i updated and compiled and rsynced selectively to the boxes - but with full dev environment which was clearly a waste of storage space, time and bandwith. currently i have one --root created and stripped down environment which i rsync to the boxes (without gcc, portage tree, kernel sources) ... plus i need a gentoo system for building where i merge change into the portage tree from time to time ... the complexity of this is why i took a look at debian/ubuntu for this kind of task ... but ... for me it's not an option as it's tooo inflexible. after all i should come up with a solution where the customer can do the update on its own ... so any ideas and/or discussion would be very welcome !!! regards, marcus. |
tzdata & friends
Hey!
> tree and update packages selectively - as long as the dependencies dont > require more ... are there any other possibilities ?!? how are you > handling such situations ?!? Hmmm, why don't you just update packages selectively like emerge -u tzdata <other packages you want updated> instead of updating everything? Note: leave out the --deep option. I did this for years on my desktop machine and only updated world from time to time. Furthermore, you can mask package versions in $ROOT/etc/portage/package.mask if you really have something you want to ignore. > currently i have one --root created and stripped down environment which > i rsync to the boxes (without gcc, portage tree, kernel sources) ... > plus i need a gentoo system for building where i merge change into the > portage tree from time to time ... > [...] > after all i should come up with a solution where the customer can do the > update on its own ... Ummm, the way I (and others) do it is building binpkgs in the cross-compile environment and then update the embedded system(s) using these binpkgs. This way your customer can update from your FTP/HTTP/... binpkg server with emerge -ug <packages>. The only thing you have to make sure is, you either mask all package you don't want them to update or to provide all updateable packages as binaries. You might want to have a look at http://gentoo.mindzoo.de http://git.overlays.gentoo.org/gitweb/?p=proj/embedded-cross.git;a=summary even though the documentation is a bit outdated. *hint* Regards, Sven P.S.: Maybe you also want to join #gentoo-embedded on freenode!?! |
tzdata & friends
Hi Sven,
Am Freitag, den 11.06.2010, 10:30 +0200 schrieb Sven Rebhan: > Hmmm, why don't you just update packages selectively like > > emerge -u tzdata <other packages you want updated> yes, but arent chances great that over time ther needs to be a major e.g. python upgrade as the old version just disappeared from the portage tree ?!? > instead of updating everything? Note: leave out the --deep option. > I did this for years on my desktop machine and only updated world > from time to time. Furthermore, you can mask package versions in > $ROOT/etc/portage/package.mask if you really have something > you want to ignore. yes, i know - but same thing as above ... when kernel trees disappear in the portage tree ... you need to upgrade anyway ... thats why i thought of having a seperate portage tree managed ... > Ummm, the way I (and others) do it is building binpkgs in the > cross-compile environment and then update the embedded > system(s) using these binpkgs. This way your customer can > update from your FTP/HTTP/... binpkg server with > emerge -ug <packages>. The only thing you have to make > sure is, you either mask all package you don't want them to > update or to provide all updateable packages as binaries. yes but you need a portage tree - and a sync'ed portage tree on the clients to install binpkgs, or ?!? > You might want to have a look at > http://gentoo.mindzoo.de > http://git.overlays.gentoo.org/gitweb/?p=proj/embedded-cross.git;a=summary thanks a lot - i will give it a try ;) > even though the documentation is a bit outdated. *hint* :) > P.S.: Maybe you also want to join #gentoo-embedded on freenode!?! yes, not now - as i must leave ... but maybe next week ... however, things turned out that i need to have the complete "system" target on my --root installed rootfs (as i need some c python package which wants to compile itself ... ;) and, yes, i love the idea of having a script running for a couple of hours to create a virgin rootfs out of nothing ;))) regards, marcus. |
tzdata & friends
Hi Sven,
another point i forgot to mention ... Am Freitag, den 11.06.2010, 10:30 +0200 schrieb Sven Rebhan: > Hmmm, why don't you just update packages selectively like > > emerge -u tzdata <other packages you want updated> > > instead of updating everything? when i do it this way - syncing portage tree and updating selectively - i am not able to reproduce the entire build ... which - for me - is a no go ... anyone any ideas on this ?!?! thats why i wanted to use ubuntu lts - it's maintained with bug fixes for five years and doesnt change versions ... but as all of you might agree ... it's a no-go for other reasons ;) greets, marcus. |
tzdata & friends
2010/6/11 Marcus Priesch <marcus@priesch.priv.at>:
> when i do it this way - syncing portage tree and updating selectively - > i am not able to reproduce the entire build ... which - for me - is a no > go ... Well, if you want to keep versions stable for years you might want to maintain an own portage tree and mount this via e.g. NFS on the clients. To reproduce those builds you just need also to save the versions of your build and do for p in $(cat mypackagelist); do emerge =$p; done However, you need to make sure that all source tarballs are avail for years, which might be a problem as well. Furthermore, newer versions of packages you _need_ to update (like your tzdata) will probably require newer dependencies as well... > thats why i wanted to use ubuntu lts - it's maintained with bug fixes > for five years and doesnt change versions ... but as all of you might > agree ... it's a no-go for other reasons ;) I really think keeping versions stable for years and backporting fixes is a lot of work and you need to make sure you have the resources to maintain an own portage tree and backports of important fixes. Sven |
| All times are GMT. The time now is 05:43 PM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.