Skip to content

Commit

Permalink
[binary] Have legacy sosreport binary redirect to sos
Browse files Browse the repository at this point in the history
We need to carry a `sosreport` binary for some time to allow for end
users and downstreams to adjust to the new binary. It was hoped
originally that the old `sosreport` binary could be maintained in place
and simply provide the older set of functionality.

This has proven to not be possible givent he overhaul of the options
handling that allows us to have multiple subcommands. So while we will
still ship an `sosreport` binary, and it will be locked to `report`
functionality, it is now a simple redirection script that also makes the
user aware of the new `sos` binary.

Closes: sosreport#1986

Signed-off-by: Jake Hunsaker <[email protected]>
  • Loading branch information
TurboTurtle committed Apr 6, 2020
1 parent 17a57f9 commit aa36123
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
18 changes: 14 additions & 4 deletions bin/sosreport
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/python3
# This file is part of the sos project: https://github.com/sosreport/sos
#
# This copyrighted material is made available to anyone wishing to use,
Expand All @@ -11,15 +11,25 @@

import sys
import os
import time

try:
# allow running from the git checkout, even though as of 4.0 we are moving
# binaries into a bin/ top-level directory.
sys.path.append(os.getcwd())
from sos.report import main
sys.path.insert(0, os.getcwd())
from sos import SoS
except KeyboardInterrupt:
raise SystemExit()

if __name__ == '__main__':
main(sys.argv[1:])
msg = ("Please note the 'sosreport' command has been deprecated in favor "
"of the new 'sos' command, E.G. 'sos report'.\n"
"Redirecting to sos report %s" % (' '.join(sys.argv[1:]) or ''))
print(msg)
time.sleep(0.5)
args = sys.argv[1:]
args.insert(0, 'report')
sos = SoS(args)
sos.execute()

# vim:ts=4 et sw=4
2 changes: 1 addition & 1 deletion sos/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def __init__(self, args):
_com_subparser.register('action', 'extend', SosListOption)
self._add_common_options(_com_subparser)
self._components[comp].add_parser_options(parser=_com_subparser)
self.args = self.parser.parse_args()
self.args = self.parser.parse_args(self.cmdline)
self._init_component()

def _add_common_options(self, parser):
Expand Down
2 changes: 1 addition & 1 deletion sos/component.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ def load_options(self):
option.default = None

# load values from cmdline
cmdopts = SoSOptions().from_args(self.parser.parse_args())
cmdopts = SoSOptions().from_args(self.parser.parse_args(self.cmdline))
opts.merge(cmdopts)

# load values from config file
Expand Down

0 comments on commit aa36123

Please sign in to comment.