[Uludag-commits] r16977 - in branches/pisi-1.1/pisi: . actionsapi
uludag-commits at pardus.org.tr
uludag-commits at pardus.org.tr
5 Şub 2008 Sal 02:04:46 EET
Author: caglar
Date: Tue Feb 5 02:04:26 2008
New Revision: 16977
Modified:
branches/pisi-1.1/pisi/actionsapi/autotools.py
branches/pisi-1.1/pisi/actionsapi/kde.py
branches/pisi-1.1/pisi/util.py
Log:
revert revision 16971, 16972 and 16973. They are reverted by mistake
Modified: branches/pisi-1.1/pisi/actionsapi/autotools.py
=================================================================
--- branches/pisi-1.1/pisi/actionsapi/autotools.py (original)
+++ branches/pisi-1.1/pisi/actionsapi/autotools.py Tue Feb 5 02:04:26 2008
@@ -60,7 +60,7 @@
args = './configure \
--prefix=/%s \
- --host=%s \
+ --build=%s \
--mandir=/%s \
--infodir=/%s \
--datadir=/%s \
Modified: branches/pisi-1.1/pisi/actionsapi/kde.py
=================================================================
--- branches/pisi-1.1/pisi/actionsapi/kde.py (original)
+++ branches/pisi-1.1/pisi/actionsapi/kde.py Tue Feb 5 02:04:26 2008
@@ -23,6 +23,7 @@
import pisi.actionsapi
import pisi.actionsapi.get as get
from pisi.actionsapi.shelltools import system
+from pisi.actionsapi.pisitoolsfunctions import *
from pisi.actionsapi.shelltools import can_access_file
class ConfigureError(pisi.actionsapi.Error):
@@ -50,7 +51,7 @@
if can_access_file('configure'):
args = './configure \
--prefix=%s \
- --host=%s \
+ --build=%s \
--with-x \
--enable-mitshm \
--with-xinerama \
@@ -79,3 +80,12 @@
raise InstallError(_('Install failed.'))
else:
raise InstallError(_('No Makefile found.'))
+
+def domo(sourceFile, locale, destinationFile ):
+ '''inserts the mo files in the list of files into /usr/kde/VERSION/share/locale/LOCALE/LC_MESSAGES'''
+
+ '''example call: kde.domo("po/tr.po", "tr", "pam_login.mo")'''
+
+ system('msgfmt %s' % sourceFile)
+ makedirs(join_path(get.installDIR(), get.kdeDIR(), 'share/locale', locale, 'LC_MESSAGES'))
+ move('messages.mo', join_path(get.installDIR(), get.kdeDIR(), 'share/locale', locale, 'LC_MESSAGES', destinationFile))
Modified: branches/pisi-1.1/pisi/util.py
=================================================================
--- branches/pisi-1.1/pisi/util.py (original)
+++ branches/pisi-1.1/pisi/util.py Tue Feb 5 02:04:26 2008
@@ -326,95 +326,65 @@
fp.write(line)
fp.close()
-# FIXME: this should be done in a much much simpler way
-# as it stands, it seems to be a kludge to solve
-# an unrelated problem
-def get_file_hashes(top, excludePrefix=None, removePrefix=None):
- """Iterate over given path and return a list of file hashes.
-
- Generator function iterates over a toplevel path and returns the
- (filePath, sha1Hash) tuples for all files. If excludePrefixes list
- is given as a parameter, function will exclude the filePaths
- matching those prefixes. The removePrefix string parameter will be
- used to remove prefix from filePath while matching excludes, if
- given.
- """
-
- def sha1_sum(f, data=False):
- if not data and f.endswith('.a'):
- #workaround for .a issue..
- #don't skip .a files,
- #but pad their timestamps with '0'..
- clean_ar_timestamps(f)
-
- func = None
+def calculate_hash(path):
+ """Return a (path, hash) tuple for given path."""
+ if os.path.islink(path):
+ try:
+ # For symlinks, path string is hashed instead of the content
+ value = sha1_data(os.readlink(path))
+ except FileError:
+ ctx.ui.info(_("Including external link '%s'") % path)
+ value = None
+ elif os.path.isdir(path):
+ ctx.ui.info(_("Including directory '%s'") % path)
+ value = None
+ else:
+ if path.endswith('.a'):
+ # .a file content changes with each compile due to timestamps
+ # We pad them with zeroes, thus hash will be stable
+ clean_ar_timestamps(path)
+ value = sha1_file(path)
- if data:
- func = sha1_data
- else:
- func = sha1_file
+ return (path, value)
- try:
- return func(f)
- except FileError, e:
- if os.path.islink(f):
- ctx.ui.info(_("Including external link '%s'") % f)
- elif os.path.isdir(f):
- ctx.ui.info(_("Including directory '%s'") % f)
- else:
- raise e
- return None
+def get_file_hashes(top, excludePrefix=None, removePrefix=None):
+ """Yield (path, hash) tuples for given directory tree."""
+ def is_included(path):
+ if excludePrefix:
+ temp = remove_prefix(removePrefix, path)
+ if len(filter(lambda x: temp.startswith(x), excludePrefix)) > 0:
+ return False
+ return True
- def has_excluded_prefix(filename):
- if excludePrefix and removePrefix:
- tempfnam = remove_prefix(removePrefix, filename)
- for p in excludePrefix:
- if tempfnam.startswith(p):
- return 1
- return 0
-
- # handle single file
- if os.path.isfile(top):
- yield (top, sha1_sum(top))
+ # single file/symlink case
+ if not os.path.isdir(top) or os.path.islink(top):
+ if is_included(top):
+ yield calculate_hash(top)
return
- # handle single symlink declaration here.
- if os.path.islink(top):
- yield (top, sha1_sum(os.readlink(top), True))
- return
+ for root, dirs, files in os.walk(top):
+ # Hash files and file symlinks
+ for name in files:
+ path = os.path.join(root, name)
+ if is_included(path):
+ yield calculate_hash(path)
+
+ # Hash symlink dirs
+ # os.walk doesn't enter them, we don't want to follow them either
+ # but their name and hashes must be reported
+ # Discussed in bug #339
+ for name in dirs:
+ path = os.path.join(root, name)
+ if os.path.islink(path):
+ if is_included(path):
+ yield calculate_hash(path)
+
+ # Hash empty dir
+ # Discussed in bug #340
+ if len(files) == 0 and len(dirs) == 0:
+ if is_included(root):
+ yield calculate_hash(root)
- for root, dirs, files in os.walk(top, topdown=False):
- #bug 339
- if os.path.islink(root) and not has_excluded_prefix(root):
- #yield the symlink..
- #bug 373
- yield (root, sha1_sum(os.readlink(root), True))
- excludePrefix.append(remove_prefix(removePrefix, root) + "/")
- continue
-
- #bug 397
- for directory in dirs:
- d = join_path(root, directory)
- if os.path.islink(d) and not has_excluded_prefix(d):
- yield (d, sha1_sum(os.readlink(d), True))
- excludePrefix.append(remove_prefix(removePrefix, d) + "/")
-
- #bug 340
- if os.path.isdir(root) and not has_excluded_prefix(root):
- parent, r, d, f = root, '', '', ''
- for r, d, f in os.walk(parent, topdown=False): pass
- if not f and not d:
- yield (parent, sha1_sum(parent))
-
- for fname in files:
- f = join_path(root, fname)
- if has_excluded_prefix(f):
- continue
- #bug 373
- elif os.path.islink(f):
- yield (f, sha1_sum(os.readlink(f), True))
- else:
- yield (f, sha1_sum(f))
def copy_dir(src, dest):
"""Copy source dir to destination dir recursively."""
@@ -449,14 +419,9 @@
def sha1_data(data):
"""Calculate sha1 hash of given data."""
- try:
- m = sha.new()
- m.update(data)
- return m.hexdigest()
- except KeyboardInterrupt:
- raise
- except Exception: #FIXME: what exception could we catch here, replace with that.
- raise Error(_("Cannot calculate SHA1 hash of given data"))
+ m = sha.new()
+ m.update(data)
+ return m.hexdigest()
def uncompress(patchFile, compressType="gz", targetDir=None):
"""Uncompress the file and return the new path."""
Uludag-commits mesaj listesiyle ilgili
daha fazla bilgi