|
System | : | Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686 |
Software | : | Apache. PHP/5.3.6-13ubuntu3.10 |
ID | : | uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
|
|
Safe Mode | : | OFF |
Open_Basedir | : | OFF |
Freespace | : | 23.24 GB of 70.42 GB (33%) |
|
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON |
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
|
[ System Info ]
[ Processes ]
[ SQL Manager ]
[ Eval ]
[ Encoder ]
[ Mailer ]
[ Back Connection ]
[ Backdoor Server ]
[ Kernel Exploit Search ]
[ MD5 Decrypter ]
[ Reverse IP ]
[ Kill Shell ]
[ FTP Brute-Force ]
|
|
/
usr/
share/
pyshared/
smart/
backends/
slack/
- drwxr-xr-x
|
Viewing file: slackver.py (3.36 KB) -rw-r--r--Select action/file-type:  ( +) |  ( +) |  ( +) | Code ( +) | Session ( +) |  ( +) | SDB ( +) |  ( +) |  ( +) |  ( +) |  ( +) |  ( +) |
# # Copyright (c) 2004 Conectiva, Inc. # # Written by Gustavo Niemeyer <niemeyer@conectiva.com> # # This file is part of Smart Package Manager. # # Smart Package Manager 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 of the License, or (at # your option) any later version. # # Smart Package Manager 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 Smart Package Manager; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # from smart import * import re
VERRE = re.compile("([^-]+)(?:-([^-]+)(?:-(.+))?)?")
def splitarch(v): slash = v.rfind("-") if slash == -1: return v, None toks = v.rsplit("-", 2) return "%s-%s" % (toks[0], toks[2]), toks[1]
def splitrelease(v): slash = v.rfind("-") if slash == -1: return v, None return v[:slash], v[slash+1:]
def checkdep(s1, rel, s2): cmp = vercmp(s1, s2) if cmp == 0: return '=' in rel elif cmp < 0: return '<' in rel else: return '>' in rel
def vercmp(s1, s2): return vercmpparts(*(VERRE.match(s1).groups()+VERRE.match(s2).groups()))
# compare alpha and numeric segments of two versions # return 1: first is newer than second # 0: first and second are the same version # -1: second is newer than first def vercmpparts(v1, a1, b1, v2, a2, b2): rc = vercmppart(v1, v2) if rc: return rc elif not b1 or not b2: return 0 i1 = 0 i2 = 0 lb1 = len(b1) lb2 = len(b2) while i1 < lb1 and b1[i1].isdigit(): i1 += 1 while i2 < lb2 and b2[i2].isdigit(): i2 += 1 return vercmppart(b1[:i1], b2[:i2])
# compare alpha and numeric segments of two versions # return 1: a is newer than b # 0: a and b are the same version # -1: b is newer than a def vercmppart(a, b): if a == b: return 0 ai = 0 bi = 0 la = len(a) lb = len(b) while ai < la and bi < lb: while ai < la and not a[ai].isalnum(): ai += 1 while bi < lb and not b[bi].isalnum(): bi += 1 aj = ai bj = bi if a[aj].isdigit(): while aj < la and a[aj].isdigit(): aj += 1 while bj < lb and b[bj].isdigit(): bj += 1 isnum = 1 else: while aj < la and a[aj].isalpha(): aj += 1 while bj < lb and b[bj].isalpha(): bj += 1 isnum = 0 if aj == ai: return -1 if bj == bi: return isnum and 1 or -1 if isnum: while ai < la and a[ai] == '0': ai += 1 while bi < lb and b[bi] == '0': bi += 1 if aj-ai > bj-bi: return 1 if bj-bi > aj-ai: return -1 rc = cmp(a[ai:aj], b[bi:bj]) if rc: return rc ai = aj bi = bj if ai == la and bi == lb: return 0 if ai == la: return -1 else: return 1
def enablePsyco(psyco): psyco.bind(vercmppart) psyco.bind(vercmpparts)
hooks.register("enable-psyco", enablePsyco)
# vim:ts=4:sw=4
|