Ver código fonte

qubes: documentation and licence fixes

Wojtek Porczyk 9 anos atrás
pai
commit
ee06e7d7a2

+ 2 - 0
doc/qubes-ext.rst

@@ -2,5 +2,7 @@
 =======================================
 
 .. automodule:: qubes.ext
+   :members:
+   :show-inheritance:
 
 .. vim: ts=3 sw=3 et

+ 50 - 1
doc/qubes-vm/index.rst

@@ -1,6 +1,55 @@
 :py:mod:`qubes.vm` -- Different Virtual Machine types
 =====================================================
 
-.. automodule:: qubes.vm
+Main public classes
+-------------------
+
+.. autoclass:: qubes.vm.BaseVM
+   :members:
+   :show-inheritance:
+
+Helper classes and functions
+----------------------------
+
+.. autoclass:: qubes.vm.BaseVMMeta
+   :members:
+   :show-inheritance:
+
+.. autoclass:: qubes.vm.DeviceCollection
+   :members:
+   :show-inheritance:
+
+.. autoclass:: qubes.vm.DeviceManager
+   :members:
+   :show-inheritance:
+
+Particular VM classes
+---------------------
+
+Main types:
+
+.. toctree::
+   :maxdepth: 1
+
+   qubesvm
+   appvm
+   templatevm
+
+Special VM types:
+
+.. toctree::
+   :maxdepth: 1
+
+   netvm
+   proxyvm
+   dispvm
+   adminvm
+
+HVMs:
+
+.. toctree::
+   :maxdepth: 1
+
+   hvm
 
 .. vim: ts=3 sw=3 et

+ 27 - 4
qubes/__init__.py

@@ -1,14 +1,37 @@
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
-
-from __future__ import absolute_import
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2011-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 '''
 Qubes OS
 
-:copyright: © 2010-2014 Invisible Things Lab
+:copyright: © 2010-2015 Invisible Things Lab
 '''
 
+from __future__ import absolute_import
+
 __author__ = 'Invisible Things Lab'
 __license__ = 'GPLv2 or later'
 __version__ = 'R3'

+ 3 - 0
qubes/_pluginloader.py

@@ -1,3 +1,6 @@
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
 from qubes.vm import *
 from qubes.ext import *
 

+ 13 - 13
qubes/config.py

@@ -1,25 +1,25 @@
-#!/usr/bin/python2
-# -*- coding: utf-8 -*-
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
 #
-# The Qubes OS Project, http://www.qubes-os.org
+# The Qubes OS Project, https://www.qubes-os.org/
 #
-# Copyright (C) 2010  Joanna Rutkowska <joanna@invisiblethingslab.com>
-# Copyright (C) 2014  Wojtek Porczyk <woju@invisiblethingslab.com>
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 
 qubes_base_dir = "/var/lib/qubes"

+ 23 - 3
qubes/dochelpers.py

@@ -1,11 +1,31 @@
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
+# vim: fileencoding=utf-8
 
-'''Documentation helpers
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+'''Documentation helpers.
 
 This module contains classes and functions which help to maintain documentation,
 particularly our custom Sphinx extension.
-
 '''
 
 import csv

+ 24 - 3
qubes/events.py

@@ -1,10 +1,31 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 '''Qubes events.
 
 Events are fired when something happens, like VM start or stop, property change
 etc.
-
 '''
 
 import collections
@@ -71,7 +92,7 @@ class EmitterMeta(type):
 
 
 class Emitter(object):
-    '''Subject that can emit events
+    '''Subject that can emit events.
     '''
 
     __metaclass__ = EmitterMeta
@@ -83,7 +104,7 @@ class Emitter(object):
 
     @classmethod
     def add_handler(cls, event, handler):
-        '''Add event handler to subject's class
+        '''Add event handler to subject's class.
 
         :param str event: event identificator
         :param collections.Callable handler: handler callable

+ 27 - 13
qubes/ext/__init__.py

@@ -1,19 +1,32 @@
 #!/usr/bin/python2 -O
-
-'''Qubes extensions
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+'''Qubes extensions.
 
 Extensions provide additional features (like application menus) found only on
 some systems. They may be OS- or architecture-dependent or custom-developed for
 particular customer.
-
-.. autoclass:: Extension
-   :members:
-   :show-inheritance:
-
-.. autoclass:: ExtensionPlugin
-   :members:
-   :show-inheritance:
-
 '''
 
 import inspect
@@ -64,7 +77,7 @@ def handler(*events, **kwargs):
 
     .. note::
         This decorator is intended only for extensions! For regular use in the
-        core, see py:func:`qubes.events.handler`.
+        core, see :py:func:`qubes.events.handler`.
 
     :param str event: event type
     :param type vm: VM to hook (leave as None to hook all VMs)
@@ -87,4 +100,5 @@ def handler(*events, **kwargs):
     return decorator
 
 
-__all__ = qubes.plugins.load(__file__)
+__all__ = ['Extension', 'ExtensionPlugin', 'handler'] \
+    + qubes.plugins.load(__file__)

+ 24 - 2
qubes/log.py

@@ -1,9 +1,30 @@
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 '''Qubes logging routines
 
-See also: :py:attr:`qubes.vm.qubesvm.QubesVM.logger`
+See also: :py:attr:`qubes.vm.qubesvm.QubesVM.log`
 '''
 
 import logging
@@ -31,6 +52,7 @@ def enable():
     >>> import logging
     >>> logging.warning('Foobar')   # doctest: +SKIP
     '''
+
     if logging.root.handlers:
         return
 

+ 22 - 1
qubes/plugins.py

@@ -1,5 +1,26 @@
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 '''Plugins helpers for Qubes
 

+ 22 - 0
qubes/rngdoc.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 from __future__ import print_function
 

+ 14 - 10
qubes/storage/__init__.py

@@ -1,23 +1,27 @@
-#!/usr/bin/python2
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
 #
-# The Qubes OS Project, http://www.qubes-os.org
+# The Qubes OS Project, https://www.qubes-os.org/
 #
-# Copyright (C) 2013  Marek Marczykowski <marmarek@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
 # Copyright (C) 2015  Wojtek Porczyk <woju@invisiblethingslab.com>
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 
 from __future__ import absolute_import

+ 14 - 11
qubes/storage/xen.py

@@ -1,24 +1,27 @@
-#!/usr/bin/python2
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
 #
-# The Qubes OS Project, http://www.qubes-os.org
+# The Qubes OS Project, https://www.qubes-os.org/
 #
-# Copyright (C) 2013  Marek Marczykowski <marmarek@invisiblethingslab.com>
+# Copyright (C) 2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
 # Copyright (C) 2015  Wojtek Porczyk <woju@invisiblethingslab.com>
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 
 from __future__ import absolute_import

+ 23 - 1
qubes/tests/__init__.py

@@ -1,4 +1,26 @@
-#!/usr/bin/python -O
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 import collections
 import os

+ 22 - 0
qubes/tests/events.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 import sys
 import unittest

+ 22 - 0
qubes/tests/init.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 import os
 import sys

+ 23 - 1
qubes/tests/run.py

@@ -1,4 +1,26 @@
-#!/usr/bin/python -O
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 import curses
 import importlib

+ 22 - 0
qubes/tests/vm/adminvm.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 import sys
 import unittest

+ 22 - 0
qubes/tests/vm/init.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 import sys
 import unittest

+ 22 - 0
qubes/tests/vm/qubesvm.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 import sys
 import unittest

+ 14 - 12
qubes/utils.py

@@ -1,25 +1,27 @@
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
+# vim: fileencoding=utf-8
 
-# The Qubes OS Project, http://www.qubes-os.org
 #
-# Copyright (C) 2010  Joanna Rutkowska <joanna@invisiblethingslab.com>
-# Copyright (C) 2013  Marek Marczykowski <marmarek@invisiblethingslab.com>
-# Copyright (C) 2014  Wojtek Porczyk <woju@invisiblethingslab.com>
+# The Qubes OS Project, https://www.qubes-os.org/
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 
 

+ 10 - 45
qubes/vm/__init__.py

@@ -26,50 +26,6 @@
 
 '''Qubes Virtual Machines
 
-Main public classes
--------------------
-
-.. autoclass:: BaseVM
-   :members:
-   :show-inheritance:
-
-Helper classes and functions
-----------------------------
-
-.. autoclass:: BaseVMMeta
-   :members:
-   :show-inheritance:
-
-Particular VM classes
----------------------
-
-Main types:
-
-.. toctree::
-   :maxdepth: 1
-
-   qubesvm
-   appvm
-   templatevm
-
-Special VM types:
-
-.. toctree::
-   :maxdepth: 1
-
-   netvm
-   proxyvm
-   dispvm
-   adminvm
-
-HVMs:
-
-.. toctree::
-   :maxdepth: 1
-
-   hvm
-   templatehvm
-
 '''
 
 import ast
@@ -181,9 +137,17 @@ class BaseVM(qubes.PropertyHolder):
 
     def __init__(self, app, xml, load_stage=2, services={}, devices=None,
             tags={}, *args, **kwargs):
+        #: mother :py:class:`qubes.Qubes` object
         self.app = app
+
+        #: dictionary of services that are run on this domain
         self.services = services
+
+        #: :py:class`DeviceManager` object keeping devices that are attached to
+        #: this domain
         self.devices = DeviceManager(self) if devices is None else devices
+
+        #: user-specified tags
         self.tags = tags
 
         self.events_enabled = False
@@ -645,4 +609,5 @@ def load(class_, D):
     cls = BaseVM[class_]
     return cls(D)
 
-__all__ = qubes.plugins.load(__file__)
+__all__ = ['BaseVMMeta', 'DeviceCollection', 'DeviceManager', 'BaseVM'] \
+    + qubes.plugins.load(__file__)

+ 24 - 0
qubes/vm/adminvm.py

@@ -1,4 +1,28 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 import qubes
 import qubes.vm.qubesvm

+ 1 - 0
qubes/vm/appvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 import qubes.vm.qubesvm
 

+ 1 - 0
qubes/vm/dispvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 import qubes.vm.qubesvm
 

+ 1 - 0
qubes/vm/hvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 import qubes.vm.qubesvm
 

+ 1 - 0
qubes/vm/netvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 import qubes.vm.qubesvm
 

+ 1 - 0
qubes/vm/proxyvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 import qubes.vm.netvm
 

+ 14 - 12
qubes/vm/qubesvm.py

@@ -1,25 +1,27 @@
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
+# vim: fileencoding=utf-8
 
-# The Qubes OS Project, http://www.qubes-os.org
 #
-# Copyright (C) 2010  Joanna Rutkowska <joanna@invisiblethingslab.com>
-# Copyright (C) 2013  Marek Marczykowski <marmarek@invisiblethingslab.com>
-# Copyright (C) 2014  Wojtek Porczyk <woju@invisiblethingslab.com>
+# The Qubes OS Project, https://www.qubes-os.org/
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 
 import datetime

+ 1 - 0
qubes/vm/templatehvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 import qubes.vm.hvm
 

+ 1 - 0
qubes/vm/templatevm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 import qubes
 import qubes.vm.qubesvm