1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#! /usr/bin/env python
# $Id: setup.py,v 1.2 2002/01/08 07:13:21 jgg Exp $
from distutils.core import setup, Extension
from distutils.sysconfig import parse_makefile
from DistUtilsExtra.command import *
import glob
import os
import os.path
import pydoc
import shutil
import string
import sys
def build_docs(dir="html", modules=["apt","aptsources"]):
htmldir = os.path.join(os.getcwd(), dir)
for d in modules:
for (dirpath, dirnames, filenames) in os.walk(d):
pydoc.writedoc(dirpath.replace("/","."))
for file in filenames:
if not file.endswith(".py"):
continue
if file in ["__init__.py"]:
continue
pydoc.writedoc(dirpath.replace("/",".")+"."+file.split(".py")[0])
if not os.path.exists(htmldir):
os.mkdir(htmldir)
for f in glob.glob("*.html"):
shutil.move(f, htmldir)
return True
# The apt_pkg module
files = map(lambda source: "python/"+source,
string.split(parse_makefile("python/makefile")["APT_PKG_SRC"]))
apt_pkg = Extension("apt_pkg", files, libraries=["apt-pkg"]);
# The apt_inst module
files = map(lambda source: "python/"+source,
string.split(parse_makefile("python/makefile")["APT_INST_SRC"]))
apt_inst = Extension("apt_inst", files, libraries=["apt-pkg","apt-inst"]);
# Replace the leading _ that is used in the templates for translation
templates = []
if not os.path.exists("build/data/templates/"):
os.makedirs("build/data/templates")
for template in glob.glob('data/templates/*.info.in'):
source = open(template, "r")
build = open(os.path.join("build", template[:-3]), "w")
lines = source.readlines()
for line in lines:
build.write(line.lstrip("_"))
source.close()
build.close()
# build doc
if sys.argv[1] == "build":
build_docs()
setup(name="python-apt",
version="0.6.17",
description="Python bindings for APT",
author="APT Development Team",
author_email="deity@lists.debian.org",
ext_modules=[apt_pkg,apt_inst],
packages=['apt', 'apt.gtk', 'aptsources'],
data_files = [('share/python-apt/templates',
glob.glob('build/data/templates/*.info')),
('share/python-apt/templates',
glob.glob('data/templates/*.mirrors'))],
cmdclass = { "build" : build_extra.build_extra,
"build_i18n" : build_i18n.build_i18n },
license = 'GNU GPL',
platforms = 'posix'
)
|