Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support disabling auto-update #7

Closed
MSch opened this issue Sep 28, 2015 · 4 comments
Closed

Support disabling auto-update #7

MSch opened this issue Sep 28, 2015 · 4 comments

Comments

@MSch
Copy link
Contributor

MSch commented Sep 28, 2015

We'd like to have reproducible builds, so having tzdata opportunistically download new versions of the database is something I'd like to be able to disable. Ideally I'd also like to make the hackney dependency optional.

@lexmag
Copy link

lexmag commented Oct 3, 2015

Strongly 👍.

@MSch
Copy link
Contributor Author

MSch commented Oct 3, 2015

@lexmag see #8

@MSch
Copy link
Contributor Author

MSch commented Oct 5, 2015

I just looked at Ruby's tzinfo and Python's pytz. Both do not do autoupdating, instead they push new releases. I especially like what Ruby does: tzinfo depends on tzinfo-data, so that only this dependency is updated.

Projects like Postgres just expect a system-wide tzinfo which they then read.

@lau
Copy link
Owner

lau commented Oct 6, 2015

Right. That is the common thing. The common thing is to have releases and for people not to apply those releases in time. So the systems use the wrong data. This weekend in Uruguay everyone's phone were wrong because the software is using that kind of old model that doesn't work. Earlier this year a similar thing happened it Chile.

The common thing for time right now is for people to do something manually that a computer can do for them. I don't think it is a good model because experience shows that it doesn't work. If you run Postgres it will have an out of date tzdata version because OS distributions take a long time to release update packages if they even get to it before an even newer version comes out.

So I looked at how everyone else did it and how it didn't work. And wanted to do something that works.

The tz database is data, not code. The code is the same, so it should not be necessary to release new versions of the software.

That being said I am open to people that say: Yes for the lifetime of this project running I will be ready to manually daily check for updates and redeploy and recompile the software if necessary. If for some reason you prefer that.

For embedded systems without internet access maybe the model should just be to do update the version of the tzdata package when possible. Or there could be other solutions.

It is great to have other options. But there is a reason that I want autoupdate to be the default. The point of the software is to have correct time zone data. And to do that you need up to date data.

If hackney is a compile dependency is it really that bad? What is the problem with having hackney being a dependency? That it takes up hard drive space?

@lau lau closed this as completed Oct 14, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants