public inbox for gentoo-embedded@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-embedded] tzdata & friends
@ 2010-06-10 10:59 Marcus Priesch
  2010-06-11  8:30 ` Sven Rebhan
  0 siblings, 1 reply; 5+ messages in thread
From: Marcus Priesch @ 2010-06-10 10:59 UTC (permalink / raw
  To: gentoo embedded

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.






^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [gentoo-embedded] tzdata & friends
  2010-06-10 10:59 [gentoo-embedded] tzdata & friends Marcus Priesch
@ 2010-06-11  8:30 ` Sven Rebhan
  2010-06-11 15:15   ` Marcus Priesch
  2010-06-11 19:57   ` Marcus Priesch
  0 siblings, 2 replies; 5+ messages in thread
From: Sven Rebhan @ 2010-06-11  8:30 UTC (permalink / raw
  To: gentoo-embedded

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!?!



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [gentoo-embedded] tzdata & friends
  2010-06-11  8:30 ` Sven Rebhan
@ 2010-06-11 15:15   ` Marcus Priesch
  2010-06-11 19:57   ` Marcus Priesch
  1 sibling, 0 replies; 5+ messages in thread
From: Marcus Priesch @ 2010-06-11 15:15 UTC (permalink / raw
  To: gentoo-embedded

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.






^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [gentoo-embedded] tzdata & friends
  2010-06-11  8:30 ` Sven Rebhan
  2010-06-11 15:15   ` Marcus Priesch
@ 2010-06-11 19:57   ` Marcus Priesch
  2010-06-14  9:52     ` Sven Rebhan
  1 sibling, 1 reply; 5+ messages in thread
From: Marcus Priesch @ 2010-06-11 19:57 UTC (permalink / raw
  To: gentoo-embedded

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.




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [gentoo-embedded] tzdata & friends
  2010-06-11 19:57   ` Marcus Priesch
@ 2010-06-14  9:52     ` Sven Rebhan
  0 siblings, 0 replies; 5+ messages in thread
From: Sven Rebhan @ 2010-06-14  9:52 UTC (permalink / raw
  To: gentoo-embedded

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



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-06-14 10:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-10 10:59 [gentoo-embedded] tzdata & friends Marcus Priesch
2010-06-11  8:30 ` Sven Rebhan
2010-06-11 15:15   ` Marcus Priesch
2010-06-11 19:57   ` Marcus Priesch
2010-06-14  9:52     ` Sven Rebhan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox