Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
I
inary
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
1
Konular (issue)
1
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
SulinOS
inary
Commits
096246ef
Kaydet (Commit)
096246ef
authored
Haz 17, 2011
tarafından
Fatih Aşıcı
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
cli/check: Style fixes
üst
f7e4ad62
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
21 deletions
+50
-21
check.py
pisi/cli/check.py
+50
-21
No files found.
pisi/cli/check.py
Dosyayı görüntüle @
096246ef
# -*- coding:utf-8 -*-
#
# Copyright (C) 2005
-
2011, TUBITAK/UEKAE
# Copyright (C) 2005
-
2011, TUBITAK/UEKAE
#
# 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
...
...
@@ -19,10 +19,11 @@ _ = __trans.ugettext
import
pisi.api
import
pisi.cli.command
as
command
import
pisi.context
as
ctx
import
pisi.util
as
util
import
pisi.db
class
Check
(
command
.
Command
):
__doc__
=
_
(
"""Verify installation
usage
=
_
(
"""Verify installation
Usage: check [<package1> <package2> ... <packagen>]
...
...
@@ -34,6 +35,11 @@ Just give the names of packages.
If no packages are given, checks all installed packages.
"""
)
class
Check
(
command
.
Command
):
__doc__
=
usage
__metaclass__
=
command
.
autocommand
def
__init__
(
self
,
args
):
...
...
@@ -45,19 +51,29 @@ If no packages are given, checks all installed packages.
def
options
(
self
):
group
=
optparse
.
OptionGroup
(
self
.
parser
,
_
(
"check options"
))
group
.
add_option
(
"-c"
,
"--component"
,
action
=
"store"
,
default
=
None
,
help
=
_
(
"Check installed packages under given component"
))
group
.
add_option
(
"--config"
,
action
=
"store_true"
,
default
=
False
,
help
=
_
(
"Checks only changed config files of the packages"
))
group
.
add_option
(
"-c"
,
"--component"
,
action
=
"store"
,
default
=
None
,
help
=
_
(
"Check installed packages under "
"given component"
))
group
.
add_option
(
"--config"
,
action
=
"store_true"
,
default
=
False
,
help
=
_
(
"Checks only changed config files of "
"the packages"
))
self
.
parser
.
add_option_group
(
group
)
def
run
(
self
):
self
.
init
(
database
=
True
,
write
=
False
)
self
.
init
(
database
=
True
,
write
=
False
)
component
=
ctx
.
get_option
(
'component'
)
if
component
:
installed
=
pisi
.
api
.
list_installed
()
component_pkgs
=
self
.
componentdb
.
get_union_packages
(
component
,
walk
=
True
)
component_pkgs
=
self
.
componentdb
.
get_union_packages
(
component
,
walk
=
True
)
pkgs
=
list
(
set
(
installed
)
&
set
(
component_pkgs
))
elif
self
.
args
:
pkgs
=
self
.
args
...
...
@@ -79,28 +95,39 @@ If no packages are given, checks all installed packages.
for
pkg
in
pkgs
:
if
self
.
installdb
.
has_package
(
pkg
):
check_results
=
pisi
.
api
.
check
(
pkg
,
check_config
)
ctx
.
ui
.
info
(
"
%
s
%
s"
%
((
prefix
%
pkg
),
' '
*
(
maxpkglen
-
len
(
pkg
))),
noln
=
True
)
ctx
.
ui
.
info
(
"
%
s
%
s"
%
((
prefix
%
pkg
),
' '
*
(
maxpkglen
-
len
(
pkg
))),
noln
=
True
)
if
check_results
[
'missing'
]
or
check_results
[
'corrupted'
]
\
or
check_results
[
'config'
]:
ctx
.
ui
.
info
(
pisi
.
util
.
colorize
(
_
(
"Broken"
),
'brightred'
))
ctx
.
ui
.
info
(
util
.
colorize
(
_
(
"Broken"
),
'brightred'
))
elif
check_results
[
'denied'
]:
# We can't deduce a result when some files can't be accessed
# We can't deduce a result when some files
# can't be accessed
necessary_permissions
=
False
ctx
.
ui
.
info
(
pisi
.
util
.
colorize
(
_
(
"Unknown"
),
'yellow'
))
ctx
.
ui
.
info
(
util
.
colorize
(
_
(
"Unknown"
),
'yellow'
))
else
:
ctx
.
ui
.
info
(
pisi
.
util
.
colorize
(
_
(
"OK"
),
'green'
))
ctx
.
ui
.
info
(
util
.
colorize
(
_
(
"OK"
),
'green'
))
continue
# Dump per file stuff
for
fpath
in
check_results
[
'missing'
]:
ctx
.
ui
.
info
(
pisi
.
util
.
colorize
(
_
(
"Missing file: /
%
s"
)
%
fpath
,
'brightred'
))
ctx
.
ui
.
info
(
util
.
colorize
(
_
(
"Missing file: /
%
s"
)
%
fpath
,
'brightred'
))
for
fpath
in
check_results
[
'denied'
]:
ctx
.
ui
.
info
(
pisi
.
util
.
colorize
(
_
(
"Access denied: /
%
s"
)
%
fpath
,
'yellow'
))
ctx
.
ui
.
info
(
util
.
colorize
(
_
(
"Access denied: /
%
s"
)
%
fpath
,
'yellow'
))
for
fpath
in
check_results
[
'corrupted'
]:
ctx
.
ui
.
info
(
pisi
.
util
.
colorize
(
_
(
"Corrupted file: /
%
s"
)
%
fpath
,
'brightyellow'
))
ctx
.
ui
.
info
(
util
.
colorize
(
_
(
"Corrupted file: /
%
s"
)
%
fpath
,
'brightyellow'
))
for
fpath
in
check_results
[
'config'
]:
ctx
.
ui
.
info
(
pisi
.
util
.
colorize
(
_
(
"Modified configuration file: /
%
s"
)
%
fpath
,
'brightyellow'
))
ctx
.
ui
.
info
(
util
.
colorize
(
_
(
"Modified configuration file: /
%
s"
)
%
fpath
,
'brightyellow'
))
else
:
# Package is not installed
...
...
@@ -108,6 +135,8 @@ If no packages are given, checks all installed packages.
if
not
necessary_permissions
:
ctx
.
ui
.
info
(
""
)
ctx
.
ui
.
warning
(
_
(
"Pisi was unable to check the integrity of packages which contain files that you don't have read access.
\n
"
"Running the check under a privileged user may help fixing this problem."
))
ctx
.
ui
.
warning
(
_
(
"Pisi was unable to check the integrity of "
"packages which contain files that you don't "
"have read access.
\n
"
"Running the check under a privileged user "
"may help fixing this problem."
))
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment