[OE-core] how to set time zone

Ni Qingliang niqingliang at insigma.com.cn
Thu Nov 3 00:47:41 UTC 2011


maybe we can do the link in system booting, use the variable "TZ" to
create the symlink /etc/localtime, just like archlinux.
e.g. providing one script in /etc/rcS.d/ to create the symlink.

On Thu, 2011-11-03 at 03:15 +0800, Mark Hatle wrote:
> On 11/2/11 12:32 PM, Andrea Adami wrote:
> > On Mon, Oct 31, 2011 at 1:44 AM, Ni Qingliang <niqingliang at insigma.com.cn
> > <mailto:niqingliang at insigma.com.cn>> wrote:
> >
> >     I'd like the 'system level configuration' solution.
> >
> >     the /etc/localtime/ link can be done when packaging rootfs (using the
> >     system level configuration).
> >
> >     On Fri, 2011-10-28 at 22:43 +0800, Mark Hatle wrote:
> >     > Setting the default TZ for the image is something that should be done in a
> >     post
> >     > install script for the tzdata package or something similar.
> >     >
> >     > Since the /etc/localtime is usually a copy/hardlink or symlink to the timezone
> >     > data we don't want to package it up.  Instead we want to perform the actions
> >     > that a program running on the target system itself would use to change the
> >     timezone.
> >     >
> >     > So I think the easiest approach is to add a system level configuration
> >     variable
> >     > (set the default).
> >     >
> >     > Then use this variable to populate the configuration file that specifies the
> >     > system timezone... and then use the post install process to check the contents
> >     > of a text file.
> >     >
> >     > Alternatively do this via an initscript -- but for folks w/ read-only
> >     > filesystems I'm not sure that will work.
> >     >
> >     > --Mark
> >
> > <cut>
> >
> > Maybe I misunderstand "system level configuration" but in the meta-oe recipe we have
> >
> > DEFAULT_TIMEZONE ?= "Europe/London"
> >
> > Maybe UTC would be better?
> 
> To me no timezone (which is UTC) is preferable as the system designer can then
> set the timezone, externally to the package(s).
> 
> > Note how the variable is weak thus can be overridden in local.conf.
> >
> > Secondly, why do it as post-install or at image do_rootfs stage when we have set
> > the variable and are therefore able to provide sane defaults in do_install?
> 
> If it's done within a do_install, then the file (/etc/timezone) itself gets
> placed into the package.  If it's in the package, then if/when someone upgrades
> the package from a feed the timezone gets reset to the previous value.  That's a
> bug IMHO.
> 
> If it's done as a post-install script, then the timezone configuration can be
> evaluated and if one isn't set -- or there is no timezone file -- then we can
> set it to UTC or a similar default timezone.. (the value in the DEFAULT_TIMEZONE
> variable is reasonable in this approach.)
> 
> > Other points before starting to write a patch:
> > -why is the recipe in oe-core doing   chown -R root:root ${D}   ?
> 
> There was an issue with the way the timezone data was extracted/constructed that
> it was have all of the build system's uid/gid preserved in the copy to the final
> install directory -- so when packaging incorrect usernames and groups were fed
> into the process causing issues.
> 
> A simple chown -R root:root ${D} ensured that all of the timezone data was owned
> by the root user (on the target).
> 
> > -the logic around   # libc is removing zoneinfo files from package
> >   Is it only eglibc?
> 
> Timezone info is updated more often then the system libc.  So the zoneinfo files
> are handled externally of the libc.  This allows for easier updates over time..
> (This is my guess, as I'm not familiar with exactly what this comment refers to.)
> 
> > Regards
> >
> > Andrea
> >
> > |
> > |
> >
> >
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

-- 
Yi Qingliang
niqingliang at insigma.com.cn
https://niqingliang2003.wordpress.com





More information about the Openembedded-core mailing list