create core package
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/copyleft/gpl.txt.
|
||||
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import get
|
||||
|
||||
WorkDir = "."
|
||||
ZoneDir = "/usr/share/zoneinfo"
|
||||
TargetDir = "%s/%s" % (get.installDIR(), ZoneDir)
|
||||
|
||||
RightDir = "%s/right" % TargetDir
|
||||
PosixDir = "%s/posix" % TargetDir
|
||||
|
||||
|
||||
timezones = ["etcetera", "southamerica", "northamerica", "europe", "africa", "antarctica", \
|
||||
"asia", "australasia", "factory", "backward", "pacificnew", \
|
||||
"systemv" ]
|
||||
|
||||
def setup():
|
||||
pisitools.dodir (ZoneDir)
|
||||
pisitools.dodir (RightDir)
|
||||
pisitools.dodir (PosixDir)
|
||||
|
||||
|
||||
def install():
|
||||
pisitools.insinto ("/usr/share/zoneinfo", "iso3166.tab")
|
||||
pisitools.insinto ("/usr/share/zoneinfo", "zone.tab")
|
||||
|
||||
for tzdata in timezones:
|
||||
cmd = "zic -L /dev/null -d %s -y \"%s/yearistype.sh\" %s" % (TargetDir, get.workDIR(), tzdata)
|
||||
shelltools.system (cmd)
|
||||
part2 = "zic -L /dev/null -d %s -y \"%s/yearistype.sh\" %s" % (PosixDir, get.workDIR(), tzdata)
|
||||
shelltools.system (part2)
|
||||
part3 = "zic -L leapseconds -d %s -y \"%s/yearistype.sh\" %s" % (RightDir, get.workDIR(), tzdata)
|
||||
shelltools.system (part3)
|
||||
|
||||
shelltools.system ("zic -d %s -p Europe/Istanbul" % TargetDir)
|
||||
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import time
|
||||
import shutil
|
||||
import cPickle
|
||||
import subprocess
|
||||
from hashlib import sha1
|
||||
|
||||
from pardus import csapi
|
||||
|
||||
# real script
|
||||
|
||||
tz_file = "/etc/localtime"
|
||||
tz_info = "/etc/timezone"
|
||||
tz_zones = "/usr/share/zoneinfo/"
|
||||
tz_dict = "/usr/share/zoneinfo/zoneinfo.dict"
|
||||
|
||||
def getTimeZone():
|
||||
if os.path.exists(tz_dict) and os.path.exists(tz_file):
|
||||
tzdb = cPickle.Unpickler(open(tz_dict, "rb")).load()
|
||||
tz = tzdb.get(sha1(open(tz_file, "r").read()).hexdigest(), "/etc/localtime doesn't exist.")
|
||||
return tz
|
||||
|
||||
def setTimeZone(zone=None):
|
||||
if zone:
|
||||
# Check if zone is a valid one, if not skip this call
|
||||
if not os.path.exists(os.path.join(tz_zones, zone)):
|
||||
return 1
|
||||
|
||||
ret = subprocess.call(["/usr/sbin/zic", "-l", zone])
|
||||
return ret
|
||||
|
||||
"""
|
||||
if zone:
|
||||
try:
|
||||
if os.path.exists(tz_file):
|
||||
os.unlink(tz_file)
|
||||
except:
|
||||
pass
|
||||
|
||||
# Copy the new TZ file to /etc/localtime
|
||||
shutil.copy(os.path.join(tz_zones, zone), tz_file)
|
||||
"""
|
||||
|
||||
def setDate(year=None, month=None, day=None, hour=None, minute=None, second=None):
|
||||
new = list(time.localtime())
|
||||
if year: new[0] = int(year)
|
||||
if month: new[1] = int(month)
|
||||
if day: new[2] = int(day)
|
||||
if hour: new[3] = int(hour)
|
||||
if minute: new[4] = int(minute)
|
||||
if second: new[5] = int(second)
|
||||
csapi.settimeofday(time.mktime(new))
|
||||
|
||||
def getDate():
|
||||
return time.strftime("%Y %m %d %H %M %S %Z")
|
||||
|
||||
def saveToHW():
|
||||
subprocess.call(["/sbin/hwclock", "--systohc"])
|
||||
|
||||
def loadFromHW():
|
||||
subprocess.call(["/sbin/hwclock", "--hctosys"])
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
|
||||
|
||||
# Migration 2008->2009
|
||||
# Use the timezone script to determine the timezone and write
|
||||
# it into /etc/timezone if it doesn't exist.
|
||||
|
||||
# e.g. tz will be 'Europe/Istanbul'
|
||||
tz = os.popen("/usr/bin/timezone").read().strip()
|
||||
|
||||
if tz == "Not found":
|
||||
if os.path.exists("/etc/timezone"):
|
||||
tz = open("/etc/timezone").read()
|
||||
else:
|
||||
tz = "Europe/Istanbul"
|
||||
|
||||
# This file is used by CRDA to set regulatory domain for WLAN interfaces
|
||||
if tz and not os.path.exists("/etc/timezone"):
|
||||
open("/etc/timezone", "w").write("%s" % tz)
|
||||
|
||||
# Don't use symlink for /etc/localtime. Replace existing
|
||||
# symlinks by the corresponding tz file using zic.
|
||||
if tz and os.path.exists(os.path.join("/usr/share/zoneinfo", tz)):
|
||||
ret = subprocess.call(["/usr/sbin/zic", "-l", tz])
|
||||
|
||||
"""
|
||||
if tz and os.path.islink("/etc/localtime"):
|
||||
tzfile = os.path.join("/usr/share/zoneinfo", tz)
|
||||
if os.path.exists(tzfile):
|
||||
try:
|
||||
os.unlink("/etc/localtime")
|
||||
shutil.copyfile(tzfile, "/etc/localtime")
|
||||
except:
|
||||
pass
|
||||
"""
|
||||
@@ -0,0 +1,37 @@
|
||||
--- /dev/null 2009-06-30 21:35:53.760076206 +0300
|
||||
+++ dump-tz-db 2009-07-01 04:08:34.027518152 +0300
|
||||
@@ -0,0 +1,34 @@
|
||||
+#!/usr/bin/python
|
||||
+# -*- coding: utf-8 -*-
|
||||
+#
|
||||
+# Copyright 2009 TUBITAK/UEKAE
|
||||
+# Licensed under the GNU General Public License, version 2.
|
||||
+# See the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
|
||||
+
|
||||
+# Creates a simple DB for timezone lookups
|
||||
+# Ozan Caglayan <ozan_at_pardus.org.tr> 2009
|
||||
+
|
||||
+import os
|
||||
+import sys
|
||||
+import cPickle
|
||||
+from hashlib import sha1
|
||||
+
|
||||
+
|
||||
+oldwd = os.getcwd()
|
||||
+os.chdir(sys.argv[1])
|
||||
+
|
||||
+zones = []
|
||||
+zonedict = {}
|
||||
+try:
|
||||
+ zones = [l.split()[2] for l in open("usr/share/zoneinfo/zone.tab", "r").readlines() if l and not l.startswith("#")]
|
||||
+except IOError:
|
||||
+ pass
|
||||
+else:
|
||||
+ for zone in zones:
|
||||
+ zonedict[sha1(open("usr/share/zoneinfo/%s" % zone, "r").read()).hexdigest()] = zone
|
||||
+
|
||||
+ if zonedict:
|
||||
+ cp = cPickle.Pickler(open("usr/share/zoneinfo/zoneinfo.dict", "wb"), protocol=2)
|
||||
+ cp.dump(zonedict)
|
||||
+
|
||||
+os.chdir(oldwd)
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright 2009 TUBITAK/UEKAE
|
||||
# Licensed under the GNU General Public License, version 2.
|
||||
# See the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
|
||||
|
||||
# Extracts the timezone information from /etc/localtime using
|
||||
# timezone db from this package.
|
||||
# Ozan Caglayan <ozan_at_pardus.org.tr> 2009
|
||||
|
||||
import os
|
||||
import sys
|
||||
import cPickle
|
||||
from hashlib import sha1
|
||||
|
||||
zonedict = "/usr/share/zoneinfo/zoneinfo.dict"
|
||||
|
||||
if __name__ == "__main__":
|
||||
if os.path.exists(zonedict) and os.path.exists("/etc/localtime"):
|
||||
tzdb = cPickle.Unpickler(open(zonedict, "rb")).load()
|
||||
tz = tzdb.get(sha1(open("/etc/localtime", "r").read()).hexdigest(), 'Not found')
|
||||
print "%s" % tz
|
||||
sys.exit(0)
|
||||
else:
|
||||
sys.exit(1)
|
||||
@@ -0,0 +1,22 @@
|
||||
diff -p -up tzdata/tzdata2012c/backward.orig tzdata/tzdata2012c/backward
|
||||
--- tzdata/tzdata2012f/backward.orig 2010-11-01 11:18:22.000000000 -0200
|
||||
+++ tzdata/tzdata2012f/backward 2010-11-03 13:10:42.657695694 -0200
|
||||
@@ -116,3 +116,18 @@ Link Etc/UTC UTC
|
||||
Link Etc/UTC Universal
|
||||
Link Europe/Moscow W-SU
|
||||
Link Etc/UTC Zulu
|
||||
+
|
||||
+# links requested by users (to access timezones by the name of main cities)
|
||||
+# pablo@mandriva.com
|
||||
+# Canada/Saskatchewan
|
||||
+Link America/Regina America/Saskatoon
|
||||
+# Canada/Mountain (Alberta)
|
||||
+Link America/Edmonton America/Calgary
|
||||
+# Canada/Atlantic (New Brunswick)
|
||||
+Link America/Halifax America/Fredericton
|
||||
+# America/Eastern (Ontario)
|
||||
+Link America/Montreal America/Ontario
|
||||
+# PRC
|
||||
+Link Asia/Shanghai Asia/Beijing
|
||||
+# South Africa
|
||||
+Link Africa/Johannesburg Africa/Pretoria
|
||||
@@ -0,0 +1,177 @@
|
||||
--- tzdata/Makeconfig.in.mdvconfig 2003-07-24 19:52:36.000000000 +0200
|
||||
+++ tzdata/Makeconfig.in 2007-03-07 14:01:06.000000000 +0100
|
||||
@@ -1,8 +1,9 @@
|
||||
-objpfx := @objpfx@
|
||||
-datadir := @datadir@
|
||||
-install_root := @install_root@
|
||||
+ifdef subdir
|
||||
+.. := ../
|
||||
+endif
|
||||
+include $(..)config.mk
|
||||
AWK := awk
|
||||
-built-program-cmd := /usr/sbin/zic
|
||||
+built-program-cmd := $(objpfx)/zic
|
||||
cross-compiling := no
|
||||
have-ksh := yes
|
||||
+force =
|
||||
@@ -11,3 +12,23 @@ posixrules = America/New_York
|
||||
posixrules-file = posixrules
|
||||
zonedir := $(datadir)/zoneinfo
|
||||
inst_zonedir := $(install_root)$(zonedir)
|
||||
+sysconfdir = $(prefix)/etc
|
||||
+inst_sysconfdir = $(install_root)$(sysconfdir)
|
||||
+localtime = Factory
|
||||
+localtime-file = $(sysconfdir)/localtime
|
||||
+inst_localtime-file = $(install_root)$(localtime-file)
|
||||
+inst_sbindir = $(install_root)$(sbindir)
|
||||
+
|
||||
+# These are the variables that the implicit compilation rules use.
|
||||
+# Note that we can't use -std=* in CPPFLAGS, because it overrides
|
||||
+# the implicit -lang-asm and breaks cpp behavior for .S files--notably
|
||||
+# it causes cpp to stop predefining __ASSEMBLER__.
|
||||
+CPPFLAGS = $(sysdep-CPPFLAGS) \
|
||||
+ $(CPPFLAGS-$(suffix $@)) \
|
||||
+ $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
|
||||
+override CFLAGS = $(sysdep-CFLAGS) -std=gnu99 \
|
||||
+ $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
|
||||
+ $(CFLAGS-$(@F))
|
||||
+
|
||||
+$(objpfx)%.o: %.c
|
||||
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
|
||||
--- tzdata/Rules.mdvconfig 2003-07-24 18:52:34.000000000 +0200
|
||||
+++ tzdata/Rules 2007-03-07 13:59:44.000000000 +0100
|
||||
@@ -1,9 +1,3 @@
|
||||
-$(objpfx)zic: /dev/null
|
||||
- touch $@
|
||||
-$(objpfx)scheck.o: /dev/null
|
||||
- touch $@
|
||||
-$(objpfx)ialloc.o: /dev/null
|
||||
- touch $@
|
||||
define make-target-directory
|
||||
$(addprefix mkdir -p ,\
|
||||
$(filter-out $(wildcard $(@D:%/=%)),$(@D:%/=%)))
|
||||
@@ -12,7 +6,28 @@ define do-install
|
||||
$(make-target-directory)
|
||||
/usr/bin/install -m 644 $< $@
|
||||
endef
|
||||
-install: $(inst_zonedir)/
|
||||
+define do-install-program
|
||||
+$(make-target-directory)
|
||||
+/usr/bin/install -m 755 $< $@.new
|
||||
+mv -f $@.new $@
|
||||
+endef
|
||||
+install: install-zoneinfo install-programs
|
||||
+
|
||||
+install-zoneinfo: $(inst_zonedir)/
|
||||
$(MAKE) install-data
|
||||
$(inst_zonedir)/: ; $(make-target-directory)
|
||||
install-data: $(install-others)
|
||||
+
|
||||
+ifdef install-sbin
|
||||
+$(addprefix $(inst_sbindir)/,$(install-sbin)): \
|
||||
+ $(inst_sbindir)/%: $(objpfx)% $(+force)
|
||||
+ $(do-install-program)
|
||||
+installed-programs += $(addprefix $(inst_sbindir)/,$(install-sbin))
|
||||
+endif
|
||||
+
|
||||
+install-programs: $(installed-programs)
|
||||
+
|
||||
+others: $(addprefix $(objpfx),$(extra-objs) \
|
||||
+ $(install-lib) \
|
||||
+ $(install-bin) \
|
||||
+ $(install-rootsbin) $(install-sbin))
|
||||
--- tzdata/Makefile.mdvconfig 2005-11-02 13:17:57.000000000 +0100
|
||||
+++ tzdata/Makefile 2007-03-07 13:46:40.000000000 +0100
|
||||
@@ -1,6 +1,13 @@
|
||||
-all:
|
||||
- mkdir obj
|
||||
+all: prepare
|
||||
+ $(MAKE) -C src others
|
||||
+
|
||||
+OBJ_DIR = obj
|
||||
+$(OBJ_DIR)::
|
||||
+ @[ -d $(OBJ_DIR) ] || mkdir $(OBJ_DIR) > /dev/null 2>&1
|
||||
+
|
||||
+prepare: $(OBJ_DIR)
|
||||
for i in tzdata*/*; do ln -sf ../$$i src/; done
|
||||
+ for i in tzcode*/*.[ch]; do ln -sf ../$$i src/; done
|
||||
cp -L src/yearistype.sh src/yearistype; chmod +x src/yearistype
|
||||
|
||||
include ./Makeconfig
|
||||
--- tzdata/scripts/rellns-sh.mdvconfig 2007-03-07 13:46:40.000000000 +0100
|
||||
+++ tzdata/scripts/rellns-sh 2007-03-07 13:46:40.000000000 +0100
|
||||
@@ -0,0 +1,74 @@
|
||||
+#! /bin/sh
|
||||
+# rellns-sh - Simplified ln program to generate relative symbolic link.
|
||||
+# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
+# Written by Ulrich Drepper <drepper@cygnus.com>, October 1996
|
||||
+#
|
||||
+# This program is free software; you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation; either version 2, or (at your option)
|
||||
+# any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program; if not, write to the Free Software
|
||||
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+
|
||||
+if test $# -ne 2; then
|
||||
+ echo "Usage: rellns SOURCE DEST" >&2
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+if test -x /bin/pwd; then
|
||||
+ pwd=/bin/pwd
|
||||
+elif test -x /usr/bin/pwd; then
|
||||
+ pwd=/usr/bin/pwd
|
||||
+else
|
||||
+ pwd='pwd'
|
||||
+fi
|
||||
+
|
||||
+# Make both paths absolute.
|
||||
+if test -d $1; then
|
||||
+ to=`cd $1 && $pwd`
|
||||
+else
|
||||
+ temp=`echo $1 | sed 's%/*[^/]*$%%'`
|
||||
+ if test -z "$temp"; then
|
||||
+ to=`$pwd`
|
||||
+ else
|
||||
+ to=`cd $temp && $pwd`
|
||||
+ fi
|
||||
+ to="$to/`echo $1 | sed 's%.*/\([^/][^/]*\)$%\1%'`"
|
||||
+fi
|
||||
+to=`echo $to | sed 's%^/%%'`
|
||||
+
|
||||
+if test -d $2; then
|
||||
+ from=`echo $2 | sed 's%/*$%%'`
|
||||
+else
|
||||
+ from=`echo $2 | sed 's%/*[^/]*$%%'`
|
||||
+fi
|
||||
+
|
||||
+if test -z "$from"; then
|
||||
+ from=`$pwd | sed 's%^/%%'`
|
||||
+else
|
||||
+ from=`cd $from && $pwd | sed 's%^/%%'`
|
||||
+fi
|
||||
+
|
||||
+while test -n "$to" && test -n "$from"; do
|
||||
+ preto=`echo $to | sed 's%^\([^/]*\)/.*%\1%'`
|
||||
+ prefrom=`echo $from | sed 's%^\([^/]*\)/.*%\1%'`
|
||||
+
|
||||
+ test "$preto" != "$prefrom" && break
|
||||
+
|
||||
+ to=`echo $to | sed 's%^[^/]*/*\(.*\)$%\1%'`
|
||||
+ from=`echo $from | sed 's%^[^/]*/*\(.*\)$%\1%'`
|
||||
+done
|
||||
+
|
||||
+while test -n "$from"; do
|
||||
+ rfrom="../$rfrom"
|
||||
+ from=`echo $from | sed 's%^[^/]*/*%%'`
|
||||
+done
|
||||
+
|
||||
+ln -s $rfrom$to $2
|
||||
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>timezone</Name>
|
||||
<Homepage>ftp://elsie.nci.nih.gov/pub/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>BSD</License>
|
||||
<License>public-domain</License>
|
||||
<IsA>app:console</IsA>
|
||||
<IsA>data</IsA>
|
||||
<Summary>Timezone data files and tools</Summary>
|
||||
<Description>timezone includes timezone data files and tools to use them. Package contents are synchronized with glibc tree.</Description>
|
||||
<Archive sha1sum="e35461362701c5f55a98c72bf0822dd0b47f2076" type="targz">http://www.iana.org/time-zones/repository/releases/tzdata2014b.tar.gz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>perl</Dependency>
|
||||
<Dependency>gawk</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>timezone</Name>
|
||||
<Files>
|
||||
<Path fileType="data">/usr/share/zoneinfo</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="3">
|
||||
<Date>2014-05-11</Date>
|
||||
<Version>2014b</Version>
|
||||
<Comment>Release bump.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2014-03-29</Date>
|
||||
<Version>2014b</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Burak Fazıl Ertürk</Name>
|
||||
<Email>burakerturk@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1" type="critical">
|
||||
<Date>2012-09-27</Date>
|
||||
<Version>0.0_20120927</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Erdem Artan</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>timezone</Name>
|
||||
<Summary xml:lang="tr">Zamandilimi veri dosyaları ve araçları</Summary>
|
||||
<Description xml:lang="tr">timezone zamandilimi veri dosyaları ve bu dosyaları kullanmak için gerekli araçları içerir. Paket içeriği glibc gelişim ağacından oluşturulmaktadır.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user