]> git.ipfire.org Git - pakfire.git/blame - pakfire/constants.py
macros: Move make_*_targets into build section.
[pakfire.git] / pakfire / constants.py
CommitLineData
47a4cb89 1#!/usr/bin/python
b792d887
MT
2###############################################################################
3# #
4# Pakfire - The IPFire package management system #
5# Copyright (C) 2011 Pakfire development team #
6# #
7# This program is free software: you can redistribute it and/or modify #
8# it under the terms of the GNU General Public License as published by #
9# the Free Software Foundation, either version 3 of the License, or #
10# (at your option) any later version. #
11# #
12# This program is distributed in the hope that it will be useful, #
13# but WITHOUT ANY WARRANTY; without even the implied warranty of #
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15# GNU General Public License for more details. #
16# #
17# You should have received a copy of the GNU General Public License #
18# along with this program. If not, see <http://www.gnu.org/licenses/>. #
19# #
20###############################################################################
47a4cb89
MT
21
22import os.path
23
53bb7960
MT
24from errors import *
25
4366c12d 26from __version__ import PAKFIRE_VERSION
14ea3228 27
f165e102 28PAKFIRE_LEAST_COMPATIBLE_VERSION = PAKFIRE_VERSION
c07a3ca7 29
ad4542cf 30SYSCONFDIR = "/etc"
47a4cb89
MT
31
32CONFIG_DIR = os.path.join(SYSCONFDIR, "pakfire.repos.d")
33CONFIG_FILE = os.path.join(SYSCONFDIR, "pakfire.conf")
34
35CACHE_DIR = "/var/cache/pakfire"
33f4679b 36CCACHE_CACHE_DIR = os.path.join(CACHE_DIR, "ccache")
1de8761d 37REPO_CACHE_DIR = os.path.join(CACHE_DIR, "repos")
33f4679b 38
0ec833c6 39LOCAL_BUILD_REPO_PATH = "/var/lib/pakfire/local"
94438733 40LOCAL_TMP_PATH = "var/tmp/pakfire"
47a4cb89 41
66af936c
MT
42PACKAGES_DB_DIR = "var/lib/pakfire"
43PACKAGES_DB = os.path.join(PACKAGES_DB_DIR, "packages.db")
fa6d335b 44REPOSITORY_DB = "index.db"
47a4cb89 45
c1fbb0b7 46BUFFER_SIZE = 102400
47a4cb89 47
a2d1644c
MT
48MIRRORLIST_MAXSIZE = 1024**2
49
c07a3ca7
MT
50MACRO_FILE_DIR = "/usr/lib/pakfire/macros"
51MACRO_FILES = \
52 (os.path.join(MACRO_FILE_DIR, f) for f in sorted(os.listdir(MACRO_FILE_DIR)) if f.endswith(".macro"))
53
3cf7127f
MT
54METADATA_FORMAT = 0
55METADATA_DOWNLOAD_LIMIT = 1024**2
56METADATA_DOWNLOAD_PATH = "repodata"
2568a6d1 57METADATA_DOWNLOAD_FILE = "repomd.json"
c605d735 58METADATA_DATABASE_FILE = "packages.solv"
3cf7127f 59
c07a3ca7
MT
60PACKAGE_FORMAT = 1
61# XXX implement this properly
62PACKAGE_FORMATS_SUPPORTED = [0, 1]
47a4cb89
MT
63PACKAGE_EXTENSION = "pfm"
64MAKEFILE_EXTENSION = "nm"
65
66PACKAGE_FILENAME_FMT = "%(name)s-%(version)s-%(release)s.%(arch)s.%(ext)s"
67
c07a3ca7
MT
68BUILD_PACKAGES = [
69 "@Build",
70 "/bin/bash",
c07a3ca7
MT
71 "gcc",
72 "glibc-devel",
c07a3ca7
MT
73 "pakfire-build>=%s" % PAKFIRE_LEAST_COMPATIBLE_VERSION,
74]
75SHELL_PACKAGES = ["elinks", "less", "vim",]
47a4cb89
MT
76BUILD_ROOT = "/var/lib/pakfire/build"
77
78SOURCE_DOWNLOAD_URL = "http://source.ipfire.org/source-3.x/"
79SOURCE_CACHE_DIR = os.path.join(CACHE_DIR, "sources")
80
53ceed32
MT
81TIME_10M = 10
82TIME_24H = 60*24
1de8761d 83
8c617c20
MT
84ORPHAN_DIRECTORIES = [
85 "lib", "lib64", "usr/lib", "usr/lib64", "libexec", "usr/libexec",
86 "bin", "sbin", "usr/bin", "usr/sbin", "usr/include", "usr/share",
87 "usr/share/man", "usr/share/man/man0", "usr/share/man/man1",
88 "usr/share/man/man2", "usr/share/man/man3", "usr/share/man/man4",
89 "usr/share/man/man5", "usr/share/man/man6", "usr/share/man/man7",
90 "usr/share/man/man8", "usr/share/man/man9", "usr/lib/pkgconfig",
91]
c07a3ca7
MT
92for i in ORPHAN_DIRECTORIES:
93 i = os.path.dirname(i)
8c617c20 94
c07a3ca7
MT
95 if not i or i in ORPHAN_DIRECTORIES:
96 continue
47a4cb89 97
c07a3ca7 98 ORPHAN_DIRECTORIES.append(i)
47a4cb89 99
c07a3ca7 100ORPHAN_DIRECTORIES.sort(cmp=lambda x,y: cmp(len(x), len(y)), reverse=True)
47a4cb89 101
c07a3ca7
MT
102PACKAGE_INFO = """\
103# Pakfire %(pakfire_version)s
47a4cb89
MT
104
105# Package information
c07a3ca7
MT
106package
107 name = %(name)s
108 version = %(version)s
109 release = %(release)s
110 epoch = %(epoch)s
111 arch = %(arch)s
112
113 uuid = %(uuid)s
114 groups = %(groups)s
115 maintainer = %(maintainer)s
116 url = %(url)s
117 license = %(license)s
118
119 summary = %(summary)s
120 def description
121%(description)s
122 end
123
124 size = %(inst_size)d
125end
47a4cb89 126
c07a3ca7
MT
127# Build information
128build
129 host = %(build_host)s
130 id = %(build_id)s
131 time = %(build_time)d
132end
47a4cb89 133
c07a3ca7
MT
134# Distribution information
135distribution
136 name = %(distro_name)s
137 release = %(distro_release)s
138 vendor = %(distro_vendor)s
139 maintainer = %(distro_maintainer)s
140end
141
142# Dependency information
143dependencies
144 def prerequires
145%(prerequires)s
146 end
147
148 def requires
149%(requires)s
150 end
151
152 def provides
153%(provides)s
154 end
155
156 def conflicts
157%(conflicts)s
158 end
159
160 def obsoletes
161%(obsoletes)s
162 end
163end
164
165# EOF
47a4cb89 166"""
c07a3ca7 167PACKAGE_INFO_DESCRIPTION_LINE = PACKAGE_INFO_DEPENDENCY_LINE = "\t\t%s"
063606f6
MT
168
169# XXX make this configurable in pakfire.conf
170PAKFIRE_MULTIINSTALL = ["kernel",]
94438733
MT
171
172SCRIPTLET_INTERPRETER = "/bin/sh"
173SCRIPTLET_TIMEOUT = 60 * 15
174
c07a3ca7
MT
175SCRIPTS = (
176 "prein",
177 "postin",
178 "preun",
179 "postun",
180 "preup",
181 "postup",
182 "posttransin",
183 "posttransun",
184 "posttransup",
185)