Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
4437b0b9
Commit
4437b0b9
authored
Jun 02, 2000
by
Greg Ward
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Ditched the obsolete '_get_package_data()' method and its
'_check_*()' helpers.
parent
0963a9ac
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
142 deletions
+3
-142
Lib/distutils/command/bdist_rpm.py
Lib/distutils/command/bdist_rpm.py
+3
-142
No files found.
Lib/distutils/command/bdist_rpm.py
View file @
4437b0b9
...
...
@@ -318,73 +318,6 @@ class bdist_rpm (Command):
# run()
def
_get_package_data
(
self
):
''' Get data needed to generate spec file, first from the
DistributionMetadata class, then from the package_data file, which is
Python code read with execfile() '''
from
string
import
join
package_type
=
'rpm'
# read in package data, if any
if
os
.
path
.
exists
(
'package_data'
):
try
:
exec
(
open
(
'package_data'
))
except
:
raise
DistutilsOptionError
,
'Unable to parse package data file'
# set instance variables, supplying default value if not provided in
# package data file
self
.
package_data
=
locals
()
# the following variables must be {string (len() = 2): string}
self
.
summaries
=
self
.
_check_string_dict
(
'summaries'
)
self
.
descriptions
=
self
.
_check_string_dict
(
'descriptions'
)
# The following variable must be an ordinary number or a string
self
.
release
=
self
.
_check_number_or_string
(
'release'
,
'1'
)
self
.
serial
=
self
.
_check_number_or_string
(
'serial'
)
# The following variables must be strings
self
.
group
=
self
.
_check_string
(
'group'
,
'Development/Libraries'
)
self
.
vendor
=
self
.
_check_string
(
'vendor'
)
self
.
packager
=
self
.
_check_string
(
'packager'
)
self
.
changelog
=
self
.
_check_string
(
'changelog'
)
self
.
icon
=
self
.
_check_string
(
'icon'
)
self
.
distribution_name
=
self
.
_check_string
(
'distribution_name'
)
self
.
pre
=
self
.
_check_string
(
'pre'
)
self
.
post
=
self
.
_check_string
(
'post'
)
self
.
preun
=
self
.
_check_string
(
'preun'
)
self
.
postun
=
self
.
_check_string
(
'postun'
)
self
.
prep
=
self
.
_check_string
(
'prep'
,
'%setup'
)
if
self
.
use_rpm_opt_flags
:
self
.
build
=
(
self
.
_check_string
(
'build'
,
'env CFLAGS="$RPM_OPT_FLAGS" python setup.py build'
))
else
:
self
.
build
=
(
self
.
_check_string
(
'build'
,
'python setup.py build'
))
self
.
install
=
self
.
_check_string
(
'install'
,
'python setup.py install --root=$RPM_BUILD_ROOT --record'
)
self
.
clean
=
self
.
_check_string
(
'clean'
,
'rm -rf $RPM_BUILD_ROOT'
)
# The following variables must be a list or tuple of strings, or a
# string
self
.
doc
=
self
.
_check_string_list
(
'doc'
)
if
type
(
self
.
doc
)
==
ListType
:
for
readme
in
(
'README'
,
'README.txt'
):
if
os
.
path
.
exists
(
readme
)
and
readme
not
in
self
.
doc
:
self
.
doc
.
append
(
readme
)
self
.
doc
=
join
(
self
.
doc
)
self
.
provides
=
join
(
self
.
_check_string_list
(
'provides'
))
self
.
requires
=
join
(
self
.
_check_string_list
(
'requires'
))
self
.
conflicts
=
join
(
self
.
_check_string_list
(
'conflicts'
))
self
.
build_requires
=
join
(
self
.
_check_string_list
(
'build_requires'
))
self
.
obsoletes
=
join
(
self
.
_check_string_list
(
'obsoletes'
))
def
_make_spec_file
(
self
):
"""Generate the text of an RPM spec file and return it as a
list of strings (one per line).
...
...
@@ -512,78 +445,6 @@ class bdist_rpm (Command):
return
spec_file
def
_check_string_dict
(
self
,
var_name
,
default_value
=
{}):
''' Tests a wariable to determine if it is {string: string},
var_name is the name of the wariable. Return the value if it is valid,
returns default_value if the variable does not exist, raises
DistutilsOptionError if the variable is not valid'''
if
self
.
package_data
.
has_key
(
var_name
):
pass_test
=
1
# set to 0 if fails test
value
=
self
.
package_data
[
var_name
]
if
type
(
value
)
==
DictType
:
for
locale
in
value
.
keys
():
if
(
type
(
locale
)
!=
StringType
)
or
(
type
(
value
[
locale
])
!=
StringType
):
pass_test
=
0
break
if
pass_test
:
return
test_me
raise
DistutilsOptionError
,
\
(
"Error in package_data: '%s' must be dictionary: "
'{string: string}'
%
var_name
)
else
:
return
default_value
def
_check_string
(
self
,
var_name
,
default_value
=
None
):
''' Tests a variable in package_data to determine if it is a string,
var_name is the name of the wariable. Return the value if it is a
string, returns default_value if the variable does not exist, raises
DistutilsOptionError if the variable is not a string'''
if
self
.
package_data
.
has_key
(
var_name
):
if
type
(
self
.
package_data
[
var_name
])
==
StringType
:
return
self
.
package_data
[
var_name
]
else
:
raise
DistutilsOptionError
,
\
"Error in package_data: '%s' must be a string"
%
var_name
else
:
return
default_value
def
_check_number_or_string
(
self
,
var_name
,
default_value
=
None
):
''' Tests a variable in package_data to determine if it is a number or
a string, var_name is the name of the wariable. Return the value if it
is valid, returns default_value if the variable does not exist, raises
DistutilsOptionError if the variable is not valid'''
if
self
.
package_data
.
has_key
(
var_name
):
if
type
(
self
.
package_data
[
var_name
])
in
(
StringType
,
LongType
,
IntType
,
FloatType
):
return
str
(
self
.
package_data
[
var_name
])
else
:
raise
DistutilsOptionError
,
\
(
"Error in package_data: '%s' must be a string or a "
'number'
%
var_name
)
else
:
return
default_value
def
_check_string_list
(
self
,
var_name
,
default_value
=
[]):
''' Tests a variable in package_data to determine if it is a string or
a list or tuple of strings, var_name is the name of the wariable.
Return the value as a string or a list if it is valid, returns
default_value if the variable does not exist, raises
DistutilsOptionError if the variable is not valid'''
if
self
.
package_data
.
has_key
(
var_name
):
value
=
self
.
package_data
[
var_name
]
pass_test
=
1
if
type
(
value
)
==
StringType
:
return
value
elif
type
(
value
)
in
(
ListType
,
TupleType
):
for
item
in
value
:
if
type
(
item
)
!=
StringType
:
pass_test
=
0
break
if
pass_test
:
return
list
(
value
)
raise
DistutilsOptionError
,
\
(
"Error in package_data: '%s' must be a string or a "
'list or tuple of strings'
%
var_name
)
else
:
return
default_value
# _make_spec_file ()
# class bdist_rpm
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