From acee13bf53e168666a6589a680dbd1189e38a950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Thu, 7 Apr 2016 16:56:36 +0200 Subject: [PATCH] appmenus: use setuptools for packaging QubesOS/qubes-issues#1897 --- appmenus-scripts/qubes.SyncAppMenus | 1 - appmenus-scripts/qvm-sync-appmenus | 2 -- .../__init__.py | 0 .../convert-apptemplate2vm.sh | 0 .../convert-dirtemplate2vm.sh | 0 .../create-apps-for-appvm.sh | 0 qubesappmenus/qubes.SyncAppMenus | 1 + .../qubes.SyncAppMenus.policy | 0 .../receive.py | 2 -- .../remove-appvm-appmenus.sh | 0 rpm_spec/core-dom0-linux.spec | 26 +++++++------------ setup.py | 25 ++++++++++++++++++ 12 files changed, 35 insertions(+), 22 deletions(-) delete mode 100644 appmenus-scripts/qubes.SyncAppMenus delete mode 100755 appmenus-scripts/qvm-sync-appmenus rename appmenus-scripts/qubes-core-appmenus.py => qubesappmenus/__init__.py (100%) rename {appmenus-scripts => qubesappmenus}/convert-apptemplate2vm.sh (100%) rename {appmenus-scripts => qubesappmenus}/convert-dirtemplate2vm.sh (100%) rename {appmenus-scripts => qubesappmenus}/create-apps-for-appvm.sh (100%) create mode 100644 qubesappmenus/qubes.SyncAppMenus rename {appmenus-scripts => qubesappmenus}/qubes.SyncAppMenus.policy (100%) rename appmenus-scripts/qubes-receive-appmenus => qubesappmenus/receive.py (99%) rename {appmenus-scripts => qubesappmenus}/remove-appvm-appmenus.sh (100%) create mode 100644 setup.py diff --git a/appmenus-scripts/qubes.SyncAppMenus b/appmenus-scripts/qubes.SyncAppMenus deleted file mode 100644 index bd2c14b..0000000 --- a/appmenus-scripts/qubes.SyncAppMenus +++ /dev/null @@ -1 +0,0 @@ -/usr/libexec/qubes-appmenus/qubes-receive-appmenus diff --git a/appmenus-scripts/qvm-sync-appmenus b/appmenus-scripts/qvm-sync-appmenus deleted file mode 100755 index 77fd43e..0000000 --- a/appmenus-scripts/qvm-sync-appmenus +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec /usr/libexec/qubes-appmenus/qubes-receive-appmenus $@ diff --git a/appmenus-scripts/qubes-core-appmenus.py b/qubesappmenus/__init__.py similarity index 100% rename from appmenus-scripts/qubes-core-appmenus.py rename to qubesappmenus/__init__.py diff --git a/appmenus-scripts/convert-apptemplate2vm.sh b/qubesappmenus/convert-apptemplate2vm.sh similarity index 100% rename from appmenus-scripts/convert-apptemplate2vm.sh rename to qubesappmenus/convert-apptemplate2vm.sh diff --git a/appmenus-scripts/convert-dirtemplate2vm.sh b/qubesappmenus/convert-dirtemplate2vm.sh similarity index 100% rename from appmenus-scripts/convert-dirtemplate2vm.sh rename to qubesappmenus/convert-dirtemplate2vm.sh diff --git a/appmenus-scripts/create-apps-for-appvm.sh b/qubesappmenus/create-apps-for-appvm.sh similarity index 100% rename from appmenus-scripts/create-apps-for-appvm.sh rename to qubesappmenus/create-apps-for-appvm.sh diff --git a/qubesappmenus/qubes.SyncAppMenus b/qubesappmenus/qubes.SyncAppMenus new file mode 100644 index 0000000..461fd51 --- /dev/null +++ b/qubesappmenus/qubes.SyncAppMenus @@ -0,0 +1 @@ +/usr/bin/qvm-sync-appmenus diff --git a/appmenus-scripts/qubes.SyncAppMenus.policy b/qubesappmenus/qubes.SyncAppMenus.policy similarity index 100% rename from appmenus-scripts/qubes.SyncAppMenus.policy rename to qubesappmenus/qubes.SyncAppMenus.policy diff --git a/appmenus-scripts/qubes-receive-appmenus b/qubesappmenus/receive.py similarity index 99% rename from appmenus-scripts/qubes-receive-appmenus rename to qubesappmenus/receive.py index 64f25b0..d339b19 100755 --- a/appmenus-scripts/qubes-receive-appmenus +++ b/qubesappmenus/receive.py @@ -389,5 +389,3 @@ def main(): subprocess.call(['kbuildsycoca' + os.environ.get('KDE_SESSION_VERSION', '4')]) os.unsetenv('SKIP_CACHE_REBUILD') - -main() diff --git a/appmenus-scripts/remove-appvm-appmenus.sh b/qubesappmenus/remove-appvm-appmenus.sh similarity index 100% rename from appmenus-scripts/remove-appvm-appmenus.sh rename to qubesappmenus/remove-appvm-appmenus.sh diff --git a/rpm_spec/core-dom0-linux.spec b/rpm_spec/core-dom0-linux.spec index f043a4b..8876a55 100644 --- a/rpm_spec/core-dom0-linux.spec +++ b/rpm_spec/core-dom0-linux.spec @@ -75,8 +75,7 @@ ln -sf . %{name}-%{version} %setup -T -D %build -python -m compileall appmenus-scripts -python -O -m compileall appmenus-scripts +python setup.py build (cd dom0-updates; make) (cd qrexec; make) (cd file-copy-vm; make) @@ -85,21 +84,14 @@ python -O -m compileall appmenus-scripts %install ### Appmenus - -mkdir -p $RPM_BUILD_ROOT%{python_sitearch}/qubes/modules -cp appmenus-scripts/qubes-core-appmenus.py $RPM_BUILD_ROOT%{python_sitearch}/qubes/modules/10appmenus.py -cp appmenus-scripts/qubes-core-appmenus.pyc $RPM_BUILD_ROOT%{python_sitearch}/qubes/modules/10appmenus.pyc -cp appmenus-scripts/qubes-core-appmenus.pyo $RPM_BUILD_ROOT%{python_sitearch}/qubes/modules/10appmenus.pyo +python setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/usr/libexec/qubes-appmenus -cp appmenus-scripts/*.sh $RPM_BUILD_ROOT/usr/libexec/qubes-appmenus/ -cp appmenus-scripts/qubes-receive-appmenus $RPM_BUILD_ROOT/usr/libexec/qubes-appmenus/ - -install -D appmenus-scripts/qvm-sync-appmenus $RPM_BUILD_ROOT/usr/bin/qvm-sync-appmenus +cp qubesappmenus/*.sh $RPM_BUILD_ROOT/usr/libexec/qubes-appmenus/ mkdir -p $RPM_BUILD_ROOT/etc/qubes-rpc/policy -cp appmenus-scripts/qubes.SyncAppMenus $RPM_BUILD_ROOT/etc/qubes-rpc/ -cp appmenus-scripts/qubes.SyncAppMenus.policy $RPM_BUILD_ROOT/etc/qubes-rpc/policy/qubes.SyncAppMenus +cp qubesappmenus/qubes.SyncAppMenus $RPM_BUILD_ROOT/etc/qubes-rpc/ +cp qubesappmenus/qubes.SyncAppMenus.policy $RPM_BUILD_ROOT/etc/qubes-rpc/policy/qubes.SyncAppMenus mkdir -p $RPM_BUILD_ROOT/usr/share/qubes-appmenus/ cp -r appmenus-files/* $RPM_BUILD_ROOT/usr/share/qubes-appmenus/ @@ -219,15 +211,15 @@ chmod -x /etc/grub.d/10_linux %files %attr(2775,root,qubes) %dir /etc/qubes-rpc %attr(2775,root,qubes) %dir /etc/qubes-rpc/policy +%dir %{python_sitelib}/qubeslinux-*.egg-info +%{python_sitelib}/qubeslinux-*.egg-info/* +/usr/lib/python2.7/site-packages/qubesappmenus/__init__.py* +/usr/lib/python2.7/site-packages/qubesappmenus/receive.py* /etc/qubes-rpc/policy/qubes.SyncAppMenus /etc/qubes-rpc/qubes.SyncAppMenus -%{python_sitearch}/qubes/modules/10appmenus.py -%{python_sitearch}/qubes/modules/10appmenus.pyc -%{python_sitearch}/qubes/modules/10appmenus.pyo /usr/libexec/qubes-appmenus/convert-apptemplate2vm.sh /usr/libexec/qubes-appmenus/convert-dirtemplate2vm.sh /usr/libexec/qubes-appmenus/create-apps-for-appvm.sh -/usr/libexec/qubes-appmenus/qubes-receive-appmenus /usr/libexec/qubes-appmenus/remove-appvm-appmenus.sh /usr/share/qubes-appmenus/qubes-appmenu-select.desktop /usr/share/qubes-appmenus/qubes-dispvm-firefox.desktop diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..0c0416b --- /dev/null +++ b/setup.py @@ -0,0 +1,25 @@ +# vim: fileencoding=utf-8 + +import setuptools + +if __name__ == '__main__': + setuptools.setup( + name='qubeslinux', + version=open('version').read().strip(), + author='Invisible Things Lab', + author_email='woju@invisiblethingslab.com', + description='Qubes core-linux package', + license='GPL2+', + url='https://www.qubes-os.org/', + + packages=('qubesappmenus',), + + entry_points={ + 'console_scripts': [ + 'qvm-sync-appmenus = qubesappmenus.receive:main' + ], + 'qubes.ext': [ + 'qubesappmenus = qubesappmenus:AppmenusExtension' + ], + } + )