Target map-packages deprecation message
Currently every run of install-packages puts out a warning that map-packages is obsolete. This happens even if map-package does no mapping. The caller can't prevent the call (it's part of install-packages) and it gives no actionable help if there is something wrong. Keep track of any mappings we are doing in the obsolete map-packages run and only output a warning if we actually translate anything. If we do output, tell the caller what packages were translated so they can make appropriate pkg-map entries. Change-Id: Ibfe69dc84246662ed8caa0d4c3e2edf68314c87e
This commit is contained in:
parent
e3b67a3d45
commit
5bd8158862
@ -22,6 +22,13 @@ import sys
|
|||||||
# Manually maintained for brevity; consider making this compiled from
|
# Manually maintained for brevity; consider making this compiled from
|
||||||
# distromatch or other rich data sources.
|
# distromatch or other rich data sources.
|
||||||
# Debian name on the left, Fedora/RHEL on the right.
|
# Debian name on the left, Fedora/RHEL on the right.
|
||||||
|
|
||||||
|
#
|
||||||
|
# !!! DO NOT ADD ANY ENTRIES TO THIS FILE !!!
|
||||||
|
#
|
||||||
|
# This global list has been deprecated by the pkg-map element. New
|
||||||
|
# package mappings should go in pkg-map files inside each element.
|
||||||
|
#
|
||||||
package_map = {
|
package_map = {
|
||||||
'apache2': 'httpd',
|
'apache2': 'httpd',
|
||||||
'arping': 'iputils',
|
'arping': 'iputils',
|
||||||
@ -81,13 +88,30 @@ package_map = {
|
|||||||
'openstack-neutron-dhcp-agent': 'openstack-neutron',
|
'openstack-neutron-dhcp-agent': 'openstack-neutron',
|
||||||
}
|
}
|
||||||
|
|
||||||
print("WARNING: map-packages is deprecated. Please use the pkg-map element.",
|
deprecated = []
|
||||||
file=sys.stderr)
|
|
||||||
|
|
||||||
for arg in sys.argv[1:]:
|
for arg in sys.argv[1:]:
|
||||||
if arg not in package_map and arg.endswith('-dev'):
|
if arg not in package_map and arg.endswith('-dev'):
|
||||||
# convert -dev into devel
|
# convert -dev into devel
|
||||||
print('%s%s' % (arg, 'el'))
|
converted = '%s%s' % (arg, 'el')
|
||||||
|
deprecated.append((arg, converted))
|
||||||
|
print(converted)
|
||||||
else:
|
else:
|
||||||
print(package_map.get(arg, arg))
|
converted = package_map.get(arg, arg)
|
||||||
|
if converted != arg:
|
||||||
|
deprecated.append((arg, converted))
|
||||||
|
print(converted)
|
||||||
|
|
||||||
|
if deprecated:
|
||||||
|
print("WARNING: The following packages were re-mapped by "
|
||||||
|
"redhat-common map-packages\n"
|
||||||
|
"They should be converted to pkg-map:", file=sys.stderr)
|
||||||
|
for arg, converted in deprecated:
|
||||||
|
print(" %s -> %s" % (arg, converted), file=sys.stderr)
|
||||||
|
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
# Tell emacs to use python-mode
|
||||||
|
# Local variables:
|
||||||
|
# mode: python
|
||||||
|
# End:
|
||||||
|
@ -18,6 +18,14 @@ import sys
|
|||||||
# Manually maintained for brevity; consider making this compiled from
|
# Manually maintained for brevity; consider making this compiled from
|
||||||
# distromatch or other rich data sources.
|
# distromatch or other rich data sources.
|
||||||
# Debian name on the left, RHEL on the right.
|
# Debian name on the left, RHEL on the right.
|
||||||
|
|
||||||
|
#
|
||||||
|
# !!! DO NOT ADD ANY ENTRIES TO THIS FILE !!!
|
||||||
|
#
|
||||||
|
# This global list has been deprecated by the pkg-map element. New
|
||||||
|
# package mappings should go in pkg-map files inside each element.
|
||||||
|
#
|
||||||
|
|
||||||
package_map = {
|
package_map = {
|
||||||
'augeas-tools': 'augeas',
|
'augeas-tools': 'augeas',
|
||||||
'build-essential': 'make automake gcc gcc-c++ kernel-devel',
|
'build-essential': 'make automake gcc gcc-c++ kernel-devel',
|
||||||
@ -40,9 +48,18 @@ package_map = {
|
|||||||
'vlan': 'vconfig',
|
'vlan': 'vconfig',
|
||||||
}
|
}
|
||||||
|
|
||||||
print("WARNING: map-packages is deprecated. Please use the pkg-map element.",
|
deprecated = []
|
||||||
file=sys.stderr)
|
|
||||||
|
|
||||||
for arg in sys.argv[1:]:
|
for arg in sys.argv[1:]:
|
||||||
print(package_map.get(arg, arg))
|
mapped = package_map.get(arg, arg)
|
||||||
|
if mapped != arg:
|
||||||
|
deprecated.append((arg, mapped))
|
||||||
|
print(mapped)
|
||||||
|
|
||||||
|
if deprecated:
|
||||||
|
print("WARNING: The following packages were re-mapped by "
|
||||||
|
"rhel map-packages.\n"
|
||||||
|
"They should be converted to pkg-map:\n", file=sys.stderr)
|
||||||
|
for arg, converted in deprecated:
|
||||||
|
print(" %s -> %s" % (arg, converted), file=sys.stderr)
|
||||||
|
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
Loading…
Reference in New Issue
Block a user