Cross Reference: transform.py
xref
: /
solaris-desktop
/
scripts
/
transform.py
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
20915
N/A
#!/
usr
/
bin
/
python
20915
N/A
20915
N/A
# Author: Jeff Cai
20915
N/A
#
20915
N/A
# This script is for tranverting svr4 package names to ips packages name
20915
N/A
# in one spec file.
20915
N/A
# Input:
20915
N/A
# 1. spec file xxx.spec
20915
N/A
# 2. mapping file
20915
N/A
# Output:
20915
N/A
# 1. new spec file xxx.spec.new
20915
N/A
#
20915
N/A
20915
N/A
import
sys
20915
N/A
import
re
20915
N/A
import
string
20915
N/A
import
os
20915
N/A
20915
N/A
if
len
(
sys
.
argv
) <
2
:
20915
N/A
print
"Usage:
transform.py
[spec-file-name]"
20915
N/A
sys
.
exit
(
0
)
20915
N/A
20915
N/A
# Read mapping file
20915
N/A
20915
N/A
dict
= {}
20915
N/A
try
:
20915
N/A
rf
=
open
(
"svr4-ips-namemapping"
)
20915
N/A
except
:
20915
N/A
print
"Error: Can not open name mapping file svr4-ips-namemapping"
20915
N/A
sys
.
exit
(
0
)
20915
N/A
20915
N/A
print
"Reading the mapping file svr4-ips-namemapping..."
20915
N/A
20915
N/A
for
line
in
rf
:
20915
N/A
entries
=
re
.
split
(
"[\t ]+"
,
line
)
20915
N/A
svr4name
=
string
.
strip
(
entries
[
0
])
20915
N/A
ipsname
=
string
.
strip
(
entries
[
1
])
20915
N/A
dict
[
svr4name
] =
ipsname
20915
N/A
rf
.
close
()
20915
N/A
20915
N/A
specfile
=
sys
.
argv
[
1
]
20915
N/A
20915
N/A
pat1
=
"Requires:"
20915
N/A
pat2
=
"BuildRequires:"
20915
N/A
prog1
=
re
.
compile
(
pat1
,
re
.I)
20915
N/A
prog2
=
re
.
compile
(
pat2
,
re
.I)
20915
N/A
20915
N/A
try
:
20915
N/A
rf
=
open
(
specfile
)
20915
N/A
except
:
20915
N/A
print
"Error: can not open the file "
+
specfile
20915
N/A
sys
.
exit
(
0
)
20915
N/A
20915
N/A
try
:
20915
N/A
wf
=
open
(
specfile
+
".new"
,
"w"
)
20915
N/A
except
:
20915
N/A
print
"Error: can not open the file "
+
specfile
+
".new for writing"
20915
N/A
sys
.
exit
(
0
)
20915
N/A
20915
N/A
lnCnt
=
0
20915
N/A
nlnCnt
=
0
20915
N/A
20915
N/A
for
line
in
rf
:
20915
N/A
if
prog1
.
match
(
line
)
or
prog2
.
match
(
line
):
20915
N/A
entries
=
re
.
split
(
":"
,
line
)
20915
N/A
svr4_name
=
string
.
strip
(
entries
[
1
])
20915
N/A
if
svr4_name
in
dict
:
20915
N/A
wf
.
write
(
"%s: %s\n"
% (
entries
[
0
],
dict
[
svr4_name
]))
20915
N/A
print
"transverting %s to %s"
% (
svr4_name
,
dict
[
svr4_name
])
20915
N/A
lnCnt
=
lnCnt
+
1
20915
N/A
else
:
20915
N/A
print
"not found mapping for %s"
%
svr4_name
20915
N/A
nlnCnt
=
nlnCnt
+
1
20915
N/A
wf
.
write
(
line
)
20915
N/A
else
:
20915
N/A
wf
.
write
(
line
)
20915
N/A
20915
N/A
rf
.
close
()
20915
N/A
wf
.
close
()
20915
N/A
20915
N/A
print
20915
N/A
print
"Finished"
20915
N/A
print
"Transverted %d lines"
%
lnCnt
20915
N/A
print
"%d lines mapping not found"
%
nlnCnt