]>
Commit | Line | Data |
---|---|---|
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 | |
22 | import os.path | |
23 | ||
53bb7960 MT |
24 | from errors import * |
25 | ||
4366c12d | 26 | from __version__ import PAKFIRE_VERSION |
14ea3228 | 27 | |
f165e102 | 28 | PAKFIRE_LEAST_COMPATIBLE_VERSION = PAKFIRE_VERSION |
c07a3ca7 | 29 | |
ad4542cf | 30 | SYSCONFDIR = "/etc" |
47a4cb89 MT |
31 | |
32 | CONFIG_DIR = os.path.join(SYSCONFDIR, "pakfire.repos.d") | |
33 | CONFIG_FILE = os.path.join(SYSCONFDIR, "pakfire.conf") | |
34 | ||
35 | CACHE_DIR = "/var/cache/pakfire" | |
33f4679b | 36 | CCACHE_CACHE_DIR = os.path.join(CACHE_DIR, "ccache") |
1de8761d | 37 | REPO_CACHE_DIR = os.path.join(CACHE_DIR, "repos") |
33f4679b | 38 | |
0ec833c6 | 39 | LOCAL_BUILD_REPO_PATH = "/var/lib/pakfire/local" |
94438733 | 40 | LOCAL_TMP_PATH = "var/tmp/pakfire" |
47a4cb89 | 41 | |
66af936c MT |
42 | PACKAGES_DB_DIR = "var/lib/pakfire" |
43 | PACKAGES_DB = os.path.join(PACKAGES_DB_DIR, "packages.db") | |
fa6d335b | 44 | REPOSITORY_DB = "index.db" |
47a4cb89 | 45 | |
c1fbb0b7 | 46 | BUFFER_SIZE = 102400 |
47a4cb89 | 47 | |
a2d1644c MT |
48 | MIRRORLIST_MAXSIZE = 1024**2 |
49 | ||
c07a3ca7 MT |
50 | MACRO_FILE_DIR = "/usr/lib/pakfire/macros" |
51 | MACRO_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 |
54 | METADATA_FORMAT = 0 |
55 | METADATA_DOWNLOAD_LIMIT = 1024**2 | |
56 | METADATA_DOWNLOAD_PATH = "repodata" | |
2568a6d1 | 57 | METADATA_DOWNLOAD_FILE = "repomd.json" |
c605d735 | 58 | METADATA_DATABASE_FILE = "packages.solv" |
3cf7127f | 59 | |
c07a3ca7 MT |
60 | PACKAGE_FORMAT = 1 |
61 | # XXX implement this properly | |
62 | PACKAGE_FORMATS_SUPPORTED = [0, 1] | |
47a4cb89 MT |
63 | PACKAGE_EXTENSION = "pfm" |
64 | MAKEFILE_EXTENSION = "nm" | |
65 | ||
66 | PACKAGE_FILENAME_FMT = "%(name)s-%(version)s-%(release)s.%(arch)s.%(ext)s" | |
67 | ||
c07a3ca7 MT |
68 | BUILD_PACKAGES = [ |
69 | "@Build", | |
70 | "/bin/bash", | |
c07a3ca7 MT |
71 | "gcc", |
72 | "glibc-devel", | |
c07a3ca7 MT |
73 | "pakfire-build>=%s" % PAKFIRE_LEAST_COMPATIBLE_VERSION, |
74 | ] | |
75 | SHELL_PACKAGES = ["elinks", "less", "vim",] | |
47a4cb89 MT |
76 | BUILD_ROOT = "/var/lib/pakfire/build" |
77 | ||
78 | SOURCE_DOWNLOAD_URL = "http://source.ipfire.org/source-3.x/" | |
79 | SOURCE_CACHE_DIR = os.path.join(CACHE_DIR, "sources") | |
80 | ||
53ceed32 MT |
81 | TIME_10M = 10 |
82 | TIME_24H = 60*24 | |
1de8761d | 83 | |
8c617c20 MT |
84 | ORPHAN_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 |
92 | for 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 | 100 | ORPHAN_DIRECTORIES.sort(cmp=lambda x,y: cmp(len(x), len(y)), reverse=True) |
47a4cb89 | 101 | |
c07a3ca7 MT |
102 | PACKAGE_INFO = """\ |
103 | # Pakfire %(pakfire_version)s | |
47a4cb89 MT |
104 | |
105 | # Package information | |
c07a3ca7 MT |
106 | package |
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 | |
125 | end | |
47a4cb89 | 126 | |
c07a3ca7 MT |
127 | # Build information |
128 | build | |
129 | host = %(build_host)s | |
130 | id = %(build_id)s | |
131 | time = %(build_time)d | |
132 | end | |
47a4cb89 | 133 | |
c07a3ca7 MT |
134 | # Distribution information |
135 | distribution | |
136 | name = %(distro_name)s | |
137 | release = %(distro_release)s | |
138 | vendor = %(distro_vendor)s | |
139 | maintainer = %(distro_maintainer)s | |
140 | end | |
141 | ||
142 | # Dependency information | |
143 | dependencies | |
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 | |
163 | end | |
164 | ||
165 | # EOF | |
47a4cb89 | 166 | """ |
c07a3ca7 | 167 | PACKAGE_INFO_DESCRIPTION_LINE = PACKAGE_INFO_DEPENDENCY_LINE = "\t\t%s" |
063606f6 MT |
168 | |
169 | # XXX make this configurable in pakfire.conf | |
170 | PAKFIRE_MULTIINSTALL = ["kernel",] | |
94438733 MT |
171 | |
172 | SCRIPTLET_INTERPRETER = "/bin/sh" | |
173 | SCRIPTLET_TIMEOUT = 60 * 15 | |
174 | ||
c07a3ca7 MT |
175 | SCRIPTS = ( |
176 | "prein", | |
177 | "postin", | |
178 | "preun", | |
179 | "postun", | |
180 | "preup", | |
181 | "postup", | |
182 | "posttransin", | |
183 | "posttransun", | |
184 | "posttransup", | |
185 | ) |