[packagekit] packagekit: Branch 'master' - 19 commits

Richard Hughes hughsient at kemper.freedesktop.org
Sat Nov 10 02:10:12 PST 2007


 backends/alpm/wscript       |   18 +++++++
 backends/apt/wscript        |   37 ++++++++++++++++
 backends/box/wscript        |   17 +++++++
 backends/conary/wscript     |   17 +++++++
 backends/dummy/wscript      |   12 +++++
 backends/pisi/wscript       |   17 +++++++
 backends/smart/wscript      |   17 +++++++
 backends/wscript            |   26 +++++++++++
 backends/yum/wscript        |   17 +++++++
 client/wscript_build        |   20 ++++----
 data/tests/wscript_build    |   13 +++++
 data/wscript_build          |   18 +++++--
 etc/wscript_build           |   14 ++++--
 html/pk-faq.html            |   10 ++++
 libgbus/wscript_build       |    6 +-
 libpackagekit/wscript_build |   32 ++++++++------
 libselftest/wscript_build   |    6 +-
 policy/wscript_build        |   13 +++++
 src/wscript_build           |   22 +++++++++
 wscript                     |  100 +++++++++++++++++---------------------------
 20 files changed, 334 insertions(+), 98 deletions(-)

New commits:
commit c526cb6109e90574d0cc2a40964b035677ec4393
Author: Alberto Ruiz <aruiz at dopamine.(none)>
Date:   Sat Nov 10 03:48:22 2007 +0000

    * Waf update: backend/wscript more pythonic

diff --git a/backends/wscript b/backends/wscript
index 53bf646..18984ec 100644
--- a/backends/wscript
+++ b/backends/wscript
@@ -5,27 +5,18 @@ def build(bld):
 	bld.add_subdirs(env['DEFAULT_BACKEND'])
 
 def configure(conf):
+	default_backend = None
 	if Params.g_options.default_backend:
 		if not conf.sub_config(Params.g_options.default_backend):
 			Params.fatal('%s failed to configure' % Params.g_options.default_backend)
 		default_backend = Params.g_options.default_backend
-	elif conf.sub_config('yum'):
-		default_backend = 'yum'
-	elif conf.sub_config('apt'):
-		default_backend = 'apt'
-	elif conf.sub_config('alpm'):
-		default_backend = 'alpm'
-	elif conf.sub_config('conary'):
-		default_backend = 'conary'
-	elif conf.sub_config('box'):
-		default_backend = 'box'
-	elif conf.sub_config('smart'):
-		default_backend = 'smart'
-	elif conf.sub_config('pisi'):
-		default_backend = 'pisi'
-	else:
-		conf.sub_config('dummy')
-		default_backend = 'dummy'
+
+	if not default_backend:
+		#Falls back to dummy if not backend was set
+		for backend in ['yum', 'apt', 'alpm', 'conary', 'box', 'smart', 'pisi', 'dummy']:
+			if conf.sub_config(backend):
+				default_backend = backend
+				break
 
 	conf.env['DEFAULT_BACKEND'] = default_backend
 
diff --git a/wscript b/wscript
index 11729ff..537e35c 100644
--- a/wscript
+++ b/wscript
@@ -102,7 +102,7 @@ def configure(conf):
 def build(bld):
 	# process subfolders from here
 	# Pending dirs:
-	#  docs libselftest man python backends
+	#  docs man python
         bld.add_subdirs('libpackagekit backends client libgbus libselftest etc policy po data')
 
 	#set the user in packagekit.pc.in and install
commit c4dd4f134edf80d698b56bcb877c461385febcdd
Author: Daniel Svensson <dsvensson at gmail.com>
Date:   Sat Nov 10 02:38:14 2007 +0100

    Fail if explicitly requested backend fails to configure.

diff --git a/backends/wscript b/backends/wscript
index 5e35e7a..53bf646 100644
--- a/backends/wscript
+++ b/backends/wscript
@@ -2,10 +2,12 @@ import Params
 
 def build(bld):
 	env = bld.env_of_name('default')
-	bld.add_subdirs(env['WITH_DEFAULT_BACKEND'])
+	bld.add_subdirs(env['DEFAULT_BACKEND'])
 
 def configure(conf):
 	if Params.g_options.default_backend:
+		if not conf.sub_config(Params.g_options.default_backend):
+			Params.fatal('%s failed to configure' % Params.g_options.default_backend)
 		default_backend = Params.g_options.default_backend
 	elif conf.sub_config('yum'):
 		default_backend = 'yum'
@@ -22,9 +24,10 @@ def configure(conf):
 	elif conf.sub_config('pisi'):
 		default_backend = 'pisi'
 	else:
+		conf.sub_config('dummy')
 		default_backend = 'dummy'
 
-	conf.env['WITH_DEFAULT_BACKEND'] = default_backend
+	conf.env['DEFAULT_BACKEND'] = default_backend
 
 def set_options(opt):
 	opt.add_option('--default-backend', type='string', help="Default backend to use alpm,apt,box,conary,dummy,smart,yum,pisi", dest="default_backend")
commit af6df8145a0a8c3bd58398b52dcbf7a9054f4fdf
Author: Daniel Svensson <dsvensson at gmail.com>
Date:   Sat Nov 10 02:22:48 2007 +0100

    Also check for apt-rpm in the apt backend

diff --git a/backends/apt/wscript b/backends/apt/wscript
index 7de5527..fcce0cf 100644
--- a/backends/apt/wscript
+++ b/backends/apt/wscript
@@ -13,7 +13,7 @@ def build(bld):
 		obj.source += ' pk-apt-search-plain.c'
 
 def configure(conf):
-	if not conf.find_program('apt-get'):
+	if not conf.find_program('apt-get') and not conf.find_program('apt-rpm'):
 		return False
 
 	# This check assumes the same python version that executes
commit ac486bf451c4900b3560cb543dddef58d7061371
Author: Daniel Svensson <dsvensson at gmail.com>
Date:   Sat Nov 10 02:07:48 2007 +0100

    Add support for building backends

diff --git a/backends/alpm/wscript b/backends/alpm/wscript
new file mode 100644
index 0000000..bdd16cb
--- /dev/null
+++ b/backends/alpm/wscript
@@ -0,0 +1,18 @@
+def build(bld):
+	obj = bld.create_obj('cc', 'plugin')
+	obj.target = 'pk_backend_alpm'
+	obj.source = 'pk-backend-alpm.c'
+	obj.uselib = 'ALPM'
+	obj.uselib_local = 'libpackagekit'
+	obj.includes = '../../src ../../libpackagekit'
+
+def configure(conf):
+	if not conf.check_library2('alpm', uselib='ALPM', mandatory=0):
+		return False
+	if not conf.check_header('alpm.h'):
+		return False
+
+	return True
+
+def set_options(opt):
+	pass
diff --git a/backends/apt/wscript b/backends/apt/wscript
new file mode 100644
index 0000000..7de5527
--- /dev/null
+++ b/backends/apt/wscript
@@ -0,0 +1,37 @@
+import Params
+
+def build(bld):
+	obj = bld.create_obj('cc', 'plugin')
+	obj.target = 'pk_backend_apt'
+	obj.source = 'pk-backend-apt.c'
+	obj.uselib = 'APT'
+	obj.uselib_local = 'libpackagekit'
+	obj.includes = '../../src ../../libpackagekit'
+
+	env = bld.env_of_name('default')
+	if env['APT_SEARCH_PLAIN']:
+		obj.source += ' pk-apt-search-plain.c'
+
+def configure(conf):
+	if not conf.find_program('apt-get'):
+		return False
+
+	# This check assumes the same python version that executes
+	# waf will execute PackageKit.
+	try:
+		import apt_pkg
+	except:
+		Params.fatal('The "apt" backend needs "python-apt"')
+
+	if not conf.check_library2('apt-pkg', uselib='APT'):
+		return False
+	
+	if Params.g_options.apt_search:
+		conf.env['APT_SEARCH_PLAIN'] = True
+
+	return True
+
+def set_options(opt):
+	opt.add_option('--apt-search', type='string',
+	               help='Apt search type to use - plain (plain)',
+	               dest='apt_search', default=False)
diff --git a/backends/box/wscript b/backends/box/wscript
new file mode 100644
index 0000000..2b4ab91
--- /dev/null
+++ b/backends/box/wscript
@@ -0,0 +1,17 @@
+def build(bld):
+	obj = bld.create_obj('cc', 'plugin')
+	obj.target = 'pk_backend_box'
+	obj.source = 'pk-backend-box.c'
+	obj.uselib = 'BOX'
+	obj.uselib_local = 'libpackagekit'
+	obj.includes = '../../src ../../libpackagekit'
+
+def configure(conf):
+	if not conf.find_program('box-repos'):
+		return False
+	if not conf.check_pkg('libbox', destvar='BOX'):
+		return False
+	return True
+
+def set_options(opt):
+	pass
diff --git a/backends/conary/wscript b/backends/conary/wscript
new file mode 100644
index 0000000..e12462b
--- /dev/null
+++ b/backends/conary/wscript
@@ -0,0 +1,17 @@
+def build(bld):
+	obj = bld.create_obj('cc', 'plugin')
+	obj.target = 'pk_backend_conary'
+	obj.source = 'pk-backend-conary.c'
+	obj.uselib = 'CONARY'
+	obj.uselib_local = 'libpackagekit'
+	obj.includes = '../../src ../../libpackagekit'
+
+def configure(conf):
+	if not conf.find_program('conary'):
+		return False
+
+	# Additional checks required
+	return False
+
+def set_options(opt):
+	pass
diff --git a/backends/dummy/wscript b/backends/dummy/wscript
new file mode 100644
index 0000000..61070df
--- /dev/null
+++ b/backends/dummy/wscript
@@ -0,0 +1,12 @@
+def build(bld):
+	obj = bld.create_obj('cc', 'plugin')
+	obj.target = 'pk_backend_dummy'
+	obj.source = 'pk-backend-dummy.c'
+	obj.uselib_local = 'libpackagekit'
+	obj.includes = '../../src ../../libpackagekit'
+
+def configure(conf):
+	return True
+
+def set_options(opt):
+	pass
diff --git a/backends/pisi/wscript b/backends/pisi/wscript
new file mode 100644
index 0000000..13de251
--- /dev/null
+++ b/backends/pisi/wscript
@@ -0,0 +1,17 @@
+def build(bld):
+	obj = bld.create_obj('cc', 'plugin')
+	obj.target = 'pk_backend_pisi'
+	obj.source = 'pk-backend-pisi.c'
+	obj.uselib = 'PISI'
+	obj.uselib_local = 'libpackagekit'
+	obj.includes = '../../src ../../libpackagekit'
+
+def configure(conf):
+	if not conf.find_program('pisi'):
+		return False
+
+	# Additional checks required
+	return False
+
+def set_options(opt):
+	pass
diff --git a/backends/smart/wscript b/backends/smart/wscript
new file mode 100644
index 0000000..158feaa
--- /dev/null
+++ b/backends/smart/wscript
@@ -0,0 +1,17 @@
+def build(bld):
+	obj = bld.create_obj('cc', 'plugin')
+	obj.target = 'pk_backend_smart'
+	obj.source = 'pk-backend-smart.c'
+	obj.uselib = 'SMART'
+	obj.uselib_local = 'libpackagekit'
+	obj.includes = '../../src ../../libpackagekit'
+
+def configure(conf):
+	if not conf.find_program('smart'):
+		return False
+
+	# Additional checks required
+	return False
+
+def set_options(opt):
+	pass
diff --git a/backends/wscript b/backends/wscript
index 630aa0b..5e35e7a 100644
--- a/backends/wscript
+++ b/backends/wscript
@@ -1,45 +1,32 @@
 import Params
 
 def build(bld):
-	pass
+	env = bld.env_of_name('default')
+	bld.add_subdirs(env['WITH_DEFAULT_BACKEND'])
 
 def configure(conf):
-	if not Params.g_options.default_backend:
-		if conf.find_program('yum'):
-			default_backend = 'yum'
-		elif conf.check_library2('alpm', mandatory=0):
-			default_backend = 'alpm'
-		elif conf.find_program('apt-get'):
-			default_backend = 'apt'
-		elif conf.find_program('conary'):
-			default_backend = 'conary'
-		elif conf.find_program('box-repos'):
-			default_backend = 'box'
-		elif conf.find_program('smart'):
-			default_backend = 'smart'
-		elif conf.find_program('pisi'):
-			default_backend = 'pisi'
-		else:
-			default_backend = 'dummy'
-	else:
+	if Params.g_options.default_backend:
 		default_backend = Params.g_options.default_backend
+	elif conf.sub_config('yum'):
+		default_backend = 'yum'
+	elif conf.sub_config('apt'):
+		default_backend = 'apt'
+	elif conf.sub_config('alpm'):
+		default_backend = 'alpm'
+	elif conf.sub_config('conary'):
+		default_backend = 'conary'
+	elif conf.sub_config('box'):
+		default_backend = 'box'
+	elif conf.sub_config('smart'):
+		default_backend = 'smart'
+	elif conf.sub_config('pisi'):
+		default_backend = 'pisi'
+	else:
+		default_backend = 'dummy'
 
-	if default_backend == 'box':
-		if not conf.check_pkg('libbox', destvar='BOX'):
-			Params.fatal('The "box" backend needs "libbox"')
-
-	if default_backend == 'alpm':
-		if not conf.check_header('alpm.h'):
-			Params.fatal('The "alpm" backend needs "alpm.h"')
-
-	if default_backend == 'apt':
-		try:
-			import apt_pkg
-		except:
-			Params.fatal('The "apt" backend needs "python-apt"')
-
-		if not conf.check_library2('apt-pkg', uselib='APT'):
-			Params.fatal('The "apt" backend needs "libapt-pkg-dev"')
+	conf.env['WITH_DEFAULT_BACKEND'] = default_backend
 
 def set_options(opt):
 	opt.add_option('--default-backend', type='string', help="Default backend to use alpm,apt,box,conary,dummy,smart,yum,pisi", dest="default_backend")
+
+	opt.sub_options('apt')
diff --git a/backends/wscript_build b/backends/wscript_build
deleted file mode 100644
index da9f819..0000000
--- a/backends/wscript_build
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /usr/bin/env python
-# encoding: utf-8
-#
-# Copyright (C) 2007 Richard Hughes <richard at hughsie.com>
-#
-# Licensed under the GNU General Public License Version 2
-# 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.
-
-bld.add_subdirs('dummy test')
-
-#only contine compiling the correct backend
-foo = 'the correct backend name'
-if foo = 'yum':
-	bld.add_subdirs('yum')
-elif foo = 'alpm':
-	bld.add_subdirs('alpm')
-elif foo = 'apt':
-	bld.add_subdirs('apt')
-elif foo = 'conary':
-	bld.add_subdirs('conary')
-elif foo = 'box':
-	bld.add_subdirs('box')
-elif foo = 'smart':
-	bld.add_subdirs('smart')
-elif foo = 'pisi':
-	bld.add_subdirs('pisi')
-
diff --git a/backends/yum/wscript b/backends/yum/wscript
new file mode 100644
index 0000000..7a9373f
--- /dev/null
+++ b/backends/yum/wscript
@@ -0,0 +1,17 @@
+def build(bld):
+	obj = bld.create_obj('cc', 'plugin')
+	obj.target = 'pk_backend_yum'
+	obj.source = 'pk-backend-yum.c'
+	obj.uselib = 'YUM'
+	obj.uselib_local = 'libpackagekit'
+	obj.includes = '../../src ../../libpackagekit'
+
+def configure(conf):
+	if not conf.find_program('yum'):
+		return False
+
+	# Additional checks required
+	return False
+
+def set_options(opt):
+	pass
diff --git a/libpackagekit/wscript_build b/libpackagekit/wscript_build
index 9943a8c..9aa3a62 100644
--- a/libpackagekit/wscript_build
+++ b/libpackagekit/wscript_build
@@ -6,6 +6,7 @@ libpackagekit.add_marshal_file('pk-marshal.list', 'pk_marshal', '--header')
 libpackagekit.add_marshal_file('pk-marshal.list', 'pk_marshal', '--body')
 libpackagekit.uselib = 'GLIB GOBJECT DBUS DBUS_GLIB'
 libpackagekit.uselib_local = 'libgbus libselftest'
+libpackagekit.target = 'packagekit'
 
 libpackagekit.source = """
 	pk-debug.c
diff --git a/wscript b/wscript
index 14107d8..11729ff 100644
--- a/wscript
+++ b/wscript
@@ -103,7 +103,7 @@ def build(bld):
 	# process subfolders from here
 	# Pending dirs:
 	#  docs libselftest man python backends
-        bld.add_subdirs('libpackagekit client libgbus libselftest etc policy po data')
+        bld.add_subdirs('libpackagekit backends client libgbus libselftest etc policy po data')
 
 	#set the user in packagekit.pc.in and install
 	obj=bld.create_obj('subst')
commit 615d520a97f2bb778e5877310a6a2a0313c46446
Author: Daniel Svensson <dsvensson at gmail.com>
Date:   Sat Nov 10 00:48:57 2007 +0100

    Add backends wscript

diff --git a/backends/wscript b/backends/wscript
new file mode 100644
index 0000000..630aa0b
--- /dev/null
+++ b/backends/wscript
@@ -0,0 +1,45 @@
+import Params
+
+def build(bld):
+	pass
+
+def configure(conf):
+	if not Params.g_options.default_backend:
+		if conf.find_program('yum'):
+			default_backend = 'yum'
+		elif conf.check_library2('alpm', mandatory=0):
+			default_backend = 'alpm'
+		elif conf.find_program('apt-get'):
+			default_backend = 'apt'
+		elif conf.find_program('conary'):
+			default_backend = 'conary'
+		elif conf.find_program('box-repos'):
+			default_backend = 'box'
+		elif conf.find_program('smart'):
+			default_backend = 'smart'
+		elif conf.find_program('pisi'):
+			default_backend = 'pisi'
+		else:
+			default_backend = 'dummy'
+	else:
+		default_backend = Params.g_options.default_backend
+
+	if default_backend == 'box':
+		if not conf.check_pkg('libbox', destvar='BOX'):
+			Params.fatal('The "box" backend needs "libbox"')
+
+	if default_backend == 'alpm':
+		if not conf.check_header('alpm.h'):
+			Params.fatal('The "alpm" backend needs "alpm.h"')
+
+	if default_backend == 'apt':
+		try:
+			import apt_pkg
+		except:
+			Params.fatal('The "apt" backend needs "python-apt"')
+
+		if not conf.check_library2('apt-pkg', uselib='APT'):
+			Params.fatal('The "apt" backend needs "libapt-pkg-dev"')
+
+def set_options(opt):
+	opt.add_option('--default-backend', type='string', help="Default backend to use alpm,apt,box,conary,dummy,smart,yum,pisi", dest="default_backend")
diff --git a/wscript b/wscript
index 7391146..14107d8 100644
--- a/wscript
+++ b/wscript
@@ -24,11 +24,11 @@ blddir = 'build'
 def set_options(opt):
 	opt.add_option('--wall', action="store_true", help="stop on compile warnings", dest="wall", default=True)
 	opt.add_option('--packagekit-user', type='string', help="User for running the PackageKit daemon", dest="user", default='root')
-	opt.add_option('--default-backend', type='string', help="Default backend to use alpm,apt,box,conary,dummy,smart,yum,pisi", dest="default_backend")
 	opt.add_option('--enable-tests', action="store_true", help="enable unit test code", dest="tests", default=True)
 	opt.add_option('--enable-gcov', action="store_true", help="compile with gcov support (gcc only)", dest="gcov", default=False)
 	opt.add_option('--enable-gprof', action="store_true", help="compile with gprof support (gcc only)", dest="gprof", default=False)
-	pass
+
+	opt.sub_options('backends')
 
 def configure(conf):
 	conf.check_tool('gcc gnome misc')
@@ -66,50 +66,8 @@ def configure(conf):
 	if conf.find_program('xmlto', var='XMLTO'):
 		conf.env['DOCBOOK_DOCS_ENABLED'] = 1
 
-	if not Params.g_options.default_backend:
-		if conf.find_program('yum'):
-			default_backend = 'yum'
-		elif conf.check_library2('alpm', mandatory=0):
-			default_backend = 'alpm'
-		elif conf.find_program('apt-get'):
-			default_backend = 'apt'
-		elif conf.find_program('conary'):
-			default_backend = 'conary'
-		elif conf.find_program('box-repos'):
-			default_backend = 'box'
-		elif conf.find_program('smart'):
-			default_backend = 'smart'
-		elif conf.find_program('pisi'):
-			default_backend = 'pisi'
-		else:
-			default_backend = 'dummy'
-	else:
-		default_backend = Params.g_options.default_backend
-
-	if default_backend == 'box':
-		if not conf.check_pkg('libbox', destvar='BOX'):
-			Params.fatal('The "box" backend needs "libbox"')
-
-	if default_backend == 'alpm':
-		if not conf.check_header('alpm.h'):
-			Params.fatal('The "alpm" backend needs "alpm.h"')
-
-	if default_backend == 'apt':
-		try:
-			import apt_pkg
-		except:
-			Params.fatal('The "apt" backend needs "python-apt"')
-
-		if not conf.check_library2('apt-pkg', uselib='APT'):
-			Params.fatal('The "apt" backend needs "libapt-pkg-dev"')
-
-	#process options
-	if Params.g_options.wall:
-		conf.env.append_value('CPPFLAGS', '-Wall -Werror -Wcast-align -Wno-uninitialized')
-	if Params.g_options.gcov:
-		conf.env.append_value('CFLAGS', '-fprofile-arcs -ftest-coverage')
-	if Params.g_options.gprof:
-		conf.env.append_value('CFLAGS', '-fprofile-arcs -ftest-coverage')
+	# Check what backend to use
+	conf.sub_config('backends')
 
 	#do we build the self tests?
 	if Params.g_options.tests:
@@ -131,6 +89,16 @@ def configure(conf):
 	conf.env.append_value('CCFLAGS', '-DHAVE_CONFIG_H')
 	conf.write_config_header('config.h')
 
+
+	# We want these last as they shouldn't 
+	if Params.g_options.wall:
+		conf.env.append_value('CPPFLAGS', '-Wall -Werror -Wcast-align -Wno-uninitialized')
+	if Params.g_options.gcov:
+		conf.env.append_value('CFLAGS', '-fprofile-arcs -ftest-coverage')
+	if Params.g_options.gprof:
+		conf.env.append_value('CFLAGS', '-fprofile-arcs -ftest-coverage')
+
+
 def build(bld):
 	# process subfolders from here
 	# Pending dirs:
commit 91cb950b662643f7d3eef2b8e3e6c9a63270c855
Author: Daniel Svensson <dsvensson at gmail.com>
Date:   Sat Nov 10 00:00:21 2007 +0100

    Rename waf backend name apt-get -> apt

diff --git a/wscript b/wscript
index 5f06341..7391146 100644
--- a/wscript
+++ b/wscript
@@ -72,7 +72,7 @@ def configure(conf):
 		elif conf.check_library2('alpm', mandatory=0):
 			default_backend = 'alpm'
 		elif conf.find_program('apt-get'):
-			default_backend = 'apt-get'
+			default_backend = 'apt'
 		elif conf.find_program('conary'):
 			default_backend = 'conary'
 		elif conf.find_program('box-repos'):
@@ -94,7 +94,7 @@ def configure(conf):
 		if not conf.check_header('alpm.h'):
 			Params.fatal('The "alpm" backend needs "alpm.h"')
 
-	if default_backend == 'apt-get':
+	if default_backend == 'apt':
 		try:
 			import apt_pkg
 		except:
commit 25f597189a4687f087411090d68b68776de5c9e4
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Nov 9 23:49:27 2007 +0000

    more waf goodness

diff --git a/data/tests/wscript_build b/data/tests/wscript_build
new file mode 100644
index 0000000..64ad012
--- /dev/null
+++ b/data/tests/wscript_build
@@ -0,0 +1,13 @@
+#! /usr/bin/env python
+# encoding: utf-8
+#
+# Copyright (C) 2007 Richard Hughes <richard at hughsie.com>
+#
+# Licensed under the GNU General Public License Version 2
+# 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.
+
+#TODO: Do nothing
+
diff --git a/data/wscript_build b/data/wscript_build
index 816b315..43af4a2 100644
--- a/data/wscript_build
+++ b/data/wscript_build
@@ -9,12 +9,20 @@
 # the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 
-bld.add_subdirs('tests')
+#only install if we are testing
+if Params.g_options.tests:
+	bld.add_subdirs('tests')
 
-#TODO: convert org.freedesktop.PackageKit.service.in to org.freedesktop.PackageKit.service
-#after populating @servicedir@ to $(sbindir)
+#set the servicedir in org.freedesktop.PackageKit.service and install
+obj=bld.create_obj('subst')
+obj.source = 'org.freedesktop.PackageKit.service.in'
+obj.target = 'org.freedesktop.PackageKit.service'
+obj.dict = {'servicedir': '/usr/sbin'}
+obj.fun = misc.subst_func
+obj.install_var = 'PREFIX'
+obj.install_subdir = 'usr/share/dbus-1/system-services'
 
 #TODO: install properly
-install_files('$(localstatedir)', 'run', 'PackageKit', 'job_count.dat')
-install_files('$(PK_DB_DIR)', 'PackageKit', 'transactions.db')
+install_files('var', 'run', 'PackageKit', 'job_count.dat')
+install_files('var', 'lib', 'PackageKit', 'transactions.db')
 
diff --git a/wscript b/wscript
index e442873..5f06341 100644
--- a/wscript
+++ b/wscript
@@ -48,7 +48,7 @@ def configure(conf):
 	if ret:
 		#we only need the validation tool if we are doing the tests
 		if Params.g_options.tests:
-			ret = conf.find_program('polkit-config-file-validate', var='POLKIT_POLICY_FILE_VALIDATE'):
+			ret = conf.find_program('polkit-config-file-validate', var='POLKIT_POLICY_FILE_VALIDATE')
 	if ret:
 		conf.add_define('SECURITY_TYPE_POLKIT', 1)
 	else:
@@ -120,9 +120,9 @@ def configure(conf):
 	conf.add_define('PACKAGE', 'PackageKit')
 
 	#TODO: expand these into PREFIX and something recognised by waf
-	conf.add_define('PK_CONF_DIR', '$(sysconfdir)/PackageKit')
-	conf.add_define('PK_DB_DIR', '$(localstatedir)/lib/PackageKit')
-	conf.add_define('PK_PLUGIN_DIR', '$(libdir)/packagekit-backend')
+	conf.add_define('PK_CONF_DIR', '/etc/PackageKit')
+	conf.add_define('PK_DB_DIR', '/var/lib/PackageKit')
+	conf.add_define('PK_PLUGIN_DIR', '/usr/lib/packagekit-backend')
 
 	#TODO: can we define these here?
 	#AC_SUBST(PK_PLUGIN_CFLAGS, "-I\$(top_srcdir)/src -I\$(top_srcdir)/libpackagekit $GLIB_CFLAGS $DBUS_CFLAGS $GMODULE_CFLAGS")
@@ -134,8 +134,8 @@ def configure(conf):
 def build(bld):
 	# process subfolders from here
 	# Pending dirs:
-	# data docs libgbus libselftest man po policy python backends
-        bld.add_subdirs('libpackagekit client libgbus libselftest etc')
+	#  docs libselftest man python backends
+        bld.add_subdirs('libpackagekit client libgbus libselftest etc policy po data')
 
 	#set the user in packagekit.pc.in and install
 	obj=bld.create_obj('subst')
commit cf03f1caeafabf9ea35fafcdf2c7fa868d092b42
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Nov 9 23:28:41 2007 +0000

    add a wscript file for policy

diff --git a/policy/wscript_build b/policy/wscript_build
new file mode 100644
index 0000000..a6d7f76
--- /dev/null
+++ b/policy/wscript_build
@@ -0,0 +1,13 @@
+#! /usr/bin/env python
+# encoding: utf-8
+#
+# Copyright (C) 2007 Richard Hughes <richard at hughsie.com>
+#
+# Licensed under the GNU General Public License Version 2
+# 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.
+
+#TODO: install the packagekit.policy file to /usr/share/PolicyKit/policy
+
diff --git a/wscript b/wscript
index af082b0..e442873 100644
--- a/wscript
+++ b/wscript
@@ -41,10 +41,15 @@ def configure(conf):
 	conf.check_pkg('dbus-glib-1', destvar='DBUS_GLIB', vnum='0.60')
 	conf.check_pkg('sqlite3', destvar='SQLITE')
 
+	#we need both of these for the server
 	ret = conf.check_pkg('polkit-dbus', destvar='POLKIT_DBUS', vnum='0.5')
 	if ret:
 		ret = conf.check_pkg('polkit-grant', destvar='POLKIT_GRANT', vnum='0.5')
 	if ret:
+		#we only need the validation tool if we are doing the tests
+		if Params.g_options.tests:
+			ret = conf.find_program('polkit-config-file-validate', var='POLKIT_POLICY_FILE_VALIDATE'):
+	if ret:
 		conf.add_define('SECURITY_TYPE_POLKIT', 1)
 	else:
 		print "*******************************************************************"
commit 2b427b16e3cd178ad273aaa6b030efafdc6013d5
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Nov 9 23:19:36 2007 +0000

    add some more wscripts

diff --git a/backends/wscript_build b/backends/wscript_build
new file mode 100644
index 0000000..da9f819
--- /dev/null
+++ b/backends/wscript_build
@@ -0,0 +1,30 @@
+#! /usr/bin/env python
+# encoding: utf-8
+#
+# Copyright (C) 2007 Richard Hughes <richard at hughsie.com>
+#
+# Licensed under the GNU General Public License Version 2
+# 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.
+
+bld.add_subdirs('dummy test')
+
+#only contine compiling the correct backend
+foo = 'the correct backend name'
+if foo = 'yum':
+	bld.add_subdirs('yum')
+elif foo = 'alpm':
+	bld.add_subdirs('alpm')
+elif foo = 'apt':
+	bld.add_subdirs('apt')
+elif foo = 'conary':
+	bld.add_subdirs('conary')
+elif foo = 'box':
+	bld.add_subdirs('box')
+elif foo = 'smart':
+	bld.add_subdirs('smart')
+elif foo = 'pisi':
+	bld.add_subdirs('pisi')
+
commit 03cfc15928578762b076512a8f789a9b6f335b24
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Nov 9 23:08:19 2007 +0000

    add more todo's for waf

diff --git a/etc/wscript_build b/etc/wscript_build
index 1166ecd..ce0e0ef 100644
--- a/etc/wscript_build
+++ b/etc/wscript_build
@@ -9,7 +9,15 @@
 # the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 
-#TODO: need to do a replacement from PackageKit.conf to PackageKit.conf.in
-#      after substituting Params.g_options.user
-install_files('PK_CONF_DIR', 'PackageKit', 'PackageKit.conf')
+import misc
+
+#set the default backend in the installed config file
+obj=bld.create_obj('subst')
+obj.source = 'PackageKit.conf.in'
+obj.target = 'PackageKit.conf'
+#TODO: need to get this from wscript
+obj.dict = {'defaultbackend': 'default_backend'}
+obj.fun = misc.subst_func
+obj.install_var = 'PREFIX'
+obj.install_subdir = 'etc/PackageKit'
 
diff --git a/libpackagekit/wscript_build b/libpackagekit/wscript_build
index 60c4148..9943a8c 100644
--- a/libpackagekit/wscript_build
+++ b/libpackagekit/wscript_build
@@ -27,3 +27,5 @@ libpackagekit.name          = 'libpackagekit'
 
 #TODO: Need to install headers to /usr/include/packagekit/
 
+#TODO: if Params.g_options.tests then add the self test program: pk-self-test.c and all the libs above and execute the pk-self-test application
+
diff --git a/src/wscript_build b/src/wscript_build
index 40dc7c6..6be6a2f 100644
--- a/src/wscript_build
+++ b/src/wscript_build
@@ -9,10 +9,21 @@
 # the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 
-#TODO: add other sources
+#create the daemon
 obj = bld.create_obj('gnome', 'program')
 obj.source='''
+pk-backend.c
+pk-backend-python.c
+pk-conf.c
 pk-engine.c
+pk-inhibit.c
+pk-main.c
+pk-spawn.c
+pk-thread-list.c
+pk-time.c
+pk-transaction-db.c
+pk-transaction-id.c
+pk-transaction-list.c
 '''
 obj.includes='.'
 obj.uselib='DBUS_GLIB'
@@ -21,5 +32,13 @@ obj.add_dbus_file('pk-interface.xml', 'pk_engine', 'glib-server')
 obj.add_marshal_file('pk-marshal.list', 'pk_marshal', '--header')
 obj.add_marshal_file('pk-marshal.list', 'pk_marshal', '--body')
 
+#TODO: if SECURITY_TYPE_POLKIT then obj.source needs to have pk-security-polkit.c added else pk-security-dummy.c
+
 #TODO: Need to install backend headers to /usr/include/packagekit-backends/
 
+#TODO: if Params.g_options.gcov then we need to execute $(top_srcdir)/tools/create-coverage-report.sh packagekit $(filter %.c,$(packagekitd_SOURCES)) > gcov.txt
+
+#TODO: if Params.g_options.gprof then we need to execute gprof .libs/pk-self-test > gprof.txt
+
+#TODO: if Params.g_options.tests then add the self test program: pk-self-test.c and all the libs above and execute the pk-self-test application
+
diff --git a/wscript b/wscript
index 26ec1d2..af082b0 100644
--- a/wscript
+++ b/wscript
@@ -129,10 +129,8 @@ def configure(conf):
 def build(bld):
 	# process subfolders from here
 	# Pending dirs:
-	# data docs etc libgbus libselftest man po policy python backends
-	#TODO: process packagekit.pc.in and install packagekit.pc into $(libdir)/pkgconfig
-
-        bld.add_subdirs('libpackagekit client libgbus libselftest')
+	# data docs libgbus libselftest man po policy python backends
+        bld.add_subdirs('libpackagekit client libgbus libselftest etc')
 
 	#set the user in packagekit.pc.in and install
 	obj=bld.create_obj('subst')
commit d46ad2adfe96b2262b15c175ebd24d9f24614f70
Author: Daniel Svensson <dsvensson at gmail.com>
Date:   Fri Nov 9 23:37:45 2007 +0100

    don't set default backend to dummy but let waf probe instead

diff --git a/wscript b/wscript
index 2b4aac8..26ec1d2 100644
--- a/wscript
+++ b/wscript
@@ -24,7 +24,7 @@ blddir = 'build'
 def set_options(opt):
 	opt.add_option('--wall', action="store_true", help="stop on compile warnings", dest="wall", default=True)
 	opt.add_option('--packagekit-user', type='string', help="User for running the PackageKit daemon", dest="user", default='root')
-	opt.add_option('--default-backend', type='string', help="Default backend to use alpm,apt,box,conary,dummy,smart,yum,pisi", dest="default_backend", default='dummy')
+	opt.add_option('--default-backend', type='string', help="Default backend to use alpm,apt,box,conary,dummy,smart,yum,pisi", dest="default_backend")
 	opt.add_option('--enable-tests', action="store_true", help="enable unit test code", dest="tests", default=True)
 	opt.add_option('--enable-gcov', action="store_true", help="compile with gcov support (gcc only)", dest="gcov", default=False)
 	opt.add_option('--enable-gprof', action="store_true", help="compile with gprof support (gcc only)", dest="gprof", default=False)
@@ -81,20 +81,15 @@ def configure(conf):
 	else:
 		default_backend = Params.g_options.default_backend
 
-	#TODO
-	#if Params.g_options.default_backend is apt then CHECK_MOD apt_pkg
-
-	#the box backend needs another module
 	if default_backend == 'box':
 		if not conf.check_pkg('libbox', destvar='BOX'):
 			Params.fatal('The "box" backend needs "libbox"')
 
-	#the alpm backend needs a header file
 	if default_backend == 'alpm':
 		if not conf.check_header('alpm.h'):
 			Params.fatal('The "alpm" backend needs "alpm.h"')
 
-	if default_backend == 'apt':
+	if default_backend == 'apt-get':
 		try:
 			import apt_pkg
 		except:
commit a9a14fc437aea0733cc2613530ca1fea15ffafb0
Author: Daniel Svensson <dsvensson at gmail.com>
Date:   Fri Nov 9 23:28:51 2007 +0100

    rename with_default_backend to default_backend and use it instead of g_options
    
    also add a apt backend check

diff --git a/wscript b/wscript
index 5146f5d..2b4aac8 100644
--- a/wscript
+++ b/wscript
@@ -63,35 +63,46 @@ def configure(conf):
 
 	if not Params.g_options.default_backend:
 		if conf.find_program('yum'):
-			with_default_backend = 'yum'
+			default_backend = 'yum'
 		elif conf.check_library2('alpm', mandatory=0):
-			with_default_backend = 'alpm'
+			default_backend = 'alpm'
 		elif conf.find_program('apt-get'):
-			with_default_backend = 'apt-get'
+			default_backend = 'apt-get'
 		elif conf.find_program('conary'):
-			with_default_backend = 'conary'
+			default_backend = 'conary'
 		elif conf.find_program('box-repos'):
-			with_default_backend = 'box'
+			default_backend = 'box'
 		elif conf.find_program('smart'):
-			with_default_backend = 'smart'
+			default_backend = 'smart'
 		elif conf.find_program('pisi'):
-			with_default_backend = 'pisi'
+			default_backend = 'pisi'
 		else:
-			with_default_backend = 'dummy'
+			default_backend = 'dummy'
+	else:
+		default_backend = Params.g_options.default_backend
 
 	#TODO
 	#if Params.g_options.default_backend is apt then CHECK_MOD apt_pkg
 
 	#the box backend needs another module
-	if Params.g_options.default_backend == 'box':
+	if default_backend == 'box':
 		if not conf.check_pkg('libbox', destvar='BOX'):
 			Params.fatal('The "box" backend needs "libbox"')
 
 	#the alpm backend needs a header file
-	if Params.g_options.default_backend == 'alpm':
+	if default_backend == 'alpm':
 		if not conf.check_header('alpm.h'):
 			Params.fatal('The "alpm" backend needs "alpm.h"')
 
+	if default_backend == 'apt':
+		try:
+			import apt_pkg
+		except:
+			Params.fatal('The "apt" backend needs "python-apt"')
+
+		if not conf.check_library2('apt-pkg', uselib='APT'):
+			Params.fatal('The "apt" backend needs "libapt-pkg-dev"')
+
 	#process options
 	if Params.g_options.wall:
 		conf.env.append_value('CPPFLAGS', '-Wall -Werror -Wcast-align -Wno-uninitialized')
commit 651688404c0c4cce2842ff18f94038663e80b6b0
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Nov 9 22:23:51 2007 +0000

    add optional fields to faq file

diff --git a/html/pk-faq.html b/html/pk-faq.html
index c16c854..c9497c6 100644
--- a/html/pk-faq.html
+++ b/html/pk-faq.html
@@ -24,6 +24,7 @@
 --------------------------------------------------------------------
 resolve           |        |  X  |     |  X  |      |   X   |   X  |
 refresh-cache     |   X    |  X  |  X  |  X  |      |   X   |   X  |
+  \--force        |        |     |     |     |      |       |      |
 get-updates       |   X    |  X  |     |  X  |      |   X   |   X  |
 update-system     |   X    |  X  |     |  X  |      |   X   |   X  |
 search-name       |   X    |  X  |  X  |  X  |  X   |   X   |   X  |
@@ -35,7 +36,9 @@ install-file      |        |  X  |     |  X  |      |   X   |   X  |
 remove-package    |   X    |  X  |     |  X  |  X   |   X   |   X  |
 update-package    |        |  X  |     |  X  |      |   X   |   X  |
 get-depends       |        |  X  |     |  X  |      |   X   |   X  |
+  \--recursive    |        |     |     |     |      |       |      |
 get-requires      |   X    |  X  |     |  X  |      |       |   X  |
+  \--recursive    |        |     |     |     |      |       |      |
 get-description   |   X    |  X  |  X  |  X  |      |   X   |   X  |
 get-files         |        |  X  |     |  X  |      |   X   |   X  |
 get-update-detail |        |  X  |     |     |      |       |      |
commit 36028072ebc6f7392ed726f2602c865d4337c2e0
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Nov 9 22:19:24 2007 +0000

    try harder to install the .in files

diff --git a/wscript b/wscript
index 17868d6..5146f5d 100644
--- a/wscript
+++ b/wscript
@@ -129,13 +129,13 @@ def build(bld):
         bld.add_subdirs('libpackagekit client libgbus libselftest')
 
 	#set the user in packagekit.pc.in and install
-#	obj=bld.create_obj('subst')
-#	obj.source = 'packagekit.pc.in'
-#	obj.target = 'packagekit.pc'
-#	obj.dict = {'VERSION': VERSION}
-#	obj.fun = misc.subst_func
-#	obj.destvar = 'PREFIX'
-#	obj.subdir  = 'usr/lib/pkgconfig'
+	obj=bld.create_obj('subst')
+	obj.source = 'packagekit.pc.in'
+	obj.target = 'packagekit.pc'
+	obj.dict = {'VERSION': 'dave', 'prefix':'PREFIX', 'exec_prefix':'PREFIX', 'libdir':'usr/lib', 'includedir':'usr/include'}
+	obj.fun = misc.subst_func
+	obj.install_var = 'PREFIX'
+	obj.install_subdir = 'usr/lib/pkgconfig'
 
 	#set the user in org.freedesktop.PackageKit.conf.in and install
 	obj=bld.create_obj('subst')
@@ -143,8 +143,8 @@ def build(bld):
 	obj.target = 'org.freedesktop.PackageKit.conf'
 	obj.dict = {'PACKAGEKIT_USER': Params.g_options.user}
 	obj.fun = misc.subst_func
-	obj.destvar = 'PREFIX'
-	obj.subdir  = 'etc/dbus-1/system.d'
+	obj.install_var = 'PREFIX'
+	obj.install_subdir = 'etc/dbus-1/system.d'
 
 def shutdown():
 	# this piece of code may be move right after the pixmap or documentation installation
commit 88e79390421ed4f8b191cba6f0333c2496445ba9
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Nov 9 22:18:56 2007 +0000

    add a note about packagekit and selinux in the faq!

diff --git a/html/pk-faq.html b/html/pk-faq.html
index 5c8ac18..c16c854 100644
--- a/html/pk-faq.html
+++ b/html/pk-faq.html
@@ -54,6 +54,13 @@ development       |        |  X  |  X  |  X  |      |       |      |
 gui               |        |  X  |  X  |  X  |      |       |   X  |
 </pre>
 
+<h3>Why doesn't PackageKit work with SELinux?</h3>
+<p>
+<code>packagekitd</code> is not recognised by SELinux yet.
+Until the policy is fixed to handle system activation, you'll have
+to run in permissive mode, rather than enforcing.
+</p>
+
 <h3>What if the backend package manager doesn't support percentage updates?</h3>
 <p>
 You don't have to have a backend that supports percentage updates.
commit 27a5e625704e447db1a525ef30b4d7564b9120af
Author: Daniel Svensson <dsvensson at gmail.com>
Date:   Fri Nov 9 21:55:11 2007 +0100

    Fail if "box" and "alpm" backend dependencies are not found.

diff --git a/wscript b/wscript
index cf215dc..17868d6 100644
--- a/wscript
+++ b/wscript
@@ -83,14 +83,14 @@ def configure(conf):
 	#if Params.g_options.default_backend is apt then CHECK_MOD apt_pkg
 
 	#the box backend needs another module
-	if Params.g_options.default_backend is 'box':
-		conf.check_pkg('libbox', destvar='BOX')
-		#TODO: fail if not present
+	if Params.g_options.default_backend == 'box':
+		if not conf.check_pkg('libbox', destvar='BOX'):
+			Params.fatal('The "box" backend needs "libbox"')
 
 	#the alpm backend needs a header file
-	if Params.g_options.default_backend is 'alpm':
-		conf.check_header('alpm.h')
-		#TODO: fail if not present
+	if Params.g_options.default_backend == 'alpm':
+		if not conf.check_header('alpm.h'):
+			Params.fatal('The "alpm" backend needs "alpm.h"')
 
 	#process options
 	if Params.g_options.wall:
commit 2e23f34f285d5020112a36de76f5395c1e16c519
Author: Daniel Svensson <dsvensson at gmail.com>
Date:   Fri Nov 9 21:49:47 2007 +0100

    Make the sub wscripts a bit more pythonic

diff --git a/client/wscript_build b/client/wscript_build
index d83273a..1a16794 100644
--- a/client/wscript_build
+++ b/client/wscript_build
@@ -10,15 +10,15 @@
 # (at your option) any later version.
 
 obj = bld.create_obj('cc', 'program')
-obj.source='pk-console.c'
-obj.includes='. ../libpackagekit'
-obj.uselib='GLIB GOBJECT DBUS_GLIB POLKIT_DBUS GTHREAD'
-obj.uselib_local='libpackagekit'
-obj.target='pkcon'
+obj.source = 'pk-console.c'
+obj.includes = '. ../libpackagekit'
+obj.uselib = 'GLIB GOBJECT DBUS_GLIB POLKIT_DBUS GTHREAD'
+obj.uselib_local = 'libpackagekit'
+obj.target = 'pkcon'
 
 obj = bld.create_obj('cc', 'program')
-obj.source='pk-monitor.c'
-obj.includes='. ../libpackagekit'
-obj.uselib='GLIB GOBJECT DBUS_GLIB POLKIT_DBUS GTHREAD'
-obj.uselib_local='libpackagekit'
-obj.target='pkmon'
+obj.source = 'pk-monitor.c'
+obj.includes = '. ../libpackagekit'
+obj.uselib = 'GLIB GOBJECT DBUS_GLIB POLKIT_DBUS GTHREAD'
+obj.uselib_local = 'libpackagekit'
+obj.target = 'pkmon'
diff --git a/libgbus/wscript_build b/libgbus/wscript_build
index dd4dfc5..a87c85f 100644
--- a/libgbus/wscript_build
+++ b/libgbus/wscript_build
@@ -6,9 +6,9 @@ libgbus.add_marshal_file('libgbus-marshal.list', 'libgbus_marshal', '--header')
 libgbus.add_marshal_file('libgbus-marshal.list', 'libgbus_marshal', '--body')
 libgbus.uselib = 'GLIB GOBJECT DBUS DBUS_GLIB'
 
-libgbus.source='''
-libgbus.c
-'''
+libgbus.source = """
+	libgbus.c
+"""
 
 libgbus.includes = '.'
 libgbus.target   = 'libgbus'
diff --git a/libpackagekit/wscript_build b/libpackagekit/wscript_build
index b16d722..60c4148 100644
--- a/libpackagekit/wscript_build
+++ b/libpackagekit/wscript_build
@@ -7,19 +7,19 @@ libpackagekit.add_marshal_file('pk-marshal.list', 'pk_marshal', '--body')
 libpackagekit.uselib = 'GLIB GOBJECT DBUS DBUS_GLIB'
 libpackagekit.uselib_local = 'libgbus libselftest'
 
-libpackagekit.source='''
-pk-debug.c
-pk-connection.c
-pk-package-id.c
-pk-package-list.c
-pk-enum-list.c
-pk-enum.c
-pk-common.c
-pk-client.c
-pk-task-list.c
-pk-job-list.c
-pk-polkit-client.c
-'''
+libpackagekit.source = """
+	pk-debug.c
+	pk-connection.c
+	pk-package-id.c
+	pk-package-list.c
+	pk-enum-list.c
+	pk-enum.c
+	pk-common.c
+	pk-client.c
+	pk-task-list.c
+	pk-job-list.c
+	pk-polkit-client.c
+"""
 
 libpackagekit.includes      = '. ../libgbus ../libselftest'
 libpackagekit.target        = 'libpackagekit'
diff --git a/libselftest/wscript_build b/libselftest/wscript_build
index 9eb1208..ec4d805 100644
--- a/libselftest/wscript_build
+++ b/libselftest/wscript_build
@@ -4,9 +4,9 @@
 libselftest = bld.create_obj('gnome', 'staticlib')
 libselftest.uselib = 'GLIB GOBJECT'
 
-libselftest.source='''
-libselftest.c
-'''
+libselftest.source = """
+	libselftest.c
+"""
 
 libselftest.includes = '.'
 libselftest.target   = 'libselftest'
commit 2d3e4cf3d13193849b33d933c3fc18390607e74b
Author: Daniel Svensson <dsvensson at gmail.com>
Date:   Fri Nov 9 21:49:26 2007 +0100

    Add checks for finding misc programs

diff --git a/wscript b/wscript
index f9de39a..cf215dc 100644
--- a/wscript
+++ b/wscript
@@ -55,28 +55,29 @@ def configure(conf):
 	if conf.check_pkg('libnm_glib', destvar='NM_GLIB', vnum='0.6.4'):
 		conf.add_define('PK_BUILD_NETWORKMANAGER', 1)
 
-#TODO: check program docbook2man and set HAVE_DOCBOOK2MAN
-#TODO: check program xmlto and set DOCBOOK_DOCS_ENABLED
-
-#TODO
-#if Params.g_options.default_backend is empty, then check
-#	if test -f /usr/bin/yum ; then
-#		with_default_backend=yum
-#	elif test -f /usr/lib/libalpm.so; then
-#		with_default_backend=alpm
-#	elif test -f /usr/bin/apt-get ; then
-#		with_default_backend=apt
-#	elif test -f /usr/bin/conary ; then
-#		with_default_backend=conary
-#	elif test -f /usr/bin/box-repos ; then
-#		with_default_backend=box
-#	elif test -f /usr/bin/smart ; then
-#		with_default_backend=smart
-#	elif test -f /usr/bin/pisi ; then
-#		with_default_backend=pisi
-#	else
-#		with_default_backend=dummy
-#	fi
+	if conf.find_program('docbook2man', var='DOCBOOK2MAN'):
+		conf.env['HAVE_DOCBOOK2MAN'] = 1
+
+	if conf.find_program('xmlto', var='XMLTO'):
+		conf.env['DOCBOOK_DOCS_ENABLED'] = 1
+
+	if not Params.g_options.default_backend:
+		if conf.find_program('yum'):
+			with_default_backend = 'yum'
+		elif conf.check_library2('alpm', mandatory=0):
+			with_default_backend = 'alpm'
+		elif conf.find_program('apt-get'):
+			with_default_backend = 'apt-get'
+		elif conf.find_program('conary'):
+			with_default_backend = 'conary'
+		elif conf.find_program('box-repos'):
+			with_default_backend = 'box'
+		elif conf.find_program('smart'):
+			with_default_backend = 'smart'
+		elif conf.find_program('pisi'):
+			with_default_backend = 'pisi'
+		else:
+			with_default_backend = 'dummy'
 
 	#TODO
 	#if Params.g_options.default_backend is apt then CHECK_MOD apt_pkg
commit e105045eaabef80b29e25a2b7f317b833c4b6e6b
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Nov 9 20:29:21 2007 +0000

    add some more TODO's for waf

diff --git a/libpackagekit/wscript_build b/libpackagekit/wscript_build
index c8395ce..b16d722 100644
--- a/libpackagekit/wscript_build
+++ b/libpackagekit/wscript_build
@@ -24,3 +24,6 @@ pk-polkit-client.c
 libpackagekit.includes      = '. ../libgbus ../libselftest'
 libpackagekit.target        = 'libpackagekit'
 libpackagekit.name          = 'libpackagekit'
+
+#TODO: Need to install headers to /usr/include/packagekit/
+
diff --git a/src/wscript_build b/src/wscript_build
index c95c58e..40dc7c6 100644
--- a/src/wscript_build
+++ b/src/wscript_build
@@ -9,6 +9,7 @@
 # the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 
+#TODO: add other sources
 obj = bld.create_obj('gnome', 'program')
 obj.source='''
 pk-engine.c
@@ -20,3 +21,5 @@ obj.add_dbus_file('pk-interface.xml', 'pk_engine', 'glib-server')
 obj.add_marshal_file('pk-marshal.list', 'pk_marshal', '--header')
 obj.add_marshal_file('pk-marshal.list', 'pk_marshal', '--body')
 
+#TODO: Need to install backend headers to /usr/include/packagekit-backends/
+



More information about the PackageKit mailing list