openpkg/openpkg.spec

changeset 428
f880f219c566
parent 427
71503088f51b
child 429
b363f8ef6dcb
equal deleted inserted replaced
9:8e86d98b7056 10:12d3a2777539
1 ## 1 ##
2 ## openpkg.spec -- OpenPKG RPM Package Specification 2 ## openpkg.spec -- OpenPKG RPM Package Specification
3 ## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/> 3 ## Copyright (c) 2000-2012 OpenPKG GmbH <http://openpkg.com/>
4 ## Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/>
5 ## 4 ##
6 ## Permission to use, copy, modify, and distribute this software for 5 ## This software is property of the OpenPKG GmbH, DE MUC HRB 160208.
7 ## any purpose with or without fee is hereby granted, provided that 6 ## All rights reserved. Licenses which grant limited permission to use,
8 ## the above copyright notice and this permission notice appear in all 7 ## copy, modify and distribute this software are available from the
9 ## copies. 8 ## OpenPKG GmbH.
10 ## 9 ##
11 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 10 ## THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
12 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
13 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
14 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
15 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
16 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
36 # o any sh(1) 35 # o any sh(1)
37 # o any tar(1) 36 # o any tar(1)
38 # o any make(1) 37 # o any make(1)
39 # o any cc(1) 38 # o any cc(1)
40 39
41 # the package version/release
42 %define V_openpkg 20120714
43
44 # the used software versions 40 # the used software versions
45 %define V_rpm 4.2.1 41 %define V_rpm_major 5.1
46 %define V_zlib 1.2.5 42 %define V_rpm_minor 9
47 %define V_bzip2 1.0.5 43 %define V_popt 1.16
48 %define V_beecrypt 4.1.2 44 %define V_db 4.7.25
49 %define V_curl 7.21.1 45 %define V_lua 5.1.4
50 %define V_make 3.82 46 %define V_sqlite 3.6.17
51 %define V_gzip 1.4 47 %define V_zlib 1.2.7
52 %define V_gzip_r 1.13 48 %define V_bzip2 1.0.6
53 %define V_patch 2.6.1 49 %define V_beecrypt 4.2.1
54 %define V_tar 1.23 50 %define V_curl 7.26.0
55 %define V_bash 3.2 51 %define V_pcre 8.31
56 %define V_uuid 1.6.2 52 %define V_make 3.82
57 %define V_config 20060923 53 %define V_gzip 1.5
58 %define V_registry 1.1.3 54 %define V_patch 2.6.1
59 %define V_perl 5.10.0 55 %define V_tar 1.26
60 %define V_openssl 0.9.8g 56 %define V_bash 4.2
61 %define V_tools 1.4.5 57 %define V_bash_pl 29
62 %define V_exec 2.0.1-C 58 %define V_uuid 1.6.2
59 %define V_config 20120627
60 %define V_perl 5.16.0
61 %define V_openssl 1.0.1c
62 %define V_xz 5.0.4
63 %define V_shtool 2.0.8
64 %define V_libarchive 3.0.3
65 %define V_diffutils 3.2
66 %define V_svs 1.1.0
63 67
64 # package information 68 # package information
65 Name: openpkg 69 Name: openpkg
66 Summary: OpenPKG Bootstrap 70 Summary: OpenPKG Framework
67 URL: http://www.openpkg.org/ 71 URL: http://openpkg.org/
68 Vendor: OpenPKG 72 Vendor: OpenPKG GmbH
69 Packager: OpenPKG Foundation e.V. 73 Packager: OpenPKG GmbH
70 Distribution: OpenPKG Community 74 Distribution: OpenPKG
71 Class: CORE 75 Class: BOOT
72 Group: Bootstrapping 76 Group: Bootstrapping
73 License: MIT/BSD/LGPL/GPL 77 License: Proprietary, Open Source
74 Version: %{V_openpkg} 78 Version: 4.6.7
75 Release: %{V_openpkg} 79 Release: 20120708
76 80
77 # list of sources 81 # list of pristine upstream sources
78 Source0: ftp://ftp.gnu.org/gnu/patch/patch-%{V_patch}.tar.gz 82 Source0: ftp://ftp.gnu.org/gnu/patch/patch-%{V_patch}.tar.gz
79 Source1: ftp://ftp.cwru.edu/pub/bash/bash-%{V_bash}.tar.gz 83 Source1: ftp://ftp.cwru.edu/pub/bash/bash-%{V_bash}.tar.gz
80 Source2: ftp://ftp.gnu.org/gnu/make/make-%{V_make}.tar.gz 84 Source2: ftp://ftp.gnu.org/gnu/make/make-%{V_make}.tar.gz
81 Source3: ftp://ftp.gnu.org/gnu/tar/tar-%{V_tar}.tar.gz 85 Source3: ftp://ftp.gnu.org/gnu/tar/tar-%{V_tar}.tar.gz
82 Source4: ftp://ftp.openpkg.org/sources/CPY/config/config-%{V_config}.tar.gz 86 Source4: http://download.openpkg.org/components/versioned/config/config-%{V_config}.tar.gz
83 Source5: ftp://ftp.openpkg.org/sources/CPY/openpkg-registry/openpkg-registry-%{V_registry}.tar.gz 87 Source5: http://download.openpkg.org/components/derived/gzip/gzip-%{V_gzip}.tar
84 Source6: ftp://ftp.openpkg.org/sources/CPY/openpkg-tools/openpkg-tools-%{V_tools}.tar.gz 88 Source6: http://download.openpkg.org/components/derived/perl/perl-%{V_perl}-mini.tar.gz
85 Source7: ftp://ftp.openpkg.org/sources/CPY/openpkg/gzip-%{V_gzip}-openpkg-r%{V_gzip_r}.tar 89 Source7: http://rpm5.org/files/rpm/rpm-%{V_rpm_major}/rpm-%{V_rpm_major}.%{V_rpm_minor}.tar.gz
86 Source8: ftp://ftp.gnu.org/gnu/gzip/gzip-%{V_gzip}.tar 90 Source8: ftp://ftp.openssl.org/source/openssl-%{V_openssl}.tar.gz
87 Source9: ftp://ftp.openpkg.org/sources/CPY/openpkg/openpkg-executable-%{V_exec}.tar.gz 91 Source9: ftp://ftp.ossp.org/pkg/lib/uuid/uuid-%{V_uuid}.tar.gz
88 Source10: ftp://ftp.openpkg.org/sources/CPY/openpkg/rpm-%{V_rpm}.tar.gz 92 Source10: http://curl.haxx.se/download/curl-%{V_curl}.tar.gz
89 Source11: ftp://ftp.openpkg.org/sources/CPY/perl/perl-%{V_perl}-mini.tar.gz 93 Source11: http://switch.dl.sourceforge.net/beecrypt/beecrypt-%{V_beecrypt}.tar.gz
90 Source12: ftp://ftp.openssl.org/source/openssl-%{V_openssl}.tar.gz 94 Source12: http://www.bzip.org/%{V_bzip2}/bzip2-%{V_bzip2}.tar.gz
91 Source13: ftp://ftp.ossp.org/pkg/lib/uuid/uuid-%{V_uuid}.tar.gz 95 Source13: http://www.zlib.net/zlib-%{V_zlib}.tar.gz
92 Source14: http://curl.haxx.se/download/curl-%{V_curl}.tar.gz 96 Source14: http://rpm5.org/files/popt/popt-%{V_popt}.tar.gz
93 Source15: http://switch.dl.sourceforge.net/beecrypt/beecrypt-%{V_beecrypt}.tar.gz 97 Source15: http://www.sqlite.org/sqlite-%{V_sqlite}.tar.gz
94 Source16: http://www.bzip.org/%{V_bzip2}/bzip2-%{V_bzip2}.tar.gz 98 Source16: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-%{V_pcre}.tar.gz
95 Source17: http://www.zlib.net/zlib-%{V_zlib}.tar.gz 99 Source17: http://libarchive.googlecode.com/files/libarchive-%{V_libarchive}.tar.gz
100 Source18: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{V_diffutils}.tar.gz
101 Source19: ftp://ftp.ossp.org/pkg/tool/svs/svs-%{V_svs}.tar.gz
102 Source20: http://tukaani.org/xz/xz-%{V_xz}.tar.gz
103
104 # list of local patches against pristine upstream sources
96 Source100: bash.patch 105 Source100: bash.patch
97 Source101: beecrypt.patch 106 Source101: bash.patch.vendor
98 Source102: make.patch 107 Source102: beecrypt.patch
99 Source103: openssl.patch 108 Source103: make.patch
100 Source104: perl.patch 109 Source104: openssl.patch
101 Source105: tar.patch 110 Source105: perl.patch
102 Source106: rpm.patch.bugfix 111 Source106: tar.patch
103 Source107: rpm.patch.feature 112 Source107: rpm.patch
104 Source108: rpm.patch.porting 113 Source108: popt.patch
105 Source109: rpm.patch.regen 114 Source109: sqlite.patch
106 Source200: HISTORY 115 Source110: curl.patch
107 Source201: README 116 Source111: pcre.patch
108 Source202: aux.prereq.sh 117 Source112: diffutils.patch
109 Source203: aux.usrgrp.sh 118 Source113: libarchive.patch
110 Source204: aux.wrapbin.sh 119 Source114: patch.strnlen.c
111 Source205: aux.wrapsrc.sh 120 Source115: patch.Makefile.in
112 Source206: dot.bash_login 121 Source116: xz.patch
113 Source207: dot.bashrc 122 Source117: zlib.patch
114 Source208: dot.lsyncrc 123
115 Source209: install.sh 124 # list of local sources
116 Source210: local.README 125 Source200: README
117 Source211: lsync 126 Source201: etc.prereq.sh
118 Source212: lsync.8 127 Source202: etc.usrgrp.sh
119 Source213: lsync.pod 128 Source203: etc.wrapbin.sh
120 Source214: man.sh 129 Source204: etc.wrapsrc.sh
121 Source215: openpkg.1 130 Source205: dot.bash_login
122 Source216: openpkg.boot 131 Source206: dot.bashrc
123 Source217: openpkg.com.pgp 132 Source207: dot.lsyncrc
124 Source218: openpkg.net.pgp 133 Source208: local.README
125 Source219: openpkg.org.pgp 134 Source209: lsync
126 Source220: openpkg.pod 135 Source210: lsync.8
127 Source221: openpkg.sh 136 Source211: lsync.pod
128 Source222: pod2man.sh 137 Source212: man.sh
129 Source223: rc 138 Source213: openpkg.1
130 Source224: rc.8 139 Source214: openpkg.boot
131 Source225: rc.conf 140 Source215: openpkg.com.pgp
132 Source226: rc.func 141 Source216: openpkg.net.pgp
133 Source227: rc.openpkg 142 Source217: openpkg.org.pgp
134 Source228: rc.pod 143 Source218: openpkg.pod
135 Source229: release.8 144 Source219: openpkg.sh
136 Source230: release.pod 145 Source220: rc
137 Source231: release.sh 146 Source221: rc.8
138 Source232: root.README 147 Source222: rc.conf
139 Source233: rpm-config.8 148 Source223: rc.func
140 Source234: rpm-config.pod 149 Source224: rc.openpkg
141 Source235: rpm-config.sh 150 Source225: rc.pod
142 Source236: rpmdb 151 Source226: release.8
143 Source237: rpmtool 152 Source227: release.pod
144 Source238: rpmtool.8 153 Source228: release.sh
145 Source239: rpmtool.pod 154 Source229: root.README
146 Source240: shtool 155 Source230: rpm-config.8
147 Source241: uuid.8 156 Source231: rpm-config.pod
148 Source242: uuid.pod 157 Source232: rpm-config.sh
149 Source243: uuid.sh 158 Source233: rpmdb
150 Source244: rpmmacros 159 Source234: rpmtool
151 Source245: rpmpopt 160 Source235: rpmtool.8
152 Source246: rpmrc 161 Source236: rpmtool.pod
162 Source237: shtool
163 Source238: shtool.sh
164 Source239: uuid.8
165 Source240: uuid.pod
166 Source241: uuid.sh
167 Source242: rpmmacros
168 Source243: rpmpopt
169 Source244: curl.sh
170 Source245: index.pl
171 Source246: index.8
172 Source247: index.pod
173 Source248: build.pl
174 Source249: build.8
175 Source250: build.pod
176 Source251: makeproxy.pl
177 Source252: makeproxy.8
178 Source253: lint-fsl.pl
179 Source254: lint-rc.pl
180 Source255: lint-rpm.pl
181 Source256: lint-spec.pl
182 Source257: dev.pl
183 Source258: dev.8
184 Source259: dev.pod
185 Source260: openpkg.mk
186 Source261: openpkg.c
187 Source262: Makefile
188 Source263: mutex.c
189 Source264: mutex.mk
190 Source265: register.sh
191 Source266: register.pod
192 Source267: register.8
193 Source268: rpm.sh
194 Source269: license.lua
195 Source270: license-BOOT.txt
196 Source271: license-COMMUNITY.txt
197 Source272: license-EVAL.txt
198 Source273: license-EXAMPLE.txt
199 Source274: license-PROMO.txt
200 Source275: license-RECOVERY.txt
201 Source276: license.sh
202 Source277: license.pod
203 Source278: license.8
204 Source279: rpmlua
205 Source280: sea.sh
206 Source281: sea.pod
207 Source282: sea.8
208 Source283: stack.sh
209 Source284: stack.pod
210 Source285: stack.8
211 Source286: search.pl
212 Source287: search.pod
213 Source288: search.8
214 Source289: mirror.pl
215 Source290: mirror.pod
216 Source291: mirror.8
153 217
154 # build information 218 # build information
155 Prefix: %{l_prefix}
156 BuildRoot: %{l_buildroot} 219 BuildRoot: %{l_buildroot}
157 AutoReq: no 220 AutoReq: no
158 AutoReqProv: no 221 AutoReqProv: no
222 Provides: %{l_prefix}
159 Provides: OpenPKG 223 Provides: OpenPKG
224 Provides: openpkg = %{release}-%{release}
160 225
161 %description 226 %description
162 This is the bootstrap package for the RPM-based Unix Software 227 This is the OpenPKG Framework, the so-called "bootstrap" package
163 Package Hierarchy OpenPKG. The RPM Package Manager (RPM) is a 228 of OpenPKG. OpenPKG is a cross-platform, self-contained, RPM-based
164 sophisticated and portable package manager for Unix platforms, 229 software packaging solution, targeting the flexible building of
165 which supports automated building, installation, management and 230 software stacks on Unix platforms. The RPM Package Manager (RPM)
166 deinstallation of Unix software. RPM was originally designed and 231 is the underlying, sophisticated and portable package management
167 implemented for the RedHat Linux operating system where it manages 232 tool which drives the automated building, installation, management
168 every file on the whole system. OpenPKG uses RPM only for managing 233 and deinstallation of all Unix software components in an OpenPKG
169 the files in a particular filesystem hierarchy dedicated to the 234 software stack.
170 installation of third-party software packages provided by the 235
171 OpenPKG project. 236 This OpenPKG package contains the following individual
172 237 software components (individual licenses listed in brackets):
173 The OpenPKG bootstrap package includes the following software: 238 OpenPKG Framework %(echo "%{version}" | awk '{ printf("%%-7s", $1); }') [Proprietary]
174 RPM %{V_rpm}, ZLib %{V_zlib}, GNU Bzip2 %{V_bzip2}, 239 rpm5.org RPM %(echo "%{V_rpm_major}.%{V_rpm_minor}" | awk '{ printf("%%-7s", $1); }') [LGPL]
175 GNU Gzip %{V_gzip}, GNU Tar %{V_tar}, GNU Patch %{V_patch}, 240 rpm5.org POPT %(echo "%{V_popt}" | awk '{ printf("%%-7s", $1); }') [LGPL]
176 GNU Make %{V_make}, GNU Bash %{V_bash}, cURL %{V_curl}, 241 BeeCrypt %(echo "%{V_beecrypt}" | awk '{ printf("%%-7s", $1); }') [LGPL]
177 OSSP uuid %{V_uuid}, BeeCrypt %{V_beecrypt}, 242 Lua %(echo "%{V_lua}" | awk '{ printf("%%-7s", $1); }') [MIT]
178 OpenSSL %{V_openssl}, Perl %{V_perl} 243 Berkeley-DB %(echo "%{V_db}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
244 SQLite %(echo "%{V_sqlite}" | awk '{ printf("%%-7s", $1); }') [Public-Domain]
245 PCRE %(echo "%{V_pcre}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
246 ZLib %(echo "%{V_zlib}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
247 XZ %(echo "%{V_xz}" | awk '{ printf("%%-7s", $1); }') [PD/LGPL/GPL]
248 GNU Bzip2 %(echo "%{V_bzip2}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
249 GNU Gzip %(echo "%{V_gzip}" | awk '{ printf("%%-7s", $1); }') [GPL]
250 GNU Tar %(echo "%{V_tar}" | awk '{ printf("%%-7s", $1); }') [GPL]
251 GNU Patch %(echo "%{V_patch}" | awk '{ printf("%%-7s", $1); }') [GPL]
252 GNU Shtool %(echo "%{V_shtool}" | awk '{ printf("%%-7s", $1); }') [GPL]
253 GNU Make %(echo "%{V_make}" | awk '{ printf("%%-7s", $1); }') [GPL]
254 GNU Bash %(echo "%{V_bash}.%{V_bash_pl}" | awk '{ printf("%%-7s", $1); }') [GPL]
255 GNU DiffUtils %(echo "%{V_diffutils}" | awk '{ printf("%%-7s", $1); }') [GPL]
256 BSD libarchive %(echo "%{V_libarchive}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
257 OSSP uuid %(echo "%{V_uuid}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
258 OSSP svs %(echo "%{V_svs}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
259 cURL %(echo "%{V_curl}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
260 OpenSSL %(echo "%{V_openssl}" | awk '{ printf("%%-7s", $1); }') [BSD]
261 Perl %(echo "%{V_perl}" | awk '{ printf("%%-7s", $1); }') [Artistic]
179 262
180 %track 263 %track
181 prog openpkg:bash = { 264 prog openpkg:bash = {
182 version = %{V_bash} 265 version = %{V_bash}
183 url = ftp://ftp.cwru.edu/pub/bash/ 266 url = ftp://ftp.cwru.edu/pub/bash/
191 prog openpkg:curl = { 274 prog openpkg:curl = {
192 version = %{V_curl} 275 version = %{V_curl}
193 url = http://curl.haxx.se/download/ 276 url = http://curl.haxx.se/download/
194 regex = curl-(__VER__)\.tar\.gz 277 regex = curl-(__VER__)\.tar\.gz
195 } 278 }
279 prog openpkg:pcre = {
280 version = %{V_pcre}
281 url = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
282 regex = pcre-(__VER__)\.tar\.gz
283 }
196 prog openpkg:gzip = { 284 prog openpkg:gzip = {
197 comment = "rse: intentionally tracked at gnu.org, although fetched from openpkg.org because of uncompression"
198 version = %{V_gzip} 285 version = %{V_gzip}
199 url = ftp://ftp.gnu.org/gnu/gzip/ 286 url = ftp://ftp.gnu.org/gnu/gzip/
200 regex = gzip-(__VER__)\.tar(\.gz)? 287 regex = gzip-(__VER__)\.tar(\.gz)?
201 }
202 prog openpkg:gzip_r = {
203 version = %{V_gzip_r}
204 url = ftp://ftp.openpkg.org/sources/CPY/openpkg/
205 regex = gzip-%{V_gzip}-openpkg-r(__VER__)\.tar
206 } 288 }
207 prog openpkg:make = { 289 prog openpkg:make = {
208 version = %{V_make} 290 version = %{V_make}
209 url = ftp://ftp.gnu.org/gnu/make/ 291 url = ftp://ftp.gnu.org/gnu/make/
210 regex = make-(__VER__)\.tar\.gz 292 regex = make-(__VER__)\.tar\.gz
211 } 293 }
212 prog openpkg:patch = { 294 prog openpkg:patch = {
213 disabled
214 comment = "rse: directory missing after GNU.org security issues"
215 version = %{V_patch} 295 version = %{V_patch}
216 url = ftp://alpha.gnu.org/gnu/patch/ 296 url = ftp://ftp.gnu.org/gnu/patch/
217 regex = patch-(__VER__)\.tar\.gz 297 regex = patch-(__VER__)\.tar\.gz
218 } 298 }
299 prog openpkg:popt = {
300 version = %{V_popt}
301 url = http://rpm5.org/files/popt/
302 regex = popt-(\d+\.\d+)\.tar\.gz
303 }
219 prog openpkg:rpm = { 304 prog openpkg:rpm = {
220 disabled 305 version = %{V_rpm_major}.%{V_rpm_minor}
221 comment = "rse: we have a .src.rpm extracted .tar.gz, because there is still no tarball for 4.2.1" 306 url = http://rpm5.org/files/rpm/rpm-%{V_rpm_major}/
222 version = %{V_rpm} 307 regex = rpm-(\d+\.\d+[.ab]\d+)\.tar\.gz
223 url = ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.2.x/
224 regex = rpm-(4\.2\.\d+)\.tar\.gz
225 } 308 }
226 prog openpkg:tar = { 309 prog openpkg:tar = {
227 version = %{V_tar} 310 version = %{V_tar}
228 url = ftp://ftp.gnu.org/gnu/tar/ 311 url = ftp://ftp.gnu.org/gnu/tar/
229 regex = tar-(__VER__)\.tar\.gz 312 regex = tar-(__VER__)\.tar\.gz
231 prog openpkg:zlib = { 314 prog openpkg:zlib = {
232 version = %{V_zlib} 315 version = %{V_zlib}
233 url = http://www.zlib.net/ 316 url = http://www.zlib.net/
234 regex = zlib-(__VER__)\.tar\.gz 317 regex = zlib-(__VER__)\.tar\.gz
235 } 318 }
319 prog openpkg:diffutils = {
320 version = %{V_diffutils}
321 url = ftp://alpha.gnu.org/gnu/diffutils/
322 regex = diffutils-(__VER__)\.tar\.gz
323 }
324 prog openpkg:libarchive = {
325 version = %{V_libarchive}
326 url = http://code.google.com/p/libarchive/downloads/list
327 regex = libarchive-(__VER__)\.tar\.gz
328 }
236 prog openpkg:uuid = { 329 prog openpkg:uuid = {
237 version = %{V_uuid} 330 version = %{V_uuid}
238 url = ftp://ftp.ossp.org/pkg/lib/uuid/ 331 url = ftp://ftp.ossp.org/pkg/lib/uuid/
239 regex = uuid-(__VER__)\.tar\.gz 332 regex = uuid-(__VER__)\.tar\.gz
240 } 333 }
334 prog openpkg:svs = {
335 version = %{V_svs}
336 url = ftp://ftp.ossp.org/pkg/tool/svs/
337 regex = svs-(__VER__)\.tar\.gz
338 }
241 prog openpkg:config = { 339 prog openpkg:config = {
242 version = %{V_config} 340 version = %{V_config}
243 url = ftp://ftp.openpkg.org/sources/CPY/config/ 341 url = http://download.openpkg.org/components/versioned/config/
244 regex = config-(__VER__)\.tar\.gz 342 regex = config-(__VER__)\.tar\.gz
245 } 343 }
246 prog openpkg:beecrypt = { 344 prog openpkg:beecrypt = {
247 version = %{V_beecrypt} 345 version = %{V_beecrypt}
248 url = http://prdownloads.sourceforge.net/beecrypt/ 346 url = http://sourceforge.net/project/showfiles.php?group_id=8924&package_id=9007
249 regex = beecrypt-(__VER__)\.tar\.gz 347 regex = beecrypt-(__VER__)\.tar\.gz
250 }
251 prog openpkg:registry = {
252 version = %{V_registry}
253 url = ftp://ftp.openpkg.org/sources/CPY/openpkg-registry/
254 regex = openpkg-registry-(__VER__)\.tar\.gz
255 } 348 }
256 prog openpkg:perl = { 349 prog openpkg:perl = {
257 version = %{V_perl} 350 version = %{V_perl}
258 url = ftp://ftp.openpkg.org/sources/CPY/perl/ 351 url = http://download.openpkg.org/components/derived/perl/
259 regex = perl-(__VER__)-mini\.tar\.gz 352 regex = perl-(__VER__)-mini\.tar\.gz
260 } 353 }
261 prog openpkg:openssl = { 354 prog openpkg:openssl = {
262 version = %{V_openssl} 355 version = %{V_openssl}
263 url = ftp://ftp.openssl.org/source/ 356 url = ftp://ftp.openssl.org/source/
264 regex = openssl-(\d+\.\d+\.\d+[a-z]?)\.tar\.gz 357 regex = openssl-(\d+\.\d+\.\d+[a-z]?)\.tar\.gz
265 } 358 }
266 prog openpkg:openpkg-tools = { 359 prog openpkg:lua = {
267 version = %{V_tools} 360 version = %{V_lua}
268 url = ftp://ftp.openpkg.org/sources/CPY/openpkg-tools/ 361 url = http://www.lua.org/download.html
269 regex = openpkg-tools-(__VER__)\.tar\.gz 362 regex = lua-(\d+\.\d+\.\d+)\.tar\.gz
270 } 363 }
271 prog openpkg:openpkg-executable = { 364 prog openpkg:sqlite = {
272 version = %{V_exec} 365 version = %{V_sqlite}
273 url = ftp://ftp.openpkg.org/sources/CPY/openpkg/ 366 url = http://www.sqlite.org/download.html
274 regex = openpkg-executable-(__VER__-C)\.tar\.gz 367 regex = sqlite-(\d+\.\d+\.\d+(?:\.\d+)?)\.tar\.gz
368 }
369 prog openpkg:xz = {
370 version = %{V_xz}
371 url = http://tukaani.org/xz/
372 regex = xz-(\d+\.\d+\.\d+)\.tar\.gz
275 } 373 }
276 374
277 %prep 375 %prep
278 # skip in bootstrap phase 2 (see openpkg.boot) 376 # skip in bootstrap phase 2 (see openpkg.boot)
279 [ ".$OPENPKG_BOOT" = .1 ] && exit 0 377 [ ".$OPENPKG_BOOT" = .1 ] && exit 0
405 exit 1 503 exit 1
406 fi 504 fi
407 fi 505 fi
408 echo "l_strip=\"$l_strip\"; export l_strip" >>.buildenv 506 echo "l_strip=\"$l_strip\"; export l_strip" >>.buildenv
409 507
410 # determine path to aux.usrgrp.sh script 508 # determine path to etc.usrgrp.sh script
411 usrgrp=`SOURCE aux.usrgrp.sh` 509 usrgrp=`SOURCE etc.usrgrp.sh`
412 echo "usrgrp=$usrgrp; export usrgrp" >>./.buildenv 510 echo "usrgrp=$usrgrp; export usrgrp" >>./.buildenv
413 511
414 # display verbosity header 512 # display verbosity header
415 set +x; VERBOSE "PREPARATION: Determine OpenPKG User/Group Name/Id Pairs"; set -x 513 set +x; VERBOSE "PREPARATION: Determine OpenPKG User/Group Name/Id Pairs"; set -x
416 514
492 AIX/* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin:/usr/ccs/bin" ;; 590 AIX/* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin:/usr/ccs/bin" ;;
493 Darwin/* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;; 591 Darwin/* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;;
494 OSF1/V5.* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;; 592 OSF1/V5.* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;;
495 HP-UX/* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;; 593 HP-UX/* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;;
496 IRIX*/6.* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;; 594 IRIX*/6.* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;;
595 CYGWIN*/* ) l_build_path="/bin:/usr/bin:/usr/sbin" ;;
497 * ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;; 596 * ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;;
498 esac 597 esac
499 case $plid in 598 case $plid in
500 FreeBSD/* ) l_build_ldlp="/lib:/usr/lib" ;; 599 FreeBSD/* ) l_build_ldlp="/lib:/usr/lib" ;;
501 NetBSD/* ) l_build_ldlp="/lib:/usr/lib" ;; 600 NetBSD/* ) l_build_ldlp="/lib:/usr/lib" ;;
505 AIX/* ) l_build_ldlp="/usr/lib:/usr/ccs/lib" ;; 604 AIX/* ) l_build_ldlp="/usr/lib:/usr/ccs/lib" ;;
506 Darwin/* ) l_build_ldlp="/usr/lib" ;; 605 Darwin/* ) l_build_ldlp="/usr/lib" ;;
507 OSF1/V5.* ) l_build_ldlp="/usr/lib" ;; 606 OSF1/V5.* ) l_build_ldlp="/usr/lib" ;;
508 HP-UX/* ) l_build_ldlp="/usr/lib" ;; 607 HP-UX/* ) l_build_ldlp="/usr/lib" ;;
509 IRIX*/6.* ) l_build_ldlp="/usr/lib" ;; 608 IRIX*/6.* ) l_build_ldlp="/usr/lib" ;;
609 CYGWIN*/* ) l_build_ldlp="/lib:/usr/lib" ;;
510 * ) l_build_ldlp="/usr/lib" ;; 610 * ) l_build_ldlp="/usr/lib" ;;
511 esac 611 esac
512 case $plid in 612 case $plid in
513 * ) l_build_ulim=":" ;; 613 * ) l_build_ulim=":" ;;
514 esac 614 esac
515 echo "l_build_path=\"$l_build_path\"; export l_build_path" >>.buildenv 615 echo "l_build_path=\"$l_build_path\"; export l_build_path" >>.buildenv
516 echo "l_build_ldlp=\"$l_build_ldlp\"; export l_build_ldlp" >>.buildenv 616 echo "l_build_ldlp=\"$l_build_ldlp\"; export l_build_ldlp" >>.buildenv
517 echo "l_build_ulim=\"$l_build_ulim\"; export l_build_ulim" >>.buildenv 617 echo "l_build_ulim=\"$l_build_ulim\"; export l_build_ulim" >>.buildenv
518 618
619 # ACTIVATE AGAIN AFTER ALL 4.2.5 VERSIONS WERE UPGRADED TO AT LEAST 4.2.7
620 # determine status of unprivileged operation
621 if [ ".%{?l_unprivileged:set}" = .set ]; then
622 l_unprivileged="%{l_unprivileged}"
623 else
624 l_unprivileged="no"
625 fi
626 echo "l_unprivileged=\"$l_unprivileged\"; export l_unprivileged" >>.buildenv
627
519 # display verbosity header 628 # display verbosity header
520 set +x; VERBOSE "PREPARATION: Build GNU gzip (Compression Tool)"; set -x 629 set +x; VERBOSE "PREPARATION: Build GNU gzip (Compression Tool)"; set -x
521 630
522 # bootstrap GNU zip tool 631 # bootstrap GNU zip tool
523 ${l_tar} xf `SOURCE gzip-%{V_gzip}.tar` 2>/dev/null || true 632 ${l_tar} xf `SOURCE gzip-%{V_gzip}.tar` 2>/dev/null || true
524 ${l_tar} xf `SOURCE gzip-%{V_gzip}-openpkg-r%{V_gzip_r}.tar` 2>/dev/null || true
525 ( cd gzip-%{V_gzip} 633 ( cd gzip-%{V_gzip}
526 echo "ac_cv_prog_cc_g=no" >config.cache 634 ( echo "ac_cv_prog_cc_g=no"
635 echo "ac_cv_header_getopt_h=no"
636 ) >config.cache
527 case $plid in 637 case $plid in
528 Darwin/* ) echo "gzip_cv_assembler=no" >>config.cache ;; 638 Darwin/* ) echo "gzip_cv_assembler=no" >>config.cache ;;
529 esac 639 esac
530 CC="${l_cc}" \ 640 CC="${l_cc}" \
531 GREP="grep" \ 641 GREP="grep" \
532 MAKE="${l_make}" \
533 ./configure \ 642 ./configure \
534 --cache-file=./config.cache 643 --cache-file=./config.cache
535 ${l_make} || exit $? 644 ${l_make} || exit $?
536 ( mv gzip ..; ${l_make} clean || true; mv ../gzip . ) || exit $? 645 ( mv gzip ..; ${l_make} clean || true; mv ../gzip . ) || exit $?
537 ) || exit $? 646 ) || exit $?
548 set +x; VERBOSE "PREPARATION: Build GNU patch (Source Patching Tool)"; set -x 657 set +x; VERBOSE "PREPARATION: Build GNU patch (Source Patching Tool)"; set -x
549 658
550 # bootstrap GNU patch tool 659 # bootstrap GNU patch tool
551 ${l_gzip} -dc `SOURCE patch-%{V_patch}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 660 ${l_gzip} -dc `SOURCE patch-%{V_patch}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
552 ( cd patch-%{V_patch} 661 ( cd patch-%{V_patch}
553 cp `SOURCE rplstrnlen.c` gl/lib/strnlen.c 662 chmod a+x install-sh
554 chmod u+w config.guess config.sub >/dev/null 2>&1 || true 663 echo '#!' >update-version.sh
555 cp ../config/config.guess . 664 cp `SOURCE patch.Makefile.in` Makefile.in
556 cp ../config/config.sub . 665 cp `SOURCE patch.strnlen.c` gl/lib/strnlen.c
557 ( echo 'ac_cv_func_setmode=${ac_cv_func_setmode=no}' 666 ( echo 'ac_cv_func_setmode=${ac_cv_func_setmode=no}'
558 echo 'ac_cv_prog_cc_g=no' 667 echo 'ac_cv_prog_cc_g=no'
559 false=`sh $shtool path false` 668 false=`sh $shtool path false`
560 echo "ac_cv_path_ed_PROGRAM=\${ac_cv_path_ed_PROGRAM=$false}" 669 echo "ac_cv_path_ed_PROGRAM=\${ac_cv_path_ed_PROGRAM=$false}"
561 ) >config.cache 670 ) >config.cache
562 CC="${l_cc}" \ 671 CC="${l_cc}" \
563 GREP="grep" \
564 ./configure \ 672 ./configure \
565 --cache-file=./config.cache \ 673 --cache-file=./config.cache \
674 --enable-merge \
566 --disable-largefile 675 --disable-largefile
567 ${l_make} || exit $? 676 ${l_make} || exit $?
568 ( mv src/patch ..; ${l_make} clean || true; mv ../patch . ) || exit $? 677 ( mv src/patch ..; ${l_make} clean || true; mv ../patch . ) || exit $?
569 ) || exit $? 678 ) || exit $?
570 l_patch="`pwd`/patch-%{V_patch}/patch"; export l_patch 679 l_patch="`pwd`/patch-%{V_patch}/patch"; export l_patch
680 case `sh $shtool platform -n -L -S "" -C "+" -F "%<ap>-%<sp>"` in
681 *-cygwin* )
682 # Cygwin under Windows Vista dislikes executables with
683 # "patch" in the same and would require a "*.manifest"
684 # file applied with the "mt.exe" from the "Windows
685 # Software Development Kit (SDK)" in order to escape from
686 # UAC. An easy alternative is to just rename the file to a
687 # different name.
688 mv patch-%{V_patch}/patch patch-%{V_patch}/pitch
689 l_patch="`pwd`/patch-%{V_patch}/pitch"
690 ;;
691 esac
571 echo "l_patch=\"$l_patch\"; export l_patch" >>.buildenv 692 echo "l_patch=\"$l_patch\"; export l_patch" >>.buildenv
572 693
573 # display verbosity header 694 # display verbosity header
574 set +x; VERBOSE "BUILD: Build GNU tar (Archiving Tool)"; set -x 695 set +x; VERBOSE "BUILD: Build GNU tar (Archiving Tool)"; set -x
575 696
582 echo 'ac_cv_lib_iconv_iconv=no' 703 echo 'ac_cv_lib_iconv_iconv=no'
583 echo 'ac_cv_header_iconv_h=no' 704 echo 'ac_cv_header_iconv_h=no'
584 echo 'ac_cv_type_iconv_t=no' 705 echo 'ac_cv_type_iconv_t=no'
585 ) >config.cache 706 ) >config.cache
586 CC="${l_cc}" \ 707 CC="${l_cc}" \
587 MAKE="${l_make}" \
588 MAKEINFO="true" \ 708 MAKEINFO="true" \
589 GREP="grep" \ 709 GREP="grep" \
710 FORCE_UNSAFE_CONFIGURE=1 \
590 ./configure \ 711 ./configure \
591 --cache-file=./config.cache \ 712 --cache-file=./config.cache \
592 --prefix=%{l_prefix} \ 713 --prefix=%{l_prefix} \
714 --with-gzip=%{l_prefix}/lib/openpkg/gzip \
715 --with-bzip2=%{l_prefix}/lib/openpkg/bzip2 \
593 --disable-nls 716 --disable-nls
594 ${l_make} || exit $? 717 ${l_make} || exit $?
595 ( mv src/tar ..; ${l_make} clean || true; mv ../tar . ) || exit $? 718 ( mv src/tar ..; ${l_make} clean || true; mv ../tar . ) || exit $?
596 ) || exit $? 719 ) || exit $?
597 l_tar="`pwd`/tar-%{V_tar}/tar"; export l_tar 720 l_tar="`pwd`/tar-%{V_tar}/tar"; export l_tar
599 722
600 # display verbosity header 723 # display verbosity header
601 set +x; VERBOSE "PREPARATION: Unpack Distribution Tarballs"; set -x 724 set +x; VERBOSE "PREPARATION: Unpack Distribution Tarballs"; set -x
602 725
603 # unpack distribution tarballs 726 # unpack distribution tarballs
604 ${l_gzip} -dc `SOURCE rpm-%{V_rpm}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 727 ${l_gzip} -dc `SOURCE rpm-%{V_rpm_major}.%{V_rpm_minor}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
728 ${l_gzip} -dc `SOURCE popt-%{V_popt}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
729 ${l_gzip} -dc `SOURCE sqlite-%{V_sqlite}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
605 ${l_gzip} -dc `SOURCE zlib-%{V_zlib}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 730 ${l_gzip} -dc `SOURCE zlib-%{V_zlib}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
606 ${l_gzip} -dc `SOURCE bzip2-%{V_bzip2}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 731 ${l_gzip} -dc `SOURCE bzip2-%{V_bzip2}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
732 ${l_gzip} -dc `SOURCE xz-%{V_xz}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
607 ${l_gzip} -dc `SOURCE curl-%{V_curl}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 733 ${l_gzip} -dc `SOURCE curl-%{V_curl}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
734 ${l_gzip} -dc `SOURCE pcre-%{V_pcre}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
608 ${l_gzip} -dc `SOURCE make-%{V_make}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 735 ${l_gzip} -dc `SOURCE make-%{V_make}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
609 ${l_gzip} -dc `SOURCE bash-%{V_bash}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 736 ${l_gzip} -dc `SOURCE bash-%{V_bash}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
610 ${l_gzip} -dc `SOURCE uuid-%{V_uuid}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 737 ${l_gzip} -dc `SOURCE uuid-%{V_uuid}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
611 ${l_gzip} -dc `SOURCE beecrypt-%{V_beecrypt}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 738 ${l_gzip} -dc `SOURCE beecrypt-%{V_beecrypt}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
612 ${l_gzip} -dc `SOURCE openpkg-registry-%{V_registry}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
613 ${l_gzip} -dc `SOURCE perl-%{V_perl}-mini.tar.gz` | ${l_tar} xf - 2>/dev/null || true 739 ${l_gzip} -dc `SOURCE perl-%{V_perl}-mini.tar.gz` | ${l_tar} xf - 2>/dev/null || true
614 ${l_gzip} -dc `SOURCE openssl-%{V_openssl}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 740 ${l_gzip} -dc `SOURCE openssl-%{V_openssl}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
615 ${l_gzip} -dc `SOURCE openpkg-tools-%{V_tools}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 741 ${l_gzip} -dc `SOURCE libarchive-%{V_libarchive}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
616 ${l_gzip} -dc `SOURCE openpkg-executable-%{V_exec}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 742 ${l_gzip} -dc `SOURCE diffutils-%{V_diffutils}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
743 ${l_gzip} -dc `SOURCE svs-%{V_svs}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
617 744
618 # update config.guess/config.sub 745 # update config.guess/config.sub
619 for dir in rpm-%{V_rpm} rpm-%{V_rpm}/popt beecrypt-%{V_beecrypt} \ 746 for dir in curl-%{V_curl} make-%{V_make} bash-%{V_bash}/support; do
620 curl-%{V_curl} make-%{V_make} bash-%{V_bash}/support; do
621 chmod u+w $dir/config.guess $dir/config.sub >/dev/null 2>&1 || true 747 chmod u+w $dir/config.guess $dir/config.sub >/dev/null 2>&1 || true
622 cp config/config.guess $dir/ 748 cp config/config.guess $dir/
623 cp config/config.sub $dir/ 749 cp config/config.sub $dir/
624 done 750 done
625 751
626 # display verbosity header 752 # display verbosity header
627 set +x; VERBOSE "PREPARATION: Apply OpenPKG Patches to Distributions"; set -x 753 set +x; VERBOSE "PREPARATION: Apply OpenPKG Patches to Distributions"; set -x
628 754
629 # apply OpenPKG patches to distribution trees 755 # apply OpenPKG patches to distribution trees
630 ( cd rpm-%{V_rpm} 756 ( cd rpm-%{V_rpm_major}.%{V_rpm_minor}
631 sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.bugfix` | ${l_patch} -p0 757 sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch` | ${l_patch} -p0
632 sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.feature` | ${l_patch} -p0
633 sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.porting` | ${l_patch} -p0
634 sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.regen` | ${l_patch} -p0
635 rm -rf db/docs # just reduce disk size of source tree
636 ) || exit $? 758 ) || exit $?
637 ( cd make-%{V_make} 759 ( cd make-%{V_make}
638 ${l_patch} -p0 <`SOURCE make.patch` 760 ${l_patch} -p0 <`SOURCE make.patch`
639 ) || exit $? 761 ) || exit $?
640 ( cd bash-%{V_bash} 762 ( cd bash-%{V_bash}
641 ${l_patch} -p0 <`SOURCE bash.patch` 763 ${l_patch} -p0 <`SOURCE bash.patch`
764 ${l_patch} -p0 <`SOURCE bash.patch.vendor`
642 sleep 1 765 sleep 1
643 touch y.tab.[ch] 766 touch y.tab.[ch]
644 touch configure config.h.in 767 touch configure config.h.in
645 ) || exit $? 768 ) || exit $?
646 ( cd beecrypt-%{V_beecrypt} 769 ( cd beecrypt-%{V_beecrypt}
650 ${l_patch} -p0 <`SOURCE perl.patch` 773 ${l_patch} -p0 <`SOURCE perl.patch`
651 ) || exit $? 774 ) || exit $?
652 ( cd openssl-%{V_openssl} 775 ( cd openssl-%{V_openssl}
653 ${l_patch} -p0 <`SOURCE openssl.patch` 776 ${l_patch} -p0 <`SOURCE openssl.patch`
654 ) || exit $? 777 ) || exit $?
778 ( cd popt-%{V_popt}
779 ${l_patch} -p0 <`SOURCE popt.patch`
780 ) || exit $?
781 ( cd sqlite-%{V_sqlite}
782 ${l_patch} -p0 <`SOURCE sqlite.patch`
783 ) || exit $?
784 ( cd curl-%{V_curl}
785 ${l_patch} -p0 <`SOURCE curl.patch`
786 ) || exit $?
787 ( cd pcre-%{V_pcre}
788 ${l_patch} -p0 <`SOURCE pcre.patch`
789 ) || exit $?
790 ( cd diffutils-%{V_diffutils}
791 ${l_patch} -p0 <`SOURCE diffutils.patch`
792 ) || exit $?
793 ( cd libarchive-%{V_libarchive}
794 ${l_patch} -p0 <`SOURCE libarchive.patch`
795 ) || exit $?
796 ( cd zlib-%{V_zlib}
797 ${l_patch} -p0 <`SOURCE zlib.patch`
798 ) || exit $?
799 ( cd xz-%{V_xz}
800 ${l_patch} -p0 <`SOURCE xz.patch`
801 ) || exit $?
655 802
656 # display verbosity header 803 # display verbosity header
657 set +x; VERBOSE "PREPARATION: Build GNU make (Build Tool)"; set -x 804 set +x; VERBOSE "PREPARATION: Build GNU make (Build Tool)"; set -x
658 805
659 # bootstrap GNU make tool 806 # bootstrap GNU make tool
660 ( cd make-%{V_make} 807 ( cd make-%{V_make}
661 CC="${l_cc}" \ 808 CC="${l_cc}" \
662 GREP="grep" \
663 ./configure \ 809 ./configure \
664 --without-libiconv-prefix \ 810 --without-libiconv-prefix \
665 --without-libintl-prefix \ 811 --without-libintl-prefix \
666 --disable-nls \ 812 --disable-nls \
667 --disable-largefile 813 --disable-largefile
698 echo "ac_cv_func_bindtextdomain=no" 844 echo "ac_cv_func_bindtextdomain=no"
699 echo "ac_cv_lib_intl_bindtextdomain=no" 845 echo "ac_cv_lib_intl_bindtextdomain=no"
700 # disable building with debug symbols 846 # disable building with debug symbols
701 echo "ac_cv_prog_cc_g=no" 847 echo "ac_cv_prog_cc_g=no"
702 ) >config.cache 848 ) >config.cache
703 AUTOCONF="true" \ 849 AUTOCONF="true"
704 CC="${l_cc}" \ 850 export AUTOCONF
705 MAKE="${l_make}" \ 851 CC="${l_cc}"
852 export CC
853 LDFLAGS=""
854 export LDFLAGS
855 case "$plid" in
856 Darwin/* ) LDFLAGS="-Wl,-search_paths_first" ;;
857 esac
706 ./configure \ 858 ./configure \
707 --cache-file=./config.cache \ 859 --cache-file=./config.cache \
708 --prefix=%{l_prefix} \ 860 --prefix=%{l_prefix} \
709 --without-curses \ 861 --without-curses \
710 --without-gnu-malloc \ 862 --without-gnu-malloc \
744 CC="${l_cc}" CFLAGS="-O" ./configure 896 CC="${l_cc}" CFLAGS="-O" ./configure
745 ${l_make} CC="${l_cc}" libz.a || exit $? # intentionally do not pass CFLAGS here 897 ${l_make} CC="${l_cc}" libz.a || exit $? # intentionally do not pass CFLAGS here
746 ) || exit $? 898 ) || exit $?
747 899
748 # display verbosity header 900 # display verbosity header
901 set +x; VERBOSE "BUILD: Build XZ (Compression Library)"; set -x
902
903 # build XZ library
904 ( cd xz-%{V_xz}
905 opts=""
906 case "$plid" in
907 Darwin/* ) opts="--disable-assembler" ;;
908 esac
909 CC="${l_cc}" \
910 CFLAGS="-O" \
911 ./configure \
912 --prefix=%{l_prefix} \
913 --mandir=%{l_prefix}/man \
914 --without-libiconv-prefix \
915 --without-libintl-prefix \
916 --disable-nls \
917 --disable-shared \
918 $opts
919 ${l_make} || exit $?
920 ) || exit $?
921
922 # display verbosity header
749 set +x; VERBOSE "BUILD: Build OSSP uuid (UUID Generation Tool)"; set -x 923 set +x; VERBOSE "BUILD: Build OSSP uuid (UUID Generation Tool)"; set -x
750 924
751 # build OSSP uuid tool 925 # build OSSP uuid tool
752 ( cd uuid-%{V_uuid} 926 ( cd uuid-%{V_uuid}
753 CC="${l_cc}" \ 927 CC="${l_cc}" \
755 GREP="grep" \ 929 GREP="grep" \
756 ./configure \ 930 ./configure \
757 --prefix=%{l_prefix} \ 931 --prefix=%{l_prefix} \
758 --disable-shared 932 --disable-shared
759 ${l_make} || exit $? 933 ${l_make} || exit $?
760 ( mv uuid ..; ${l_make} clean || true; mv ../uuid . ) || exit $?
761 ) || exit $? 934 ) || exit $?
762 935
763 # display verbosity header 936 # display verbosity header
764 set +x; VERBOSE "BUILD: Build Perl (Programming Language)"; set -x 937 set +x; VERBOSE "BUILD: Build Perl (Programming Language)"; set -x
765 938
775 hints/freebsd.sh hints/netbsd.sh 948 hints/freebsd.sh hints/netbsd.sh
776 libdirs="" 949 libdirs=""
777 for dir in %{l_prefix}/lib /lib64 /usr/lib64 /lib /usr/lib /usr/ccs/lib; do 950 for dir in %{l_prefix}/lib /lib64 /usr/lib64 /lib /usr/lib /usr/ccs/lib; do
778 [ -d $dir ] && libdirs="$libdirs $dir" 951 [ -d $dir ] && libdirs="$libdirs $dir"
779 done 952 done
780 loclibs=""
781 case `(uname -s) 2>/dev/null` in
782 Linux ) loclibs="-lm -lrt" ;;
783 esac
784 PATH=$PATH:`echo "${l_make}" | sed -e 's;\(.*\)/[^/][^/]*$;\1;'` \
785 ./Configure \ 953 ./Configure \
786 -d -e -s \ 954 -d -e -s \
787 -Dprefix=%{l_prefix} \ 955 -Dprefix=%{l_prefix} \
788 -Dvendorprefix=%{l_prefix} \ 956 -Dvendorprefix=%{l_prefix} \
789 -Dinstallprefix=%{l_prefix} \ 957 -Dinstallprefix=%{l_prefix} \
794 -Dlocincpth="%{l_prefix}/include" \ 962 -Dlocincpth="%{l_prefix}/include" \
795 -Dloclibpth="%{l_prefix}/lib" \ 963 -Dloclibpth="%{l_prefix}/lib" \
796 -Dldflags="-L""%{l_prefix}/lib" \ 964 -Dldflags="-L""%{l_prefix}/lib" \
797 -Dlibpth="$libdirs" \ 965 -Dlibpth="$libdirs" \
798 -Dglibpth="$libdirs" \ 966 -Dglibpth="$libdirs" \
799 -Dlibs="$loclibs" \
800 -Dscriptdir="%{l_prefix}/bin" \ 967 -Dscriptdir="%{l_prefix}/bin" \
801 -Uinstallusrbinperl \ 968 -Uinstallusrbinperl \
802 -Adefine:useshrplib='false' \ 969 -Adefine:useshrplib='false' \
803 -Ui_malloc -Ui_iconv -Ui_db 970 -Ui_malloc -Ui_iconv -Ui_db
804 ${l_make} miniperl || exit $? 971 case `sh $shtool platform -n -L -S "" -C "+" -F "%<ap>-%<sp>"` in
972 *-cygwin* ) miniperl="miniperl.exe" ;;
973 * ) miniperl="miniperl" ;;
974 esac
975 ${l_make} $miniperl || exit $?
805 rm -f *.o >/dev/null 2>&1 || true 976 rm -f *.o >/dev/null 2>&1 || true
806 ) || exit $? 977 ) || exit $?
807 l_perl="`pwd`/perl-%{V_perl}/miniperl"; export l_perl 978 l_perl="`pwd`/perl-%{V_perl}/miniperl"; export l_perl
808 echo "l_perl=\"$l_perl\"; export l_perl" >>.buildenv 979 echo "l_perl=\"$l_perl\"; export l_perl" >>.buildenv
809 980
840 $opts 1011 $opts
841 ${l_make} CC="${l_cc}" build_libs build_apps || exit $? 1012 ${l_make} CC="${l_cc}" build_libs build_apps || exit $?
842 ( mkdir lib; cd lib; ln -s ../lib*.a . ) || exit $? 1013 ( mkdir lib; cd lib; ln -s ../lib*.a . ) || exit $?
843 ) || exit $? 1014 ) || exit $?
844 1015
1016 # build BSD libarchive
1017 ( cd libarchive-%{V_libarchive}
1018 CC="${l_cc}" \
1019 CFLAGS="-O -D_POSIX_PTHREAD_SEMANTICS" \
1020 CPPFLAGS="-I`pwd`/../zlib-%{V_zlib} -I`pwd`/../bzip2-%{V_bzip2} -I`pwd`/../xz-%{V_xz}/src/liblzma/api -I`pwd`/../openssl-%{V_openssl}/include" \
1021 LDFLAGS="-L`pwd`/../zlib-%{V_zlib} -L`pwd`/../bzip2-%{V_bzip2} -L`pwd`/../xz-%{V_xz}/src/liblzma/.libs -L`pwd`/../openssl-%{V_openssl}" \
1022 GREP="grep" \
1023 ./configure \
1024 --prefix=%{l_prefix} \
1025 --enable-bsdtar \
1026 --enable-bsdcpio \
1027 --with-zlib \
1028 --with-bz2lib \
1029 --with-lzma \
1030 --without-lzmadec \
1031 --with-openssl \
1032 --without-xml2 \
1033 --without-expat \
1034 --without-iconv \
1035 --disable-shared
1036 ${l_make} || exit $?
1037 ( mv bsdcpio bsdtar ..; ${l_make} clean || true; mv ../bsdcpio ../bsdtar . ) || exit $?
1038 ) || exit $?
1039
1040 # build GNU diffutils
1041 ( cd diffutils-%{V_diffutils}
1042 CC="${l_cc}" \
1043 CFLAGS="-O" \
1044 ./configure \
1045 --prefix=%{l_prefix} \
1046 --disable-nls
1047 ${l_make} || exit $?
1048 ( mv src/diff src/diff3 src/sdiff src/cmp ..
1049 ${l_make} clean || true
1050 mv ../diff ../diff3 ../sdiff ../cmp .
1051 ) || exit $?
1052 ) || exit $?
1053
845 # display verbosity header 1054 # display verbosity header
846 set +x; VERBOSE "BUILD: Build cURL (URL Fetching Tool)"; set -x 1055 set +x; VERBOSE "BUILD: Build cURL (URL Fetching Tool)"; set -x
847 1056
848 # build cURL tool 1057 # build cURL tool
849 ( cd curl-%{V_curl} 1058 ( cd curl-%{V_curl}
850 ( echo 'ac_cv_header_openssl_engine_h=no' 1059 ( echo 'ac_cv_header_openssl_engine_h=no'
851 echo 'lt_cv_prog_compiler_c_o_F77=no' 1060 echo 'lt_cv_prog_compiler_c_o_F77=no'
852 echo 'lt_cv_sys_max_cmd_len=100' 1061 echo 'lt_cv_sys_max_cmd_len=100'
853 ) >config.cache 1062 ) >config.cache
854 CC="${l_cc}" \ 1063 CC="${l_cc}" \
855 MAKE="${l_make}" \
856 CFLAGS="-I`pwd`/../zlib-%{V_zlib}" \ 1064 CFLAGS="-I`pwd`/../zlib-%{V_zlib}" \
857 CPPFLAGS="-I`pwd`/../zlib-%{V_zlib}" \ 1065 CPPFLAGS="-I`pwd`/../zlib-%{V_zlib}" \
858 LDFLAGS="-L`pwd`/../zlib-%{V_zlib}" \ 1066 LDFLAGS="-L`pwd`/../zlib-%{V_zlib}" \
859 GREP="grep" \ 1067 GREP="grep" \
860 ./configure \ 1068 ./configure \
866 --disable-ldap \ 1074 --disable-ldap \
867 --with-zlib=`pwd`/../zlib-%{V_zlib} \ 1075 --with-zlib=`pwd`/../zlib-%{V_zlib} \
868 --with-ssl=`pwd`/../openssl-%{V_openssl} \ 1076 --with-ssl=`pwd`/../openssl-%{V_openssl} \
869 --with-ca-bundle=%{l_prefix}/etc/openpkg/openpkg.x509 1077 --with-ca-bundle=%{l_prefix}/etc/openpkg/openpkg.x509
870 ${l_make} || exit $? 1078 ${l_make} || exit $?
871 ( mv src/curl ..; ${l_make} clean || true; mv ../curl ./src ) || exit $? 1079 mv src/curl ..; ${l_make} clean || true; mv ../curl .
1080 ) || exit $?
1081
1082 # build PCRE library
1083 ( cd pcre-%{V_pcre}
1084 CC="${l_cc}" \
1085 GREP="grep" \
1086 ./configure \
1087 --disable-cpp \
1088 --disable-utf8 \
1089 --disable-shared
1090 ${l_make} || exit $?
872 ) || exit $? 1091 ) || exit $?
873 1092
874 # display verbosity header 1093 # display verbosity header
875 set +x; VERBOSE "BUILD: Build BeeCrypt (Cryptography Library)"; set -x 1094 set +x; VERBOSE "BUILD: Build BeeCrypt (Cryptography Library)"; set -x
876 1095
877 # build BeeCrypt library 1096 # build BeeCrypt library
878 ( cd beecrypt-%{V_beecrypt} 1097 ( cd beecrypt-%{V_beecrypt}
879 sh $shtool subst \ 1098 sh $shtool subst \
880 -e 's;^[ ][ ]*#;#;' \ 1099 -e 's;^[ ][ ]*#;#;' \
881 aes.c base64.c blowfish.c entropy.c fips186.c fips186.h md5.c \ 1100 aes.c base64.c blockmode.c blowfish.c entropy.c fips186.c md4.c md5.c \
882 md5.h mp.c mtprng.c mtprng.h sha1.c sha1.h sha256.c sha256.h timestamp.c 1101 mp.c mtprng.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c \
1102 sha1.c sha224.c sha256.c sha2k64.c sha384.c sha512.c timestamp.c
883 sh $shtool subst \ 1103 sh $shtool subst \
884 -e 's;cppglue\.lo;;g' \ 1104 -e 's;cppglue\.lo;;g' \
885 -e 's;cppglue\.cxx;;g' \ 1105 -e 's;cppglue\.cxx;;g' \
886 -e '/^CXX = /s;@CXX@;@CC@;g' \ 1106 -e '/^CXX = /s;@CXX@;@CC@;g' \
887 Makefile.in 1107 Makefile.in
888 sh $shtool subst \
889 -e '/LINENO: error: C[+]* preprocessor/{N;N;N;N;s/.*/:/;}' \
890 configure
891 ( echo 'ac_cv_have_dev_dsp=no' 1108 ( echo 'ac_cv_have_dev_dsp=no'
892 echo 'ac_cv_have_dev_audio=no' 1109 echo 'ac_cv_have_dev_audio=no'
893 echo 'ac_cv_func_gettimeofday=yes' 1110 echo 'ac_cv_func_gettimeofday=yes'
894 echo 'bc_cv_as_noexecstack=no' 1111 echo 'bc_cv_as_noexecstack=no'
895 ) >config.cache 1112 ) >config.cache
896 CC="${l_cc}" \ 1113 CC="${l_cc}" \
897 MAKE="${l_make}" \
898 CFLAGS="-O" \ 1114 CFLAGS="-O" \
899 ./configure \ 1115 ./configure \
900 --cache-file=./config.cache \ 1116 --cache-file=./config.cache \
901 --prefix=%{l_prefix} \ 1117 --prefix=%{l_prefix} \
1118 --with-cpu=none \
1119 --with-arch=none \
902 --without-cplusplus \ 1120 --without-cplusplus \
903 --without-java \ 1121 --without-java \
904 --without-python \ 1122 --without-python \
905 --with-cpu=none \ 1123 --disable-expert-mode \
906 --with-arch=none \ 1124 --disable-aio \
1125 --disable-openmp \
907 --disable-threads \ 1126 --disable-threads \
908 --disable-shared 1127 --disable-shared
909 ${l_make} || exit $? 1128 ${l_make} || exit $?
910 cp .libs/libbeecrypt.a . 1129 cp .libs/libbeecrypt.a .
911 ) || exit $? 1130 ) || exit $?
912 1131
913 # display verbosity header 1132 # display verbosity header
1133 set +x; VERBOSE "BUILD: Build POPT (Option Parsing Library)"; set -x
1134
1135 # build POPT library
1136 ( cd popt-%{V_popt}
1137 CC="${l_cc}" \
1138 CPPFLAGS="-DOPENPKG -DPOPT_fprintf=fprintf" \
1139 GREP="grep" \
1140 ./configure \
1141 --prefix=%{l_prefix} \
1142 --disable-shared \
1143 --with-included-gettext \
1144 --without-libintl-prefix \
1145 --without-libiconv-prefix \
1146 --disable-nls
1147 ${l_make}
1148 ) || exit $?
1149
1150 # display verbosity header
1151 set +x; VERBOSE "BUILD: Build SQLite (RDBMS Library)"; set -x
1152
1153 # build SQLite library
1154 ( cd sqlite-%{V_sqlite}
1155 CC="${l_cc}" \
1156 LIBS="-lm" \
1157 GREP="grep" \
1158 ./configure \
1159 --prefix=%{l_prefix} \
1160 --disable-threadsafe \
1161 --disable-readline \
1162 --disable-debug \
1163 --disable-amalgamation \
1164 --disable-tcl \
1165 --disable-shared
1166 ${l_make}
1167 ) || exit $?
1168
1169 # display verbosity header
914 set +x; VERBOSE "BUILD: Build RPM (RPM Package Manager)"; set -x 1170 set +x; VERBOSE "BUILD: Build RPM (RPM Package Manager)"; set -x
915 1171
916 # build RPM 1172 # build RPM
917 ( br=`pwd` 1173 ( br=`pwd`
918 cd rpm-%{V_rpm} 1174 cd rpm-%{V_rpm_major}.%{V_rpm_minor}
919
920 # remove object files accidentally distributed with the RPM tarball
921 rm -f db/build_unix/*.o
922 rm -f db/build_unix/*.lo
923
924 # remove embedded zlib (we are linking with an external one)
925 rm -rf zlib
926
927 # kill Linux-based preconfigured DB header, to allow the Makefiles to
928 # symlink to it the header that is configured for the current system.
929 rm -f rpmdb/db.h
930
931 # make sure we do not trigger Autoconf/Automake tools
932 touch configure
933 touch config.h.in
934
935 # disable running of any Autoconf/Automake tools
936 ACLOCAL=true
937 AUTOCONF=true
938 AUTOMAKE=true
939 AUTOHEADER=true
940 MAKEINFO=true
941 AMTAR=true
942 export ACLOCAL AUTOMAKE AUTOHEADER MAKEINFO AMTAR
943 1175
944 # cheat GNU Autoconf 1176 # cheat GNU Autoconf
945 ( echo 'ac_cv_path_MSGFMT=:' 1177 ( echo 'ac_cv_path_MSGFMT=:'
946 echo 'ac_cv_path_GMSGFMT=:' 1178 echo 'ac_cv_path_GMSGFMT=:'
947 echo 'ac_cv_path_XGETTEXT=:' 1179 echo 'ac_cv_path_XGETTEXT=:'
948 echo 'ac_cv_path_MSGMERGE=:' 1180 echo 'ac_cv_path_MSGMERGE=:'
949 echo "ac_cv_path_MKDIR='%{l_prefix}/lib/openpkg/shtool mkdir -f -p -m 755'"
950 echo "ac_cv_path___MKDIR='%{l_prefix}/lib/openpkg/shtool mkdir -f -p -m 755'"
951 echo "ac_cv_path___PYTHON=true"
952 echo "ac_cv_path___DOXYGEN=true"
953 echo "acl_cv_rpath=no"
954 echo "ac_cv_header_getopt_h=no" 1181 echo "ac_cv_header_getopt_h=no"
1182 echo "ac_cv_lib_gz_gzread=no"
955 ) >config.cache 1183 ) >config.cache
956 1184
957 # provide platform identification 1185 # use miniperl
958 os_name=`(uname -s) 2>/dev/null` || os_name='Unknown' 1186 PERL="${l_perl}"
959 os_name=`echo "${os_name}" |\ 1187 export PERL
960 sed -e 's;[^a-zA-Z0-9];;g' |\
961 tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
962 1188
963 # set build tool flags 1189 # set build tool flags
964 CC="${l_cc}" 1190 CC="${l_cc}"
965 CPPFLAGS="-DOPENPKG -DOPENPKG_${os_name} -I$br/zlib-%{V_zlib} -I$br/bzip2-%{V_bzip2} -I$br/beecrypt-%{V_beecrypt}" 1191 CFLAGS=""
966 CFLAGS="$CPPFLAGS" 1192 CPPFLAGS="-DRPM_VENDOR_OPENPKG"
967 LDFLAGS="-L$br/zlib-%{V_zlib} -L$br/bzip2-%{V_bzip2} -L$br/beecrypt-%{V_beecrypt}" 1193 LDFLAGS=""
968 LIBS="$LDFLAGS -lz -lbz2 -lbeecrypt" 1194 LIBS=""
969 case $os_name in 1195 LIBS="$LIBS -lm"
970 SUNOS* ) LIBS="$LIBS -lresolv" ;; 1196 export CC
971 IRIX* ) LIBS="$LIBS -lgen" ;; 1197 export CFLAGS
972 esac 1198 export CPPFLAGS
973 export CC CPPFLAGS CFLAGS LDFLAGS LIBS 1199 export LDFLAGS
974 1200 export LIBS
975 # adjust for BeeCrypt 4.0 1201
1202 # special platform workarounds
1203 GREP="grep"
1204 export GREP
1205
1206 # determine POPT option, RPM macros and Lua script file paths
1207 RPMPOPT="%{l_prefix}/lib/openpkg/rpmpopt"
1208 RPMPOPT="$RPMPOPT:%{l_prefix}/etc/openpkg/rpmpopt"
1209 RPMPOPT="$RPMPOPT:%{l_prefix}/etc/openpkg/rpmpopt.d/*"
1210 RPMPOPT="$RPMPOPT:~/.openpkg/rpmpopt"
1211 RPMPOPT="$RPMPOPT:@../../.openpkg/rpmpopt"
1212 RPMPOPT="$RPMPOPT:@../.openpkg/rpmpopt"
1213 RPMPOPT="$RPMPOPT:@./.openpkg/rpmpopt"
1214 RPMMACROS="%{l_prefix}/lib/openpkg/rpmmacros"
1215 RPMMACROS="$RPMMACROS:%{l_prefix}/etc/openpkg/rpmmacros"
1216 RPMMACROS="$RPMMACROS:%{l_prefix}/etc/openpkg/rpmmacros.d/*"
1217 RPMMACROS="$RPMMACROS:~/.openpkg/rpmmacros"
1218 RPMMACROS="$RPMMACROS:@../../.openpkg/rpmmacros"
1219 RPMMACROS="$RPMMACROS:@../.openpkg/rpmmacros"
1220 RPMMACROS="$RPMMACROS:@./.openpkg/rpmmacros"
1221 RPMLUA="%{l_prefix}/lib/openpkg/rpmlua"
1222 RPMLUA="$RPMLUA:%{l_prefix}/etc/openpkg/rpmlua"
1223 RPMLUA="$RPMLUA:%{l_prefix}/etc/openpkg/rpmlua.d/*"
1224 RPMLUA="$RPMLUA:~/.openpkg/rpmlua"
1225 RPMLUA="$RPMLUA:@../../.openpkg/rpmlua"
1226 RPMLUA="$RPMLUA:@../.openpkg/rpmlua"
1227 RPMLUA="$RPMLUA:@./.openpkg/rpmlua"
1228
1229 # parametrize integrity checking framework
976 sh $shtool subst \ 1230 sh $shtool subst \
977 -e 's;beecrypt\.api\.h;beecrypt.h;g' \ 1231 -e "s;0000000000000000000000000000000000000000;7D121A8FC05DC18A4329E9EF67042EC961B7AE34;" \
978 rpmio/rpmio_internal.h 1232 -e "s;0\\.0\\.0;0.9.0;" \
1233 rpmqv.c
1234
1235 # disable building of any tests
1236 # (mainly because those would fail because of integrity checking anyway)
979 sh $shtool subst \ 1237 sh $shtool subst \
980 -e 's;\(rsavrfy(\)\(&dig->rsa_pk\);\1\2.n, \2.e;g' \ 1238 -e 's;tools scripts tests doc;tools scripts doc;' \
981 lib/signature.c
982 sh $shtool subst \
983 -e 's;\(^LIBS =\)[ \t]*;\1 -ldb;' \
984 -e 's;\(^rpmdb_[^_][^_]*_LDFLAGS =\)[ \t]*;\1 -L$(top_srcdir)/db3;g' \
985 rpmdb/Makefile.in
986 sh $shtool subst \
987 -e 's;\(^myLDFLAGS =\);\1 -L$(top_srcdir)/db3;' \
988 Makefile.in 1239 Makefile.in
989 1240
990 # configure the package 1241 # configure program
991 MAKE="${l_make}" \ 1242 ./configure \
992 sh ./configure \
993 --cache-file=./config.cache \ 1243 --cache-file=./config.cache \
994 --prefix=%{l_prefix} \ 1244 --prefix=%{l_prefix} \
995 --with-db \ 1245 --mandir="%{l_prefix}/man" \
996 --with-glob \ 1246 --includedir="%{l_prefix}/include/openpkg" \
1247 --with-name="OpenPKG RPM" \
1248 --with-path-cfg="%{l_prefix}/etc/openpkg" \
1249 --with-path-rpmpopt="$RPMPOPT" \
1250 --with-path-macros="$RPMMACROS" \
1251 --with-path-rpmlua="$RPMLUA" \
1252 --with-path-lib="%{l_prefix}/lib/openpkg" \
1253 --with-path-locale="%{l_prefix}/share/openpkg/locale" \
1254 --with-path-database="%{l_prefix}/RPM/DB" \
1255 --with-path-sources="%{l_prefix}/RPM" \
1256 --with-bugreport="openpkg-users@openpkg.org" \
1257 --with-beecrypt="$br/beecrypt-%{V_beecrypt}" \
1258 --with-openssl="$br/openssl-%{V_openssl}" \
1259 --with-zlib="$br/zlib-%{V_zlib}" \
1260 --with-bzip2="$br/bzip2-%{V_bzip2}" \
1261 --with-popt="$br/popt-%{V_popt}" \
1262 --with-sqlite="$br/sqlite-%{V_sqlite}" \
1263 --with-pcre="$br/pcre-%{V_pcre}" \
1264 --with-uuid="$br/uuid-%{V_uuid}" \
1265 --with-lua="internal" \
1266 --with-db="internal" \
1267 --without-db-rpc \
1268 --without-db-largefile \
1269 --with-db-tools-integrated \
1270 --with-db-mutex="UNIX/fcntl" \
1271 --without-file \
1272 --without-neon \
1273 --without-pthreads \
1274 --without-libelf \
1275 --without-selinux \
1276 --without-perl \
997 --without-python \ 1277 --without-python \
998 --without-apidocs \ 1278 --without-apidocs \
1279 --disable-build-warnings \
1280 --disable-build-extlibdep \
1281 --disable-build-intlibdep \
1282 --disable-build-lafiles \
999 --disable-shared \ 1283 --disable-shared \
1000 --disable-rpath \ 1284 --disable-rpath \
1001 --disable-nls 1285 --disable-nls
1002 1286
1003 # deny automatic dependency calculations 1287 # build program
1004 rm -f find-provides find-requires
1005 ln -s autodeps/none find-provides
1006 ln -s autodeps/none find-requires
1007
1008 # build the package
1009 ${l_make} 1288 ${l_make}
1010 ) || exit $? 1289 ) || exit $?
1011 1290
1012 # display verbosity header 1291 # display verbosity header
1013 set +x; VERBOSE "BUILD: Build OpenPKG Frontend (Set-UID Wrapper)"; set -x 1292 set +x; VERBOSE "BUILD: Build OpenPKG Frontend (Set-UID Wrapper)"; set -x
1014 1293
1015 # build "openpkg" executable 1294 # build "openpkg" executable
1016 ( cd openpkg-executable-%{V_exec} 1295 ${l_make} -f `SOURCE openpkg.mk` \
1017 ${l_make} \
1018 CC="${l_cc}" \ 1296 CC="${l_cc}" \
1019 OPENPKG_PREFIX="%{l_prefix}" \ 1297 OPENPKG_PREFIX="%{l_prefix}" \
1020 OPENPKG_SUSR="%{l_susr}" \ 1298 OPENPKG_SUSR="%{l_susr}" \
1021 OPENPKG_MUSR="%{l_musr}" 1299 OPENPKG_MUSR="%{l_musr}" \
1022 ) || exit $? 1300 OPENPKG_DOT_C="`SOURCE openpkg.c`"
1301
1302 # display verbosity header
1303 set +x; VERBOSE "BUILD: Build OpenPKG Mutual Exclusion (MutEx) Utility"; set -x
1304
1305 # build "mutex" executable
1306 ${l_make} -f `SOURCE mutex.mk` \
1307 CC="${l_cc}" \
1308 CPPFLAGS="-Ipopt-%{V_popt}" \
1309 LDFLAGS="-Lpopt-%{V_popt} -Lpopt-%{V_popt}/.libs" \
1310 MUTEX_DOT_C="`SOURCE mutex.c`"
1023 1311
1024 %install 1312 %install
1025 # skip in bootstrap phase 2 (see openpkg.boot) 1313 # skip in bootstrap phase 2 (see openpkg.boot)
1026 [ ".$OPENPKG_BOOT" = .1 ] && exit 0 1314 [ ".$OPENPKG_BOOT" = .1 ] && exit 0
1027 1315
1055 test -d $RPM_BUILD_ROOT%{l_prefix}/local/man/cat$i || \ 1343 test -d $RPM_BUILD_ROOT%{l_prefix}/local/man/cat$i || \
1056 mkdir $RPM_BUILD_ROOT%{l_prefix}/local/man/cat$i 1344 mkdir $RPM_BUILD_ROOT%{l_prefix}/local/man/cat$i
1057 done 1345 done
1058 test -d $RPM_BUILD_ROOT%{l_prefix}/RPM || \ 1346 test -d $RPM_BUILD_ROOT%{l_prefix}/RPM || \
1059 mkdir $RPM_BUILD_ROOT%{l_prefix}/RPM 1347 mkdir $RPM_BUILD_ROOT%{l_prefix}/RPM
1060 for dir in SRC PKG DB TMP; do 1348 for dir in SRC PKG DB TR TMP; do
1061 test -d $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir || \ 1349 test -d $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir || \
1062 mkdir $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir 1350 mkdir $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir
1063 done 1351 done
1064 mkdir $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg 1352 mkdir $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg
1065 mkdir $RPM_BUILD_ROOT%{l_prefix}/include/openpkg
1066 1353
1067 # display verbosity header 1354 # display verbosity header
1068 set +x; VERBOSE "INSTALL: Installation of RPM"; set -x 1355 set +x; VERBOSE "INSTALL: Installation of RPM"; set -x
1069 1356
1070 # install RPM into installation hierarchy 1357 # install RPM into installation hierarchy
1071 ( cd rpm-%{V_rpm} 1358 ( cd rpm-%{V_rpm_major}.%{V_rpm_minor}
1072 DESTDIR="$RPM_BUILD_ROOT" 1359 ${l_make} install DESTDIR="$RPM_BUILD_ROOT"
1073 export DESTDIR 1360 cp lua/rpmlua $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/lua
1074 ${l_make} install 1361 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/lua
1075 ) || exit $? 1362 ) || exit $?
1363
1364 # post-adjust RPM installation
1365 mv $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/macros \
1366 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmmacros
1076 1367
1077 # display verbosity header 1368 # display verbosity header
1078 set +x; VERBOSE "INSTALL: Install Additional Files"; set -x 1369 set +x; VERBOSE "INSTALL: Install Additional Files"; set -x
1079 1370
1080 # add additional development files 1371 # add additional development files
1081 cp rpm-%{V_rpm}/misc/glob.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/ 1372 cp rpm-%{V_rpm_major}.%{V_rpm_minor}/rpmio/glob.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
1082 cp zlib-%{V_zlib}/zlib.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/ 1373 cp zlib-%{V_zlib}/zlib.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
1083 cp zlib-%{V_zlib}/zconf.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/ 1374 cp zlib-%{V_zlib}/zconf.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
1084 cp zlib-%{V_zlib}/libz.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmz.a 1375 cp zlib-%{V_zlib}/libz.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmz.a
1085 cp bzip2-%{V_bzip2}/bzlib.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/ 1376 cp bzip2-%{V_bzip2}/bzlib.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
1086 cp bzip2-%{V_bzip2}/libbz2.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmbz2.a 1377 cp bzip2-%{V_bzip2}/libbz2.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmbz2.a
1087 cp beecrypt-%{V_beecrypt}/beecrypt.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/ 1378 cp beecrypt-%{V_beecrypt}/include/beecrypt/beecrypt.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
1088 cp beecrypt-%{V_beecrypt}/libbeecrypt.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmbeecrypt.a 1379 cp beecrypt-%{V_beecrypt}/libbeecrypt.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmbeecrypt.a
1380 cp popt-%{V_popt}/popt.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
1381 cp popt-%{V_popt}/.libs/libpopt.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmpopt.a
1382 cp sqlite-%{V_sqlite}/sqlite3.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
1383 cp sqlite-%{V_sqlite}/.libs/libsqlite3.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmsqlite3.a
1089 1384
1090 # display verbosity header 1385 # display verbosity header
1091 set +x; VERBOSE "INSTALL: Post-Adjust Installation"; set -x 1386 set +x; VERBOSE "INSTALL: Post-Adjust Installation"; set -x
1092 1387
1093 # post-adjust RPM installation (namespace-clean POPT inclusion)
1094 mv $RPM_BUILD_ROOT%{l_prefix}/lib/libpopt.a \
1095 $RPM_BUILD_ROOT%{l_prefix}/lib/librpmpopt.a
1096 mv $RPM_BUILD_ROOT%{l_prefix}/include/popt.h \
1097 $RPM_BUILD_ROOT%{l_prefix}/include/rpm/popt.h
1098
1099 # move C API into custom locations 1388 # move C API into custom locations
1100 mv $RPM_BUILD_ROOT%{l_prefix}/include/rpm \
1101 $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm
1102 mv $RPM_BUILD_ROOT%{l_prefix}/lib/librpm* \ 1389 mv $RPM_BUILD_ROOT%{l_prefix}/lib/librpm* \
1103 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/ 1390 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/
1391 mv $RPM_BUILD_ROOT%{l_prefix}/lib/pkgconfig/rpm.pc \
1392 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/
1393 # FIXME: does the rpm.pc really work this way?
1104 1394
1105 # move rpm tool to custom location 1395 # move rpm tool to custom location
1106 mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm \ 1396 mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm \
1107 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm 1397 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm
1108 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpm.8 \ 1398 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpm.8 \
1109 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm.8 1399 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm.8
1400 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm >/dev/null 2>&1 || true
1110 1401
1111 # move rpm2cpio tool to custom location 1402 # move rpm2cpio tool to custom location
1112 mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm2cpio \ 1403 mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm2cpio \
1113 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio 1404 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio
1114 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpm2cpio.8 \ 1405 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpm2cpio.8 \
1115 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio.8 1406 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio.8
1116 1407 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio >/dev/null 2>&1 || true
1117 # replace symlinks with hardlinks 1408
1118 for entry in rpme:rpmi rpmt:rpmb rpmu:rpmi rpmv:rpmq; do 1409 # move rpmconstant tool to custom location
1119 eval `echo $entry | sed -e 's/^\(.*\):\(.*\)$/dst=\1; src=\2/'` 1410 mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpmconstant \
1120 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$dst 1411 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmconstant
1121 ln $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$src \ 1412 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmconstant.8 \
1122 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$dst 1413 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmconstant.8
1123 done 1414 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmconstant >/dev/null 2>&1 || true
1124 rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/rpmbuild 1415
1125 ln $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmb \ 1416 # move rpmcache tool to custom location
1126 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmbuild 1417 mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpmcache \
1418 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmcache
1419 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmcache.8 \
1420 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmcache.8
1421 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmcache >/dev/null 2>&1 || true
1422
1423 # move rpmgrep tool to custom location
1424 mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpmgrep \
1425 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgrep
1426 mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/rpmgrep.1 \
1427 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgrep.1
1428 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgrep >/dev/null 2>&1 || true
1429
1430 # move manual pages to custom location
1431 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmdeps.8 \
1432 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmdeps.8
1433 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmgraph.8 \
1434 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgraph.8
1127 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmbuild.8 \ 1435 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmbuild.8 \
1128 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmbuild.8 1436 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmbuild.8
1129 1437
1130 # display verbosity header 1438 # display verbosity header
1131 set +x; VERBOSE "INSTALL: Stripping Down Installation"; set -x 1439 set +x; VERBOSE "INSTALL: Stripping Down Installation"; set -x
1132 1440
1133 # strip RPM installation 1441 # strip RPM installation
1134 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/bin/* \ 1442 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/bin/* \
1135 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/* >/dev/null 2>&1 || true 1443 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/* >/dev/null 2>&1 || true
1136 for dir in man/ja man/pl man/ru man/sk src; do 1444 for file in rpmbuild gendiff; do
1137 rm -rf $RPM_BUILD_ROOT%{l_prefix}/$dir >/dev/null 2>&1 || true
1138 done
1139 rm -rf $RPM_BUILD_ROOT/var >/dev/null 2>&1 || true
1140 for file in rpme rpmi rpmsign rpmu rpmverify rpmquery gendiff; do
1141 rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/$file >/dev/null 2>&1 || true 1445 rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/$file >/dev/null 2>&1 || true
1142 done 1446 done
1143 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/* >/dev/null 2>&1 || true 1447 for dir in RPMS SRPMS SPEC SOURCES BUILD; do
1448 rm -rf $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir >/dev/null 2>&1 || true
1449 done
1144 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/* >/dev/null 2>&1 || true 1450 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/* >/dev/null 2>&1 || true
1145 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man3/* >/dev/null 2>&1 || true 1451 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man3/* >/dev/null 2>&1 || true
1146 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/rpmpopt >/dev/null 2>&1 || true
1147 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/rpmrc >/dev/null 2>&1 || true
1148 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/lib*.la >/dev/null 2>&1 || true 1452 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/lib*.la >/dev/null 2>&1 || true
1149 rm -rf $RPM_BUILD_ROOT%{l_prefix}/var/lib >/dev/null 2>&1 || true 1453 rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/pkgconfig >/dev/null 2>&1 || true
1150 for file in \ 1454 for file in \
1151 u_pkg.sh vpkg-provides.sh vpkg-provides2.sh rpmdiff.cgi rpmdiff \ 1455 brp-compress brp-python-bytecompile brp-java-gcjcompile brp-strip brp-strip-comment-note \
1152 mkinstalldirs magic.prov magic.req http.req getpo.sh \ 1456 brp-nobuildrootpath brp-strip-shared brp-strip-static-archive brp-sparc64-linux check-files \
1153 get_magic.pl find-provides find-requires find-requires.perl \ 1457 cross-build executabledeps.sh find-debuginfo.sh find-lang.sh find-prov.pl find-req.pl \
1154 find-req.pl find-provides.perl find-prov.pl find-lang.sh \ 1458 find-provides.perl find-requires.perl getpo.sh http.req javadeps.sh libtooldeps.sh mono-find-provides \
1155 cpanflute convertrpmrc.sh check-prereqs rpmputtext rpmgettext \ 1459 mono-find-requires osgideps.pl pkgconfigdeps.sh perldeps.pl perl.prov perl.req pythondeps.sh \
1156 brp-compress brp-redhat brp-sparc64-linux brp-strip \ 1460 php.prov php.req rpmdb_loadcvt rpm.daily rpm.log rpm.xinetd symclash.py symclash.sh tgpg u_pkg.sh \
1157 brp-strip-shared brp-strip-comment-note rpmrc \ 1461 vpkg-provides.sh vpkg-provides2.sh install-sh mkinstalldirs; do
1158 config.guess config.sub check-files; do 1462 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$file >/dev/null 2>&1 || true
1463 done
1464 for file in \
1465 db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load \
1466 db_printlog db_recover db_stat db_upgrade db_verify; do
1159 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$file >/dev/null 2>&1 || true 1467 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$file >/dev/null 2>&1 || true
1160 done 1468 done
1161 1469
1162 # display verbosity header 1470 # display verbosity header
1163 set +x; VERBOSE "INSTALL: Install Additional Tools"; set -x 1471 set +x; VERBOSE "INSTALL: Install Additional Tools"; set -x
1178 ( l_prefix="%{l_prefix}" 1486 ( l_prefix="%{l_prefix}"
1179 l_cc="%{l_cc}" 1487 l_cc="%{l_cc}"
1180 l_cflags="" 1488 l_cflags=""
1181 l_cppflags="-DOPENPKG -I${l_prefix}/include/openpkg/rpm -I${l_prefix}/include/openpkg" 1489 l_cppflags="-DOPENPKG -I${l_prefix}/include/openpkg/rpm -I${l_prefix}/include/openpkg"
1182 l_ldflags="-L${l_prefix}/lib/openpkg" 1490 l_ldflags="-L${l_prefix}/lib/openpkg"
1183 l_libs="-lrpmbuild -lrpm -lrpmio -lrpmdb -lrpmpopt -lrpmbeecrypt -lrpmbz2 -lrpmz" 1491 l_libs="-lrpmbuild -lrpm -lrpmio -lrpmdb -lrpmmisc -lrpmsqlite3 -lrpmpopt -lrpmbeecrypt -lrpmbz2 -lrpmz"
1184 sed -e "s:@l_prefix@:%{l_prefix}:g" \ 1492 sed -e "s:@l_prefix@:%{l_prefix}:g" \
1185 -e "s:@l_cc@:$l_cc:g" \ 1493 -e "s:@l_cc@:$l_cc:g" \
1186 -e "s:@l_cflags@:$l_cflags:g" \ 1494 -e "s:@l_cflags@:$l_cflags:g" \
1187 -e "s:@l_cppflags@:$l_cppflags:g" \ 1495 -e "s:@l_cppflags@:$l_cppflags:g" \
1188 -e "s:@l_ldflags@:$l_ldflags:g" \ 1496 -e "s:@l_ldflags@:$l_ldflags:g" \
1189 -e "s:@l_libs@:$l_libs:g" \ 1497 -e "s:@l_libs@:$l_libs:g" \
1190 -e "s:@l_version@:%{V_rpm}:g" \ 1498 -e "s:@l_version@:%{V_rpm_major}.%{V_rpm_minor}:g" \
1191 <`SOURCE rpm-config.sh` \ 1499 <`SOURCE rpm-config.sh` \
1192 >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config 1500 >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config
1193 ) || exit $? 1501 ) || exit $?
1194 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config 1502 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config
1195 sed -e "s:RPM_VERSION:%{V_rpm}:g" \ 1503 sed -e "s:RPM_VERSION:%{V_rpm_major}.%{V_rpm_minor}:g" \
1196 <`SOURCE rpm-config.8` \ 1504 <`SOURCE rpm-config.8` \
1197 >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config.8 1505 >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config.8
1198 1506
1199 # install OpenPKG registry commands 1507 # install OpenPKG registry commands
1200 ( cd openpkg-registry-%{V_registry} 1508 mv $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm \
1201 mv $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm \ 1509 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpm
1202 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpm 1510 sed -e "s;@l_prefix@;%{l_prefix};g" \
1203 sed -e "s;@l_prefix@;%{l_prefix};g" \ 1511 `SOURCE rpm.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm
1204 rpm.sh >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm 1512 chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm
1205 chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm 1513 sed -e "s;@l_prefix@;%{l_prefix};g" \
1206 sed -e "s;@l_prefix@;%{l_prefix};g" \ 1514 `SOURCE register.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register
1207 register.sh >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register 1515 chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register
1208 chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register 1516 cp `SOURCE register.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register.8
1209 cp register.8 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register.8 1517
1210 ) || exit $? 1518 # allow GNU shtool to be called as "openpkg shtool" from external, too.
1211 1519 sed -e "s;@l_prefix@;%{l_prefix};g" \
1212 # install OpenPKG Tool Chain command subset 1520 `SOURCE shtool.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/shtool.sh
1213 ( cd openpkg-tools-%{V_tools} 1521 chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/shtool.sh
1214 cp cmd/curl.sh $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/curl.sh 1522
1215 cp cmd/build.pl $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl 1523 # install OpenPKG tool chain command subset
1216 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl 1524 cp `SOURCE curl.sh` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/curl.sh
1217 cp cmd/build.8 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.8 1525 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/curl.sh
1218 ) || exit $? 1526 cp `SOURCE build.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl
1527 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl
1528 cp `SOURCE build.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.8
1529 cp `SOURCE index.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.pl
1530 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.pl
1531 cp `SOURCE index.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.8
1532 cp `SOURCE search.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/search.pl
1533 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/search.pl
1534 cp `SOURCE search.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/search.8
1535 cp `SOURCE mirror.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/mirror.pl
1536 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/mirror.pl
1537 cp `SOURCE mirror.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/mirror.8
1538 cp `SOURCE makeproxy.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/makeproxy.pl
1539 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/makeproxy.pl
1540 cp `SOURCE makeproxy.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/makeproxy.8
1541 cp `SOURCE lint-fsl.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-fsl.pl
1542 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-fsl.pl
1543 cp `SOURCE lint-rc.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rc.pl
1544 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rc.pl
1545 cp `SOURCE lint-rpm.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rpm.pl
1546 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rpm.pl
1547 cp `SOURCE lint-spec.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-spec.pl
1548 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-spec.pl
1549 cp `SOURCE dev.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/dev.pl
1550 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/dev.pl
1551 cp `SOURCE dev.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/dev.8
1552 cp `SOURCE sea.sh` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/sea.sh
1553 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/sea.sh
1554 cp `SOURCE sea.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/sea.8
1555 cp `SOURCE stack.sh` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/stack.sh
1556 chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/stack.sh
1557 cp `SOURCE stack.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/stack.8
1219 1558
1220 # install RPM extension 1559 # install RPM extension
1221 ( cd rpm-%{V_rpm}
1222 cp file/file $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/file
1223 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/file
1224 ) || exit $?
1225 ( cd perl-%{V_perl} 1560 ( cd perl-%{V_perl}
1226 cp miniperl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/miniperl 1561 cp miniperl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/miniperl
1227 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/miniperl 1562 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/miniperl
1228 ) || exit $? 1563 ) || exit $?
1229 ( cd openssl-%{V_openssl} 1564 ( cd openssl-%{V_openssl}
1230 cp apps/openssl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/openssl 1565 cp apps/openssl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/openssl
1231 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/openssl 1566 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/openssl
1232 ) || exit $? 1567 ) || exit $?
1233 ( cd curl-%{V_curl} 1568 ( cd curl-%{V_curl}
1234 cp src/curl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/curl 1569 cp curl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/curl
1235 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/curl 1570 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/curl
1236 ) || exit $? 1571 ) || exit $?
1237 ( cd bzip2-%{V_bzip2} 1572 ( cd bzip2-%{V_bzip2}
1238 cp bzip2 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bzip2 1573 cp bzip2 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bzip2
1239 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bzip2 1574 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bzip2
1240 ) || exit $? 1575 ) || exit $?
1241 ( cd gzip-%{V_gzip} 1576 ( cd gzip-%{V_gzip}
1242 cp gzip $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/gzip 1577 cp gzip $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/gzip
1243 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/gzip 1578 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/gzip
1244 ) || exit $? 1579 ) || exit $?
1580 ( cd xz-%{V_xz}
1581 cp src/xz/xz $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/xz
1582 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/xz
1583 ) || exit $?
1245 ( cd patch-%{V_patch} 1584 ( cd patch-%{V_patch}
1246 cp patch $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/patch 1585 cp patch $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/patch
1247 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/patch 1586 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/patch
1248 ) || exit $? 1587 ) || exit $?
1249 ( cd tar-%{V_tar} 1588 ( cd tar-%{V_tar}
1255 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bash 1594 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bash
1256 ) || exit $? 1595 ) || exit $?
1257 ( cd uuid-%{V_uuid} 1596 ( cd uuid-%{V_uuid}
1258 cp uuid $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid 1597 cp uuid $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid
1259 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid 1598 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid
1599 ) || exit $?
1600 ( cd sqlite-%{V_sqlite}
1601 cp sqlite3 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/sqlite3
1602 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/sqlite3
1603 ) || exit $?
1604 ( cd libarchive-%{V_libarchive}
1605 cp bsdcpio $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdcpio
1606 cp bsdtar $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdtar
1607 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdcpio
1608 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdtar
1609 ) || exit $?
1610 ( cd diffutils-%{V_diffutils}
1611 ${l_strip} diff diff3 sdiff cmp
1612 cp diff diff3 sdiff cmp $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/
1613 ) || exit $?
1614 ( cd svs-%{V_svs}
1615 sed -e "s;/bin/sh;%{l_prefix}/lib/openpkg/bash;" \
1616 -e "s;^\( *\)\(diff \);\1%{l_prefix}/lib/openpkg/\2;" \
1617 <svs.sh >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/svs
1618 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/svs
1619 cp svs.1 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/svs.1
1260 ) || exit $? 1620 ) || exit $?
1261 sed -e "s;@l_prefix@;%{l_prefix};g" \ 1621 sed -e "s;@l_prefix@;%{l_prefix};g" \
1262 -e "s;@l_musr@;%{l_musr};g" \ 1622 -e "s;@l_musr@;%{l_musr};g" \
1263 -e "s;@l_mgrp@;%{l_mgrp};g" \ 1623 -e "s;@l_mgrp@;%{l_mgrp};g" \
1264 <`SOURCE uuid.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/uuid 1624 <`SOURCE uuid.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/uuid
1276 <`SOURCE rpmdb` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmdb 1636 <`SOURCE rpmdb` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmdb
1277 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmdb 1637 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmdb
1278 sed -e "s:@l_prefix@:%{l_prefix}:g" \ 1638 sed -e "s:@l_prefix@:%{l_prefix}:g" \
1279 <`SOURCE rpmtool` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmtool 1639 <`SOURCE rpmtool` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmtool
1280 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmtool 1640 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmtool
1641 sed -e "s;@l_prefix@;%{l_prefix};g" \
1642 -e "s;@l_musr@;%{l_musr};g" \
1643 -e "s;@l_mgrp@;%{l_mgrp};g" \
1644 <`SOURCE license.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/license
1645 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/license
1646 sed -e "s;@l_prefix@;%{l_prefix};g" \
1647 <`SOURCE license.8` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/license.8
1281 1648
1282 # install OpenPKG tool chain execution frontend and execution wrapper 1649 # install OpenPKG tool chain execution frontend and execution wrapper
1283 cp openpkg-executable-%{V_exec}/openpkg $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg 1650 cp openpkg $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg
1284 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg 1651 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg
1285 chmod 4775 $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg 1652 chmod 4775 $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg
1286 sed -e "s;@l_prefix@;%{l_prefix};g" \ 1653 sed -e "s;@l_prefix@;%{l_prefix};g" \
1287 <`SOURCE openpkg.sh` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/openpkg 1654 <`SOURCE openpkg.sh` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/openpkg
1288 chmod 755 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/openpkg 1655 chmod 755 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/openpkg
1290 <`SOURCE openpkg.1` \ 1657 <`SOURCE openpkg.1` \
1291 >$RPM_BUILD_ROOT%{l_prefix}/man/man1/openpkg.1 1658 >$RPM_BUILD_ROOT%{l_prefix}/man/man1/openpkg.1
1292 1659
1293 # install more OpenPKG tool chain commands 1660 # install more OpenPKG tool chain commands
1294 sed -e "s;@l_prefix@;%{l_prefix};g" \ 1661 sed -e "s;@l_prefix@;%{l_prefix};g" \
1295 <`SOURCE install.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/install
1296 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/install
1297 sed -e "s;@l_prefix@;%{l_prefix};g" \
1298 <`SOURCE man.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/man 1662 <`SOURCE man.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/man
1299 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/man 1663 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/man
1664
1665 # install OpenPKG mutex utility
1666 cp mutex $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/mutex
1300 1667
1301 # install an own copy of shtool 1668 # install an own copy of shtool
1302 cp $shtool $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/shtool 1669 cp $shtool $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/shtool
1303 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/shtool 1670 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/shtool
1304 1671
1385 echo "%{l_susr}" 1752 echo "%{l_susr}"
1386 echo "%{l_musr}" 1753 echo "%{l_musr}"
1387 echo "" 1754 echo ""
1388 ) >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/managers 1755 ) >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/managers
1389 1756
1757 # install default release information file
1758 release_tag=""
1759 release_url=""
1760 l_stack=""; [ ".%{?l_stack:set}" = .set ] && l_stack="%{l_stack}"
1761 case "$l_stack" in
1762 http: | https: | ftp: | file: )
1763 release_url="$l_stack"
1764 ;;
1765 [a-zA-Z]* )
1766 release_tag="$l_stack"
1767 ;;
1768 esac
1769 ( echo "##"
1770 echo "## release -- OpenPKG Release Information"
1771 echo "##"
1772 echo ""
1773 echo "TAG=$release_tag"
1774 echo "URL=$release_url"
1775 echo ""
1776 ) >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/release
1777
1390 # install overriding RPM configuration files 1778 # install overriding RPM configuration files
1391 sed -e "s:@l_prefix@:%{l_prefix}:g" \ 1779 sed -e "s:@l_prefix@:%{l_prefix}:g" \
1392 <`SOURCE rpmpopt` \ 1780 <`SOURCE rpmpopt` \
1393 >>$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmpopt 1781 >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmpopt
1394 sed -e "s:@l_prefix@:%{l_prefix}:g" \
1395 <`SOURCE rpmrc` \
1396 >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmrc
1397 sed -e "s:@l_prefix@:%{l_prefix}:g" \ 1782 sed -e "s:@l_prefix@:%{l_prefix}:g" \
1398 -e "s:@l_prefix_static@:%{l_prefix}:g" \ 1783 -e "s:@l_prefix_static@:%{l_prefix}:g" \
1399 -e "s;@l_build_path@;$l_build_path;g" \ 1784 -e "s;@l_build_path@;$l_build_path;g" \
1400 -e "s;@l_build_ldlp@;$l_build_ldlp;g" \ 1785 -e "s;@l_build_ldlp@;$l_build_ldlp;g" \
1401 -e "s;@l_build_ulim@;$l_build_ulim;g" \ 1786 -e "s;@l_build_ulim@;$l_build_ulim;g" \
1787 -e "s;@l_unprivileged@;$l_unprivileged;g" \
1402 -e "s:@TAG@:$tag:g" \ 1788 -e "s:@TAG@:$tag:g" \
1403 -e "s:@SUSR@:$susr:g" \ 1789 -e "s:@SUSR@:$susr:g" \
1404 -e "s:@SGRP@:$sgrp:g" \ 1790 -e "s:@SGRP@:$sgrp:g" \
1405 -e "s:@MUSR@:$musr:g" \ 1791 -e "s:@MUSR@:$musr:g" \
1406 -e "s:@MGRP@:$mgrp:g" \ 1792 -e "s:@MGRP@:$mgrp:g" \
1408 -e "s:@RGRP@:$rgrp:g" \ 1794 -e "s:@RGRP@:$rgrp:g" \
1409 -e "s:@NUSR@:$nusr:g" \ 1795 -e "s:@NUSR@:$nusr:g" \
1410 -e "s:@NGRP@:$ngrp:g" \ 1796 -e "s:@NGRP@:$ngrp:g" \
1411 <`SOURCE rpmmacros` \ 1797 <`SOURCE rpmmacros` \
1412 >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmmacros 1798 >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmmacros
1799 sed -e "s:@l_prefix@:%{l_prefix}:g" \
1800 <`SOURCE rpmlua` \
1801 >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmlua
1413 cp `SOURCE openpkg.org.pgp` \ 1802 cp `SOURCE openpkg.org.pgp` \
1414 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/openpkg.org.pgp 1803 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/openpkg.org.pgp
1415 cp `SOURCE openpkg.com.pgp` \ 1804 cp `SOURCE openpkg.com.pgp` \
1416 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/openpkg.com.pgp 1805 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/openpkg.com.pgp
1417 cp `SOURCE openpkg.net.pgp` \ 1806 cp `SOURCE openpkg.net.pgp` \
1418 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/openpkg.net.pgp 1807 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/openpkg.net.pgp
1808
1809 # install license data
1810 test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d || \
1811 mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d
1812 cp `SOURCE license-BOOT.txt` \
1813 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/BOOT
1814 cp `SOURCE license-COMMUNITY.txt` \
1815 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/COMMUNITY
1816 cp `SOURCE license-EVAL.txt` \
1817 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/EVAL
1818 cp `SOURCE license-EXAMPLE.txt` \
1819 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/EXAMPLE
1820 cp `SOURCE license-PROMO.txt` \
1821 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/PROMO
1822 cp `SOURCE license-RECOVERY.txt` \
1823 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/RECOVERY
1824 cp `SOURCE license.lua` \
1825 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/license.lua
1826 touch $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license
1827
1828 # provide directories for easy overriding of RPM configuration files
1829 test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmmacros.d || \
1830 mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmmacros.d
1831 test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmpopt.d || \
1832 mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmpopt.d
1833 test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmlua.d || \
1834 mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmlua.d
1419 1835
1420 # display verbosity header 1836 # display verbosity header
1421 set +x; VERBOSE "INSTALL: Done. Thank you for flying OpenPKG..."; set -x 1837 set +x; VERBOSE "INSTALL: Done. Thank you for flying OpenPKG..."; set -x
1422 1838
1423 %files 1839 %files
1426 %config(noreplace) %{l_prefix}/.bashrc 1842 %config(noreplace) %{l_prefix}/.bashrc
1427 %config(noreplace) %{l_prefix}/.bash_login 1843 %config(noreplace) %{l_prefix}/.bash_login
1428 %dir %{l_prefix}/RPM 1844 %dir %{l_prefix}/RPM
1429 %dir %{l_prefix}/RPM/SRC 1845 %dir %{l_prefix}/RPM/SRC
1430 %dir %{l_prefix}/RPM/PKG 1846 %dir %{l_prefix}/RPM/PKG
1847 %dir %{l_prefix}/RPM/TR
1431 %dir %{l_prefix}/RPM/DB 1848 %dir %{l_prefix}/RPM/DB
1432 %dir %{l_prefix}/RPM/TMP 1849 %dir %{l_prefix}/RPM/TMP
1433 %dir %{l_prefix}/cgi 1850 %dir %{l_prefix}/cgi
1434 %dir %{l_prefix}/bin 1851 %dir %{l_prefix}/bin
1435 %attr(4755,%{l_susr},%{l_mgrp}) %{l_prefix}/bin/openpkg 1852 %attr(4755,%{l_susr},%{l_mgrp}) %{l_prefix}/bin/openpkg
1438 %config(noreplace) %{l_prefix}/etc/rc.conf 1855 %config(noreplace) %{l_prefix}/etc/rc.conf
1439 %{l_prefix}/etc/rc.func 1856 %{l_prefix}/etc/rc.func
1440 %dir %{l_prefix}/etc/rc.d 1857 %dir %{l_prefix}/etc/rc.d
1441 %{l_prefix}/etc/rc.d/rc.openpkg 1858 %{l_prefix}/etc/rc.d/rc.openpkg
1442 %dir %{l_prefix}/etc/openpkg 1859 %dir %{l_prefix}/etc/openpkg
1860 %ghost %{l_prefix}/etc/openpkg/license
1861 %dir %{l_prefix}/etc/openpkg/license.d
1862 %{l_prefix}/etc/openpkg/license.d/BOOT
1863 %{l_prefix}/etc/openpkg/license.d/COMMUNITY
1864 %{l_prefix}/etc/openpkg/license.d/EVAL
1865 %{l_prefix}/etc/openpkg/license.d/EXAMPLE
1866 %{l_prefix}/etc/openpkg/license.d/PROMO
1867 %{l_prefix}/etc/openpkg/license.d/RECOVERY
1443 %ghost %{l_prefix}/etc/openpkg/uuid 1868 %ghost %{l_prefix}/etc/openpkg/uuid
1869 %config %{l_prefix}/etc/openpkg/release
1444 %config %{l_prefix}/etc/openpkg/platform 1870 %config %{l_prefix}/etc/openpkg/platform
1445 %config %{l_prefix}/etc/openpkg/rpmmacros 1871 %config %{l_prefix}/etc/openpkg/rpmmacros
1446 %config %{l_prefix}/etc/openpkg/rpmrc 1872 %config %{l_prefix}/etc/openpkg/rpmpopt
1873 %config %{l_prefix}/etc/openpkg/rpmlua
1874 %dir %{l_prefix}/etc/openpkg/rpmmacros.d
1875 %dir %{l_prefix}/etc/openpkg/rpmpopt.d
1876 %dir %{l_prefix}/etc/openpkg/rpmlua.d
1447 %ghost %{l_prefix}/etc/openpkg/register.conf 1877 %ghost %{l_prefix}/etc/openpkg/register.conf
1448 %ghost %{l_prefix}/etc/openpkg/register.prep 1878 %ghost %{l_prefix}/etc/openpkg/register.prep
1449 %ghost %{l_prefix}/etc/openpkg/register.tran 1879 %ghost %{l_prefix}/etc/openpkg/register.tran
1450 %ghost %{l_prefix}/etc/openpkg/register.util 1880 %ghost %{l_prefix}/etc/openpkg/register.util
1451 %config %attr(664,%{l_musr},%{l_mgrp}) %{l_prefix}/etc/openpkg/managers 1881 %config %attr(664,%{l_musr},%{l_mgrp}) %{l_prefix}/etc/openpkg/managers
1457 %dir %{l_prefix}/include/openpkg/rpm 1887 %dir %{l_prefix}/include/openpkg/rpm
1458 %{l_prefix}/include/openpkg/rpm/argv.h 1888 %{l_prefix}/include/openpkg/rpm/argv.h
1459 %{l_prefix}/include/openpkg/rpm/beecrypt.h 1889 %{l_prefix}/include/openpkg/rpm/beecrypt.h
1460 %{l_prefix}/include/openpkg/rpm/bzlib.h 1890 %{l_prefix}/include/openpkg/rpm/bzlib.h
1461 %{l_prefix}/include/openpkg/rpm/db.h 1891 %{l_prefix}/include/openpkg/rpm/db.h
1892 %{l_prefix}/include/openpkg/rpm/envvar.h
1893 %{l_prefix}/include/openpkg/rpm/fs.h
1462 %{l_prefix}/include/openpkg/rpm/fts.h 1894 %{l_prefix}/include/openpkg/rpm/fts.h
1463 %{l_prefix}/include/openpkg/rpm/glob.h 1895 %{l_prefix}/include/openpkg/rpm/glob.h
1464 %{l_prefix}/include/openpkg/rpm/hdrinline.h 1896 %{l_prefix}/include/openpkg/rpm/mire.h
1465 %{l_prefix}/include/openpkg/rpm/header.h
1466 %{l_prefix}/include/openpkg/rpm/misc.h 1897 %{l_prefix}/include/openpkg/rpm/misc.h
1898 %{l_prefix}/include/openpkg/rpm/pkgio.h
1467 %{l_prefix}/include/openpkg/rpm/popt.h 1899 %{l_prefix}/include/openpkg/rpm/popt.h
1900 %{l_prefix}/include/openpkg/rpm/rpm4compat.h
1468 %{l_prefix}/include/openpkg/rpm/rpmal.h 1901 %{l_prefix}/include/openpkg/rpm/rpmal.h
1902 %{l_prefix}/include/openpkg/rpm/rpmbc.h
1469 %{l_prefix}/include/openpkg/rpm/rpmbuild.h 1903 %{l_prefix}/include/openpkg/rpm/rpmbuild.h
1904 %{l_prefix}/include/openpkg/rpm/rpmcb.h
1470 %{l_prefix}/include/openpkg/rpm/rpmcli.h 1905 %{l_prefix}/include/openpkg/rpm/rpmcli.h
1906 %{l_prefix}/include/openpkg/rpm/rpmconstant.h
1907 %{l_prefix}/include/openpkg/rpm/rpmdav.h
1471 %{l_prefix}/include/openpkg/rpm/rpmdb.h 1908 %{l_prefix}/include/openpkg/rpm/rpmdb.h
1472 %{l_prefix}/include/openpkg/rpm/rpmds.h 1909 %{l_prefix}/include/openpkg/rpm/rpmds.h
1473 %{l_prefix}/include/openpkg/rpm/rpmerr.h 1910 %{l_prefix}/include/openpkg/rpm/rpmevr.h
1474 %{l_prefix}/include/openpkg/rpm/rpmfc.h 1911 %{l_prefix}/include/openpkg/rpm/rpmfc.h
1475 %{l_prefix}/include/openpkg/rpm/rpmfi.h 1912 %{l_prefix}/include/openpkg/rpm/rpmfi.h
1476 %{l_prefix}/include/openpkg/rpm/rpmfile.h 1913 %{l_prefix}/include/openpkg/rpm/rpmgc.h
1914 %{l_prefix}/include/openpkg/rpm/rpmgi.h
1477 %{l_prefix}/include/openpkg/rpm/rpmhash.h 1915 %{l_prefix}/include/openpkg/rpm/rpmhash.h
1916 %{l_prefix}/include/openpkg/rpm/rpmio-stub.h
1478 %{l_prefix}/include/openpkg/rpm/rpmio.h 1917 %{l_prefix}/include/openpkg/rpm/rpmio.h
1918 %{l_prefix}/include/openpkg/rpm/rpmiotypes.h
1919 %{l_prefix}/include/openpkg/rpm/rpmku.h
1479 %{l_prefix}/include/openpkg/rpm/rpmlib.h 1920 %{l_prefix}/include/openpkg/rpm/rpmlib.h
1480 %{l_prefix}/include/openpkg/rpm/rpmlog.h 1921 %{l_prefix}/include/openpkg/rpm/rpmlog.h
1481 %{l_prefix}/include/openpkg/rpm/rpmmacro.h 1922 %{l_prefix}/include/openpkg/rpm/rpmmacro.h
1482 %{l_prefix}/include/openpkg/rpm/rpmmessages.h 1923 %{l_prefix}/include/openpkg/rpm/rpmmg.h
1924 %{l_prefix}/include/openpkg/rpm/rpmns.h
1925 %{l_prefix}/include/openpkg/rpm/rpmnss.h
1483 %{l_prefix}/include/openpkg/rpm/rpmpgp.h 1926 %{l_prefix}/include/openpkg/rpm/rpmpgp.h
1484 %{l_prefix}/include/openpkg/rpm/rpmps.h 1927 %{l_prefix}/include/openpkg/rpm/rpmps.h
1485 %{l_prefix}/include/openpkg/rpm/rpmspec.h 1928 %{l_prefix}/include/openpkg/rpm/rpmspec.h
1929 %{l_prefix}/include/openpkg/rpm/rpmsq.h
1930 %{l_prefix}/include/openpkg/rpm/rpmssl.h
1486 %{l_prefix}/include/openpkg/rpm/rpmsw.h 1931 %{l_prefix}/include/openpkg/rpm/rpmsw.h
1932 %{l_prefix}/include/openpkg/rpm/rpmsx.h
1933 %{l_prefix}/include/openpkg/rpm/rpmtag.h
1487 %{l_prefix}/include/openpkg/rpm/rpmte.h 1934 %{l_prefix}/include/openpkg/rpm/rpmte.h
1488 %{l_prefix}/include/openpkg/rpm/rpmts.h 1935 %{l_prefix}/include/openpkg/rpm/rpmts.h
1489 %{l_prefix}/include/openpkg/rpm/rpmurl.h 1936 %{l_prefix}/include/openpkg/rpm/rpmurl.h
1490 %{l_prefix}/include/openpkg/rpm/stringbuf.h 1937 %{l_prefix}/include/openpkg/rpm/rpmuuid.h
1938 %{l_prefix}/include/openpkg/rpm/rpmversion.h
1939 %{l_prefix}/include/openpkg/rpm/rpmwf.h
1940 %{l_prefix}/include/openpkg/rpm/rpmxar.h
1941 %{l_prefix}/include/openpkg/rpm/rpmzlog.h
1942 %{l_prefix}/include/openpkg/rpm/signature.h
1943 %{l_prefix}/include/openpkg/rpm/sqlite3.h
1491 %{l_prefix}/include/openpkg/rpm/ugid.h 1944 %{l_prefix}/include/openpkg/rpm/ugid.h
1945 %{l_prefix}/include/openpkg/rpm/yarn.h
1492 %{l_prefix}/include/openpkg/rpm/zconf.h 1946 %{l_prefix}/include/openpkg/rpm/zconf.h
1493 %{l_prefix}/include/openpkg/rpm/zlib.h 1947 %{l_prefix}/include/openpkg/rpm/zlib.h
1494 %dir %{l_prefix}/info 1948 %dir %{l_prefix}/info
1495 %dir %{l_prefix}/lib 1949 %dir %{l_prefix}/lib
1496 %dir %{l_prefix}/lib/openpkg 1950 %dir %{l_prefix}/lib/openpkg
1497 %{l_prefix}/lib/openpkg/bash 1951 %{l_prefix}/lib/openpkg/bash
1952 %{l_prefix}/lib/openpkg/bsdcpio
1953 %{l_prefix}/lib/openpkg/bsdtar
1498 %{l_prefix}/lib/openpkg/bzip2 1954 %{l_prefix}/lib/openpkg/bzip2
1499 %{l_prefix}/lib/openpkg/curl 1955 %{l_prefix}/lib/openpkg/curl
1500 %{l_prefix}/lib/openpkg/file 1956 %{l_prefix}/lib/openpkg/db_tool
1957 %{l_prefix}/lib/openpkg/cmp
1958 %{l_prefix}/lib/openpkg/diff
1959 %{l_prefix}/lib/openpkg/diff3
1960 %{l_prefix}/lib/openpkg/sdiff
1501 %{l_prefix}/lib/openpkg/gzip 1961 %{l_prefix}/lib/openpkg/gzip
1502 %{l_prefix}/lib/openpkg/librpm.a 1962 %{l_prefix}/lib/openpkg/librpm.a
1503 %{l_prefix}/lib/openpkg/librpmbeecrypt.a 1963 %{l_prefix}/lib/openpkg/librpmbeecrypt.a
1504 %{l_prefix}/lib/openpkg/librpmbuild.a 1964 %{l_prefix}/lib/openpkg/librpmbuild.a
1505 %{l_prefix}/lib/openpkg/librpmbz2.a 1965 %{l_prefix}/lib/openpkg/librpmbz2.a
1506 %{l_prefix}/lib/openpkg/librpmdb.a 1966 %{l_prefix}/lib/openpkg/librpmdb.a
1507 %{l_prefix}/lib/openpkg/librpmio.a 1967 %{l_prefix}/lib/openpkg/librpmio.a
1968 %{l_prefix}/lib/openpkg/librpmmisc.a
1508 %{l_prefix}/lib/openpkg/librpmpopt.a 1969 %{l_prefix}/lib/openpkg/librpmpopt.a
1970 %{l_prefix}/lib/openpkg/librpmsqlite3.a
1509 %{l_prefix}/lib/openpkg/librpmz.a 1971 %{l_prefix}/lib/openpkg/librpmz.a
1510 %{l_prefix}/lib/openpkg/macros 1972 %{l_prefix}/lib/openpkg/license.lua
1511 %{l_prefix}/lib/openpkg/magic
1512 %{l_prefix}/lib/openpkg/magic.mgc
1513 %{l_prefix}/lib/openpkg/magic.mime
1514 %{l_prefix}/lib/openpkg/magic.mime.mgc
1515 %{l_prefix}/lib/openpkg/miniperl 1973 %{l_prefix}/lib/openpkg/miniperl
1974 %{l_prefix}/lib/openpkg/mutex
1516 %{l_prefix}/lib/openpkg/openpkg 1975 %{l_prefix}/lib/openpkg/openpkg
1517 %{l_prefix}/lib/openpkg/openssl 1976 %{l_prefix}/lib/openpkg/openssl
1518 %{l_prefix}/lib/openpkg/patch 1977 %{l_prefix}/lib/openpkg/patch
1519 %{l_prefix}/lib/openpkg/rc 1978 %{l_prefix}/lib/openpkg/rc
1520 %{l_prefix}/lib/openpkg/rpm 1979 %{l_prefix}/lib/openpkg/rpm
1521 %{l_prefix}/lib/openpkg/rpmb 1980 %{l_prefix}/lib/openpkg/rpm.pc
1522 %{l_prefix}/lib/openpkg/rpmd
1523 %{l_prefix}/lib/openpkg/rpmdb 1981 %{l_prefix}/lib/openpkg/rpmdb
1524 %{l_prefix}/lib/openpkg/rpmdb_dump 1982 %{l_prefix}/lib/openpkg/rpmdeps
1525 %{l_prefix}/lib/openpkg/rpmdb_load 1983 %{l_prefix}/lib/openpkg/lua
1526 %{l_prefix}/lib/openpkg/rpmdb_verify 1984 %{l_prefix}/lib/openpkg/rpmmacros
1527 %{l_prefix}/lib/openpkg/rpme
1528 %{l_prefix}/lib/openpkg/rpmi
1529 %{l_prefix}/lib/openpkg/rpmk
1530 %{l_prefix}/lib/openpkg/rpmpopt 1985 %{l_prefix}/lib/openpkg/rpmpopt
1531 %{l_prefix}/lib/openpkg/rpmq
1532 %{l_prefix}/lib/openpkg/rpmt
1533 %{l_prefix}/lib/openpkg/rpmtool 1986 %{l_prefix}/lib/openpkg/rpmtool
1534 %{l_prefix}/lib/openpkg/rpmu
1535 %{l_prefix}/lib/openpkg/rpmv
1536 %{l_prefix}/lib/openpkg/shtool 1987 %{l_prefix}/lib/openpkg/shtool
1988 %{l_prefix}/lib/openpkg/sqlite3
1537 %{l_prefix}/lib/openpkg/tar 1989 %{l_prefix}/lib/openpkg/tar
1538 %{l_prefix}/lib/openpkg/uuid 1990 %{l_prefix}/lib/openpkg/uuid
1991 %{l_prefix}/lib/openpkg/xz
1539 %dir %{l_prefix}/libexec 1992 %dir %{l_prefix}/libexec
1540 %dir %{l_prefix}/libexec/openpkg 1993 %dir %{l_prefix}/libexec/openpkg
1541 %{l_prefix}/libexec/openpkg/build.8 1994 %{l_prefix}/libexec/openpkg/build.8
1542 %{l_prefix}/libexec/openpkg/build.pl 1995 %{l_prefix}/libexec/openpkg/build.pl
1543 %{l_prefix}/libexec/openpkg/curl.sh 1996 %{l_prefix}/libexec/openpkg/curl.sh
1544 %{l_prefix}/libexec/openpkg/install 1997 %{l_prefix}/libexec/openpkg/dev.8
1998 %{l_prefix}/libexec/openpkg/dev.pl
1999 %{l_prefix}/libexec/openpkg/index.8
2000 %{l_prefix}/libexec/openpkg/index.pl
2001 %{l_prefix}/libexec/openpkg/license
2002 %{l_prefix}/libexec/openpkg/license.8
1545 %{l_prefix}/libexec/openpkg/lsync 2003 %{l_prefix}/libexec/openpkg/lsync
1546 %{l_prefix}/libexec/openpkg/lsync.8 2004 %{l_prefix}/libexec/openpkg/lsync.8
2005 %{l_prefix}/libexec/openpkg/lint-fsl.pl
2006 %{l_prefix}/libexec/openpkg/lint-rc.pl
2007 %{l_prefix}/libexec/openpkg/lint-rpm.pl
2008 %{l_prefix}/libexec/openpkg/lint-spec.pl
2009 %{l_prefix}/libexec/openpkg/makeproxy.8
2010 %{l_prefix}/libexec/openpkg/makeproxy.pl
1547 %{l_prefix}/libexec/openpkg/man 2011 %{l_prefix}/libexec/openpkg/man
2012 %{l_prefix}/libexec/openpkg/mirror.8
2013 %{l_prefix}/libexec/openpkg/mirror.pl
1548 %{l_prefix}/libexec/openpkg/rc 2014 %{l_prefix}/libexec/openpkg/rc
1549 %{l_prefix}/libexec/openpkg/rc.8 2015 %{l_prefix}/libexec/openpkg/rc.8
1550 %{l_prefix}/libexec/openpkg/register 2016 %{l_prefix}/libexec/openpkg/register
1551 %{l_prefix}/libexec/openpkg/register.8 2017 %{l_prefix}/libexec/openpkg/register.8
1552 %{l_prefix}/libexec/openpkg/release 2018 %{l_prefix}/libexec/openpkg/release
1553 %{l_prefix}/libexec/openpkg/release.8 2019 %{l_prefix}/libexec/openpkg/release.8
1554 %{l_prefix}/libexec/openpkg/rpm 2020 %{l_prefix}/libexec/openpkg/rpm
1555 %{l_prefix}/libexec/openpkg/rpm-config 2021 %{l_prefix}/libexec/openpkg/rpm-config
1556 %{l_prefix}/libexec/openpkg/rpm-config.8 2022 %{l_prefix}/libexec/openpkg/rpm-config.8
1557 %{l_prefix}/libexec/openpkg/rpm.8 2023 %{l_prefix}/libexec/openpkg/rpm.8
2024 %{l_prefix}/libexec/openpkg/rpmconstant
2025 %{l_prefix}/libexec/openpkg/rpmconstant.8
1558 %{l_prefix}/libexec/openpkg/rpm2cpio 2026 %{l_prefix}/libexec/openpkg/rpm2cpio
1559 %{l_prefix}/libexec/openpkg/rpm2cpio.8 2027 %{l_prefix}/libexec/openpkg/rpm2cpio.8
1560 %{l_prefix}/libexec/openpkg/rpmbuild
1561 %{l_prefix}/libexec/openpkg/rpmbuild.8 2028 %{l_prefix}/libexec/openpkg/rpmbuild.8
2029 %{l_prefix}/libexec/openpkg/rpmcache
2030 %{l_prefix}/libexec/openpkg/rpmcache.8
2031 %{l_prefix}/libexec/openpkg/rpmdeps.8
2032 %{l_prefix}/libexec/openpkg/rpmgraph.8
2033 %{l_prefix}/libexec/openpkg/rpmgrep
2034 %{l_prefix}/libexec/openpkg/rpmgrep.1
2035 %{l_prefix}/libexec/openpkg/sea.8
2036 %{l_prefix}/libexec/openpkg/sea.sh
2037 %{l_prefix}/libexec/openpkg/search.8
2038 %{l_prefix}/libexec/openpkg/search.pl
2039 %{l_prefix}/libexec/openpkg/stack.8
2040 %{l_prefix}/libexec/openpkg/stack.sh
2041 %{l_prefix}/libexec/openpkg/shtool.sh
2042 %{l_prefix}/libexec/openpkg/svs
2043 %{l_prefix}/libexec/openpkg/svs.1
1562 %{l_prefix}/libexec/openpkg/uuid 2044 %{l_prefix}/libexec/openpkg/uuid
1563 %{l_prefix}/libexec/openpkg/uuid.8 2045 %{l_prefix}/libexec/openpkg/uuid.8
1564 %dir %{l_prefix}/man 2046 %dir %{l_prefix}/man
1565 %dir %{l_prefix}/man/man1 2047 %dir %{l_prefix}/man/man1
1566 %dir %{l_prefix}/man/man2 2048 %dir %{l_prefix}/man/man2
1636 (whoami) 2>/dev/null ||\ 2118 (whoami) 2>/dev/null ||\
1637 (who am i | cut "-d " -f1) 2>/dev/null ||\ 2119 (who am i | cut "-d " -f1) 2>/dev/null ||\
1638 echo $LOGNAME` 2120 echo $LOGNAME`
1639 2121
1640 # determine runtime details (for both inside and outside RPM!!) 2122 # determine runtime details (for both inside and outside RPM!!)
1641 # - bootstrapping: $xxx is set from aux.wrapbin.sh 2123 # - bootstrapping: $xxx is set from etc.wrapbin.sh
1642 # - upgrading new: %{l_[smrn]{usr,grp}} is set via rpmmacros 2124 # - upgrading new: %{l_[smrn]{usr,grp}} is set via rpmmacros
1643 # - upgrading old: %{l_[smrn]{usr,grp}} is not set at all 2125 # - upgrading old: %{l_[smrn]{usr,grp}} is not set at all
1644 [ ".$susr" = . ] && susr="%{?l_susr}%{!?l_susr:root}" 2126 [ ".$susr" = . ] && susr="%{?l_susr}%{!?l_susr:root}"
1645 [ ".$sgrp" = . ] && sgrp="%{?l_sgrp}%{!?l_sgrp:wheel}" 2127 [ ".$sgrp" = . ] && sgrp="%{?l_sgrp}%{!?l_sgrp:wheel}"
1646 [ ".$musr" = . ] && musr="%{?l_musr}%{!?l_musr:%{l_fsusr}}" 2128 [ ".$musr" = . ] && musr="%{?l_musr}%{!?l_musr:%{l_fsusr}}"
1671 2153
1672 # determine prefix 2154 # determine prefix
1673 [ ".$prefix" = . ] && prefix="%{l_prefix}" 2155 [ ".$prefix" = . ] && prefix="%{l_prefix}"
1674 prefix=`echo "$prefix" | sed -e 's;//*;/;g' -e 's;/$;;'` 2156 prefix=`echo "$prefix" | sed -e 's;//*;/;g' -e 's;/$;;'`
1675 2157
2158 # Pre-flight check before update to make sure that the currently
2159 # activated license is still valid. This is done just be friendly
2160 # to people and to not too easily shoot theirself into the foot
2161 # by blindly upgrading and then having to recognize that the new
2162 # OpenPKG Framework is no longer covered by the old license.
2163 if [ ".$1" = .2 ]; then
2164 ( OPENPKG_FRAMEWORK_RELEASE="%{release}"
2165 export OPENPKG_FRAMEWORK_RELEASE
2166 # LATER:
2167 # $prefix/bin/openpkg rpm -q openpkg >/dev/null 2>&1 || exit $?
2168 # if [ $? -ne 0 ]; then
2169 # NOW:
2170 output="`$prefix/bin/openpkg rpm -q openpkg 2>&1 | grep 'ENVIRONMENT ANOMALY'`"
2171 if [ ".$output" != . ]; then
2172 id="`($prefix/bin/openpkg license active) 2>/dev/null`"
2173 [ ".$id" = . ] && id="UNKNOWN"
2174 ( echo "Attention, your currently active license \"$id\" does"
2175 echo "not allow you to use this newer version of the OpenPKG Framework!"
2176 echo "We cancel this update to prevent you from a run-time failure."
2177 echo "Please first upgrade to a newer license with the command:"
2178 echo " \$ $prefix/bin/openpkg license update $id <file>"
2179 ) | $prefix/lib/openpkg/rpmtool msg -b -t error
2180 exit 42
2181 fi
2182 ) || exit $?
2183 fi
2184
1676 # register instance in presence file 2185 # register instance in presence file
1677 presence="/etc/openpkg" 2186 presence="/etc/openpkg"
1678 exists=`cat $presence 2>/dev/null | egrep "^ *${prefix} *\$"` 2187 exists=`cat $presence 2>/dev/null | egrep "^ *${prefix} *\$"`
1679 if [ ".$exists" = . ]; then 2188 if [ ".$exists" = . ]; then
1680 ( umask 022 2189 ( umask 022
1687 eval "xusr=\"\$${class}usr\"" 2196 eval "xusr=\"\$${class}usr\""
1688 eval "xgrp=\"\$${class}grp\"" 2197 eval "xgrp=\"\$${class}grp\""
1689 eval "xuid=\"\$${class}uid\"" 2198 eval "xuid=\"\$${class}uid\""
1690 eval "xgid=\"\$${class}gid\"" 2199 eval "xgid=\"\$${class}gid\""
1691 if [ ".$xuid" = . ]; then 2200 if [ ".$xuid" = . ]; then
1692 xuid=`(getent passwd "${xusr}"; \ 2201 case "$plid" in
1693 grep "^${xusr}:" /etc/passwd; \ 2202 Darwin/10.[1-9]* | Darwin/1[1-9].* )
1694 ypmatch "${xusr}" passwd; \ 2203 xuid=`dscl . -read "/users/${xusr}" UniqueID 2>/dev/null | awk '{ print $2; }'`
1695 nismatch "${xusr}" passwd; \ 2204 ;;
1696 nidump passwd . | grep "^${xusr}:") 2>/dev/null | \ 2205 * )
1697 sed -e 'q' | awk -F: '{ print $3; }'` 2206 xuid=`(getent passwd "${xusr}"; \
2207 grep "^${xusr}:" /etc/passwd; \
2208 ypmatch "${xusr}" passwd; \
2209 nismatch "${xusr}" passwd; \
2210 nidump passwd . | grep "^${xusr}:") 2>/dev/null | \
2211 sed -e 'q' | awk -F: '{ print $3; }'`
2212 ;;
2213 esac
1698 if [ ".$xuid" = . ]; then 2214 if [ ".$xuid" = . ]; then
1699 # seek for a reasonably uid/gid pair 2215 # seek for a reasonably uid/gid pair
1700 xuid=1000 2216 xuid=1000
1701 ok=0 2217 ok=0
1702 while [ ".$ok" = .0 ]; do 2218 while [ ".$ok" = .0 ]; do
1703 eval "u_exists=\$u_exists_$xuid" 2219 eval "u_exists=\$u_exists_$xuid"
1704 if [ ".$u_exists" = . ]; then 2220 if [ ".$u_exists" = . ]; then
1705 u_exists=`(getent passwd; cat /etc/passwd; ypcat passwd; niscat passwd; nidump passwd .) 2>/dev/null |\ 2221 case "$plid" in
1706 grep "^[^:]*:[^:]*:$xuid:"` 2222 Darwin/10.[1-9]* | Darwin/1[1-9].* )
2223 u_exists=`dscl . -search /users UniqueID "$xuid" 2>/dev/null`
2224 ;;
2225 * )
2226 u_exists=`(getent passwd; cat /etc/passwd; ypcat passwd; niscat passwd; nidump passwd .) 2>/dev/null |\
2227 grep "^[^:]*:[^:]*:$xuid:"`
2228 ;;
2229 esac
1707 fi 2230 fi
1708 eval "g_exists=\$g_exists_$xuid" 2231 eval "g_exists=\$g_exists_$xuid"
1709 if [ ".$g_exists" = . ]; then 2232 if [ ".$g_exists" = . ]; then
1710 g_exists=`(getent group; cat /etc/group; ypcat group; niscat group; nidump group .) 2>/dev/null |\ 2233 case "$plid" in
1711 grep "^[^:]*:[^:]*:$xuid:"` 2234 Darwin/10.[1-9]* | Darwin/1[1-9].* )
2235 g_exists=`dscl . -search /groups PrimaryGroupID "$xuid" 2>/dev/null`
2236 ;;
2237 * )
2238 g_exists=`(getent group; cat /etc/group; ypcat group; niscat group; nidump group .) 2>/dev/null |\
2239 grep "^[^:]*:[^:]*:$xuid:"`
2240 esac
1712 fi 2241 fi
1713 if [ ".$u_exists" = . -a ".$g_exists" = . ]; then 2242 if [ ".$u_exists" = . -a ".$g_exists" = . ]; then
1714 ok=1 2243 ok=1
1715 break 2244 break
1716 fi 2245 fi
1723 if [ ".$xgid" = . ]; then 2252 if [ ".$xgid" = . ]; then
1724 xgid=`(getent group "${xgrp}"; \ 2253 xgid=`(getent group "${xgrp}"; \
1725 grep "^${xgrp}:" /etc/group; \ 2254 grep "^${xgrp}:" /etc/group; \
1726 ypmatch "${xgrp}" group; \ 2255 ypmatch "${xgrp}" group; \
1727 nismatch "${xgrp}" group; \ 2256 nismatch "${xgrp}" group; \
1728 nidump group . | grep "^${xgrp}:") 2>/dev/null | \ 2257 nidump group . | grep "^${xgrp}:"; \
2258 dscl . -read "/groups/${xgrp}" | grep RecordName) 2>/dev/null | \
1729 sed -e 'q' | awk -F: '{ print $3; }'` 2259 sed -e 'q' | awk -F: '{ print $3; }'`
1730 if [ ".$xgid" = . ]; then 2260 if [ ".$xgid" = . ]; then
1731 xgid="$xuid" 2261 xgid="$xuid"
1732 fi 2262 fi
1733 fi 2263 fi
1769 # check whether user already exists 2299 # check whether user already exists
1770 exists=`(getent passwd "$usr"; \ 2300 exists=`(getent passwd "$usr"; \
1771 grep "^$usr:" /etc/passwd; \ 2301 grep "^$usr:" /etc/passwd; \
1772 ypmatch "$usr" passwd; \ 2302 ypmatch "$usr" passwd; \
1773 nismatch "$usr" passwd; \ 2303 nismatch "$usr" passwd; \
1774 nidump passwd . | grep "^$usr:") 2>/dev/null | \ 2304 nidump passwd . | grep "^$usr:"; \
2305 dscl . -read "/users/$usr" | grep RecordName) 2>/dev/null | \
1775 sed -e 'q'` 2306 sed -e 'q'`
1776 if [ ".$exists" = . ]; then 2307 if [ ".$exists" = . ]; then
1777 if [ ".$cusr" != ".root" ]; then 2308 if [ ".$cusr" != ".root" ]; then
1778 echo "openpkg:WARNING: skipping creation of OpenPKG $class user $usr" 1>&2 2309 echo "openpkg:WARNING: skipping creation of OpenPKG $class user $usr" 1>&2
1779 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 2310 echo "openpkg:WARNING: (would require root-privileges)" 1>&2
1820 if [ -f /etc/shadow ] 2351 if [ -f /etc/shadow ]
1821 then update="(PATH=\$PATH:/sbin; pwconv)" 2352 then update="(PATH=\$PATH:/sbin; pwconv)"
1822 else update=":" 2353 else update=":"
1823 fi 2354 fi
1824 ;; 2355 ;;
2356 CYGWIN*/* )
2357 file=/etc/passwd
2358 entry="${usr}:*:${uid}:${gid}:${realname}:${prefix}:${shell}"
2359 update=":"
2360 ;;
1825 esac 2361 esac
1826 case "$plid" in 2362 case "$plid" in
2363 Darwin/10.[1-9]* | Darwin/1[1-9].* )
2364 dscl . -create "/users/${usr}"
2365 dscl . -create "/users/${usr}" Password "*"
2366 dscl . -create "/users/${usr}" UniqueID "${uid}"
2367 dscl . -create "/users/${usr}" PrimaryGroupID "${gid}"
2368 dscl . -create "/users/${usr}" RealName "${realname}"
2369 dscl . -create "/users/${usr}" NFSHomeDirectory "${prefix}"
2370 dscl . -create "/users/${usr}" UserShell "${shell}"
2371 ;;
1827 Darwin/* ) 2372 Darwin/* )
1828 niutil -create . "/users/${usr}" 2373 niutil -create . "/users/${usr}"
1829 niutil -createprop . "/users/${usr}" passwd "*" 2374 niutil -createprop . "/users/${usr}" passwd "*"
1830 niutil -createprop . "/users/${usr}" uid "${uid}" 2375 niutil -createprop . "/users/${usr}" uid "${uid}"
1831 niutil -createprop . "/users/${usr}" gid "${gid}" 2376 niutil -createprop . "/users/${usr}" gid "${gid}"
1858 # check whether group already exists 2403 # check whether group already exists
1859 exists=`(getent group "$grp"; \ 2404 exists=`(getent group "$grp"; \
1860 grep "^$grp:" /etc/group; \ 2405 grep "^$grp:" /etc/group; \
1861 ypmatch "$grp" group; \ 2406 ypmatch "$grp" group; \
1862 nismatch "$grp" group; \ 2407 nismatch "$grp" group; \
1863 nidump group . | grep "^$grp:") 2>/dev/null | \ 2408 nidump group . | grep "^$grp:"; \
2409 dscl . -read "/groups/$grp" | grep RecordName) 2>/dev/null | \
1864 sed -e 'q'` 2410 sed -e 'q'`
1865 if [ ".$exists" = . ]; then 2411 if [ ".$exists" = . ]; then
1866 if [ ".$cusr" != ".root" ]; then 2412 if [ ".$cusr" != ".root" ]; then
1867 echo "openpkg:WARNING: skipping creation of OpenPKG $class group $grp" 1>&2 2413 echo "openpkg:WARNING: skipping creation of OpenPKG $class group $grp" 1>&2
1868 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 2414 echo "openpkg:WARNING: (would require root-privileges)" 1>&2
1869 else 2415 else
1870 case "$plid" in 2416 case "$plid" in
2417 Darwin/10.[1-9]* | Darwin/1[1-9].* )
2418 dscl . -create "/groups/${grp}"
2419 dscl . -create "/groups/${grp}" Password "*"
2420 dscl . -create "/groups/${grp}" PrimaryGroupID "${gid}"
2421 dscl . -create "/groups/${grp}" GroupMembership "${usr}"
2422 ;;
1871 Darwin/* ) 2423 Darwin/* )
1872 niutil -create . "/groups/${grp}" 2424 niutil -create . "/groups/${grp}"
1873 niutil -createprop . "/groups/${grp}" gid "${gid}" 2425 niutil -createprop . "/groups/${grp}" gid "${gid}"
1874 niutil -createprop . "/groups/${grp}" users "${usr}" 2426 niutil -createprop . "/groups/${grp}" users "${usr}"
1875 ;; 2427 ;;
1897 2449
1898 # invalidate passwd and group tables from Name Service Cache Daemon to 2450 # invalidate passwd and group tables from Name Service Cache Daemon to
1899 # ensure chown/chgrp works immediately after pwconv on Linux and Solaris 2451 # ensure chown/chgrp works immediately after pwconv on Linux and Solaris
1900 if [ -x /usr/sbin/nscd ]; then 2452 if [ -x /usr/sbin/nscd ]; then
1901 /usr/sbin/nscd -i passwd >/dev/null 2>&1 || true 2453 /usr/sbin/nscd -i passwd >/dev/null 2>&1 || true
1902 /usr/sbin/nscd -i group >/dev/null 2>&1 || true 2454 /usr/sbin/nscd -i group >/dev/null 2>&1 || true
1903 fi 2455 fi
1904 2456
1905 # create the startup/shutdown transfer script 2457 # create the startup/shutdown transfer script
1906 name=`echo "$prefix" | sed -e 's;/;;g'` 2458 name_old="`echo "$prefix" | sed -e 's;/;;g'`"
2459 name="openpkg-`echo "$prefix" | sed -e 's;[^a-zA-Z0-9];;g'`"
1907 if [ ".$cusr" != ".root" ]; then 2460 if [ ".$cusr" != ".root" ]; then
1908 echo "openpkg:WARNING: skipping creation of system run-command hooks" 1>&2 2461 echo "openpkg:WARNING: skipping creation of system run-command hooks" 1>&2
1909 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 2462 echo "openpkg:WARNING: (would require root-privileges)" 1>&2
1910 else 2463 else
1911 case "$plid" in 2464 case "$plid" in
1912 FreeBSD/* ) 2465 FreeBSD/* )
1913 if [ ! -f /etc/rc.d/openpkg-${name} ]; then 2466 if [ -f /etc/rc.d/${name_old} ]; then
2467 rm -f /etc/rc.d/${name_old}
2468 fi
2469 if [ ! -f /etc/rc.d/${name} ]; then
1914 # install transfer script 2470 # install transfer script
1915 rm -f /etc/rc.d/openpkg-${name} >/dev/null 2>&1 2471 rm -f /etc/rc.d/${name} >/dev/null 2>&1
1916 ( echo "#!/bin/sh" 2472 ( echo "#!/bin/sh"
1917 echo "##" 2473 echo "##"
1918 echo "## openpkg-${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 2474 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
1919 echo "##" 2475 echo "##"
1920 echo "" 2476 echo ""
1921 echo "# PROVIDE: openpkg-${name}" 2477 echo "# PROVIDE: ${name}"
1922 echo "# REQUIRE: LOGIN" 2478 echo "# REQUIRE: LOGIN"
1923 echo "# KEYWORD: shutdown" 2479 echo "# KEYWORD: shutdown"
1924 echo "" 2480 echo ""
1925 echo ". /etc/rc.subr" 2481 echo ". /etc/rc.subr"
1926 echo "" 2482 echo ""
1928 echo "start_cmd=\"openpkg_rc_all start\"" 2484 echo "start_cmd=\"openpkg_rc_all start\""
1929 echo "stop_cmd=\"openpkg_rc_all stop\"" 2485 echo "stop_cmd=\"openpkg_rc_all stop\""
1930 echo "restart_cmd=\"openpkg_rc_all stop start\"" 2486 echo "restart_cmd=\"openpkg_rc_all stop start\""
1931 echo "" 2487 echo ""
1932 echo "openpkg_rc_all () {" 2488 echo "openpkg_rc_all () {"
1933 echo " if [ -f ${prefix}/etc/rc ]; then" 2489 echo " if [ -f ${prefix}/bin/openpkg ]; then"
1934 echo " ${prefix}/etc/rc all \"\$@\"" 2490 echo " ${prefix}/bin/openpkg rc all \"\$@\""
1935 echo " fi" 2491 echo " fi"
1936 echo "}" 2492 echo "}"
1937 echo "" 2493 echo ""
1938 echo "load_rc_config \$name" 2494 echo "load_rc_config \$name"
1939 echo "run_rc_command \"\$1\"" 2495 echo "run_rc_command \"\$1\""
1940 echo "" 2496 echo ""
1941 ) >/etc/rc.d/openpkg-${name} 2497 ) >/etc/rc.d/${name}
1942 chmod 755 /etc/rc.d/openpkg-${name} 2498 chmod 755 /etc/rc.d/${name}
1943 fi 2499 fi
1944 ;; 2500 ;;
1945 NetBSD/* ) 2501 NetBSD/* )
2502 if [ -f /etc/rc.d/${name_old} ]; then
2503 rm -f /etc/rc.d/${name_old}
2504 fi
1946 if [ ! -f /etc/rc.d/${name} ]; then 2505 if [ ! -f /etc/rc.d/${name} ]; then
1947 ( echo "#!/bin/sh" 2506 ( echo "#!/bin/sh"
1948 echo "##" 2507 echo "##"
1949 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 2508 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
1950 echo "##" 2509 echo "##"
1951 echo "## PROVIDE: ${name}" 2510 echo "## PROVIDE: ${name}"
1952 echo "## REQUIRE: DAEMON LOGIN NETWORK SERVERS" 2511 echo "## REQUIRE: DAEMON LOGIN NETWORK SERVERS"
1953 echo "##" 2512 echo "##"
1954 echo "" 2513 echo ""
1955 echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 2514 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
1956 echo "case \$1 in" 2515 echo "case \$1 in"
1957 echo " start ) exec ${prefix}/etc/rc all start ;;" 2516 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
1958 echo " stop ) exec ${prefix}/etc/rc all stop ;;" 2517 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
1959 echo " restart ) exec ${prefix}/etc/rc all stop start ;;" 2518 echo " restart ) exec ${prefix}/bin/openpkg rc all stop start ;;"
1960 echo " status ) ;;" 2519 echo " status ) ;;"
1961 echo "esac" 2520 echo "esac"
1962 ) >/etc/rc.d/${name} 2521 ) >/etc/rc.d/${name}
1963 chmod 755 /etc/rc.d/${name} 2522 chmod 755 /etc/rc.d/${name}
1964 fi 2523 fi
1965 ;; 2524 ;;
1966 Linux/* ) 2525 Linux/* )
1967 if [ -f /etc/gentoo-release ]; then 2526 if [ -f /etc/gentoo-release ]; then
1968 if [ ! -f /etc/init.d/openpkg-${name} ]; then 2527 if [ -f /etc/init.d/${name_old} ]; then
2528 rm -f /etc/init.d/${name_old}
2529 fi
2530 if [ ! -f /etc/init.d/${name} ]; then
1969 # install transfer script 2531 # install transfer script
1970 ( echo "#!/sbin/runscript" 2532 ( echo "#!/sbin/runscript"
1971 echo "##" 2533 echo "##"
1972 echo "## openpkg-${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 2534 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
1973 echo "##" 2535 echo "##"
1974 echo "" 2536 echo ""
1975 echo "depend() {" 2537 echo "depend() {"
1976 echo " after *" 2538 echo " after *"
1977 echo "}" 2539 echo "}"
1978 echo "" 2540 echo ""
1979 echo "checkconfig() {" 2541 echo "checkconfig() {"
1980 echo " [ -f ${prefix}/etc/rc ] || return 1" 2542 echo " [ -f ${prefix}/bin/openpkg ] || return 1"
1981 echo " case $1 in" 2543 echo " case $1 in"
1982 echo " start ) exec ${prefix}/etc/rc all start ;;" 2544 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
1983 echo " stop ) exec ${prefix}/etc/rc all stop ;;" 2545 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
1984 echo " esac" 2546 echo " esac"
1985 echo "}" 2547 echo "}"
1986 echo "" 2548 echo ""
1987 echo "start() {" 2549 echo "start() {"
1988 echo " checkconfig || return 1" 2550 echo " checkconfig || return 1"
1989 echo " ebegin "Starting OpenPKG ${prefix} hierarchy"" 2551 echo " ebegin "Starting OpenPKG ${prefix} hierarchy""
1990 echo " exec ${prefix}/etc/rc all start" 2552 echo " exec ${prefix}/bin/openpkg rc all start"
1991 echo " eend 0" 2553 echo " eend 0"
1992 echo "}" 2554 echo "}"
1993 echo "" 2555 echo ""
1994 echo "stop() {" 2556 echo "stop() {"
1995 echo " checkconfig || return 1" 2557 echo " checkconfig || return 1"
1996 echo " ebegin "Stopping OpenPKG ${prefix} hierarchy"" 2558 echo " ebegin "Stopping OpenPKG ${prefix} hierarchy""
1997 echo " exec ${prefix}/etc/rc all stop" 2559 echo " exec ${prefix}/bin/openpkg rc all stop"
1998 echo " eend 0" 2560 echo " eend 0"
1999 echo "}" 2561 echo "}"
2000 ) >/etc/init.d/openpkg-${name} 2562 ) >/etc/init.d/${name}
2001 chmod 755 /etc/init.d/openpkg-${name} 2563 chmod 755 /etc/init.d/${name}
2002 /sbin/rc-update add openpkg-${name} default 2564 /sbin/rc-update add ${name} default
2565 fi
2566 elif [ -f /etc/redhat-release ]; then
2567 sroot=/etc/rc.d/init.d
2568 if [ ! -f $sroot/${name} ]; then
2569 # install transfer script
2570 ( echo "#!/bin/sh"
2571 echo "##"
2572 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
2573 echo "##"
2574 echo ""
2575 echo "# chkconfig: 2345 99 00"
2576 echo "# description: OpenPKG ${prefix}"
2577 echo ""
2578 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
2579 echo "case \$1 in"
2580 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
2581 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
2582 echo "esac"
2583 ) >$sroot/${name}
2584 chmod 755 $sroot/${name}
2585 # activate script
2586 /sbin/chkconfig --add ${name}
2587 /sbin/chkconfig ${name} on
2003 fi 2588 fi
2004 else 2589 else
2005 # sroot: script root directory 2590 # sroot: script root directory
2006 # lroot: link root directory 2591 # lroot: link root directory
2007 if [ -f /etc/debian_version ]; then 2592 if [ -f /etc/debian_version ]; then
2008 sroot=/etc/init.d 2593 sroot=/etc/init.d
2009 lroot=/etc/rc%d.d 2594 lroot=/etc/rc%%d.d
2010 elif [ -f /etc/redhat-release -o -f /etc/mandrake-release ]; then 2595 elif [ -f /etc/mandrake-release ]; then
2011 sroot=/etc/rc.d/init.d 2596 sroot=/etc/rc.d/init.d
2012 lroot=/etc/rc.d/rc%d.d 2597 lroot=/etc/rc.d/rc%%d.d
2013 elif [ -f /etc/SuSE-release ]; then 2598 elif [ -f /etc/SuSE-release ]; then
2014 sroot=/etc/init.d 2599 sroot=/etc/init.d
2015 lroot=/etc/init.d/rc%d.d 2600 lroot=/etc/init.d/rc%%d.d
2016 elif [ -f /etc/slackware-version ]; then 2601 elif [ -f /etc/slackware-version ]; then
2017 sroot=/etc/rc.d 2602 sroot=/etc/rc.d
2018 lroot=/etc/rc.d/rc%d.d 2603 lroot=/etc/rc.d/rc%%d.d
2019 name="rc.${name}" 2604 name="rc.${name}"
2020 for i in 0 1 2 3 4 5 6; do 2605 for i in 0 1 2 3 4 5 6; do
2021 l=`echo $lroot | sed -e "s;%d;$i;"` 2606 l=`echo $lroot | sed -e "s;%%d;$i;"`
2022 if [ ! -d $l ]; then 2607 if [ ! -d $l ]; then
2023 mkdir $l 2>&1 || true 2608 mkdir $l 2>&1 || true
2024 fi 2609 fi
2025 done 2610 done
2026 else 2611 else
2035 break 2620 break
2036 fi 2621 fi
2037 done 2622 done
2038 for lr in /etc/rc.d/rc2.d /etc/rc2.d /sbin/init.d/rc2.d; do 2623 for lr in /etc/rc.d/rc2.d /etc/rc2.d /sbin/init.d/rc2.d; do
2039 if [ -d $lr ]; then 2624 if [ -d $lr ]; then
2040 lroot="`echo $lr | sed -e 's;2;%d;'`" 2625 lroot="`echo $lr | sed -e 's;2;%%d;'`"
2041 break 2626 break
2042 fi 2627 fi
2043 done 2628 done
2044 if [ ".$sroot" = . -o ".$lroot" = . ]; then 2629 if [ ".$sroot" = . -o ".$lroot" = . ]; then
2045 echo "ERROR: Failed to guess the location of the system init scripts!" 1>&2 2630 echo "ERROR: Failed to guess the location of the system init scripts!" 1>&2
2046 exit 1 2631 exit 1
2047 fi 2632 fi
2048 fi 2633 fi
2634 if [ -f $sroot/${name_old} ]; then
2635 rm -f $sroot/${name_old}
2636 fi
2049 if [ ! -f $sroot/${name} ]; then 2637 if [ ! -f $sroot/${name} ]; then
2050 # install transfer script 2638 # install transfer script
2051 ( echo "#!/bin/sh" 2639 ( echo "#!/bin/sh"
2052 echo "##" 2640 echo "##"
2053 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 2641 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
2054 echo "##" 2642 echo "##"
2055 echo "" 2643 echo ""
2056 echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 2644 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
2057 echo "case \$1 in" 2645 echo "case \$1 in"
2058 echo " start ) exec ${prefix}/etc/rc all start ;;" 2646 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
2059 echo " stop ) exec ${prefix}/etc/rc all stop ;;" 2647 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
2060 echo "esac" 2648 echo "esac"
2061 ) >$sroot/${name} 2649 ) >$sroot/${name}
2062 chmod 755 $sroot/${name} 2650 chmod 755 $sroot/${name}
2063 # create corresponding symbolic links 2651 # create corresponding symbolic links
2064 for i in 2 3 4 5; do 2652 for i in 2 3 4 5; do
2065 ln -s $sroot/${name} `echo $lroot | sed -e "s;%d;$i;"`/S99${name} 2653 ln -s $sroot/${name} `echo $lroot | sed -e "s;%%d;$i;"`/S99${name}
2066 done 2654 done
2067 for i in 0 1 6; do 2655 for i in 0 1 6; do
2068 ln -s $sroot/${name} `echo $lroot | sed -e "s;%d;$i;"`/K00${name} 2656 ln -s $sroot/${name} `echo $lroot | sed -e "s;%%d;$i;"`/K00${name}
2069 done 2657 done
2070 fi 2658 fi
2071 fi 2659 fi
2072 ;; 2660 ;;
2073 SunOS/5.1* ) 2661 SunOS/5.* )
2074 if [ ! -d /var/svc/manifest/openpkg ]; then 2662 if [ -f /etc/init.d/${name_old} ]; then
2075 mkdir /var/svc/manifest/openpkg 2663 rm -f /etc/init.d/${name_old}
2076 fi 2664 fi
2077 if [ ! -f /var/svc/manifest/openpkg/${name}.xml ]; then
2078 # install SMF manifest
2079 ( echo "<?xml version=\"1.0\"?>"
2080 echo "<!DOCTYPE service_bundle SYSTEM \"/usr/share/lib/xml/dtd/service_bundle.dtd.1\">"
2081 echo "<service_bundle type='manifest' name='OpenPKG:${name}'>"
2082 echo " <service"
2083 echo " name='openpkg/${name}'"
2084 echo " type='service'"
2085 echo " version='1'>"
2086 echo " <single_instance />"
2087 echo " <dependency"
2088 echo " name='filesystem'"
2089 echo " type='service'"
2090 echo " grouping='require_all'"
2091 echo " restart_on='none'>"
2092 echo " <service_fmri value='svc:/system/filesystem/local' />"
2093 echo " </dependency>"
2094 echo " <dependency"
2095 echo " name='name-services'"
2096 echo " type='service'"
2097 echo " grouping='require_all'"
2098 echo " restart_on='none'>"
2099 echo " <service_fmri value='svc:/milestone/name-services' />"
2100 echo " </dependency>"
2101 echo " <dependency"
2102 echo " name='multi-user-server'"
2103 echo " type='service'"
2104 echo " grouping='require_all'"
2105 echo " restart_on='none'>"
2106 echo " <service_fmri value='svc:/milestone/multi-user-server' />"
2107 echo " </dependency>"
2108 echo " <dependency"
2109 echo " name='network'"
2110 echo " type='service'"
2111 echo " grouping='require_all'"
2112 echo " restart_on='none'>"
2113 echo " <service_fmri value='svc:/milestone/network' />"
2114 echo " </dependency>"
2115 echo " <exec_method"
2116 echo " type='method'"
2117 echo " name='start'"
2118 echo " exec='${prefix}/etc/rc all start'"
2119 echo " timeout_seconds='180'>"
2120 echo " <method_context>"
2121 echo " <method_credential user='root' group='root' />"
2122 echo " </method_context>"
2123 echo " </exec_method>"
2124 echo " <exec_method"
2125 echo " type='method'"
2126 echo " name='stop'"
2127 echo " exec='${prefix}/etc/rc all stop'"
2128 echo " timeout_seconds='180'>"
2129 echo " </exec_method>"
2130 echo " <property_group name='startd' type='framework'>"
2131 echo " <propval"
2132 echo " name='ignore_error'"
2133 echo " type='astring'"
2134 echo " value='core,signal' />"
2135 echo " </property_group>"
2136 echo " <property_group name='startd' type='framework'>"
2137 echo " <propval"
2138 echo " name='duration'"
2139 echo " type='astring'"
2140 echo " value='transient' />"
2141 echo " </property_group>"
2142 echo " <property_group name='general' type='framework'>"
2143 echo " <propval"
2144 echo " name='action_authorization'"
2145 echo " type='astring'"
2146 echo " value='solaris.smf.manage.openpkg.${name}' />"
2147 echo " </property_group>"
2148 echo " <instance name='default' enabled='false' />"
2149 echo " <stability value='Unstable' />"
2150 echo " <template>"
2151 echo " <common_name>"
2152 echo " <loctext xml:lang='C'>OpenPKG Instance ${prefix}</loctext>"
2153 echo " </common_name>"
2154 echo " </template>"
2155 echo " </service>"
2156 echo "</service_bundle>"
2157 ) >/var/svc/manifest/openpkg/${name}.xml
2158 chmod 644 /var/svc/manifest/openpkg/${name}.xml
2159 /usr/sbin/svccfg import /var/svc/manifest/openpkg/${name}.xml
2160 ( echo "/usr/sbin/svcadm enable \"svc:/openpkg/${name}:default\""
2161 ) >%{l_prefix}.pre-post-process.sh
2162 fi
2163 ;;
2164 SunOS/5.* )
2165 if [ ! -f /etc/init.d/${name} ]; then 2665 if [ ! -f /etc/init.d/${name} ]; then
2166 # install transfer script 2666 # install transfer script
2167 ( echo "#!/bin/sh" 2667 ( echo "#!/bin/sh"
2168 echo "##" 2668 echo "##"
2169 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 2669 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
2170 echo "##" 2670 echo "##"
2171 echo "" 2671 echo ""
2172 echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 2672 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
2173 echo "case \$1 in" 2673 echo "case \$1 in"
2174 echo " start ) exec ${prefix}/etc/rc all start ;;" 2674 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
2175 echo " stop ) exec ${prefix}/etc/rc all stop ;;" 2675 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
2176 echo "esac" 2676 echo "esac"
2177 ) >/etc/init.d/${name} 2677 ) >/etc/init.d/${name}
2178 chmod 755 /etc/init.d/${name} 2678 chmod 755 /etc/init.d/${name}
2179 # create corresponding symbolic links 2679 # create corresponding symbolic links
2180 ( cd /etc 2680 ( cd /etc
2183 ln init.d/${name} rc1.d/K00${name} 2683 ln init.d/${name} rc1.d/K00${name}
2184 ) || exit $? 2684 ) || exit $?
2185 fi 2685 fi
2186 ;; 2686 ;;
2187 UnixWare/* ) 2687 UnixWare/* )
2688 if [ -f /etc/init.d/${name_old} ]; then
2689 rm -f /etc/init.d/${name_old}
2690 fi
2188 if [ ! -f /etc/init.d/${name} ]; then 2691 if [ ! -f /etc/init.d/${name} ]; then
2189 # install transfer script 2692 # install transfer script
2190 ( echo "#!/bin/sh" 2693 ( echo "#!/bin/sh"
2191 echo "##" 2694 echo "##"
2192 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 2695 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
2193 echo "##" 2696 echo "##"
2194 echo "" 2697 echo ""
2195 echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 2698 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
2196 echo "case \$1 in" 2699 echo "case \$1 in"
2197 echo " start ) exec ${prefix}/etc/rc all start ;;" 2700 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
2198 echo " stop ) exec ${prefix}/etc/rc all stop ;;" 2701 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
2199 echo "esac" 2702 echo "esac"
2200 ) >/etc/init.d/${name} 2703 ) >/etc/init.d/${name}
2201 chmod 755 /etc/init.d/${name} 2704 chmod 755 /etc/init.d/${name}
2202 # create corresponding symbolic links 2705 # create corresponding symbolic links
2203 ( cd /etc 2706 ( cd /etc
2206 ln init.d/${name} rc1.d/K00${name} 2709 ln init.d/${name} rc1.d/K00${name}
2207 ) || exit $? 2710 ) || exit $?
2208 fi 2711 fi
2209 ;; 2712 ;;
2210 AIX/* ) 2713 AIX/* )
2714 if [ -f /etc/rc.d/init.d/${name_old} ]; then
2715 rm -f /etc/rc.d/init.d/${name_old}
2716 fi
2211 if [ ! -f /etc/rc.d/init.d/${name} ]; then 2717 if [ ! -f /etc/rc.d/init.d/${name} ]; then
2212 # install transfer script 2718 # install transfer script
2213 ( echo "#!/bin/sh" 2719 ( echo "#!/bin/sh"
2214 echo "##" 2720 echo "##"
2215 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 2721 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
2216 echo "##" 2722 echo "##"
2217 echo "" 2723 echo ""
2218 echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 2724 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
2219 echo "case \$1 in" 2725 echo "case \$1 in"
2220 echo " start ) exec ${prefix}/etc/rc all start ;;" 2726 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
2221 echo " stop ) exec ${prefix}/etc/rc all stop ;;" 2727 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
2222 echo "esac" 2728 echo "esac"
2223 ) >/etc/rc.d/init.d/${name} 2729 ) >/etc/rc.d/init.d/${name}
2224 chmod 755 /etc/rc.d/init.d/${name} 2730 chmod 755 /etc/rc.d/init.d/${name}
2225 # create corresponding symbolic links 2731 # create corresponding symbolic links
2226 ( cd /etc/rc.d 2732 ( cd /etc/rc.d
2227 ln -s ../init.d/${name} rc2.d/S99${name} 2733 ln -s ../init.d/${name} rc2.d/S99${name}
2228 ) || exit $? 2734 ) || exit $?
2229 fi 2735 fi
2230 ;; 2736 ;;
2231 OSF1/V5.* ) 2737 OSF1/V5.* )
2738 if [ -f /sbin/init.d/${name_old} ]; then
2739 rm -f /sbin/init.d/${name_old}
2740 fi
2232 if [ ! -f /sbin/init.d/${name} ]; then 2741 if [ ! -f /sbin/init.d/${name} ]; then
2233 # install transfer script 2742 # install transfer script
2234 ( echo "#!/bin/sh" 2743 ( echo "#!/bin/sh"
2235 echo "##" 2744 echo "##"
2236 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 2745 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
2237 echo "##" 2746 echo "##"
2238 echo "" 2747 echo ""
2239 echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 2748 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
2240 echo "case \$1 in" 2749 echo "case \$1 in"
2241 echo " start ) exec ${prefix}/etc/rc all start ;;" 2750 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
2242 echo " stop ) exec ${prefix}/etc/rc all stop ;;" 2751 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
2243 echo "esac" 2752 echo "esac"
2244 ) >/sbin/init.d/${name} 2753 ) >/sbin/init.d/${name}
2245 chmod 755 /sbin/init.d/${name} 2754 chmod 755 /sbin/init.d/${name}
2246 # create corresponding symbolic links 2755 # create corresponding symbolic links
2247 ( cd /sbin 2756 ( cd /sbin
2249 ln -s ../init.d/${name} rc0.d/K00${name} 2758 ln -s ../init.d/${name} rc0.d/K00${name}
2250 ) || exit $? 2759 ) || exit $?
2251 fi 2760 fi
2252 ;; 2761 ;;
2253 HP-UX/* ) 2762 HP-UX/* )
2763 if [ -f /sbin/init.d/${name_old} ]; then
2764 rm -f /sbin/init.d/${name_old}
2765 fi
2254 if [ ! -f /sbin/init.d/${name} ]; then 2766 if [ ! -f /sbin/init.d/${name} ]; then
2255 # install transfer script 2767 # install transfer script
2256 ( echo "#!/bin/sh" 2768 ( echo "#!/bin/sh"
2257 echo "##" 2769 echo "##"
2258 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 2770 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
2259 echo "##" 2771 echo "##"
2260 echo "" 2772 echo ""
2261 echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 2773 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
2262 echo "case \$1 in" 2774 echo "case \$1 in"
2263 echo " start ) exec ${prefix}/etc/rc all start ;;" 2775 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
2264 echo " stop ) exec ${prefix}/etc/rc all stop ;;" 2776 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
2265 echo "esac" 2777 echo "esac"
2266 ) >/sbin/init.d/${name} 2778 ) >/sbin/init.d/${name}
2267 chmod 755 /sbin/init.d/${name} 2779 chmod 755 /sbin/init.d/${name}
2268 # create corresponding symbolic links 2780 # create corresponding symbolic links
2269 ( cd /sbin 2781 ( cd /sbin
2271 ln -s ../init.d/${name} rc1.d/K100${name} 2783 ln -s ../init.d/${name} rc1.d/K100${name}
2272 ) || exit $? 2784 ) || exit $?
2273 fi 2785 fi
2274 ;; 2786 ;;
2275 Darwin/* ) 2787 Darwin/* )
2276 darwin_rc_dir="/System/Library/StartupItems/${name}" 2788 if [ -d /Library/StartupItems/${name_old} ]; then
2789 rm -rf /Library/StartupItems/${name_old}
2790 fi
2791 darwin_rc_dir="/Library/StartupItems/${name}"
2277 if [ ! -d ${darwin_rc_dir} ]; then 2792 if [ ! -d ${darwin_rc_dir} ]; then
2278 mkdir ${darwin_rc_dir} 2793 mkdir -p ${darwin_rc_dir}
2279 fi 2794 fi
2280 2795
2281 # make sure hierarchy is activated in /etc/hostconfig 2796 # make sure hierarchy is activated in /etc/hostconfig
2282 # FIXME: cs: simple and bad code here without any detection of existing entries 2797 # FIXME: cs: simple and bad code here without any detection of existing entries
2283 echo "OPENPKG_${name}=-YES-" >>/etc/hostconfig 2798 darwin_rc_var="`echo ${name} | sed -e 's;-;_;g' | tr '[a-z]' '[A-Z]'`"
2799 echo "${darwin_rc_var}=-YES-" >>/etc/hostconfig
2284 2800
2285 # install transfer script 2801 # install transfer script
2286 if [ ! -f ${darwin_rc_dir}/${name} ]; then 2802 if [ ! -f ${darwin_rc_dir}/${name} ]; then
2287 rm -f ${darwin_rc_dir}/${name} >/dev/null 2>&1 2803 rm -f ${darwin_rc_dir}/${name} >/dev/null 2>&1
2288 ( echo "#!/bin/sh" 2804 ( echo "#!/bin/sh"
2289 echo "##" 2805 echo "##"
2290 echo "## ${darwin_rc_dir}/${name}" 2806 echo "## ${darwin_rc_dir}/${name}"
2291 echo "## -- startup transfer script for OpenPKG ${prefix} hierarchy" 2807 echo "## -- startup transfer script for OpenPKG ${prefix} hierarchy"
2292 echo "##" 2808 echo "##"
2293 echo "" 2809 echo ""
2294 echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 2810 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
2295 echo "" 2811 echo ""
2296 echo ". /etc/rc.common" 2812 echo ". /etc/rc.common"
2297 echo "" 2813 echo ""
2298 echo "if [ \"\${OPENPKG_${name}:=-NO-}\" = \"-YES-\" ]; then" 2814 echo "if [ \"\${${darwin_rc_var}:=-NO-}\" = \"-YES-\" ]; then"
2299 echo " ConsoleMessage \"OpenPKG ${prefix} hierarchy\"" 2815 echo " ConsoleMessage \"OpenPKG ${prefix} hierarchy\""
2300 echo " ${prefix}/etc/rc all start" 2816 echo " ${prefix}/bin/openpkg rc all start"
2301 echo "fi" 2817 echo "fi"
2302 ) >${darwin_rc_dir}/${name} 2818 ) >${darwin_rc_dir}/${name}
2303 chmod 755 ${darwin_rc_dir}/${name} 2819 chmod 755 ${darwin_rc_dir}/${name}
2304 fi 2820 fi
2821
2305 # install startup parameter list 2822 # install startup parameter list
2306 if [ ! -f ${darwin_rc_dir}/StartupParameters.plist ]; then 2823 if [ ! -f ${darwin_rc_dir}/StartupParameters.plist ]; then
2307 rm -f ${darwin_rc_dir}/StartupParameters.plist >/dev/null 2>&1 2824 rm -f ${darwin_rc_dir}/StartupParameters.plist >/dev/null 2>&1
2308 ( echo "{" 2825 ( echo "{"
2309 echo " Description = \"OpenPKG ${prefix} hierarchy\";" 2826 echo " Description = \"OpenPKG ${prefix} hierarchy\";"
2320 ) >${darwin_rc_dir}/StartupParameters.plist 2837 ) >${darwin_rc_dir}/StartupParameters.plist
2321 chmod 644 ${darwin_rc_dir}/StartupParameters.plist 2838 chmod 644 ${darwin_rc_dir}/StartupParameters.plist
2322 fi 2839 fi
2323 ;; 2840 ;;
2324 IRIX*/6.* ) 2841 IRIX*/6.* )
2842 if [ -f /etc/init.d/${name_old} ]; then
2843 rm -f /etc/init.d/${name_old}
2844 fi
2325 if [ ! -f /etc/init.d/${name} ]; then 2845 if [ ! -f /etc/init.d/${name} ]; then
2326 # install transfer script 2846 # install transfer script
2327 ( echo "#!/bin/sh" 2847 ( echo "#!/bin/sh"
2328 echo "##" 2848 echo "##"
2329 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 2849 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
2330 echo "##" 2850 echo "##"
2331 echo "" 2851 echo ""
2332 echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 2852 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
2333 echo "case \$1 in" 2853 echo "case \$1 in"
2334 echo " start ) exec ${prefix}/etc/rc all start ;;" 2854 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
2335 echo " stop ) exec ${prefix}/etc/rc all stop ;;" 2855 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
2336 echo "esac" 2856 echo "esac"
2337 ) >/etc/init.d/${name} 2857 ) >/etc/init.d/${name}
2338 chmod 755 /etc/init.d/${name} 2858 chmod 755 /etc/init.d/${name}
2339 # create corresponding links 2859 # create corresponding links
2340 ( cd /etc 2860 ( cd /etc
2341 ln -f init.d/${name} rc2.d/S99${name} 2861 ln -f init.d/${name} rc2.d/S99${name}
2342 ln -f init.d/${name} rc0.d/K00${name} 2862 ln -f init.d/${name} rc0.d/K00${name}
2343 ) || exit $? 2863 ) || exit $?
2344 fi 2864 fi
2345 ;; 2865 ;;
2866 CYGWIN*/* )
2867 if [ -f /etc/rc.d/init.d/${name_old} ]; then
2868 rm -f /etc/rc.d/init.d/${name_old}
2869 fi
2870 if [ ! -f /etc/rc.d/init.d/${name} ]; then
2871 # install transfer script
2872 ( echo "#!/bin/sh"
2873 echo "##"
2874 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
2875 echo "##"
2876 echo ""
2877 echo "test -f /etc/rc.d/init.d/functions && . /etc/rc.d/init.d/functions"
2878 echo "test -f /etc/sysconfig/network && . /etc/sysconfig/network"
2879 echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
2880 echo "case \$1 in"
2881 echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
2882 echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
2883 echo "esac"
2884 ) >/etc/rc.d/init.d/${name}
2885 chmod 755 /etc/rc.d/init.d/${name}
2886 # create corresponding symbolic links
2887 ( cd /etc/rc.d
2888 ln -s ../init.d/${name} rc2.d/S90${name}
2889 ln -s ../init.d/${name} rc1.d/K10${name}
2890 ) || exit $?
2891 fi
2892 ;;
2346 esac 2893 esac
2347 fi 2894 fi
2348 2895
2349 # create the cron transfer entries 2896 # create the cron transfer entries
2350 if [ ".$cusr" != ".root" ]; then 2897 if [ ".$cusr" != ".root" ]; then
2351 echo "openpkg:WARNING: skipping creation of system cron hooks" 1>&2 2898 echo "openpkg:WARNING: skipping creation of system cron hooks" 1>&2
2352 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 2899 echo "openpkg:WARNING: (would require root-privileges)" 1>&2
2353 else 2900 else
2354 case "$plid" in 2901 case "$plid" in
2355 FreeBSD/* | Linux/* | Darwin/* ) 2902 FreeBSD/* | Linux/* )
2356 if [ -f /etc/slackware-version ]; then 2903 if [ -f /etc/slackware-version ]; then
2357 exists=`crontab -l | grep "$prefix/etc/rc"` 2904 exists=`crontab -l | egrep "($prefix/bin/openpkg|$prefix/etc/rc)"`
2358 if [ ".$exists" = . ]; then 2905 if [ ".$exists" = . ]; then
2359 EDITOR=/tmp/vipw.$$ 2906 EDITOR=/tmp/vipw.$$
2360 VISUAL="$EDITOR" 2907 VISUAL="$EDITOR"
2361 export EDITOR 2908 export EDITOR
2362 export VISUAL 2909 export VISUAL
2363 ( echo "#!/bin/sh" 2910 ( echo "#!/bin/sh"
2364 echo "( echo \"# <OpenPKG prefix=$prefix pkg=openpkg>\"" 2911 echo "( echo \"# <OpenPKG prefix=$prefix pkg=openpkg>\""
2365 echo " echo \"# chronological tasks of ${prefix} OpenPKG hierarchy\"" 2912 echo " echo \"# chronological tasks of ${prefix} OpenPKG hierarchy\""
2366 echo " echo \"0 0 1 * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly\"" 2913 echo " echo \"0 0 1 * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly\""
2367 echo " echo \"0 0 * * 0 [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly\"" 2914 echo " echo \"0 0 * * 0 [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly\""
2368 echo " echo \"0 0 * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily\"" 2915 echo " echo \"0 0 * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily\""
2369 echo " echo \"0 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly\"" 2916 echo " echo \"0 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly\""
2370 echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly\"" 2917 echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly\""
2371 echo " echo \"# </OpenPKG>\"" 2918 echo " echo \"# </OpenPKG>\""
2372 echo ") >>\$1" 2919 echo ") >>\$1"
2373 ) >$EDITOR 2920 ) >$EDITOR
2374 chmod a+x $EDITOR 2921 chmod a+x $EDITOR
2375 ( PATH="$PATH:/usr/bin"; crontab -e ) || exit $? 2922 ( PATH="$PATH:/usr/bin"; crontab -e ) || exit $?
2376 rm -f $EDITOR 2923 rm -f $EDITOR
2377 fi 2924 fi
2378 else 2925 else
2379 exists=`grep "$prefix/etc/rc" /etc/crontab` 2926 exists=`egrep "($prefix/bin/openpkg|$prefix/etc/rc)" /etc/crontab`
2380 if [ ".$exists" = . ]; then 2927 if [ ".$exists" = . ]; then
2381 ( echo "# <OpenPKG prefix=$prefix pkg=openpkg>" 2928 ( echo "# <OpenPKG prefix=$prefix pkg=openpkg>"
2382 echo "# chronological tasks of ${prefix} OpenPKG hierarchy" 2929 echo "# chronological tasks of ${prefix} OpenPKG hierarchy"
2383 echo "0 0 1 * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly" 2930 echo "0 0 1 * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly"
2384 echo "0 0 * * 0 root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly" 2931 echo "0 0 * * 0 root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly"
2385 echo "0 0 * * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily" 2932 echo "0 0 * * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily"
2386 echo "0 * * * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly" 2933 echo "0 * * * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly"
2387 echo "*/15 * * * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly" 2934 echo "*/15 * * * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly"
2388 echo "# </OpenPKG>" 2935 echo "# </OpenPKG>"
2389 ) >>/etc/crontab 2936 ) >>/etc/crontab
2390 fi 2937 fi
2391 fi 2938 fi
2392 ;; 2939 ;;
2393 SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* ) 2940 SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* | CYGWIN*/* | Darwin/* )
2394 exists=`crontab -l | grep "$prefix/etc/rc"` 2941 exists=`crontab -l | egrep "($prefix/bin/openpkg|$prefix/etc/rc)"`
2395 if [ ".$exists" = . ]; then 2942 if [ ".$exists" = . ]; then
2396 EDITOR=/tmp/vipw.$$ 2943 EDITOR=/tmp/vipw.$$
2397 VISUAL="$EDITOR" 2944 VISUAL="$EDITOR"
2398 export EDITOR 2945 export EDITOR
2399 export VISUAL 2946 export VISUAL
2400 ( echo "#!/bin/sh" 2947 ( echo "#!/bin/sh"
2401 echo "( echo \"# <OpenPKG prefix=$prefix pkg=openpkg>\"" 2948 echo "( echo \"# <OpenPKG prefix=$prefix pkg=openpkg>\""
2402 echo " echo \"# chronological tasks of ${prefix} OpenPKG hierarchy\"" 2949 echo " echo \"# chronological tasks of ${prefix} OpenPKG hierarchy\""
2403 echo " echo \"0 0 1 * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly\"" 2950 echo " echo \"0 0 1 * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly\""
2404 echo " echo \"0 0 * * 0 [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly\"" 2951 echo " echo \"0 0 * * 0 [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly\""
2405 echo " echo \"0 0 * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily\"" 2952 echo " echo \"0 0 * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily\""
2406 echo " echo \"0 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly\"" 2953 echo " echo \"0 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly\""
2407 echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly\"" 2954 echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly\""
2408 echo " echo \"# </OpenPKG>\"" 2955 echo " echo \"# </OpenPKG>\""
2409 echo ") >>\$1" 2956 echo ") >>\$1"
2410 ) >$EDITOR 2957 ) >$EDITOR
2411 chmod a+x $EDITOR 2958 chmod a+x $EDITOR
2412 ( PATH="$PATH:/usr/bin"; crontab -e ) || exit $? 2959 ( PATH="$PATH:/usr/bin"; crontab -e ) || exit $?
2413 rm -f $EDITOR 2960 rm -f $EDITOR
2414 fi 2961 fi
2415 ;; 2962 ;;
2416 IRIX*/6.* ) 2963 IRIX*/6.* )
2417 exists=`crontab -l | grep "$prefix/etc/rc"` 2964 exists=`crontab -l | egrep "($prefix/bin/openpkg|$prefix/etc/rc)"`
2418 if [ ".$exists" = . ]; then 2965 if [ ".$exists" = . ]; then
2419 ( crontab -l 2966 ( crontab -l
2420 echo "# <OpenPKG prefix=$prefix pkg=openpkg>" 2967 echo "# <OpenPKG prefix=$prefix pkg=openpkg>"
2421 echo "# chronological tasks of ${prefix} OpenPKG hierarchy" 2968 echo "# chronological tasks of ${prefix} OpenPKG hierarchy"
2422 echo "0 0 1 * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly" 2969 echo "0 0 1 * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly"
2423 echo "0 0 * * 0 [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly" 2970 echo "0 0 * * 0 [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly"
2424 echo "0 0 * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily" 2971 echo "0 0 * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily"
2425 echo "0 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly" 2972 echo "0 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly"
2426 echo "0,15,30,45 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly" 2973 echo "0,15,30,45 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly"
2427 echo "# </OpenPKG>" 2974 echo "# </OpenPKG>"
2428 ) | /usr/bin/crontab || exit $? 2975 ) | /usr/bin/crontab || exit $?
2429 fi 2976 fi
2430 ;; 2977 ;;
2431 esac 2978 esac
2433 2980
2434 # remember what OpenPKG RPM version was installed, so we can 2981 # remember what OpenPKG RPM version was installed, so we can
2435 # correctly upgrade the RPM database in the %post section (see below). 2982 # correctly upgrade the RPM database in the %post section (see below).
2436 if [ -d ${prefix}/RPM/DB ]; then 2983 if [ -d ${prefix}/RPM/DB ]; then
2437 if [ -x "${prefix}/bin/openpkg" -a -x "${prefix}/libexec/openpkg/rpm" ]; then 2984 if [ -x "${prefix}/bin/openpkg" -a -x "${prefix}/libexec/openpkg/rpm" ]; then
2438 # OpenPKG 2.0 2985 # OpenPKG >= 2.0
2439 rpm="${prefix}/bin/openpkg rpm" 2986 rpm="${prefix}/bin/openpkg rpm"
2440 else 2987 else
2441 # OpenPKG 1.x 2988 # OpenPKG 1.x
2442 rpm="${prefix}/bin/rpm" 2989 rpm="${prefix}/bin/rpm"
2443 fi 2990 fi
2444 rm -f ${prefix}/RPM/DB/.version >/dev/null 2>&1 || true 2991 rm -f ${prefix}/RPM/DB/.version >/dev/null 2>&1 || true
2445 $rpm --version |\ 2992 $rpm --version 2>/dev/null |\
2446 sed -e 's;^;X;' \ 2993 sed -e 's;^;X;' \
2447 -e 's;^X[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$;\1;' \ 2994 -e 's;^X[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$;\1;' \
2448 -e 's;^X[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$;\1;' \ 2995 -e 's;^X[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$;\1;' \
2449 -e 's;^X.*$;4.0;' \ 2996 -e 's;^X.*$;0.0;' \
2450 >${prefix}/RPM/DB/.version 2997 >${prefix}/RPM/DB/.version
2451 fi 2998 fi
2452 2999
2453 %post 3000 %post
2454 # optional post-processing from "pre" section 3001 # optional post-processing from "pre" section
2458 fi 3005 fi
2459 3006
2460 # update or initially create OpenPKG UUID configuration 3007 # update or initially create OpenPKG UUID configuration
2461 %{l_prefix}/bin/openpkg uuid update >/dev/null 2>&1 || true 3008 %{l_prefix}/bin/openpkg uuid update >/dev/null 2>&1 || true
2462 3009
3010 # when upgrading from RPM 4 to RPM 5 there will be no
3011 # initial license at all, so create one
3012 if [ ! -f %{l_prefix}/etc/openpkg/license ]; then
3013 echo "BOOT" >%{l_prefix}/etc/openpkg/license
3014 ( chown %{l_musr}:%{l_mgrp} %{l_prefix}/etc/openpkg/license
3015 chmod 644 %{l_prefix}/etc/openpkg/license
3016 ) >/dev/null 2>&1 || true
3017 fi
3018
3019 # finally switch from a possibly active BOOT license to EVAL license
3020 # (notice: this is really the earliest time we can switch because the
3021 # previous command had to create the <prefix>/etc/openpkg/uuid first!)
3022 if [ ".`cat %{l_prefix}/etc/openpkg/license`" = ".BOOT" ]; then
3023 echo "EVAL" >%{l_prefix}/etc/openpkg/license
3024 fi
3025
2463 # determine new and old OpenPKG RPM version 3026 # determine new and old OpenPKG RPM version
2464 V_rpm_new="%{V_rpm}" 3027 V_rpm_new="%{V_rpm_major}.%{V_rpm_minor}"
2465 if [ -f %{l_prefix}/RPM/DB/.version ]; then 3028 if [ -f %{l_prefix}/RPM/DB/.version ]; then
2466 V_rpm_old="`cat %{l_prefix}/RPM/DB/.version`" 3029 V_rpm_old="`cat %{l_prefix}/RPM/DB/.version`"
2467 rm -f %{l_prefix}/RPM/DB/.version >/dev/null 2>&1 || true 3030 rm -f %{l_prefix}/RPM/DB/.version >/dev/null 2>&1 || true
2468 else 3031 else
2469 V_rpm_old="4.0" 3032 V_rpm_old="0.0"
2470 fi 3033 fi
2471 3034
2472 # make sure all RPM database files are present and that their 3035 # make sure all RPM database files are present and that their
2473 # attributes are correct, etc. This is not a database rebuild 3036 # attributes are correct, etc. This is not a database rebuild
2474 # operation, so this is fully harmless and can be done always. 3037 # operation, so this is fully harmless and can be done always.
2475 %{l_prefix}/lib/openpkg/rpmdb --quiet --fixate 3038 %{l_prefix}/lib/openpkg/rpmdb --quiet --fixate >/dev/null 2>&1 || true
2476 3039
2477 # check RPM database for upgrade requirements 3040 # check RPM database for upgrade requirements
2478 if [ ".$1" = .2 -a ".$V_rpm_old" != ".$V_rpm_new" ]; then 3041 if [ ".$1" = .2 -a ".$V_rpm_old" != ".$V_rpm_new" ]; then
2479 # RPM 4.0/4.1 does not allow concurrent database access, so we 3042 # RPM 4.0/4.1 does not allow concurrent database access, so we
2480 # cannot upgrade the database immediately from here (because 3043 # cannot upgrade the database immediately from here (because
2481 # we are still running within the execution context of the 3044 # we are still running within the execution context of the
2482 # old RPM which in turn has the database locked) and instead 3045 # old RPM which in turn has the database locked) and instead
2483 # have to just drop a note to the administrator about database 3046 # have to just drop a note to the administrator about database
2484 # upgrading. RPM 4.2 in general allows concurrent database 3047 # upgrading. RPM >= 4.2 in general allows concurrent database
2485 # access, but the whole stuff is too risky here, too. 3048 # access, but the whole stuff is too risky here, too.
2486 ( echo "You are upgrading the OpenPKG bootstrap from a previous" 3049 ( echo "You are upgrading the OpenPKG bootstrap from a previous"
2487 echo "RPM $V_rpm_old based version to this RPM $V_rpm_new based" 3050 echo "RPM $V_rpm_old based version to this RPM $V_rpm_new based"
2488 echo "version. The RPM database in %{l_prefix}/RPM/DB/ can still" 3051 echo "version. The RPM database in %{l_prefix}/RPM/DB/ can be"
2489 echo "be used, but it is strongly recommended to upgrade it as" 3052 echo "reused, but you first have to upgrade it as soon as"
2490 echo "soon as possible to the latest Berkeley-DB format files by" 3053 echo "possible to the latest format files by executing:"
2491 echo "executing the command:"
2492 echo " \$ %{l_prefix}/bin/openpkg rpm --db-rebuild" 3054 echo " \$ %{l_prefix}/bin/openpkg rpm --db-rebuild"
2493 echo "In case of problems with the RPM database you can always" 3055 echo "In case of problems with the RPM database you can always"
2494 echo "execute the command:" 3056 echo "execute the command:"
2495 echo " \$ %{l_prefix}/bin/openpkg rpm --db-cleanup" 3057 echo " \$ %{l_prefix}/bin/openpkg rpm --db-cleanup"
2496 ) | %{l_prefix}/lib/openpkg/rpmtool msg -b -t warn 3058 ) | %{l_prefix}/lib/openpkg/rpmtool msg -b -t warn
2550 chmod 775 %{l_prefix}/lib/openpkg/override/ld 3112 chmod 775 %{l_prefix}/lib/openpkg/override/ld
2551 fi 3113 fi
2552 ;; 3114 ;;
2553 esac 3115 esac
2554 3116
3117 # special support for fully unprivileged environments
3118 # where we cannot switch the user at all with su(1),
3119 # so we provide a dummy su(1) override command.
3120 if [ ".%{l_unprivileged}" = ".yes" ]; then
3121 ( echo "#!/bin/sh"
3122 echo "while [ \$# -gt 0 ]; do"
3123 echo " case \"\$1\" in"
3124 echo " - | -* ) shift ;;"
3125 echo " * ) shift; break ;;"
3126 echo " esac"
3127 echo "done"
3128 echo "exec /bin/sh \${1+\"\$@\"}"
3129 ) >%{l_prefix}/lib/openpkg/override/su
3130 chmod 775 %{l_prefix}/lib/openpkg/override/su
3131 fi
3132
2555 # FIXME: hack to workaround problems in environments with too few 3133 # FIXME: hack to workaround problems in environments with too few
2556 # development tools. ATTENTION: see one paragraph above. 3134 # development tools. ATTENTION: see one paragraph above.
2557 if [ ! -d %{l_prefix}/lib/openpkg/fallback ]; then 3135 if [ ! -d %{l_prefix}/lib/openpkg/fallback ]; then
2558 mkdir %{l_prefix}/lib/openpkg/fallback >/dev/null 2>&1 || true 3136 mkdir %{l_prefix}/lib/openpkg/fallback >/dev/null 2>&1 || true
2559 fi 3137 fi
2560 chown %{l_musr}:%{l_mgrp} %{l_prefix}/lib/openpkg/fallback >/dev/null 2>&1 || true 3138 chown %{l_musr}:%{l_mgrp} %{l_prefix}/lib/openpkg/fallback >/dev/null 2>&1 || true
2561 3139
2562 # check for "openpkg" executable from the OpenPKG Community series 3140 # cruel platform hack
2563 # print license if not OSS, otherwise register with openpkg.org 3141 case "`cat %{l_prefix}/etc/openpkg/platform`" in
2564 community_version=`%{l_prefix}/bin/openpkg --license 2>/dev/null | \ 3142 *-*-cygwin* )
2565 sed -e 'q' | egrep '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*-C'` 3143 # Cygwin under Windows Vista dislikes executables with
2566 if [ ".$community_version" = . ]; then 3144 # "patch" in the same and would require a "*.manifest"
2567 ( echo "" 3145 # file applied with the "mt.exe" from the "Windows
2568 echo "NOTICE: This OpenPKG bootstrap package is based on an \"openpkg\"" 3146 # Software Development Kit (SDK)" in order to escape from
2569 echo "executable which is covered by the following terms of use:" 3147 # UAC. An easy alternative is to just rename the file to a
2570 echo "______________________________________________________________________________" 3148 # different name.
2571 echo "" 3149 cp %{l_prefix}/lib/openpkg/patch \
2572 %{l_prefix}/bin/openpkg --license | sed -e '1d' 3150 %{l_prefix}/lib/openpkg/pitch
2573 ) | %{l_prefix}/lib/openpkg/rpmtool msg -b -t notice 3151 %{l_prefix}/lib/openpkg/shtool subst \
2574 else 3152 -e 's;openpkg/patch;openpkg/pitch;g' \
2575 %{l_prefix}/bin/openpkg register </dev/null >/dev/null 2>&1 || true 3153 %{l_prefix}/etc/openpkg/rpmmacros
2576 fi 3154 ;;
3155 esac
3156
3157 # print license
3158 ( echo ""
3159 echo "NOTICE: Proprietary components of the OpenPKG Framework are covered"
3160 echo "by the following terms and conditions and require a valid run-time"
3161 echo "license, issued by the OpenPKG GmbH. An initial license, which allows"
3162 echo "30 days of free use for evaluation purposes, is already pre-installed."
3163 echo "Please go to http://openpkg.com/go/framework-license to obtain"
3164 echo "your permanent license."
3165 echo ""
3166 %{l_prefix}/bin/openpkg --license
3167 echo "______________________________________________________________________________"
3168 echo ""
3169 echo "NOTICE: Open Source components of the OpenPKG Framework are covered"
3170 echo "by various standard Open Source distribution licenses, including"
3171 echo "the MIT, BSD, LGPL, GPL, Public-Domain and Artistic licenses."
3172 echo "They all allow you the use of those components free of charge."
3173 echo "See http://www.opensource.org/licenses for more details."
3174 echo ""
3175 ) | %{l_prefix}/lib/openpkg/rpmtool msg -b -t notice
3176
3177 # register package with central OpenPKG registry
3178 ( nohup %{l_prefix}/bin/openpkg register \
3179 </dev/null >/dev/null 2>&1 &
3180 ) </dev/null >/dev/null 2>&1 || true
2577 3181
2578 %preun 3182 %preun
2579 [ ".$1" != .0 ] && exit 0 3183 [ ".$1" != .0 ] && exit 0
2580 3184
2581 # remove override files 3185 # remove override files
2590 3194
2591 # remove files which are not RPM controlled 3195 # remove files which are not RPM controlled
2592 rm -rf %{l_prefix}/RPM/TMP/* %{l_prefix}/RPM/TMP/.[a-z]* >/dev/null 2>&1 || true 3196 rm -rf %{l_prefix}/RPM/TMP/* %{l_prefix}/RPM/TMP/.[a-z]* >/dev/null 2>&1 || true
2593 rm -rf %{l_prefix}/RPM/SRC/* %{l_prefix}/RPM/SRC/.[a-z]* >/dev/null 2>&1 || true 3197 rm -rf %{l_prefix}/RPM/SRC/* %{l_prefix}/RPM/SRC/.[a-z]* >/dev/null 2>&1 || true
2594 rm -rf %{l_prefix}/RPM/PKG/* %{l_prefix}/RPM/PKG/.[a-z]* >/dev/null 2>&1 || true 3198 rm -rf %{l_prefix}/RPM/PKG/* %{l_prefix}/RPM/PKG/.[a-z]* >/dev/null 2>&1 || true
3199 rm -rf %{l_prefix}/RPM/TR/* %{l_prefix}/RPM/TR/.[a-z]* >/dev/null 2>&1 || true
2595 rm -rf %{l_prefix}/RPM/DB/* %{l_prefix}/RPM/DB/.[a-z]* >/dev/null 2>&1 || true 3200 rm -rf %{l_prefix}/RPM/DB/* %{l_prefix}/RPM/DB/.[a-z]* >/dev/null 2>&1 || true
2596 3201
2597 # The following code usually would be done in a %postun section. 3202 # The following code usually would be done in a %postun section.
2598 # But because we already had to remove the database in this %preun 3203 # But because we already had to remove the database in this %preun
2599 # section (see the 'rm' commands above) in order to make RPM happy 3204 # section (see the 'rm' commands above) in order to make RPM happy
2666 # check whether user already exists 3271 # check whether user already exists
2667 exists=`(getent passwd "$usr"; \ 3272 exists=`(getent passwd "$usr"; \
2668 grep "^$usr:" /etc/passwd; \ 3273 grep "^$usr:" /etc/passwd; \
2669 ypmatch "$usr" passwd; \ 3274 ypmatch "$usr" passwd; \
2670 nismatch "$usr" passwd; \ 3275 nismatch "$usr" passwd; \
2671 nidump passwd . | grep "^$usr:") 2>/dev/null | \ 3276 nidump passwd . | grep "^$usr:"; \
3277 dscl . -read "/users/$usr" | grep RecordName) 2>/dev/null | \
2672 sed -e 'q'` 3278 sed -e 'q'`
2673 if [ ".$exists" != . ]; then 3279 if [ ".$exists" != . ]; then
2674 if [ ".$cusr" != ".root" ]; then 3280 if [ ".$cusr" != ".root" ]; then
2675 echo "openpkg:WARNING: skipping deletion of OpenPKG $class user $usr" 1>&2 3281 echo "openpkg:WARNING: skipping deletion of OpenPKG $class user $usr" 1>&2
2676 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 3282 echo "openpkg:WARNING: (would require root-privileges)" 1>&2
2707 HP-UX/* ) 3313 HP-UX/* )
2708 cp /etc/passwd /etc/passwd.bak && \ 3314 cp /etc/passwd /etc/passwd.bak && \
2709 grep -v "^${usr}:" /etc/passwd.bak >/etc/passwd 3315 grep -v "^${usr}:" /etc/passwd.bak >/etc/passwd
2710 rm -f /etc/passwd.bak >/dev/null 2>&1 3316 rm -f /etc/passwd.bak >/dev/null 2>&1
2711 ;; 3317 ;;
3318 Darwin/10.[1-9]* | Darwin/1[1-9].* )
3319 dscl . -delete "/users/${usr}"
3320 ;;
2712 Darwin/* ) 3321 Darwin/* )
2713 niutil -destroy . "/users/${usr}" 3322 niutil -destroy . "/users/${usr}"
2714 ;; 3323 ;;
2715 IRIX*/6.* ) 3324 IRIX*/6.* )
2716 cp /etc/passwd /etc/passwd.bak && \ 3325 cp /etc/passwd /etc/passwd.bak && \
2718 if [ -f /etc/shadow ] 3327 if [ -f /etc/shadow ]
2719 then ( PATH="$PATH:/usr/sbin"; pwconv ) || exit $? 3328 then ( PATH="$PATH:/usr/sbin"; pwconv ) || exit $?
2720 fi 3329 fi
2721 rm -f /etc/passwd.bak >/dev/null 2>&1 3330 rm -f /etc/passwd.bak >/dev/null 2>&1
2722 ;; 3331 ;;
3332 CYGWIN*/* )
3333 cp /etc/passwd /etc/passwd.bak && \
3334 grep -v "^${usr}:" /etc/passwd.bak >/etc/passwd
3335 rm -f /etc/passwd.bak >/dev/null 2>&1
3336 ;;
2723 esac 3337 esac
2724 fi 3338 fi
2725 fi 3339 fi
2726 3340
2727 # check whether group already exists 3341 # check whether group already exists
2728 exists=`(getent group "$grp"; \ 3342 exists=`(getent group "$grp"; \
2729 grep "^$grp:" /etc/group; \ 3343 grep "^$grp:" /etc/group; \
2730 ypmatch "$grp" group; \ 3344 ypmatch "$grp" group; \
2731 nismatch "$grp" group; \ 3345 nismatch "$grp" group; \
2732 nidump group . | grep "^$grp:") 2>/dev/null | \ 3346 nidump group . | grep "^$grp:"; \
3347 dscl . -read "/groups/$grp" | grep RecordName) 2>/dev/null | \
2733 sed -e 'q'` 3348 sed -e 'q'`
2734 if [ ".$exists" != . ]; then 3349 if [ ".$exists" != . ]; then
2735 if [ ".$cusr" != ".root" ]; then 3350 if [ ".$cusr" != ".root" ]; then
2736 echo "openpkg:WARNING: skipping deletion of OpenPKG $class group $grp" 1>&2 3351 echo "openpkg:WARNING: skipping deletion of OpenPKG $class group $grp" 1>&2
2737 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 3352 echo "openpkg:WARNING: (would require root-privileges)" 1>&2
2738 elif [ ".$usr" = ".root" ] || [ ".$grp" = ".root" ] || [ ".$grp" = ".wheel" ]; then 3353 elif [ ".$usr" = ".root" ] || [ ".$grp" = ".root" ] || [ ".$grp" = ".wheel" ]; then
2739 echo "openpkg:WARNING: skipping deletion of OpenPKG $class group $grp" 1>&2 3354 echo "openpkg:WARNING: skipping deletion of OpenPKG $class group $grp" 1>&2
2740 echo "openpkg:WARNING: (would remove system standard group)" 1>&2 3355 echo "openpkg:WARNING: (would remove system standard group)" 1>&2
2741 else 3356 else
2742 case "$plid" in 3357 case "$plid" in
3358 Darwin/10.[1-9]* | Darwin/1[1-9].* )
3359 dscl . -delete "/groups/${grp}"
3360 ;;
2743 Darwin/* ) 3361 Darwin/* )
2744 niutil -destroy . "/groups/${grp}" 3362 niutil -destroy . "/groups/${grp}"
2745 ;; 3363 ;;
2746 AIX/* ) 3364 AIX/* )
2747 rmgroup "${grp}" 3365 rmgroup "${grp}"
2769 echo "openpkg:WARNING: skipping deletion of system run-command hooks" 1>&2 3387 echo "openpkg:WARNING: skipping deletion of system run-command hooks" 1>&2
2770 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 3388 echo "openpkg:WARNING: (would require root-privileges)" 1>&2
2771 else 3389 else
2772 case "$plid" in 3390 case "$plid" in
2773 FreeBSD/* ) 3391 FreeBSD/* )
2774 rm -f /etc/rc.d/openpkg-${name} >/dev/null 2>&1 3392 rm -f /etc/rc.d/${name} >/dev/null 2>&1
2775 ;; 3393 ;;
2776 NetBSD/* ) 3394 NetBSD/* )
2777 rm -f /etc/rc.d/${name} >/dev/null 2>&1 3395 rm -f /etc/rc.d/${name} >/dev/null 2>&1
2778 ;; 3396 ;;
2779 Linux/* ) 3397 Linux/* )
2780 if [ -f /etc/gentoo-release ]; then 3398 if [ -f /etc/gentoo-release ]; then
2781 /sbin/rc-update del openpkg-${name} >/dev/null 2>&1 3399 /sbin/rc-update del ${name} >/dev/null 2>&1
2782 rm -f /etc/init.d/openpkg-${name} >/dev/null 2>&1 3400 rm -f /etc/init.d/${name} >/dev/null 2>&1
3401 elif [ -f /etc/redhat-release ]; then
3402 /sbin/chkconfig ${name} off >/dev/null 2>&1
3403 /sbin/chkconfig --del ${name} >/dev/null 2>&1
3404 rm -f /etc/rc.d/init.d/${name} >/dev/null 2>&1
2783 else 3405 else
2784 # sroot: script root directory 3406 # sroot: script root directory
2785 # lroot: link root directory 3407 # lroot: link root directory
2786 if [ -f /etc/debian_version ]; then 3408 if [ -f /etc/debian_version ]; then
2787 sroot=/etc/init.d 3409 sroot=/etc/init.d
2788 lroot=/etc/rc%d.d 3410 lroot=/etc/rc%%d.d
2789 elif [ -f /etc/redhat-release -o -f /etc/mandrake-release ]; then 3411 elif [ -f /etc/mandrake-release ]; then
2790 sroot=/etc/rc.d/init.d 3412 sroot=/etc/rc.d/init.d
2791 lroot=/etc/rc.d/rc%d.d 3413 lroot=/etc/rc.d/rc%%d.d
2792 elif [ -f /etc/SuSE-release ]; then 3414 elif [ -f /etc/SuSE-release ]; then
2793 sroot=/etc/init.d 3415 sroot=/etc/init.d
2794 lroot=/etc/init.d/rc%d.d 3416 lroot=/etc/init.d/rc%%d.d
2795 elif [ -f /etc/slackware-version ]; then 3417 elif [ -f /etc/slackware-version ]; then
2796 sroot=/etc/rc.d 3418 sroot=/etc/rc.d
2797 lroot=/etc/rc.d/rc%d.d 3419 lroot=/etc/rc.d/rc%%d.d
2798 name="rc.${name}" 3420 name="rc.${name}"
2799 else 3421 else
2800 echo "WARNING: you are not running one of the supported standard" 1>&2 3422 echo "WARNING: you are not running one of the supported standard" 1>&2
2801 echo "WARNING: Linux platforms (Debian, RedHat, Mandrake, SuSE, Gentoo)." 1>&2 3423 echo "WARNING: Linux platforms (Debian, RedHat, Mandrake, SuSE, Gentoo)." 1>&2
2802 echo "WARNING: Guessing the location of the system init scripts!" 1>&2 3424 echo "WARNING: Guessing the location of the system init scripts!" 1>&2
2808 break 3430 break
2809 fi 3431 fi
2810 done 3432 done
2811 for lr in /etc/rc.d/rc2.d /etc/rc2.d /sbin/init.d/rc2.d; do 3433 for lr in /etc/rc.d/rc2.d /etc/rc2.d /sbin/init.d/rc2.d; do
2812 if [ -d $lr ]; then 3434 if [ -d $lr ]; then
2813 lroot="`echo $lr | sed -e 's;2;%d;'`" 3435 lroot="`echo $lr | sed -e 's;2;%%d;'`"
2814 break 3436 break
2815 fi 3437 fi
2816 done 3438 done
2817 if [ ".$sroot" = . -o ".$lroot" = . ]; then 3439 if [ ".$sroot" = . -o ".$lroot" = . ]; then
2818 echo "ERROR: Failed to guess the location of the system init scripts!" 1>&2 3440 echo "ERROR: Failed to guess the location of the system init scripts!" 1>&2
2819 exit 1 3441 exit 1
2820 fi 3442 fi
2821 fi 3443 fi
2822 rm -f ${sroot}/${name} >/dev/null 2>&1 3444 rm -f ${sroot}/${name} >/dev/null 2>&1
2823 for i in 2 3 4 5; do 3445 for i in 2 3 4 5; do
2824 rm -f `echo $lroot | sed -e "s;%d;$i;"`/S99${name} >/dev/null 2>&1 3446 rm -f `echo $lroot | sed -e "s;%%d;$i;"`/S99${name} >/dev/null 2>&1
2825 done 3447 done
2826 for i in 0 1 6; do 3448 for i in 0 1 6; do
2827 rm -f `echo $lroot | sed -e "s;%d;$i;"`/K00${name} >/dev/null 2>&1 3449 rm -f `echo $lroot | sed -e "s;%%d;$i;"`/K00${name} >/dev/null 2>&1
2828 done 3450 done
2829 if [ -f /etc/slackware-version ]; then 3451 if [ -f /etc/slackware-version ]; then
2830 for i in 0 1 2 3 4 5 6; do 3452 for i in 0 1 2 3 4 5 6; do
2831 l=`echo $lroot | sed -e "s;%d;$i;"` 3453 l=`echo $lroot | sed -e "s;%%d;$i;"`
2832 if [ -d $l ]; then 3454 if [ -d $l ]; then
2833 rmdir $l >/dev/null 2>&1 || true 3455 rmdir $l >/dev/null 2>&1 || true
2834 fi 3456 fi
2835 done 3457 done
2836 fi 3458 fi
2837 fi 3459 fi
2838 ;;
2839 SunOS/5.1* )
2840 /usr/sbin/svcadm disable "svc:/openpkg/${name}:default"; sleep 2
2841 /usr/sbin/svccfg delete -f "svc:/openpkg/${name}:default" >/dev/null 2>&1 || true
2842 rm -f /var/svc/manifest/openpkg/${name}.xml >/dev/null 2>&1
2843 rmdir /var/svc/manifest/openpkg >/dev/null 2>&1 || true
2844 ;; 3460 ;;
2845 SunOS/5.* ) 3461 SunOS/5.* )
2846 rm -f /etc/init.d/${name} >/dev/null 2>&1 3462 rm -f /etc/init.d/${name} >/dev/null 2>&1
2847 rm -f /etc/rc3.d/S99${name} >/dev/null 2>&1 3463 rm -f /etc/rc3.d/S99${name} >/dev/null 2>&1
2848 rm -f /etc/rc0.d/K00${name} >/dev/null 2>&1 3464 rm -f /etc/rc0.d/K00${name} >/dev/null 2>&1
2867 rm -f /sbin/init.d/${name} >/dev/null 2>&1 3483 rm -f /sbin/init.d/${name} >/dev/null 2>&1
2868 rm -f /etc/rc2.d/S900${name} >/dev/null 2>&1 3484 rm -f /etc/rc2.d/S900${name} >/dev/null 2>&1
2869 rm -f /etc/rc1.d/K100${name} >/dev/null 2>&1 3485 rm -f /etc/rc1.d/K100${name} >/dev/null 2>&1
2870 ;; 3486 ;;
2871 Darwin/* ) 3487 Darwin/* )
3488 darwin_rc_var="`echo ${name} | sed -e 's;-;_;g' | tr '[a-z]' '[A-Z]'`"
2872 cp /etc/hostconfig /etc/hostconfig.bak && \ 3489 cp /etc/hostconfig /etc/hostconfig.bak && \
2873 grep -v "^OPENPKG_${name}=" /etc/hostconfig.bak >/etc/hostconfig 3490 grep -v "^${darwin_rc_var}=" /etc/hostconfig.bak >/etc/hostconfig
2874 rm -f /etc/hostconfig.bak >/dev/null 2>&1 3491 rm -f /etc/hostconfig.bak >/dev/null 2>&1
2875 rm -rf /System/Library/StartupItems/${name} >/dev/null 2>&1 3492 rm -rf /Library/StartupItems/${name} >/dev/null 2>&1
2876 ;; 3493 ;;
2877 IRIX*/6.* ) 3494 IRIX*/6.* )
2878 rm -f /etc/init.d/${name} >/dev/null 2>&1 3495 rm -f /etc/init.d/${name} >/dev/null 2>&1
2879 rm -f /etc/rc2.d/S99${name} >/dev/null 2>&1 3496 rm -f /etc/rc2.d/S99${name} >/dev/null 2>&1
2880 rm -f /etc/rc0.d/K00${name} >/dev/null 2>&1 3497 rm -f /etc/rc0.d/K00${name} >/dev/null 2>&1
2881 ;; 3498 ;;
3499 CYGWIN*/* )
3500 rm -f /etc/rc.d/init.d/${name} >/dev/null 2>&1
3501 rm -f /etc/rc.d/rc2.d/S90${name} >/dev/null 2>&1
3502 rm -f /etc/rc.d/rc1.d/K10${name} >/dev/null 2>&1
3503 ;;
2882 esac 3504 esac
2883 fi 3505 fi
2884 3506
2885 # remove the cron transfer entries 3507 # remove the cron transfer entries
2886 if [ ".$cusr" != ".root" ]; then 3508 if [ ".$cusr" != ".root" ]; then
2887 echo "openpkg:WARNING: skipping deletion of system cron hooks" 1>&2 3509 echo "openpkg:WARNING: skipping deletion of system cron hooks" 1>&2
2888 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 3510 echo "openpkg:WARNING: (would require root-privileges)" 1>&2
2889 else 3511 else
2890 case "$plid" in 3512 case "$plid" in
2891 FreeBSD/* | Linux/* | Darwin/* ) 3513 FreeBSD/* | Linux/* )
2892 if [ -f /etc/slackware-version ]; then 3514 if [ -f /etc/slackware-version ]; then
2893 EDITOR=/tmp/vipw.$$ 3515 EDITOR=/tmp/vipw.$$
2894 VISUAL="$EDITOR" 3516 VISUAL="$EDITOR"
2895 export EDITOR 3517 export EDITOR
2896 export VISUAL 3518 export VISUAL
2912 >/etc/crontab 3534 >/etc/crontab
2913 rm -f /etc/crontab.bak >/dev/null 2>&1 3535 rm -f /etc/crontab.bak >/dev/null 2>&1
2914 fi 3536 fi
2915 fi 3537 fi
2916 ;; 3538 ;;
2917 SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* ) 3539 SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* | CYGWIN*/* | Darwin/* )
2918 EDITOR=/tmp/vipw.$$ 3540 EDITOR=/tmp/vipw.$$
2919 VISUAL="$EDITOR" 3541 VISUAL="$EDITOR"
2920 export EDITOR 3542 export EDITOR
2921 export VISUAL 3543 export VISUAL
2922 p=`echo $prefix | sed -e 's;/;\\\\\\\\/;g'` 3544 p=`echo $prefix | sed -e 's;/;\\\\\\\\/;g'`
2937 esac 3559 esac
2938 fi 3560 fi
2939 3561
2940 # delayed removal of top-level directory. 3562 # delayed removal of top-level directory.
2941 ( sleep 2 3563 ( sleep 2
3564 rm -rf %{l_prefix}/RPM/PKG/* >/dev/null 2>&1 || true
3565 rm -rf %{l_prefix}/RPM/SRC/* >/dev/null 2>&1 || true
3566 rm -rf %{l_prefix}/RPM/CACHE/* >/dev/null 2>&1 || true
3567 rm -rf %{l_prefix}/RPM/TMP/* %{l_prefix}/RPM/TMP/.[a-z]* >/dev/null 2>&1 || true
2942 rm -rf %{l_prefix}/RPM/DB/* %{l_prefix}/RPM/DB/.[a-z]* >/dev/null 2>&1 || true 3568 rm -rf %{l_prefix}/RPM/DB/* %{l_prefix}/RPM/DB/.[a-z]* >/dev/null 2>&1 || true
2943 rmdir %{l_prefix}/RPM/DB >/dev/null 2>&1 || true 3569 rmdir %{l_prefix}/RPM/DB >/dev/null 2>&1 || true
2944 rmdir %{l_prefix}/RPM >/dev/null 2>&1 || true 3570 rmdir %{l_prefix}/RPM >/dev/null 2>&1 || true
2945 rmdir %{l_prefix} >/dev/null 2>&1 || true 3571 rmdir %{l_prefix} >/dev/null 2>&1 || true
2946 ) </dev/null >/dev/null 2>/dev/null & 3572 ) </dev/null >/dev/null 2>/dev/null &

mercurial