install python package with setuptools
This commit is contained in:
		
							parent
							
								
									ce60915fb0
								
							
						
					
					
						commit
						6f4951d08a
					
				
							
								
								
									
										5
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								Makefile
									
									
									
									
									
								
							| @ -44,7 +44,7 @@ clean: | |||||||
| 	make -C qmemman clean | 	make -C qmemman clean | ||||||
| 
 | 
 | ||||||
| all: | all: | ||||||
| 	make all -C qubes | 	python setup.py build | ||||||
| #	make all -C tests
 | #	make all -C tests
 | ||||||
| 	# Currently supported only on xen | 	# Currently supported only on xen | ||||||
| ifeq ($(BACKEND_VMM),xen) | ifeq ($(BACKEND_VMM),xen) | ||||||
| @ -58,8 +58,7 @@ ifeq ($(OS),Linux) | |||||||
| 	$(MAKE) install -C linux/aux-tools | 	$(MAKE) install -C linux/aux-tools | ||||||
| 	$(MAKE) install -C linux/system-config | 	$(MAKE) install -C linux/system-config | ||||||
| endif | endif | ||||||
| 	$(MAKE) install -C qvm-tools | 	python setup.py install -O1 --skip-build --root $(DESTDIR) | ||||||
| 	$(MAKE) install -C qubes |  | ||||||
| #	$(MAKE) install -C tests
 | #	$(MAKE) install -C tests
 | ||||||
| 	$(MAKE) install -C relaxng | 	$(MAKE) install -C relaxng | ||||||
| ifeq ($(BACKEND_VMM),xen) | ifeq ($(BACKEND_VMM),xen) | ||||||
|  | |||||||
| @ -1,83 +0,0 @@ | |||||||
| OS ?= Linux |  | ||||||
| 
 |  | ||||||
| PYTHON_QUBESPATH = $(PYTHON_SITEPATH)/qubes |  | ||||||
| SETTINGS_SUFFIX = $(BACKEND_VMM)-$(OS) |  | ||||||
| 
 |  | ||||||
| all: |  | ||||||
| 	python -m compileall . |  | ||||||
| 	python -O -m compileall . |  | ||||||
| 
 |  | ||||||
| install: |  | ||||||
| ifndef PYTHON_SITEPATH |  | ||||||
| 	$(error PYTHON_SITEPATH not defined) |  | ||||||
| endif |  | ||||||
| 	mkdir -p $(DESTDIR)$(PYTHON_QUBESPATH) |  | ||||||
| 	mkdir \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/vm \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/storage \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/tools \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/ext \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/tests \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/tests/vm \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/tests/tools |  | ||||||
| 
 |  | ||||||
| 	cp \
 |  | ||||||
| 		__init__.py* \
 |  | ||||||
| 		_pluginloader.py* \
 |  | ||||||
| 		config.py* \
 |  | ||||||
| 		dochelpers.py* \
 |  | ||||||
| 		events.py* \
 |  | ||||||
| 		log.py* \
 |  | ||||||
| 		plugins.py* \
 |  | ||||||
| 		rngdoc.py* \
 |  | ||||||
| 		utils.py* \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH) |  | ||||||
| 
 |  | ||||||
| 	cp \
 |  | ||||||
| 		vm/__init__.py* \
 |  | ||||||
| 		vm/adminvm.py* \
 |  | ||||||
| 		vm/appvm.py* \
 |  | ||||||
| 		vm/dispvm.py* \
 |  | ||||||
| 		vm/hvm.py* \
 |  | ||||||
| 		vm/netvm.py* \
 |  | ||||||
| 		vm/proxyvm.py* \
 |  | ||||||
| 		vm/qubesvm.py* \
 |  | ||||||
| 		vm/templatehvm.py* \
 |  | ||||||
| 		vm/templatevm.py* \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/vm |  | ||||||
| 
 |  | ||||||
| 	cp \
 |  | ||||||
| 		storage/__init__.py* \
 |  | ||||||
| 		storage/xen.py* \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/storage |  | ||||||
| 
 |  | ||||||
| 	cp \
 |  | ||||||
| 		tools/__init__.py* \
 |  | ||||||
| 		tools/qubes_create.py* \
 |  | ||||||
| 		tools/qvm_create.py* \
 |  | ||||||
| 		tools/qvm_ls.py* \
 |  | ||||||
| 		tools/qvm_prefs.py* \
 |  | ||||||
| 		tools/qvm_start.py* \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/tools |  | ||||||
| 
 |  | ||||||
| 	cp ext/__init__.py* $(DESTDIR)$(PYTHON_QUBESPATH)/ext |  | ||||||
| 
 |  | ||||||
| 	cp \
 |  | ||||||
| 		tests/__init__.py* \
 |  | ||||||
| 		tests/events.py* \
 |  | ||||||
| 		tests/init.py* \
 |  | ||||||
| 		tests/run.py* \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/tests |  | ||||||
| 
 |  | ||||||
| 	cp \
 |  | ||||||
| 		tests/vm/__init__.py* \
 |  | ||||||
| 		tests/vm/init.py* \
 |  | ||||||
| 		tests/vm/adminvm.py* \
 |  | ||||||
| 		tests/vm/qubesvm.py* \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/tests/vm |  | ||||||
| 
 |  | ||||||
| 	cp \
 |  | ||||||
| 		tests/tools/__init__.py* \
 |  | ||||||
| 		tests/tools/init.py* \
 |  | ||||||
| 		tests/tools/qvm_ls.py* \
 |  | ||||||
| 		$(DESTDIR)$(PYTHON_QUBESPATH)/tests/tools |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| # This is mock file, not installed. It is needed. because pylint needs to |  | ||||||
| # import all the modules, and qubes.qbd is one of them. |  | ||||||
| 
 |  | ||||||
| def QubesDB(dummy): |  | ||||||
|     return None |  | ||||||
| @ -42,7 +42,6 @@ import libvirt | |||||||
| 
 | 
 | ||||||
| import qubes | import qubes | ||||||
| import qubes.config | import qubes.config | ||||||
| import qubes.qdb |  | ||||||
| #import qubes.qmemman | #import qubes.qmemman | ||||||
| #import qubes.qmemman_algo | #import qubes.qmemman_algo | ||||||
| import qubes.storage | import qubes.storage | ||||||
| @ -339,6 +338,7 @@ class QubesVM(qubes.vm.BaseVM): | |||||||
|         '''QubesDB handle for this domain.''' |         '''QubesDB handle for this domain.''' | ||||||
|         if self._qdb_connection is None: |         if self._qdb_connection is None: | ||||||
|             if self.is_running(): |             if self.is_running(): | ||||||
|  |                 import qubes.qdb | ||||||
|                 self._qdb_connection = qubes.qdb.QubesDB(self.name) |                 self._qdb_connection = qubes.qdb.QubesDB(self.name) | ||||||
|         return self._qdb_connection |         return self._qdb_connection | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,14 +0,0 @@ | |||||||
| BINDIR ?= /usr/bin |  | ||||||
| ifeq ($(OS),Windows_NT) |  | ||||||
| PYTHONEXEEXT = .py |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| all: |  | ||||||
| 	true |  | ||||||
| 
 |  | ||||||
| install: |  | ||||||
| 	mkdir -p $(DESTDIR)$(BINDIR) |  | ||||||
| 	for f in qvm-* qubes-*; do \
 |  | ||||||
| 		cp $$f $(DESTDIR)$(BINDIR)/$$f$(PYTHONEXEEXT); \
 |  | ||||||
| 	done |  | ||||||
| 
 |  | ||||||
| @ -23,7 +23,7 @@ | |||||||
| # | # | ||||||
| # | # | ||||||
| 
 | 
 | ||||||
| %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} | #%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(False)")} | ||||||
| 
 | 
 | ||||||
| %{!?version: %define version %(cat version)} | %{!?version: %define version %(cat version)} | ||||||
| 
 | 
 | ||||||
| @ -53,6 +53,7 @@ Requires(post): systemd-units | |||||||
| Requires(preun): systemd-units | Requires(preun): systemd-units | ||||||
| Requires(postun): systemd-units | Requires(postun): systemd-units | ||||||
| Requires:	python, pciutils, python-inotify, python-daemon | Requires:	python, pciutils, python-inotify, python-daemon | ||||||
|  | Requires:	python-setuptools | ||||||
| Requires:       qubes-core-dom0-linux >= 2.0.24 | Requires:       qubes-core-dom0-linux >= 2.0.24 | ||||||
| Requires:       qubes-db-dom0 | Requires:       qubes-db-dom0 | ||||||
| Requires:       python-lxml | Requires:       python-lxml | ||||||
| @ -75,6 +76,7 @@ Requires:       PyQt4 | |||||||
| # for property's docstrings | # for property's docstrings | ||||||
| Requires:	python-docutils | Requires:	python-docutils | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| # Prevent preupgrade from installation (it pretend to provide distribution upgrade) | # Prevent preupgrade from installation (it pretend to provide distribution upgrade) | ||||||
| Obsoletes:	preupgrade < 2.0 | Obsoletes:	preupgrade < 2.0 | ||||||
| Provides:	preupgrade = 2.0 | Provides:	preupgrade = 2.0 | ||||||
| @ -99,7 +101,7 @@ make all | |||||||
| make install \ | make install \ | ||||||
|     DESTDIR=$RPM_BUILD_ROOT \ |     DESTDIR=$RPM_BUILD_ROOT \ | ||||||
|     UNITDIR=%{_unitdir} \ |     UNITDIR=%{_unitdir} \ | ||||||
|     PYTHON_SITEPATH=%{python_sitearch} \ |     PYTHON_SITEPATH=%{python_sitelib} \ | ||||||
|     SYSCONFDIR=%{_sysconfdir} |     SYSCONFDIR=%{_sysconfdir} | ||||||
| 
 | 
 | ||||||
| %post | %post | ||||||
| @ -187,67 +189,70 @@ fi | |||||||
| /usr/bin/qvm-* | /usr/bin/qvm-* | ||||||
| /usr/bin/qubes-* | /usr/bin/qubes-* | ||||||
| 
 | 
 | ||||||
| %dir %{python_sitearch}/qubes | %dir %{python_sitelib}/qubes-*.egg-info | ||||||
| %{python_sitearch}/qubes/__init__.py* | %{python_sitelib}/qubes-*.egg-info/* | ||||||
| %{python_sitearch}/qubes/_pluginloader.py* |  | ||||||
| %{python_sitearch}/qubes/config.py* |  | ||||||
| %{python_sitearch}/qubes/dochelpers.py* |  | ||||||
| %{python_sitearch}/qubes/events.py* |  | ||||||
| %{python_sitearch}/qubes/log.py* |  | ||||||
| %{python_sitearch}/qubes/plugins.py* |  | ||||||
| %{python_sitearch}/qubes/rngdoc.py* |  | ||||||
| %{python_sitearch}/qubes/utils.py* |  | ||||||
| 
 | 
 | ||||||
| %dir %{python_sitearch}/qubes/vm | %dir %{python_sitelib}/qubes | ||||||
| %{python_sitearch}/qubes/vm/__init__.py* | %{python_sitelib}/qubes/__init__.py* | ||||||
| %{python_sitearch}/qubes/vm/adminvm.py* | %{python_sitelib}/qubes/_pluginloader.py* | ||||||
| %{python_sitearch}/qubes/vm/appvm.py* | %{python_sitelib}/qubes/config.py* | ||||||
| %{python_sitearch}/qubes/vm/dispvm.py* | %{python_sitelib}/qubes/dochelpers.py* | ||||||
| %{python_sitearch}/qubes/vm/hvm.py* | %{python_sitelib}/qubes/events.py* | ||||||
| %{python_sitearch}/qubes/vm/netvm.py* | %{python_sitelib}/qubes/log.py* | ||||||
| %{python_sitearch}/qubes/vm/proxyvm.py* | %{python_sitelib}/qubes/plugins.py* | ||||||
| %{python_sitearch}/qubes/vm/qubesvm.py* | %{python_sitelib}/qubes/rngdoc.py* | ||||||
| %{python_sitearch}/qubes/vm/templatehvm.py* | %{python_sitelib}/qubes/utils.py* | ||||||
| %{python_sitearch}/qubes/vm/templatevm.py* |  | ||||||
| 
 | 
 | ||||||
| %dir %{python_sitearch}/qubes/storage | %dir %{python_sitelib}/qubes/vm | ||||||
| %{python_sitearch}/qubes/storage/__init__.py* | %{python_sitelib}/qubes/vm/__init__.py* | ||||||
| %{python_sitearch}/qubes/storage/xen.py* | %{python_sitelib}/qubes/vm/adminvm.py* | ||||||
|  | %{python_sitelib}/qubes/vm/appvm.py* | ||||||
|  | %{python_sitelib}/qubes/vm/dispvm.py* | ||||||
|  | %{python_sitelib}/qubes/vm/hvm.py* | ||||||
|  | %{python_sitelib}/qubes/vm/netvm.py* | ||||||
|  | %{python_sitelib}/qubes/vm/proxyvm.py* | ||||||
|  | %{python_sitelib}/qubes/vm/qubesvm.py* | ||||||
|  | %{python_sitelib}/qubes/vm/templatehvm.py* | ||||||
|  | %{python_sitelib}/qubes/vm/templatevm.py* | ||||||
| 
 | 
 | ||||||
| %dir %{python_sitearch}/qubes/tools | %dir %{python_sitelib}/qubes/storage | ||||||
| %{python_sitearch}/qubes/tools/__init__.py* | %{python_sitelib}/qubes/storage/__init__.py* | ||||||
| %{python_sitearch}/qubes/tools/qubes_create.py* | %{python_sitelib}/qubes/storage/xen.py* | ||||||
| %{python_sitearch}/qubes/tools/qvm_create.py* |  | ||||||
| %{python_sitearch}/qubes/tools/qvm_ls.py* |  | ||||||
| %{python_sitearch}/qubes/tools/qvm_prefs.py* |  | ||||||
| %{python_sitearch}/qubes/tools/qvm_start.py* |  | ||||||
| 
 | 
 | ||||||
| %dir %{python_sitearch}/qubes/ext | %dir %{python_sitelib}/qubes/tools | ||||||
| %{python_sitearch}/qubes/ext/__init__.py* | %{python_sitelib}/qubes/tools/__init__.py* | ||||||
|  | %{python_sitelib}/qubes/tools/qubes_create.py* | ||||||
|  | %{python_sitelib}/qubes/tools/qvm_create.py* | ||||||
|  | %{python_sitelib}/qubes/tools/qvm_ls.py* | ||||||
|  | %{python_sitelib}/qubes/tools/qvm_prefs.py* | ||||||
|  | %{python_sitelib}/qubes/tools/qvm_start.py* | ||||||
| 
 | 
 | ||||||
| %dir %{python_sitearch}/qubes/tests | %dir %{python_sitelib}/qubes/ext | ||||||
| %{python_sitearch}/qubes/tests/__init__.py* | %{python_sitelib}/qubes/ext/__init__.py* | ||||||
| %{python_sitearch}/qubes/tests/run.py* |  | ||||||
| 
 | 
 | ||||||
| %{python_sitearch}/qubes/tests/events.py* | %dir %{python_sitelib}/qubes/tests | ||||||
| %{python_sitearch}/qubes/tests/init.py* | %{python_sitelib}/qubes/tests/__init__.py* | ||||||
|  | %{python_sitelib}/qubes/tests/run.py* | ||||||
| 
 | 
 | ||||||
| %dir %{python_sitearch}/qubes/tests/vm | %{python_sitelib}/qubes/tests/events.py* | ||||||
| %{python_sitearch}/qubes/tests/vm/__init__.py* | %{python_sitelib}/qubes/tests/init.py* | ||||||
| %{python_sitearch}/qubes/tests/vm/init.py* |  | ||||||
| %{python_sitearch}/qubes/tests/vm/adminvm.py* |  | ||||||
| %{python_sitearch}/qubes/tests/vm/qubesvm.py* |  | ||||||
| 
 | 
 | ||||||
| %dir %{python_sitearch}/qubes/tests/tools | %dir %{python_sitelib}/qubes/tests/vm | ||||||
| %{python_sitearch}/qubes/tests/tools/__init__.py* | %{python_sitelib}/qubes/tests/vm/__init__.py* | ||||||
| %{python_sitearch}/qubes/tests/tools/init.py* | %{python_sitelib}/qubes/tests/vm/init.py* | ||||||
| %{python_sitearch}/qubes/tests/tools/qvm_ls.py* | %{python_sitelib}/qubes/tests/vm/adminvm.py* | ||||||
|  | %{python_sitelib}/qubes/tests/vm/qubesvm.py* | ||||||
|  | 
 | ||||||
|  | %dir %{python_sitelib}/qubes/tests/tools | ||||||
|  | %{python_sitelib}/qubes/tests/tools/__init__.py* | ||||||
|  | %{python_sitelib}/qubes/tests/tools/init.py* | ||||||
|  | %{python_sitelib}/qubes/tests/tools/qvm_ls.py* | ||||||
| 
 | 
 | ||||||
| # qmemman | # qmemman | ||||||
| %{python_sitearch}/qubes/qmemman.py* | %{python_sitelib}/qubes/qmemman.py* | ||||||
| %{python_sitearch}/qubes/qmemman_algo.py* | %{python_sitelib}/qubes/qmemman_algo.py* | ||||||
| %{python_sitearch}/qubes/qmemman_client.py* | %{python_sitelib}/qubes/qmemman_client.py* | ||||||
| %{python_sitearch}/qubes/qmemman_server.py* | %{python_sitelib}/qubes/qmemman_server.py* | ||||||
| 
 | 
 | ||||||
| /usr/lib/qubes/unbind-pci-device.sh | /usr/lib/qubes/unbind-pci-device.sh | ||||||
| /usr/lib/qubes/cleanup-dispvms | /usr/lib/qubes/cleanup-dispvms | ||||||
|  | |||||||
							
								
								
									
										33
									
								
								setup.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								setup.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | |||||||
|  | #!/usr/bin/python2 -O | ||||||
|  | # vim: fileencoding=utf-8 | ||||||
|  | 
 | ||||||
|  | import glob | ||||||
|  | import os | ||||||
|  | import setuptools | ||||||
|  | 
 | ||||||
|  | # don't import: import * is unreliable and there is no need, since this is | ||||||
|  | # compile time and we have source files | ||||||
|  | def get_console_scripts(): | ||||||
|  |     for filename in os.listdir('./qubes/tools'): | ||||||
|  |         basename, ext = os.path.splitext(os.path.basename(filename)) | ||||||
|  |         if basename == '__init__' or ext != '.py': | ||||||
|  |             continue | ||||||
|  |         yield '{} = qubes.tools.{}:main'.format( | ||||||
|  |             basename.replace('_', '-'), basename) | ||||||
|  | 
 | ||||||
|  | if __name__ == '__main__': | ||||||
|  |     setuptools.setup( | ||||||
|  |         name='qubes', | ||||||
|  |         version=open('version').read().strip(), | ||||||
|  |         author='Invisible Things Lab', | ||||||
|  |         author_email='woju@invisiblethingslab.com', | ||||||
|  |         description='Qubes core package', | ||||||
|  |         license='GPL2+', | ||||||
|  |         url='https://www.qubes-os.org/', | ||||||
|  | 
 | ||||||
|  |         packages=setuptools.find_packages(exclude=('core*', 'tests')), | ||||||
|  | 
 | ||||||
|  |         entry_points={ | ||||||
|  |             'console_scripts': list(get_console_scripts()), | ||||||
|  |         } | ||||||
|  |     ) | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Wojtek Porczyk
						Wojtek Porczyk