summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 05:47:17 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 05:47:17 +0000
commit436c8a5360c1f87df63c028e8f0d51cab37f7f1d (patch)
treef737533133e42917cbad6d3985e51d326c49378d
parentfb062747abff67c024b8dad766bd535111eb7e0d (diff)
automatic import of python-selinux-please-lie-to-me
-rw-r--r--.gitignore1
-rw-r--r--python-selinux-please-lie-to-me.spec279
-rw-r--r--sources1
3 files changed, 281 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..5c1755a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/selinux_please_lie_to_me-1.0.1.tar.gz
diff --git a/python-selinux-please-lie-to-me.spec b/python-selinux-please-lie-to-me.spec
new file mode 100644
index 0000000..2334b8a
--- /dev/null
+++ b/python-selinux-please-lie-to-me.spec
@@ -0,0 +1,279 @@
+%global _empty_manifest_terminate_build 0
+Name: python-selinux-please-lie-to-me
+Version: 1.0.1
+Release: 1
+Summary: Fake selinux module that always says SELinux is off
+License: MIT
+URL: https://github.com/goneri/selinux_please_lie_to_me
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/66/db/210919df4457f5822b8e6a9e0238b9cf64fb6076014d274351fe41991398/selinux_please_lie_to_me-1.0.1.tar.gz
+BuildArch: noarch
+
+
+%description
+# SELinux: please lie to me! 😭
+
+This package provides a fake `selinux` module. This package mocked `selinux` module and
+will always pretend SELinux is not enabled on the system.
+
+## But why? 😕
+
+If your system runs SELinux and run Ansible in a virtualenv you will probably
+face this error:
+
+ Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!
+
+## But what about the regular [selinux package from Pypi](https://pypi.org/project/selinux/)?
+
+You system comes with a `python3-libselinux` package that was built using on specific Python version.
+For instance, on Fedora 34 it's Python 3.9. The same binary package may work fine with another Python
+version, but it's not always the case.
+
+### Example with the selinux shim from pypi
+
+In this example on Fedora 34, we cannot use the `selinux` shim package because Python 3.6 cannot load the system `selinux` binary for Python 3.9:
+
+```
+$ virtualenv -p python3.6 ~/tmp/my-venv-py36
+(...)
+$ ~/tmp/my-venv-py36/bin/pip install selinux
+Collecting selinux
+ Using cached selinux-0.2.1-py2.py3-none-any.whl (4.3 kB)
+Requirement already satisfied: setuptools>=39.0 in ./tmp/my-venv-py36/lib/python3.6/site-packages (from selinux) (53.0.0)
+Collecting distro>=1.3.0
+ Using cached distro-1.5.0-py2.py3-none-any.whl (18 kB)
+Installing collected packages: distro, selinux
+Successfully installed distro-1.5.0 selinux-0.2.1
+WARNING: You are using pip version 21.0.1; however, version 21.1.3 is available.
+You should consider upgrading via the '/home/goneri/tmp/my-venv-py36/bin/python -m pip install --upgrade pip' command.
+$ ~/tmp/my-venv-py36/bin/python -m selinux
+Traceback (most recent call last):
+ File "/usr/lib64/python3.6/runpy.py", line 183, in _run_module_as_main
+ mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
+ File "/usr/lib64/python3.6/runpy.py", line 142, in _get_module_details
+ return _get_module_details(pkg_main_name, error)
+ File "/usr/lib64/python3.6/runpy.py", line 109, in _get_module_details
+ __import__(pkg_name)
+ File "/home/goneri/tmp/my-venv-py36/lib/python3.6/site-packages/selinux/__init__.py", line 104, in <module>
+ check_system_sitepackages()
+ File "/home/goneri/tmp/my-venv-py36/lib/python3.6/site-packages/selinux/__init__.py", line 95, in check_system_sitepackages
+ success = add_location(candidate)
+ File "/home/goneri/tmp/my-venv-py36/lib/python3.6/site-packages/selinux/__init__.py", line 65, in add_location
+ reload(sys.modules["selinux"])
+ File "/usr/lib64/python3.6/importlib/__init__.py", line 166, in reload
+ _bootstrap._exec(spec, module)
+ File "/usr/lib64/python3.9/site-packages/selinux/__init__.py", line 13, in <module>
+ from . import _selinux
+ImportError: cannot import name '_selinux'
+```
+
+## Example with selinux_please_lie_to_me
+
+ $ virtualenv -p python3.6 venv
+ $ source venv/bin/active
+ $ pip install selinux_please_lie_to_me
+ $ python3 -c 'import selinux; print(f"SELinux is enabled: {selinux.is_selinux_enabled()}, (which is probably a lie 🤫)")'
+ SELinux is enabled: False, (which is probably a lie 🤫)
+
+## What does this break?
+
+Since, we pretend selinux is disabled, we won't do any SELinux specific operation.
+
+
+
+
+%package -n python3-selinux-please-lie-to-me
+Summary: Fake selinux module that always says SELinux is off
+Provides: python-selinux-please-lie-to-me
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-selinux-please-lie-to-me
+# SELinux: please lie to me! 😭
+
+This package provides a fake `selinux` module. This package mocked `selinux` module and
+will always pretend SELinux is not enabled on the system.
+
+## But why? 😕
+
+If your system runs SELinux and run Ansible in a virtualenv you will probably
+face this error:
+
+ Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!
+
+## But what about the regular [selinux package from Pypi](https://pypi.org/project/selinux/)?
+
+You system comes with a `python3-libselinux` package that was built using on specific Python version.
+For instance, on Fedora 34 it's Python 3.9. The same binary package may work fine with another Python
+version, but it's not always the case.
+
+### Example with the selinux shim from pypi
+
+In this example on Fedora 34, we cannot use the `selinux` shim package because Python 3.6 cannot load the system `selinux` binary for Python 3.9:
+
+```
+$ virtualenv -p python3.6 ~/tmp/my-venv-py36
+(...)
+$ ~/tmp/my-venv-py36/bin/pip install selinux
+Collecting selinux
+ Using cached selinux-0.2.1-py2.py3-none-any.whl (4.3 kB)
+Requirement already satisfied: setuptools>=39.0 in ./tmp/my-venv-py36/lib/python3.6/site-packages (from selinux) (53.0.0)
+Collecting distro>=1.3.0
+ Using cached distro-1.5.0-py2.py3-none-any.whl (18 kB)
+Installing collected packages: distro, selinux
+Successfully installed distro-1.5.0 selinux-0.2.1
+WARNING: You are using pip version 21.0.1; however, version 21.1.3 is available.
+You should consider upgrading via the '/home/goneri/tmp/my-venv-py36/bin/python -m pip install --upgrade pip' command.
+$ ~/tmp/my-venv-py36/bin/python -m selinux
+Traceback (most recent call last):
+ File "/usr/lib64/python3.6/runpy.py", line 183, in _run_module_as_main
+ mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
+ File "/usr/lib64/python3.6/runpy.py", line 142, in _get_module_details
+ return _get_module_details(pkg_main_name, error)
+ File "/usr/lib64/python3.6/runpy.py", line 109, in _get_module_details
+ __import__(pkg_name)
+ File "/home/goneri/tmp/my-venv-py36/lib/python3.6/site-packages/selinux/__init__.py", line 104, in <module>
+ check_system_sitepackages()
+ File "/home/goneri/tmp/my-venv-py36/lib/python3.6/site-packages/selinux/__init__.py", line 95, in check_system_sitepackages
+ success = add_location(candidate)
+ File "/home/goneri/tmp/my-venv-py36/lib/python3.6/site-packages/selinux/__init__.py", line 65, in add_location
+ reload(sys.modules["selinux"])
+ File "/usr/lib64/python3.6/importlib/__init__.py", line 166, in reload
+ _bootstrap._exec(spec, module)
+ File "/usr/lib64/python3.9/site-packages/selinux/__init__.py", line 13, in <module>
+ from . import _selinux
+ImportError: cannot import name '_selinux'
+```
+
+## Example with selinux_please_lie_to_me
+
+ $ virtualenv -p python3.6 venv
+ $ source venv/bin/active
+ $ pip install selinux_please_lie_to_me
+ $ python3 -c 'import selinux; print(f"SELinux is enabled: {selinux.is_selinux_enabled()}, (which is probably a lie 🤫)")'
+ SELinux is enabled: False, (which is probably a lie 🤫)
+
+## What does this break?
+
+Since, we pretend selinux is disabled, we won't do any SELinux specific operation.
+
+
+
+
+%package help
+Summary: Development documents and examples for selinux-please-lie-to-me
+Provides: python3-selinux-please-lie-to-me-doc
+%description help
+# SELinux: please lie to me! 😭
+
+This package provides a fake `selinux` module. This package mocked `selinux` module and
+will always pretend SELinux is not enabled on the system.
+
+## But why? 😕
+
+If your system runs SELinux and run Ansible in a virtualenv you will probably
+face this error:
+
+ Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!
+
+## But what about the regular [selinux package from Pypi](https://pypi.org/project/selinux/)?
+
+You system comes with a `python3-libselinux` package that was built using on specific Python version.
+For instance, on Fedora 34 it's Python 3.9. The same binary package may work fine with another Python
+version, but it's not always the case.
+
+### Example with the selinux shim from pypi
+
+In this example on Fedora 34, we cannot use the `selinux` shim package because Python 3.6 cannot load the system `selinux` binary for Python 3.9:
+
+```
+$ virtualenv -p python3.6 ~/tmp/my-venv-py36
+(...)
+$ ~/tmp/my-venv-py36/bin/pip install selinux
+Collecting selinux
+ Using cached selinux-0.2.1-py2.py3-none-any.whl (4.3 kB)
+Requirement already satisfied: setuptools>=39.0 in ./tmp/my-venv-py36/lib/python3.6/site-packages (from selinux) (53.0.0)
+Collecting distro>=1.3.0
+ Using cached distro-1.5.0-py2.py3-none-any.whl (18 kB)
+Installing collected packages: distro, selinux
+Successfully installed distro-1.5.0 selinux-0.2.1
+WARNING: You are using pip version 21.0.1; however, version 21.1.3 is available.
+You should consider upgrading via the '/home/goneri/tmp/my-venv-py36/bin/python -m pip install --upgrade pip' command.
+$ ~/tmp/my-venv-py36/bin/python -m selinux
+Traceback (most recent call last):
+ File "/usr/lib64/python3.6/runpy.py", line 183, in _run_module_as_main
+ mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
+ File "/usr/lib64/python3.6/runpy.py", line 142, in _get_module_details
+ return _get_module_details(pkg_main_name, error)
+ File "/usr/lib64/python3.6/runpy.py", line 109, in _get_module_details
+ __import__(pkg_name)
+ File "/home/goneri/tmp/my-venv-py36/lib/python3.6/site-packages/selinux/__init__.py", line 104, in <module>
+ check_system_sitepackages()
+ File "/home/goneri/tmp/my-venv-py36/lib/python3.6/site-packages/selinux/__init__.py", line 95, in check_system_sitepackages
+ success = add_location(candidate)
+ File "/home/goneri/tmp/my-venv-py36/lib/python3.6/site-packages/selinux/__init__.py", line 65, in add_location
+ reload(sys.modules["selinux"])
+ File "/usr/lib64/python3.6/importlib/__init__.py", line 166, in reload
+ _bootstrap._exec(spec, module)
+ File "/usr/lib64/python3.9/site-packages/selinux/__init__.py", line 13, in <module>
+ from . import _selinux
+ImportError: cannot import name '_selinux'
+```
+
+## Example with selinux_please_lie_to_me
+
+ $ virtualenv -p python3.6 venv
+ $ source venv/bin/active
+ $ pip install selinux_please_lie_to_me
+ $ python3 -c 'import selinux; print(f"SELinux is enabled: {selinux.is_selinux_enabled()}, (which is probably a lie 🤫)")'
+ SELinux is enabled: False, (which is probably a lie 🤫)
+
+## What does this break?
+
+Since, we pretend selinux is disabled, we won't do any SELinux specific operation.
+
+
+
+
+%prep
+%autosetup -n selinux-please-lie-to-me-1.0.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-selinux-please-lie-to-me -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..e05e4cb
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+ddb67cd4d9352f7cc96711124f17fc4f selinux_please_lie_to_me-1.0.1.tar.gz