diff --git a/eulercopilot-cli-1.2.tar.gz b/eulercopilot-cli-1.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..69df41d571e3e461bafd021758915203cf43b208 Binary files /dev/null and b/eulercopilot-cli-1.2.tar.gz differ diff --git a/eulercopilot-cli.spec b/eulercopilot-cli.spec new file mode 100644 index 0000000000000000000000000000000000000000..618d6f7ff9d6ea08a6e8571fa707f900c6387c56 --- /dev/null +++ b/eulercopilot-cli.spec @@ -0,0 +1,68 @@ +%global debug_package %{nil} + +Name: eulercopilot-cli +Version: 1.2 +Release: 1%{?_tag}%{?dist} +Group: Applications/Utilities +Summary: EulerCopilot Command Line Assistant +Source: %{name}-%{version}.tar.gz +License: MulanPSL-2.0 +URL: https://www.openeuler.org/zh/ + +BuildRequires: python3-devel python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-Cython gcc + +Requires: python3 jq hostname + +%description +EulerCopilot Command Line Assistant + +%prep +%setup -q +python3 -m venv .venv +.venv/bin/python3 -m pip install -U -i https://mirrors.huaweicloud.com/repository/pypi/simple pip setuptools +.venv/bin/python3 -m pip install -U -i https://mirrors.huaweicloud.com/repository/pypi/simple Cython pyinstaller +.venv/bin/python3 -m pip install -U -i https://mirrors.huaweicloud.com/repository/pypi/simple websockets requests +.venv/bin/python3 -m pip install -U -i https://mirrors.huaweicloud.com/repository/pypi/simple rich typer questionary + +%build +.venv/bin/python3 setup.py build_ext +.venv/bin/pyinstaller --onefile --clean \ + --distpath=%{_builddir}/%{name}-%{version}/dist \ + --workpath=%{_builddir}/%{name}-%{version}/build \ + copilot.py + +%install +%define _unpackaged_files_terminate_build 0 +install -d %{buildroot}/%{_bindir} +install -c -m 0755 %{_builddir}/%{name}-%{version}/dist/copilot %{buildroot}/%{_bindir} +install -d %{buildroot}/etc/profile.d +install -c -m 0755 %{_builddir}/%{name}-%{version}/eulercopilot.sh %{buildroot}/etc/profile.d + +%files +%defattr(-,root,root,-) +/usr/bin/copilot +/etc/profile.d/eulercopilot.sh + +%pre +sed -i '/# >>> eulercopilot >>>/,/# <<< eulercopilot <<> /etc/bashrc +# >>> eulercopilot >>> +if type revert_copilot_prompt &> /dev/null && type set_copilot_prompt &> /dev/null; then + run_after_return() { + if [[ "$PS1" == *"\[\033[1;33m"* ]]; then + revert_copilot_prompt + set_copilot_prompt + fi + } + PROMPT_COMMAND="${PROMPT_COMMAND:+${PROMPT_COMMAND}; }run_after_return" + set_copilot_prompt +fi +# <<< eulercopilot <<< +EOF + +%postun +if [ ! -f /usr/bin/copilot ]; then + sed -i '/# >>> eulercopilot >>>/,/# <<< eulercopilot <<