On Mon, Jul 1, 2024 at 1:19 PM Allan Oepping <allan@xxxxxxxxxxxxxx> wrote: > > Importing a .pp file with the python semanage -i option generates a "UnicodeDecodeError: utf-8" on an up to date Rocky 9 distribution. > > packages: > > policycoreutils-python-utils-3.6-2.1.el9.noarch > python-unversioned-command-3.9.18-3.el9.noarch > > The open() in SetImportFile needs the binary "b" option to open the file in binary mode, as the .pp file is not in utf-8 format: Did you mean to use semodule -i? That's how one imports a policy module. Also, patches should be -p1 appliable and include a Signed-off-by: line. > > --- /semanage~ 2024-07-01 10:29:20.000000000 -0600 > +++ /semanage 2024-07-01 10:54:30.520312298 -0600 > @@ -122,11 +122,11 @@ > class SetImportFile(argparse.Action): > > def __call__(self, parser, namespace, values, option_string=None): > if values and values != "-": > try: > - sys.stdin = open(values, 'r') > + sys.stdin = open(values, 'rb') > except IOError as e: > sys.stderr.write("%s: %s\n" % (e.__class__.__name__, str(e))) > sys.exit(1) > setattr(namespace, self.dest, values) > > patch also attached. > > Thanks, > > Allan Oepping