/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to debian/rules

  • Committer: Teddy Hogeborn
  • Date: 2016-03-09 21:23:21 UTC
  • Revision ID: teddy@recompile.se-20160309212321-2qlkzj9tecepc8xq
Server: Add Python 3 compatibility

Add Python 3 compatibility by not using the python-avahi module.  Also
fix miscellaneous things which differs in Python 3.  Especially hard
to fix is loading and saving clients data between Python 3 and 2,
since pickle formats have problems with strings.

* INSTALL: Remove python-avahi (and change python-gobject to
  python-gi, which is preferred now).
* debian/control (Source: mandos/Build-Depends-Indep): Remove
  "python-avahi".
* mandos: Wrap future_builtins import in try-except clause.  Do not
  import avahi module.  Use codecs.decode(..., "base64) instead of
  .decode("base64).  Use .keys(), .values(), and .items() instead of
  .iterkeys(), .itervalues(), and .iteritems().
  (alternate_dbus_interfaces/wrapper): Python 3 still requires the
  "black magic", but luckily it still works.  The Python 3 type()
  constructor requires first argument to be a string, not a byte
  string.
  (copy_function): New.  Use throughout.
  (Avahi, avahi): New class and global variable.
  (GnuTLS._need_version): Changed to be a byte string.
  (main): Decode byte strings loaded from pickle file.
  (main/cleanup): Dump using pickle prototoc 2 which Python 2 can
  read.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/make -f
2
 
 
3
 
ifeq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
4
 
    MAKEFLAGS += OPTIMIZE=-O0
5
 
endif
6
 
 
7
 
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
8
 
    NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
9
 
    MAKEFLAGS += -j$(NUMJOBS)
10
 
endif
11
 
 
12
2
%:
13
3
        dh $@
14
4
 
32
22
override_dh_fixperms-arch:
33
23
        dh_fixperms --exclude etc/keys/mandos \
34
24
                --exclude etc/mandos/plugins.d \
35
 
                --exclude etc/mandos/plugin-helpers \
36
 
                --exclude usr/lib/$(DEB_HOST_MULTIARCH)/mandos/plugins.d \
37
 
                --exclude usr/lib/$(DEB_HOST_MULTIARCH)/mandos/plugin-helpers \
 
25
                --exclude usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null)/mandos/plugins.d \
38
26
                --exclude usr/share/doc/mandos-client/examples/network-hooks.d
39
27
        chmod --recursive g-w -- \
40
28
        "$(CURDIR)/debian/mandos-client/usr/share/doc/mandos-client/examples/network-hooks.d"