diff -Nru a2jmidid-7+dfsg0/NEWS a2jmidid-8~dfsg0/NEWS --- a2jmidid-7+dfsg0/NEWS 2012-01-04 12:45:09.000000000 +0000 +++ a2jmidid-8~dfsg0/NEWS 2012-07-05 01:16:42.000000000 +0000 @@ -1,3 +1,10 @@ += Version 8 "Sophronius of Vratsa" on 2012-07-05 = + * -u commandline option + * D-Bus method for checking whether hw export is enabled. Kudos to Danni Coy + * Fix for resource leak. Kudos to Dan A. Muresan + * Improved error message for snd_seq_connect_to() failures + * --mandir= option in waf. Kudos to Dan Church + = Version 7 "Paisius of Hilendar" on 2011-01-16 = * MIDI processing improvements * Use the JACK limit for max port name size (sr #2526) diff -Nru a2jmidid-7+dfsg0/a2j_control a2jmidid-8~dfsg0/a2j_control --- a2jmidid-7+dfsg0/a2j_control 2012-01-04 12:45:09.000000000 +0000 +++ a2jmidid-8~dfsg0/a2j_control 2012-07-03 00:13:26.000000000 +0000 @@ -52,6 +52,10 @@ print "Bridging enabled" else: print "Bridging disabled" + if control_iface.get_hw_export(): + print "Hardware exported" + else: + print "Hardware not exported" elif arg == "gjcn": print "--- get jack client name" print control_iface.get_jack_client_name() diff -Nru a2jmidid-7+dfsg0/a2jmidid.c a2jmidid-8~dfsg0/a2jmidid.c --- a2jmidid-7+dfsg0/a2jmidid.c 2012-01-04 12:45:09.000000000 +0000 +++ a2jmidid-8~dfsg0/a2jmidid.c 2012-07-05 01:13:48.000000000 +0000 @@ -2,7 +2,7 @@ * ALSA SEQ < - > JACK MIDI bridge * * Copyright (c) 2006,2007 Dmitry S. Baikov - * Copyright (c) 2007,2008,2009 Nedko Arnaudov + * Copyright (c) 2007,2008,2009,2011 Nedko Arnaudov * * 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 @@ -63,6 +63,7 @@ static bool g_started = false; struct a2j * g_a2j = NULL; size_t g_max_jack_port_name_size; +bool g_disable_port_uniqueness = false; bool g_a2j_export_hw_ports = false; char * g_a2j_jack_server_name = "default"; @@ -424,7 +425,7 @@ a2j_help( const char * self) { - a2j_info("Usage: %s [-j jack-server] [-e | --export-hw]", self); + a2j_info("Usage: %s [-j jack-server] [-e | --export-hw] [-u]", self); a2j_info("Defaults:"); a2j_info("-j default"); } @@ -469,7 +470,7 @@ int option_index = 0; int c; - while ((c = getopt_long(argc, argv, "j:eq", long_opts, &option_index)) != -1) + while ((c = getopt_long(argc, argv, "j:eu", long_opts, &option_index)) != -1) { switch (c) { @@ -479,6 +480,9 @@ case 'e': g_a2j_export_hw_ports = true; break; + case 'u': + g_disable_port_uniqueness = true; + break; default: a2j_help(argv[0]); return 1; @@ -497,7 +501,7 @@ a2j_info("JACK MIDI <-> ALSA sequencer MIDI bridge, version " A2J_VERSION " (" GIT_VERSION ") built on %s", timestamp_str); a2j_info("Copyright 2006,2007 Dmitry S. Baikov"); - a2j_info("Copyright 2007,2008,2009,2011 Nedko Arnaudov"); + a2j_info("Copyright 2007,2008,2009,2011,2012 Nedko Arnaudov"); if (dbus) { diff -Nru a2jmidid-7+dfsg0/dbus_iface_control.c a2jmidid-8~dfsg0/dbus_iface_control.c --- a2jmidid-7+dfsg0/dbus_iface_control.c 2012-01-04 12:45:09.000000000 +0000 +++ a2jmidid-8~dfsg0/dbus_iface_control.c 2012-07-03 00:13:26.000000000 +0000 @@ -87,6 +87,18 @@ a2j_dbus_construct_method_return_void(call_ptr); } +static void a2j_dbus_get_hw_export(struct a2j_dbus_method_call * call_ptr) +{ + dbus_bool_t hw_export; + + hw_export = g_a2j_export_hw_ports; + + a2j_dbus_construct_method_return_single( + call_ptr, + DBUS_TYPE_BOOLEAN, + &hw_export); +} + static void a2j_dbus_start( @@ -361,6 +373,10 @@ A2J_DBUS_METHOD_ARGUMENT("hw_export", DBUS_TYPE_BOOLEAN_AS_STRING, A2J_DBUS_DIRECTION_IN) A2J_DBUS_METHOD_ARGUMENTS_END +A2J_DBUS_METHOD_ARGUMENTS_BEGIN(get_hw_export) + A2J_DBUS_METHOD_ARGUMENT("hw_export", DBUS_TYPE_BOOLEAN_AS_STRING, A2J_DBUS_DIRECTION_OUT) +A2J_DBUS_METHOD_ARGUMENTS_END + A2J_DBUS_METHODS_BEGIN A2J_DBUS_METHOD_DESCRIBE(exit, a2j_dbus_exit) A2J_DBUS_METHOD_DESCRIBE(start, a2j_dbus_start) @@ -370,6 +386,7 @@ A2J_DBUS_METHOD_DESCRIBE(map_alsa_to_jack_port, a2j_dbus_map_alsa_to_jack_port) A2J_DBUS_METHOD_DESCRIBE(map_jack_port_to_alsa, a2j_dbus_map_jack_port_to_alsa) A2J_DBUS_METHOD_DESCRIBE(set_hw_export, a2j_dbus_set_hw_export) + A2J_DBUS_METHOD_DESCRIBE(get_hw_export, a2j_dbus_get_hw_export) A2J_DBUS_METHODS_END A2J_DBUS_SIGNAL_ARGUMENTS_BEGIN(bridge_started) diff -Nru a2jmidid-7+dfsg0/debian/changelog a2jmidid-8~dfsg0/debian/changelog --- a2jmidid-7+dfsg0/debian/changelog 2012-01-04 13:01:19.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/changelog 2012-08-02 11:20:39.000000000 +0000 @@ -1,3 +1,24 @@ +a2jmidid (8~dfsg0-1) unstable; urgency=low + + * New upstream release: + - -u commandline option + - D-Bus method for checking whether hw export is enabled. + - Fix for resource leak. + - Improved error message for snd_seq_connect_to() failures + - --mandir= option in waf. + * Drop 1001-a2j_port_create.patch, applied upstream. + * debian/gbp.conf: Don't sign tags. + * debian/{rules,watch}: + - Setup repacking mechanism to regenerate the upstream tarball. + * debian/control: + - Bump Standards. + * debian/co{ntrol,pyright}: + - wrap-and-sort -a -s + * debian/copyright: + - Add myself to the copyright holders of debian/*. + + -- Alessio Treglia Thu, 02 Aug 2012 13:16:51 +0200 + a2jmidid (7+dfsg0-1) unstable; urgency=low * Repack the tarball to get rid of waf (Closes: #654462): diff -Nru a2jmidid-7+dfsg0/debian/control a2jmidid-8~dfsg0/debian/control --- a2jmidid-7+dfsg0/debian/control 2012-01-04 12:58:40.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/control 2012-08-02 11:15:31.000000000 +0000 @@ -2,15 +2,17 @@ Section: sound Priority: optional Maintainer: Debian Multimedia Maintainers -Uploaders: Adrian Knoth , +Uploaders: + Adrian Knoth , Alessio Treglia DM-Upload-Allowed: yes -Build-Depends: debhelper (>= 7.0.50~), - python-all (>= 2.6.6-3), +Build-Depends: + debhelper (>= 7.0.50~), libasound2-dev, + libdbus-1-dev, libjack-dev (>= 0.107.0) | libjack-jackd2-dev, - libdbus-1-dev -Standards-Version: 3.9.2 + python-all (>= 2.6.6-3) +Standards-Version: 3.9.3 X-Python-Version: >= 2.5 Vcs-Git: git://git.debian.org/git/pkg-multimedia/a2jmidid.git Vcs-Browser: http://git.debian.org/?p=pkg-multimedia/a2jmidid.git @@ -18,9 +20,10 @@ Package: a2jmidid Architecture: any -Depends: ${shlibs:Depends}, +Depends: + ${misc:Depends}, ${python:Depends}, - ${misc:Depends} + ${shlibs:Depends} Description: Daemon for exposing legacy ALSA MIDI in JACK MIDI systems Main goal of this project is to ease usage of legacy, not JACK-ified apps, in a JACK MIDI enabled system. diff -Nru a2jmidid-7+dfsg0/debian/copyright a2jmidid-8~dfsg0/debian/copyright --- a2jmidid-7+dfsg0/debian/copyright 2012-01-04 12:58:40.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/copyright 2012-08-02 11:16:17.000000000 +0000 @@ -46,29 +46,29 @@ License, or (at your option) any later version: a2jmidi_bridge.c j2amidi_bridge.c - + The sigsegv.c file is licensed under the following license: This code is in the public domain. Use it as you see fit, some credit would be appreciated, but is not a prerequisite for usage. Feedback on it's use would encourage further development and maintenance. - + The waf file is licensed under the following license: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - + 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. - + THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -84,6 +84,7 @@ The Debian packaging is: + Copyright (C) 2012 Alessio Treglia Copyright (C) 2009, Eric Hedekar and is licensed under the GPL, see above. diff -Nru a2jmidid-7+dfsg0/debian/gbp.conf a2jmidid-8~dfsg0/debian/gbp.conf --- a2jmidid-7+dfsg0/debian/gbp.conf 2012-01-04 12:58:40.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/gbp.conf 2012-08-02 11:10:22.000000000 +0000 @@ -1,4 +1,3 @@ [DEFAULT] pristine-tar = True -sign-tags = True compression = bzip2 diff -Nru a2jmidid-7+dfsg0/debian/patches/1001-a2j_port_create.patch a2jmidid-8~dfsg0/debian/patches/1001-a2j_port_create.patch --- a2jmidid-7+dfsg0/debian/patches/1001-a2j_port_create.patch 2012-01-04 12:58:40.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/patches/1001-a2j_port_create.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -Description: Free client information on success too. -Author: Dan A. Muresan -Applied-Upstream: http://repo.or.cz/w/a2jmidid.git/commitdiff/241017fa ---- - port.c | 1 + - 1 file changed, 1 insertion(+) - ---- a2jmidid.orig/port.c -+++ a2jmidid/port.c -@@ -230,6 +230,7 @@ a2j_port_create( - port->inbound_events = jack_ringbuffer_create(MAX_EVENT_SIZE*16); - - a2j_info("port created: %s", port->name); -+ snd_seq_client_info_free(client_info_ptr); - return port; - - fail_free_port: diff -Nru a2jmidid-7+dfsg0/debian/patches/series a2jmidid-8~dfsg0/debian/patches/series --- a2jmidid-7+dfsg0/debian/patches/series 2012-01-04 12:58:40.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/patches/series 2012-08-02 11:19:38.000000000 +0000 @@ -1,2 +1 @@ shebangs.diff -1001-a2j_port_create.patch diff -Nru a2jmidid-7+dfsg0/debian/rules a2jmidid-8~dfsg0/debian/rules --- a2jmidid-7+dfsg0/debian/rules 2012-01-04 13:01:31.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/rules 2012-08-02 11:13:09.000000000 +0000 @@ -1,5 +1,9 @@ #!/usr/bin/make -f +upstream_version ?= $(shell dpkg-parsechangelog | sed -rne 's/^Version: ([0-9.]+)(\+dfsg\d+)?.*$$/\1/p') +dfsg_version = $(upstream_version)~dfsg0 +pkg = $(shell dpkg-parsechangelog | sed -ne 's/^Source: //p') + %: dh $@ --with python2 @@ -20,3 +24,15 @@ override_dh_installchangelogs: dh_installchangelogs NEWS + +# get-orig-source to drop waf +get-orig-source: + uscan --noconf --force-download --rename --repack --download-current-version --destdir=. + tar -xf $(pkg)_$(upstream_version).orig.tar.bz2 + mv $(pkg)-$(upstream_version) $(pkg)-$(dfsg_version) + cd $(pkg)-$(dfsg_version) ; python waf --help > /dev/null + mv $(pkg)-$(dfsg_version)/.waf-*/* $(pkg)-$(dfsg_version) + sed -i '/^#==>$$/,$$d' $(pkg)-$(dfsg_version)/waf + rmdir $(pkg)-$(dfsg_version)/.waf-* + BZIP="-9f" tar -czf $(pkg)_$(dfsg_version).orig.tar.bz2 $(pkg)-$(dfsg_version) + rm -rf $(pkg)-$(dfsg_version) diff -Nru a2jmidid-7+dfsg0/debian/watch a2jmidid-8~dfsg0/debian/watch --- a2jmidid-7+dfsg0/debian/watch 2012-01-04 12:58:40.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/watch 2012-08-02 11:12:53.000000000 +0000 @@ -1,2 +1,3 @@ version=3 +opts=dversionmangle=s/~dfsg\d+$// \ http://download.gna.org/a2jmidid/a2jmidid-(.*)\.tar\.bz2 diff -Nru a2jmidid-7+dfsg0/gitversion.h a2jmidid-8~dfsg0/gitversion.h --- a2jmidid-7+dfsg0/gitversion.h 2012-01-04 12:45:09.000000000 +0000 +++ a2jmidid-8~dfsg0/gitversion.h 2012-07-05 01:18:29.000000000 +0000 @@ -1 +1 @@ -#define GIT_VERSION "b169fb6b8e9e11ce1488d1964649aabedbb89ddf" +#define GIT_VERSION "7383d268c4bfe85df9f10df6351677659211d1ca" diff -Nru a2jmidid-7+dfsg0/man/a2jmidid.1 a2jmidid-8~dfsg0/man/a2jmidid.1 --- a2jmidid-7+dfsg0/man/a2jmidid.1 2012-01-04 12:45:09.000000000 +0000 +++ a2jmidid-8~dfsg0/man/a2jmidid.1 2011-08-03 13:03:45.000000000 +0000 @@ -12,8 +12,21 @@ .SH OPTIONS .IP "-e | --export-hw" forces a2jmidid to bridge hardware ports as well as software ports +.IP "-u" +forces a2jmidid to generate non-unique port names (see NOTES) .IP -j specifies which jack-server to use +.SH NOTES +ALSA does not guarantee client names to by unique. I.e. it is possible +to have two apps that create two clients with same ALSA client name. +JACK however requires port names to be unqiue. To ensure this uniqueness, +a2jmidid will add the unique numeric ALSA client ID to the JACK port name. +However this behaviour is known to be problematic when restoring +connections using simplistic tools like aj\-snapshot and jack_connect. +In order to make them work, the -u option can be used. This option will +cause a2jmidid to omit the numeric ALSA Client ID from JACK port names. +In this mode, ALSA client name uniqueness must be guartanteed externally. + .SH AUTHOR Eric Hedekar .SH "SEE ALSO" diff -Nru a2jmidid-7+dfsg0/port.c a2jmidid-8~dfsg0/port.c --- a2jmidid-7+dfsg0/port.c 2012-01-04 12:45:09.000000000 +0000 +++ a2jmidid-8~dfsg0/port.c 2011-09-15 09:57:47.000000000 +0000 @@ -3,7 +3,7 @@ * ALSA SEQ < - > JACK MIDI bridge * * Copyright (c) 2006,2007 Dmitry S. Baikov - * Copyright (c) 2007,2008,2009 Nedko Arnaudov + * Copyright (c) 2007,2008,2009,2011 Nedko Arnaudov * * 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 @@ -32,6 +32,8 @@ #include "log.h" #include "port.h" +extern bool g_disable_port_uniqueness; + /* This should be part of JACK API */ #define JACK_IS_VALID_PORT_NAME_CHAR(c) \ (isalnum(c) || \ @@ -190,7 +192,7 @@ port->jack_port = JACK_INVALID_PORT; port->remote = addr; - a2j_port_fill_name(port, type, client_info_ptr, info, true); + a2j_port_fill_name(port, type, client_info_ptr, info, !g_disable_port_uniqueness); /* Add port to list early, before registering to JACK, so map functionality is guaranteed to work during port registration */ list_add_tail(&port->siblings, &stream_ptr->list); @@ -218,9 +220,18 @@ } if (type == A2J_PORT_CAPTURE) + { err = a2j_alsa_connect_from(self, port->remote.client, port->remote.port); + } else + { err = snd_seq_connect_to(self->seq, self->port_id, port->remote.client, port->remote.port); + if (err != 0) + { + a2j_error("snd_seq_connect_to() for %d:%d failed with error %d", (int)port->remote.client, (int)port->remote.port, err); + } + } + if (err) { a2j_info("port skipped: %s", port->name); @@ -230,6 +241,7 @@ port->inbound_events = jack_ringbuffer_create(MAX_EVENT_SIZE*16); a2j_info("port created: %s", port->name); + snd_seq_client_info_free(client_info_ptr); return port; fail_free_port: diff -Nru a2jmidid-7+dfsg0/waf-light a2jmidid-8~dfsg0/waf-light --- a2jmidid-7+dfsg0/waf-light 2012-01-04 12:45:09.000000000 +0000 +++ a2jmidid-8~dfsg0/waf-light 1970-01-01 00:00:00.000000000 +0000 @@ -1,142 +0,0 @@ -#! /usr/bin/env python -# encoding: utf-8 -# Thomas Nagy, 2005-2008 - -""" -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -""" - -import os, sys -if sys.hexversion<0x203000f: raise "Waf requires Python >= 2.3" - -if 'PSYCOWAF' in os.environ: - try:import psyco;psyco.full() - except:pass - -VERSION="1.4.3" -REVISION="4cc0bec64a165ffe5dd3eed60cd2e01b" -INSTALL=sys.platform=='win32' and 'c:/temp' or '/usr/local' -cwd = os.getcwd() -join = os.path.join - -def decode(s): - p1 = len(s) - s += '!!!!!' - w1 = [256**(3-u) for u in xrange(4)] - w2 = [(u, 85**(4-u)) for u in xrange(5)] - tot = [sum([(ord(s[i+m])-33) * n for (m, n) in w2]) for i in xrange(0, p1, 5)] - return ''.join([chr((y/x) & 255) for y in tot for x in w1]) - -def err(m): - print '\033[91mError: %s\033[0m' % m - sys.exit(1) - -def unpack_wafdir(dir): - f = open(sys.argv[0],'rb') - c = "corrupted waf (%d)" - while 1: - line = f.readline() - if not line: err("run waf-light from a folder containing wafadmin") - if line == '#==>\n': - txt = f.readline() - if not txt: err(c % 1) - if f.readline()!='#<==\n': err(c % 2) - break - if not txt: err(c % 3) - try: txt = decode(txt[1:-1].replace('z', '!!!!!')) - except: err(c % 4) - - import shutil, tarfile - try: shutil.rmtree(dir) - except OSError: pass - try: os.makedirs(join(dir, 'wafadmin', 'Tools')) - except OSError: err("Cannot unpack waf lib into %s\nMove waf into a writeable directory" % dir) - - os.chdir(dir) - tmp = 't.tbz2' - t = open(tmp,'wb') - t.write(txt) - t.close() - - t = tarfile.open(tmp) - for x in t: t.extract(x) - t.close() - - os.chmod(join('wafadmin','Tools'), 0755) - - os.unlink(tmp) - os.chdir(cwd) - -def test(dir): - try: os.stat(join(dir, 'wafadmin')); return os.path.abspath(dir) - except OSError: pass - -def find_lib(): - name = sys.argv[0] - base = os.path.dirname(os.path.abspath(name)) - - #devs use $WAFDIR - w=test(os.environ.get('WAFDIR', '')) - if w: return w - - #waf-light - if name.endswith('waf-light'): - w = test(base) - if w: return w - err("waf-light requires wafadmin -> export WAFDIR=/folder") - - dir = "/lib/waf-%s-%s/" % (VERSION, REVISION) - for i in [INSTALL,'/usr','/usr/local','/opt']: - w = test(i+dir) - if w: return w - - #waf-local - s = '.waf-%s-%s' - if sys.platform == 'win32': s = s[1:] - dir = join(base, s % (VERSION, REVISION)) - w = test(dir) - if w: return w - - #unpack - unpack_wafdir(dir) - return dir - -wafdir = find_lib() -if "-vv" in sys.argv: print "wafdir is %s" % wafdir - -w = join(wafdir, 'wafadmin') -t = join(w, 'Tools') -sys.path = [w, t] + sys.path - -import Scripting, Params -Params.g_tooldir = [t] -Params.g_cwd_launch = cwd - -if Params.g_version != VERSION: - err('Version mismatch: waf %s <> wafadmin %s (wafdir %s)' % (VERSION, Params.g_version, wafdir)) -Scripting.prepare() - diff -Nru a2jmidid-7+dfsg0/wscript a2jmidid-8~dfsg0/wscript --- a2jmidid-7+dfsg0/wscript 2012-01-04 12:45:09.000000000 +0000 +++ a2jmidid-8~dfsg0/wscript 2012-07-05 01:14:23.000000000 +0000 @@ -9,7 +9,7 @@ import re APPNAME='a2jmidid' -VERSION='7' +VERSION='8' # these variables are mandatory ('/' are converted automatically) srcdir = '.' @@ -53,6 +53,7 @@ opt.tool_options('compiler_cc') opt.add_option('--enable-pkg-config-dbus-service-dir', action='store_true', default=False, help='force D-Bus service install dir to be one returned by pkg-config') opt.add_option('--disable-dbus', action='store_true', default=False, help="Don't enable D-Bus support even if required dependencies are present") + opt.add_option('--mandir', type='string', help="Manpage directory [Default: /share/man]") def configure(conf): conf.check_tool('compiler_cc') @@ -79,7 +80,10 @@ conf.check_tool('misc') # dbus service file subst tool - conf.env['MANDIR'] = os.path.normpath(conf.env['PREFIX'] + '/share/man') + if Params.g_options.mandir: + conf.env['MANDIR'] = Params.g_options.mandir + else: + conf.env['MANDIR'] = conf.env['PREFIX'] + '/share/man' conf.define('A2J_VERSION', VERSION) conf.write_config_header('config.h')