1.1 --- a/openpkg/openpkg.spec Tue Jul 31 12:12:54 2012 +0200 1.2 +++ b/openpkg/openpkg.spec Tue Jul 31 12:23:42 2012 +0200 1.3 @@ -1,14 +1,13 @@ 1.4 ## 1.5 ## openpkg.spec -- OpenPKG RPM Package Specification 1.6 -## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/> 1.7 -## Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/> 1.8 +## Copyright (c) 2000-2012 OpenPKG GmbH <http://openpkg.com/> 1.9 ## 1.10 -## Permission to use, copy, modify, and distribute this software for 1.11 -## any purpose with or without fee is hereby granted, provided that 1.12 -## the above copyright notice and this permission notice appear in all 1.13 -## copies. 1.14 +## This software is property of the OpenPKG GmbH, DE MUC HRB 160208. 1.15 +## All rights reserved. Licenses which grant limited permission to use, 1.16 +## copy, modify and distribute this software are available from the 1.17 +## OpenPKG GmbH. 1.18 ## 1.19 -## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 1.20 +## THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED 1.21 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1.22 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 1.23 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR 1.24 @@ -38,144 +37,228 @@ 1.25 # o any make(1) 1.26 # o any cc(1) 1.27 1.28 -# the package version/release 1.29 -%define V_openpkg 20120714 1.30 - 1.31 # the used software versions 1.32 -%define V_rpm 4.2.1 1.33 -%define V_zlib 1.2.5 1.34 -%define V_bzip2 1.0.5 1.35 -%define V_beecrypt 4.1.2 1.36 -%define V_curl 7.21.1 1.37 -%define V_make 3.82 1.38 -%define V_gzip 1.4 1.39 -%define V_gzip_r 1.13 1.40 -%define V_patch 2.6.1 1.41 -%define V_tar 1.23 1.42 -%define V_bash 3.2 1.43 -%define V_uuid 1.6.2 1.44 -%define V_config 20060923 1.45 -%define V_registry 1.1.3 1.46 -%define V_perl 5.10.0 1.47 -%define V_openssl 0.9.8g 1.48 -%define V_tools 1.4.5 1.49 -%define V_exec 2.0.1-C 1.50 +%define V_rpm_major 5.1 1.51 +%define V_rpm_minor 9 1.52 +%define V_popt 1.16 1.53 +%define V_db 4.7.25 1.54 +%define V_lua 5.1.4 1.55 +%define V_sqlite 3.6.17 1.56 +%define V_zlib 1.2.7 1.57 +%define V_bzip2 1.0.6 1.58 +%define V_beecrypt 4.2.1 1.59 +%define V_curl 7.26.0 1.60 +%define V_pcre 8.31 1.61 +%define V_make 3.82 1.62 +%define V_gzip 1.5 1.63 +%define V_patch 2.6.1 1.64 +%define V_tar 1.26 1.65 +%define V_bash 4.2 1.66 +%define V_bash_pl 29 1.67 +%define V_uuid 1.6.2 1.68 +%define V_config 20120627 1.69 +%define V_perl 5.16.0 1.70 +%define V_openssl 1.0.1c 1.71 +%define V_xz 5.0.4 1.72 +%define V_shtool 2.0.8 1.73 +%define V_libarchive 3.0.3 1.74 +%define V_diffutils 3.2 1.75 +%define V_svs 1.1.0 1.76 1.77 # package information 1.78 Name: openpkg 1.79 -Summary: OpenPKG Bootstrap 1.80 -URL: http://www.openpkg.org/ 1.81 -Vendor: OpenPKG 1.82 -Packager: OpenPKG Foundation e.V. 1.83 -Distribution: OpenPKG Community 1.84 -Class: CORE 1.85 +Summary: OpenPKG Framework 1.86 +URL: http://openpkg.org/ 1.87 +Vendor: OpenPKG GmbH 1.88 +Packager: OpenPKG GmbH 1.89 +Distribution: OpenPKG 1.90 +Class: BOOT 1.91 Group: Bootstrapping 1.92 -License: MIT/BSD/LGPL/GPL 1.93 -Version: %{V_openpkg} 1.94 -Release: %{V_openpkg} 1.95 +License: Proprietary, Open Source 1.96 +Version: 4.6.7 1.97 +Release: 20120708 1.98 1.99 -# list of sources 1.100 +# list of pristine upstream sources 1.101 Source0: ftp://ftp.gnu.org/gnu/patch/patch-%{V_patch}.tar.gz 1.102 Source1: ftp://ftp.cwru.edu/pub/bash/bash-%{V_bash}.tar.gz 1.103 Source2: ftp://ftp.gnu.org/gnu/make/make-%{V_make}.tar.gz 1.104 Source3: ftp://ftp.gnu.org/gnu/tar/tar-%{V_tar}.tar.gz 1.105 -Source4: ftp://ftp.openpkg.org/sources/CPY/config/config-%{V_config}.tar.gz 1.106 -Source5: ftp://ftp.openpkg.org/sources/CPY/openpkg-registry/openpkg-registry-%{V_registry}.tar.gz 1.107 -Source6: ftp://ftp.openpkg.org/sources/CPY/openpkg-tools/openpkg-tools-%{V_tools}.tar.gz 1.108 -Source7: ftp://ftp.openpkg.org/sources/CPY/openpkg/gzip-%{V_gzip}-openpkg-r%{V_gzip_r}.tar 1.109 -Source8: ftp://ftp.gnu.org/gnu/gzip/gzip-%{V_gzip}.tar 1.110 -Source9: ftp://ftp.openpkg.org/sources/CPY/openpkg/openpkg-executable-%{V_exec}.tar.gz 1.111 -Source10: ftp://ftp.openpkg.org/sources/CPY/openpkg/rpm-%{V_rpm}.tar.gz 1.112 -Source11: ftp://ftp.openpkg.org/sources/CPY/perl/perl-%{V_perl}-mini.tar.gz 1.113 -Source12: ftp://ftp.openssl.org/source/openssl-%{V_openssl}.tar.gz 1.114 -Source13: ftp://ftp.ossp.org/pkg/lib/uuid/uuid-%{V_uuid}.tar.gz 1.115 -Source14: http://curl.haxx.se/download/curl-%{V_curl}.tar.gz 1.116 -Source15: http://switch.dl.sourceforge.net/beecrypt/beecrypt-%{V_beecrypt}.tar.gz 1.117 -Source16: http://www.bzip.org/%{V_bzip2}/bzip2-%{V_bzip2}.tar.gz 1.118 -Source17: http://www.zlib.net/zlib-%{V_zlib}.tar.gz 1.119 +Source4: http://download.openpkg.org/components/versioned/config/config-%{V_config}.tar.gz 1.120 +Source5: http://download.openpkg.org/components/derived/gzip/gzip-%{V_gzip}.tar 1.121 +Source6: http://download.openpkg.org/components/derived/perl/perl-%{V_perl}-mini.tar.gz 1.122 +Source7: http://rpm5.org/files/rpm/rpm-%{V_rpm_major}/rpm-%{V_rpm_major}.%{V_rpm_minor}.tar.gz 1.123 +Source8: ftp://ftp.openssl.org/source/openssl-%{V_openssl}.tar.gz 1.124 +Source9: ftp://ftp.ossp.org/pkg/lib/uuid/uuid-%{V_uuid}.tar.gz 1.125 +Source10: http://curl.haxx.se/download/curl-%{V_curl}.tar.gz 1.126 +Source11: http://switch.dl.sourceforge.net/beecrypt/beecrypt-%{V_beecrypt}.tar.gz 1.127 +Source12: http://www.bzip.org/%{V_bzip2}/bzip2-%{V_bzip2}.tar.gz 1.128 +Source13: http://www.zlib.net/zlib-%{V_zlib}.tar.gz 1.129 +Source14: http://rpm5.org/files/popt/popt-%{V_popt}.tar.gz 1.130 +Source15: http://www.sqlite.org/sqlite-%{V_sqlite}.tar.gz 1.131 +Source16: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-%{V_pcre}.tar.gz 1.132 +Source17: http://libarchive.googlecode.com/files/libarchive-%{V_libarchive}.tar.gz 1.133 +Source18: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{V_diffutils}.tar.gz 1.134 +Source19: ftp://ftp.ossp.org/pkg/tool/svs/svs-%{V_svs}.tar.gz 1.135 +Source20: http://tukaani.org/xz/xz-%{V_xz}.tar.gz 1.136 + 1.137 +# list of local patches against pristine upstream sources 1.138 Source100: bash.patch 1.139 -Source101: beecrypt.patch 1.140 -Source102: make.patch 1.141 -Source103: openssl.patch 1.142 -Source104: perl.patch 1.143 -Source105: tar.patch 1.144 -Source106: rpm.patch.bugfix 1.145 -Source107: rpm.patch.feature 1.146 -Source108: rpm.patch.porting 1.147 -Source109: rpm.patch.regen 1.148 -Source200: HISTORY 1.149 -Source201: README 1.150 -Source202: aux.prereq.sh 1.151 -Source203: aux.usrgrp.sh 1.152 -Source204: aux.wrapbin.sh 1.153 -Source205: aux.wrapsrc.sh 1.154 -Source206: dot.bash_login 1.155 -Source207: dot.bashrc 1.156 -Source208: dot.lsyncrc 1.157 -Source209: install.sh 1.158 -Source210: local.README 1.159 -Source211: lsync 1.160 -Source212: lsync.8 1.161 -Source213: lsync.pod 1.162 -Source214: man.sh 1.163 -Source215: openpkg.1 1.164 -Source216: openpkg.boot 1.165 -Source217: openpkg.com.pgp 1.166 -Source218: openpkg.net.pgp 1.167 -Source219: openpkg.org.pgp 1.168 -Source220: openpkg.pod 1.169 -Source221: openpkg.sh 1.170 -Source222: pod2man.sh 1.171 -Source223: rc 1.172 -Source224: rc.8 1.173 -Source225: rc.conf 1.174 -Source226: rc.func 1.175 -Source227: rc.openpkg 1.176 -Source228: rc.pod 1.177 -Source229: release.8 1.178 -Source230: release.pod 1.179 -Source231: release.sh 1.180 -Source232: root.README 1.181 -Source233: rpm-config.8 1.182 -Source234: rpm-config.pod 1.183 -Source235: rpm-config.sh 1.184 -Source236: rpmdb 1.185 -Source237: rpmtool 1.186 -Source238: rpmtool.8 1.187 -Source239: rpmtool.pod 1.188 -Source240: shtool 1.189 -Source241: uuid.8 1.190 -Source242: uuid.pod 1.191 -Source243: uuid.sh 1.192 -Source244: rpmmacros 1.193 -Source245: rpmpopt 1.194 -Source246: rpmrc 1.195 +Source101: bash.patch.vendor 1.196 +Source102: beecrypt.patch 1.197 +Source103: make.patch 1.198 +Source104: openssl.patch 1.199 +Source105: perl.patch 1.200 +Source106: tar.patch 1.201 +Source107: rpm.patch 1.202 +Source108: popt.patch 1.203 +Source109: sqlite.patch 1.204 +Source110: curl.patch 1.205 +Source111: pcre.patch 1.206 +Source112: diffutils.patch 1.207 +Source113: libarchive.patch 1.208 +Source114: patch.strnlen.c 1.209 +Source115: patch.Makefile.in 1.210 +Source116: xz.patch 1.211 +Source117: zlib.patch 1.212 + 1.213 +# list of local sources 1.214 +Source200: README 1.215 +Source201: etc.prereq.sh 1.216 +Source202: etc.usrgrp.sh 1.217 +Source203: etc.wrapbin.sh 1.218 +Source204: etc.wrapsrc.sh 1.219 +Source205: dot.bash_login 1.220 +Source206: dot.bashrc 1.221 +Source207: dot.lsyncrc 1.222 +Source208: local.README 1.223 +Source209: lsync 1.224 +Source210: lsync.8 1.225 +Source211: lsync.pod 1.226 +Source212: man.sh 1.227 +Source213: openpkg.1 1.228 +Source214: openpkg.boot 1.229 +Source215: openpkg.com.pgp 1.230 +Source216: openpkg.net.pgp 1.231 +Source217: openpkg.org.pgp 1.232 +Source218: openpkg.pod 1.233 +Source219: openpkg.sh 1.234 +Source220: rc 1.235 +Source221: rc.8 1.236 +Source222: rc.conf 1.237 +Source223: rc.func 1.238 +Source224: rc.openpkg 1.239 +Source225: rc.pod 1.240 +Source226: release.8 1.241 +Source227: release.pod 1.242 +Source228: release.sh 1.243 +Source229: root.README 1.244 +Source230: rpm-config.8 1.245 +Source231: rpm-config.pod 1.246 +Source232: rpm-config.sh 1.247 +Source233: rpmdb 1.248 +Source234: rpmtool 1.249 +Source235: rpmtool.8 1.250 +Source236: rpmtool.pod 1.251 +Source237: shtool 1.252 +Source238: shtool.sh 1.253 +Source239: uuid.8 1.254 +Source240: uuid.pod 1.255 +Source241: uuid.sh 1.256 +Source242: rpmmacros 1.257 +Source243: rpmpopt 1.258 +Source244: curl.sh 1.259 +Source245: index.pl 1.260 +Source246: index.8 1.261 +Source247: index.pod 1.262 +Source248: build.pl 1.263 +Source249: build.8 1.264 +Source250: build.pod 1.265 +Source251: makeproxy.pl 1.266 +Source252: makeproxy.8 1.267 +Source253: lint-fsl.pl 1.268 +Source254: lint-rc.pl 1.269 +Source255: lint-rpm.pl 1.270 +Source256: lint-spec.pl 1.271 +Source257: dev.pl 1.272 +Source258: dev.8 1.273 +Source259: dev.pod 1.274 +Source260: openpkg.mk 1.275 +Source261: openpkg.c 1.276 +Source262: Makefile 1.277 +Source263: mutex.c 1.278 +Source264: mutex.mk 1.279 +Source265: register.sh 1.280 +Source266: register.pod 1.281 +Source267: register.8 1.282 +Source268: rpm.sh 1.283 +Source269: license.lua 1.284 +Source270: license-BOOT.txt 1.285 +Source271: license-COMMUNITY.txt 1.286 +Source272: license-EVAL.txt 1.287 +Source273: license-EXAMPLE.txt 1.288 +Source274: license-PROMO.txt 1.289 +Source275: license-RECOVERY.txt 1.290 +Source276: license.sh 1.291 +Source277: license.pod 1.292 +Source278: license.8 1.293 +Source279: rpmlua 1.294 +Source280: sea.sh 1.295 +Source281: sea.pod 1.296 +Source282: sea.8 1.297 +Source283: stack.sh 1.298 +Source284: stack.pod 1.299 +Source285: stack.8 1.300 +Source286: search.pl 1.301 +Source287: search.pod 1.302 +Source288: search.8 1.303 +Source289: mirror.pl 1.304 +Source290: mirror.pod 1.305 +Source291: mirror.8 1.306 1.307 # build information 1.308 -Prefix: %{l_prefix} 1.309 BuildRoot: %{l_buildroot} 1.310 AutoReq: no 1.311 AutoReqProv: no 1.312 +Provides: %{l_prefix} 1.313 Provides: OpenPKG 1.314 +Provides: openpkg = %{release}-%{release} 1.315 1.316 %description 1.317 - This is the bootstrap package for the RPM-based Unix Software 1.318 - Package Hierarchy OpenPKG. The RPM Package Manager (RPM) is a 1.319 - sophisticated and portable package manager for Unix platforms, 1.320 - which supports automated building, installation, management and 1.321 - deinstallation of Unix software. RPM was originally designed and 1.322 - implemented for the RedHat Linux operating system where it manages 1.323 - every file on the whole system. OpenPKG uses RPM only for managing 1.324 - the files in a particular filesystem hierarchy dedicated to the 1.325 - installation of third-party software packages provided by the 1.326 - OpenPKG project. 1.327 + This is the OpenPKG Framework, the so-called "bootstrap" package 1.328 + of OpenPKG. OpenPKG is a cross-platform, self-contained, RPM-based 1.329 + software packaging solution, targeting the flexible building of 1.330 + software stacks on Unix platforms. The RPM Package Manager (RPM) 1.331 + is the underlying, sophisticated and portable package management 1.332 + tool which drives the automated building, installation, management 1.333 + and deinstallation of all Unix software components in an OpenPKG 1.334 + software stack. 1.335 1.336 - The OpenPKG bootstrap package includes the following software: 1.337 - RPM %{V_rpm}, ZLib %{V_zlib}, GNU Bzip2 %{V_bzip2}, 1.338 - GNU Gzip %{V_gzip}, GNU Tar %{V_tar}, GNU Patch %{V_patch}, 1.339 - GNU Make %{V_make}, GNU Bash %{V_bash}, cURL %{V_curl}, 1.340 - OSSP uuid %{V_uuid}, BeeCrypt %{V_beecrypt}, 1.341 - OpenSSL %{V_openssl}, Perl %{V_perl} 1.342 + This OpenPKG package contains the following individual 1.343 + software components (individual licenses listed in brackets): 1.344 + OpenPKG Framework %(echo "%{version}" | awk '{ printf("%%-7s", $1); }') [Proprietary] 1.345 + rpm5.org RPM %(echo "%{V_rpm_major}.%{V_rpm_minor}" | awk '{ printf("%%-7s", $1); }') [LGPL] 1.346 + rpm5.org POPT %(echo "%{V_popt}" | awk '{ printf("%%-7s", $1); }') [LGPL] 1.347 + BeeCrypt %(echo "%{V_beecrypt}" | awk '{ printf("%%-7s", $1); }') [LGPL] 1.348 + Lua %(echo "%{V_lua}" | awk '{ printf("%%-7s", $1); }') [MIT] 1.349 + Berkeley-DB %(echo "%{V_db}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT] 1.350 + SQLite %(echo "%{V_sqlite}" | awk '{ printf("%%-7s", $1); }') [Public-Domain] 1.351 + PCRE %(echo "%{V_pcre}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT] 1.352 + ZLib %(echo "%{V_zlib}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT] 1.353 + XZ %(echo "%{V_xz}" | awk '{ printf("%%-7s", $1); }') [PD/LGPL/GPL] 1.354 + GNU Bzip2 %(echo "%{V_bzip2}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT] 1.355 + GNU Gzip %(echo "%{V_gzip}" | awk '{ printf("%%-7s", $1); }') [GPL] 1.356 + GNU Tar %(echo "%{V_tar}" | awk '{ printf("%%-7s", $1); }') [GPL] 1.357 + GNU Patch %(echo "%{V_patch}" | awk '{ printf("%%-7s", $1); }') [GPL] 1.358 + GNU Shtool %(echo "%{V_shtool}" | awk '{ printf("%%-7s", $1); }') [GPL] 1.359 + GNU Make %(echo "%{V_make}" | awk '{ printf("%%-7s", $1); }') [GPL] 1.360 + GNU Bash %(echo "%{V_bash}.%{V_bash_pl}" | awk '{ printf("%%-7s", $1); }') [GPL] 1.361 + GNU DiffUtils %(echo "%{V_diffutils}" | awk '{ printf("%%-7s", $1); }') [GPL] 1.362 + BSD libarchive %(echo "%{V_libarchive}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT] 1.363 + OSSP uuid %(echo "%{V_uuid}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT] 1.364 + OSSP svs %(echo "%{V_svs}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT] 1.365 + cURL %(echo "%{V_curl}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT] 1.366 + OpenSSL %(echo "%{V_openssl}" | awk '{ printf("%%-7s", $1); }') [BSD] 1.367 + Perl %(echo "%{V_perl}" | awk '{ printf("%%-7s", $1); }') [Artistic] 1.368 1.369 %track 1.370 prog openpkg:bash = { 1.371 @@ -193,35 +276,35 @@ 1.372 url = http://curl.haxx.se/download/ 1.373 regex = curl-(__VER__)\.tar\.gz 1.374 } 1.375 + prog openpkg:pcre = { 1.376 + version = %{V_pcre} 1.377 + url = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 1.378 + regex = pcre-(__VER__)\.tar\.gz 1.379 + } 1.380 prog openpkg:gzip = { 1.381 - comment = "rse: intentionally tracked at gnu.org, although fetched from openpkg.org because of uncompression" 1.382 version = %{V_gzip} 1.383 url = ftp://ftp.gnu.org/gnu/gzip/ 1.384 regex = gzip-(__VER__)\.tar(\.gz)? 1.385 } 1.386 - prog openpkg:gzip_r = { 1.387 - version = %{V_gzip_r} 1.388 - url = ftp://ftp.openpkg.org/sources/CPY/openpkg/ 1.389 - regex = gzip-%{V_gzip}-openpkg-r(__VER__)\.tar 1.390 - } 1.391 prog openpkg:make = { 1.392 version = %{V_make} 1.393 url = ftp://ftp.gnu.org/gnu/make/ 1.394 regex = make-(__VER__)\.tar\.gz 1.395 } 1.396 prog openpkg:patch = { 1.397 - disabled 1.398 - comment = "rse: directory missing after GNU.org security issues" 1.399 version = %{V_patch} 1.400 - url = ftp://alpha.gnu.org/gnu/patch/ 1.401 + url = ftp://ftp.gnu.org/gnu/patch/ 1.402 regex = patch-(__VER__)\.tar\.gz 1.403 } 1.404 + prog openpkg:popt = { 1.405 + version = %{V_popt} 1.406 + url = http://rpm5.org/files/popt/ 1.407 + regex = popt-(\d+\.\d+)\.tar\.gz 1.408 + } 1.409 prog openpkg:rpm = { 1.410 - disabled 1.411 - comment = "rse: we have a .src.rpm extracted .tar.gz, because there is still no tarball for 4.2.1" 1.412 - version = %{V_rpm} 1.413 - url = ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.2.x/ 1.414 - regex = rpm-(4\.2\.\d+)\.tar\.gz 1.415 + version = %{V_rpm_major}.%{V_rpm_minor} 1.416 + url = http://rpm5.org/files/rpm/rpm-%{V_rpm_major}/ 1.417 + regex = rpm-(\d+\.\d+[.ab]\d+)\.tar\.gz 1.418 } 1.419 prog openpkg:tar = { 1.420 version = %{V_tar} 1.421 @@ -233,29 +316,39 @@ 1.422 url = http://www.zlib.net/ 1.423 regex = zlib-(__VER__)\.tar\.gz 1.424 } 1.425 + prog openpkg:diffutils = { 1.426 + version = %{V_diffutils} 1.427 + url = ftp://alpha.gnu.org/gnu/diffutils/ 1.428 + regex = diffutils-(__VER__)\.tar\.gz 1.429 + } 1.430 + prog openpkg:libarchive = { 1.431 + version = %{V_libarchive} 1.432 + url = http://code.google.com/p/libarchive/downloads/list 1.433 + regex = libarchive-(__VER__)\.tar\.gz 1.434 + } 1.435 prog openpkg:uuid = { 1.436 version = %{V_uuid} 1.437 url = ftp://ftp.ossp.org/pkg/lib/uuid/ 1.438 regex = uuid-(__VER__)\.tar\.gz 1.439 } 1.440 + prog openpkg:svs = { 1.441 + version = %{V_svs} 1.442 + url = ftp://ftp.ossp.org/pkg/tool/svs/ 1.443 + regex = svs-(__VER__)\.tar\.gz 1.444 + } 1.445 prog openpkg:config = { 1.446 version = %{V_config} 1.447 - url = ftp://ftp.openpkg.org/sources/CPY/config/ 1.448 + url = http://download.openpkg.org/components/versioned/config/ 1.449 regex = config-(__VER__)\.tar\.gz 1.450 } 1.451 prog openpkg:beecrypt = { 1.452 version = %{V_beecrypt} 1.453 - url = http://prdownloads.sourceforge.net/beecrypt/ 1.454 + url = http://sourceforge.net/project/showfiles.php?group_id=8924&package_id=9007 1.455 regex = beecrypt-(__VER__)\.tar\.gz 1.456 } 1.457 - prog openpkg:registry = { 1.458 - version = %{V_registry} 1.459 - url = ftp://ftp.openpkg.org/sources/CPY/openpkg-registry/ 1.460 - regex = openpkg-registry-(__VER__)\.tar\.gz 1.461 - } 1.462 prog openpkg:perl = { 1.463 version = %{V_perl} 1.464 - url = ftp://ftp.openpkg.org/sources/CPY/perl/ 1.465 + url = http://download.openpkg.org/components/derived/perl/ 1.466 regex = perl-(__VER__)-mini\.tar\.gz 1.467 } 1.468 prog openpkg:openssl = { 1.469 @@ -263,15 +356,20 @@ 1.470 url = ftp://ftp.openssl.org/source/ 1.471 regex = openssl-(\d+\.\d+\.\d+[a-z]?)\.tar\.gz 1.472 } 1.473 - prog openpkg:openpkg-tools = { 1.474 - version = %{V_tools} 1.475 - url = ftp://ftp.openpkg.org/sources/CPY/openpkg-tools/ 1.476 - regex = openpkg-tools-(__VER__)\.tar\.gz 1.477 + prog openpkg:lua = { 1.478 + version = %{V_lua} 1.479 + url = http://www.lua.org/download.html 1.480 + regex = lua-(\d+\.\d+\.\d+)\.tar\.gz 1.481 } 1.482 - prog openpkg:openpkg-executable = { 1.483 - version = %{V_exec} 1.484 - url = ftp://ftp.openpkg.org/sources/CPY/openpkg/ 1.485 - regex = openpkg-executable-(__VER__-C)\.tar\.gz 1.486 + prog openpkg:sqlite = { 1.487 + version = %{V_sqlite} 1.488 + url = http://www.sqlite.org/download.html 1.489 + regex = sqlite-(\d+\.\d+\.\d+(?:\.\d+)?)\.tar\.gz 1.490 + } 1.491 + prog openpkg:xz = { 1.492 + version = %{V_xz} 1.493 + url = http://tukaani.org/xz/ 1.494 + regex = xz-(\d+\.\d+\.\d+)\.tar\.gz 1.495 } 1.496 1.497 %prep 1.498 @@ -407,8 +505,8 @@ 1.499 fi 1.500 echo "l_strip=\"$l_strip\"; export l_strip" >>.buildenv 1.501 1.502 - # determine path to aux.usrgrp.sh script 1.503 - usrgrp=`SOURCE aux.usrgrp.sh` 1.504 + # determine path to etc.usrgrp.sh script 1.505 + usrgrp=`SOURCE etc.usrgrp.sh` 1.506 echo "usrgrp=$usrgrp; export usrgrp" >>./.buildenv 1.507 1.508 # display verbosity header 1.509 @@ -494,6 +592,7 @@ 1.510 OSF1/V5.* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;; 1.511 HP-UX/* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;; 1.512 IRIX*/6.* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;; 1.513 + CYGWIN*/* ) l_build_path="/bin:/usr/bin:/usr/sbin" ;; 1.514 * ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;; 1.515 esac 1.516 case $plid in 1.517 @@ -507,6 +606,7 @@ 1.518 OSF1/V5.* ) l_build_ldlp="/usr/lib" ;; 1.519 HP-UX/* ) l_build_ldlp="/usr/lib" ;; 1.520 IRIX*/6.* ) l_build_ldlp="/usr/lib" ;; 1.521 + CYGWIN*/* ) l_build_ldlp="/lib:/usr/lib" ;; 1.522 * ) l_build_ldlp="/usr/lib" ;; 1.523 esac 1.524 case $plid in 1.525 @@ -516,20 +616,29 @@ 1.526 echo "l_build_ldlp=\"$l_build_ldlp\"; export l_build_ldlp" >>.buildenv 1.527 echo "l_build_ulim=\"$l_build_ulim\"; export l_build_ulim" >>.buildenv 1.528 1.529 + # ACTIVATE AGAIN AFTER ALL 4.2.5 VERSIONS WERE UPGRADED TO AT LEAST 4.2.7 1.530 + # determine status of unprivileged operation 1.531 + if [ ".%{?l_unprivileged:set}" = .set ]; then 1.532 + l_unprivileged="%{l_unprivileged}" 1.533 + else 1.534 + l_unprivileged="no" 1.535 + fi 1.536 + echo "l_unprivileged=\"$l_unprivileged\"; export l_unprivileged" >>.buildenv 1.537 + 1.538 # display verbosity header 1.539 set +x; VERBOSE "PREPARATION: Build GNU gzip (Compression Tool)"; set -x 1.540 1.541 # bootstrap GNU zip tool 1.542 ${l_tar} xf `SOURCE gzip-%{V_gzip}.tar` 2>/dev/null || true 1.543 - ${l_tar} xf `SOURCE gzip-%{V_gzip}-openpkg-r%{V_gzip_r}.tar` 2>/dev/null || true 1.544 ( cd gzip-%{V_gzip} 1.545 - echo "ac_cv_prog_cc_g=no" >config.cache 1.546 + ( echo "ac_cv_prog_cc_g=no" 1.547 + echo "ac_cv_header_getopt_h=no" 1.548 + ) >config.cache 1.549 case $plid in 1.550 Darwin/* ) echo "gzip_cv_assembler=no" >>config.cache ;; 1.551 esac 1.552 CC="${l_cc}" \ 1.553 GREP="grep" \ 1.554 - MAKE="${l_make}" \ 1.555 ./configure \ 1.556 --cache-file=./config.cache 1.557 ${l_make} || exit $? 1.558 @@ -550,24 +659,36 @@ 1.559 # bootstrap GNU patch tool 1.560 ${l_gzip} -dc `SOURCE patch-%{V_patch}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.561 ( cd patch-%{V_patch} 1.562 - cp `SOURCE rplstrnlen.c` gl/lib/strnlen.c 1.563 - chmod u+w config.guess config.sub >/dev/null 2>&1 || true 1.564 - cp ../config/config.guess . 1.565 - cp ../config/config.sub . 1.566 + chmod a+x install-sh 1.567 + echo '#!' >update-version.sh 1.568 + cp `SOURCE patch.Makefile.in` Makefile.in 1.569 + cp `SOURCE patch.strnlen.c` gl/lib/strnlen.c 1.570 ( echo 'ac_cv_func_setmode=${ac_cv_func_setmode=no}' 1.571 echo 'ac_cv_prog_cc_g=no' 1.572 false=`sh $shtool path false` 1.573 echo "ac_cv_path_ed_PROGRAM=\${ac_cv_path_ed_PROGRAM=$false}" 1.574 ) >config.cache 1.575 CC="${l_cc}" \ 1.576 - GREP="grep" \ 1.577 ./configure \ 1.578 --cache-file=./config.cache \ 1.579 + --enable-merge \ 1.580 --disable-largefile 1.581 ${l_make} || exit $? 1.582 ( mv src/patch ..; ${l_make} clean || true; mv ../patch . ) || exit $? 1.583 ) || exit $? 1.584 l_patch="`pwd`/patch-%{V_patch}/patch"; export l_patch 1.585 + case `sh $shtool platform -n -L -S "" -C "+" -F "%<ap>-%<sp>"` in 1.586 + *-cygwin* ) 1.587 + # Cygwin under Windows Vista dislikes executables with 1.588 + # "patch" in the same and would require a "*.manifest" 1.589 + # file applied with the "mt.exe" from the "Windows 1.590 + # Software Development Kit (SDK)" in order to escape from 1.591 + # UAC. An easy alternative is to just rename the file to a 1.592 + # different name. 1.593 + mv patch-%{V_patch}/patch patch-%{V_patch}/pitch 1.594 + l_patch="`pwd`/patch-%{V_patch}/pitch" 1.595 + ;; 1.596 + esac 1.597 echo "l_patch=\"$l_patch\"; export l_patch" >>.buildenv 1.598 1.599 # display verbosity header 1.600 @@ -584,12 +705,14 @@ 1.601 echo 'ac_cv_type_iconv_t=no' 1.602 ) >config.cache 1.603 CC="${l_cc}" \ 1.604 - MAKE="${l_make}" \ 1.605 MAKEINFO="true" \ 1.606 GREP="grep" \ 1.607 + FORCE_UNSAFE_CONFIGURE=1 \ 1.608 ./configure \ 1.609 --cache-file=./config.cache \ 1.610 --prefix=%{l_prefix} \ 1.611 + --with-gzip=%{l_prefix}/lib/openpkg/gzip \ 1.612 + --with-bzip2=%{l_prefix}/lib/openpkg/bzip2 \ 1.613 --disable-nls 1.614 ${l_make} || exit $? 1.615 ( mv src/tar ..; ${l_make} clean || true; mv ../tar . ) || exit $? 1.616 @@ -601,23 +724,26 @@ 1.617 set +x; VERBOSE "PREPARATION: Unpack Distribution Tarballs"; set -x 1.618 1.619 # unpack distribution tarballs 1.620 - ${l_gzip} -dc `SOURCE rpm-%{V_rpm}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.621 + ${l_gzip} -dc `SOURCE rpm-%{V_rpm_major}.%{V_rpm_minor}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.622 + ${l_gzip} -dc `SOURCE popt-%{V_popt}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.623 + ${l_gzip} -dc `SOURCE sqlite-%{V_sqlite}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.624 ${l_gzip} -dc `SOURCE zlib-%{V_zlib}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.625 ${l_gzip} -dc `SOURCE bzip2-%{V_bzip2}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.626 + ${l_gzip} -dc `SOURCE xz-%{V_xz}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.627 ${l_gzip} -dc `SOURCE curl-%{V_curl}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.628 + ${l_gzip} -dc `SOURCE pcre-%{V_pcre}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.629 ${l_gzip} -dc `SOURCE make-%{V_make}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.630 ${l_gzip} -dc `SOURCE bash-%{V_bash}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.631 ${l_gzip} -dc `SOURCE uuid-%{V_uuid}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.632 ${l_gzip} -dc `SOURCE beecrypt-%{V_beecrypt}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.633 - ${l_gzip} -dc `SOURCE openpkg-registry-%{V_registry}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.634 ${l_gzip} -dc `SOURCE perl-%{V_perl}-mini.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.635 ${l_gzip} -dc `SOURCE openssl-%{V_openssl}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.636 - ${l_gzip} -dc `SOURCE openpkg-tools-%{V_tools}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.637 - ${l_gzip} -dc `SOURCE openpkg-executable-%{V_exec}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.638 + ${l_gzip} -dc `SOURCE libarchive-%{V_libarchive}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.639 + ${l_gzip} -dc `SOURCE diffutils-%{V_diffutils}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.640 + ${l_gzip} -dc `SOURCE svs-%{V_svs}.tar.gz` | ${l_tar} xf - 2>/dev/null || true 1.641 1.642 # update config.guess/config.sub 1.643 - for dir in rpm-%{V_rpm} rpm-%{V_rpm}/popt beecrypt-%{V_beecrypt} \ 1.644 - curl-%{V_curl} make-%{V_make} bash-%{V_bash}/support; do 1.645 + for dir in curl-%{V_curl} make-%{V_make} bash-%{V_bash}/support; do 1.646 chmod u+w $dir/config.guess $dir/config.sub >/dev/null 2>&1 || true 1.647 cp config/config.guess $dir/ 1.648 cp config/config.sub $dir/ 1.649 @@ -627,18 +753,15 @@ 1.650 set +x; VERBOSE "PREPARATION: Apply OpenPKG Patches to Distributions"; set -x 1.651 1.652 # apply OpenPKG patches to distribution trees 1.653 - ( cd rpm-%{V_rpm} 1.654 - sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.bugfix` | ${l_patch} -p0 1.655 - sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.feature` | ${l_patch} -p0 1.656 - sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.porting` | ${l_patch} -p0 1.657 - sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.regen` | ${l_patch} -p0 1.658 - rm -rf db/docs # just reduce disk size of source tree 1.659 + ( cd rpm-%{V_rpm_major}.%{V_rpm_minor} 1.660 + sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch` | ${l_patch} -p0 1.661 ) || exit $? 1.662 ( cd make-%{V_make} 1.663 ${l_patch} -p0 <`SOURCE make.patch` 1.664 ) || exit $? 1.665 ( cd bash-%{V_bash} 1.666 ${l_patch} -p0 <`SOURCE bash.patch` 1.667 + ${l_patch} -p0 <`SOURCE bash.patch.vendor` 1.668 sleep 1 1.669 touch y.tab.[ch] 1.670 touch configure config.h.in 1.671 @@ -652,6 +775,30 @@ 1.672 ( cd openssl-%{V_openssl} 1.673 ${l_patch} -p0 <`SOURCE openssl.patch` 1.674 ) || exit $? 1.675 + ( cd popt-%{V_popt} 1.676 + ${l_patch} -p0 <`SOURCE popt.patch` 1.677 + ) || exit $? 1.678 + ( cd sqlite-%{V_sqlite} 1.679 + ${l_patch} -p0 <`SOURCE sqlite.patch` 1.680 + ) || exit $? 1.681 + ( cd curl-%{V_curl} 1.682 + ${l_patch} -p0 <`SOURCE curl.patch` 1.683 + ) || exit $? 1.684 + ( cd pcre-%{V_pcre} 1.685 + ${l_patch} -p0 <`SOURCE pcre.patch` 1.686 + ) || exit $? 1.687 + ( cd diffutils-%{V_diffutils} 1.688 + ${l_patch} -p0 <`SOURCE diffutils.patch` 1.689 + ) || exit $? 1.690 + ( cd libarchive-%{V_libarchive} 1.691 + ${l_patch} -p0 <`SOURCE libarchive.patch` 1.692 + ) || exit $? 1.693 + ( cd zlib-%{V_zlib} 1.694 + ${l_patch} -p0 <`SOURCE zlib.patch` 1.695 + ) || exit $? 1.696 + ( cd xz-%{V_xz} 1.697 + ${l_patch} -p0 <`SOURCE xz.patch` 1.698 + ) || exit $? 1.699 1.700 # display verbosity header 1.701 set +x; VERBOSE "PREPARATION: Build GNU make (Build Tool)"; set -x 1.702 @@ -659,7 +806,6 @@ 1.703 # bootstrap GNU make tool 1.704 ( cd make-%{V_make} 1.705 CC="${l_cc}" \ 1.706 - GREP="grep" \ 1.707 ./configure \ 1.708 --without-libiconv-prefix \ 1.709 --without-libintl-prefix \ 1.710 @@ -700,9 +846,15 @@ 1.711 # disable building with debug symbols 1.712 echo "ac_cv_prog_cc_g=no" 1.713 ) >config.cache 1.714 - AUTOCONF="true" \ 1.715 - CC="${l_cc}" \ 1.716 - MAKE="${l_make}" \ 1.717 + AUTOCONF="true" 1.718 + export AUTOCONF 1.719 + CC="${l_cc}" 1.720 + export CC 1.721 + LDFLAGS="" 1.722 + export LDFLAGS 1.723 + case "$plid" in 1.724 + Darwin/* ) LDFLAGS="-Wl,-search_paths_first" ;; 1.725 + esac 1.726 ./configure \ 1.727 --cache-file=./config.cache \ 1.728 --prefix=%{l_prefix} \ 1.729 @@ -746,6 +898,28 @@ 1.730 ) || exit $? 1.731 1.732 # display verbosity header 1.733 + set +x; VERBOSE "BUILD: Build XZ (Compression Library)"; set -x 1.734 + 1.735 + # build XZ library 1.736 + ( cd xz-%{V_xz} 1.737 + opts="" 1.738 + case "$plid" in 1.739 + Darwin/* ) opts="--disable-assembler" ;; 1.740 + esac 1.741 + CC="${l_cc}" \ 1.742 + CFLAGS="-O" \ 1.743 + ./configure \ 1.744 + --prefix=%{l_prefix} \ 1.745 + --mandir=%{l_prefix}/man \ 1.746 + --without-libiconv-prefix \ 1.747 + --without-libintl-prefix \ 1.748 + --disable-nls \ 1.749 + --disable-shared \ 1.750 + $opts 1.751 + ${l_make} || exit $? 1.752 + ) || exit $? 1.753 + 1.754 + # display verbosity header 1.755 set +x; VERBOSE "BUILD: Build OSSP uuid (UUID Generation Tool)"; set -x 1.756 1.757 # build OSSP uuid tool 1.758 @@ -757,7 +931,6 @@ 1.759 --prefix=%{l_prefix} \ 1.760 --disable-shared 1.761 ${l_make} || exit $? 1.762 - ( mv uuid ..; ${l_make} clean || true; mv ../uuid . ) || exit $? 1.763 ) || exit $? 1.764 1.765 # display verbosity header 1.766 @@ -777,11 +950,6 @@ 1.767 for dir in %{l_prefix}/lib /lib64 /usr/lib64 /lib /usr/lib /usr/ccs/lib; do 1.768 [ -d $dir ] && libdirs="$libdirs $dir" 1.769 done 1.770 - loclibs="" 1.771 - case `(uname -s) 2>/dev/null` in 1.772 - Linux ) loclibs="-lm -lrt" ;; 1.773 - esac 1.774 - PATH=$PATH:`echo "${l_make}" | sed -e 's;\(.*\)/[^/][^/]*$;\1;'` \ 1.775 ./Configure \ 1.776 -d -e -s \ 1.777 -Dprefix=%{l_prefix} \ 1.778 @@ -796,12 +964,15 @@ 1.779 -Dldflags="-L""%{l_prefix}/lib" \ 1.780 -Dlibpth="$libdirs" \ 1.781 -Dglibpth="$libdirs" \ 1.782 - -Dlibs="$loclibs" \ 1.783 -Dscriptdir="%{l_prefix}/bin" \ 1.784 -Uinstallusrbinperl \ 1.785 -Adefine:useshrplib='false' \ 1.786 -Ui_malloc -Ui_iconv -Ui_db 1.787 - ${l_make} miniperl || exit $? 1.788 + case `sh $shtool platform -n -L -S "" -C "+" -F "%<ap>-%<sp>"` in 1.789 + *-cygwin* ) miniperl="miniperl.exe" ;; 1.790 + * ) miniperl="miniperl" ;; 1.791 + esac 1.792 + ${l_make} $miniperl || exit $? 1.793 rm -f *.o >/dev/null 2>&1 || true 1.794 ) || exit $? 1.795 l_perl="`pwd`/perl-%{V_perl}/miniperl"; export l_perl 1.796 @@ -842,6 +1013,44 @@ 1.797 ( mkdir lib; cd lib; ln -s ../lib*.a . ) || exit $? 1.798 ) || exit $? 1.799 1.800 + # build BSD libarchive 1.801 + ( cd libarchive-%{V_libarchive} 1.802 + CC="${l_cc}" \ 1.803 + CFLAGS="-O -D_POSIX_PTHREAD_SEMANTICS" \ 1.804 + 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" \ 1.805 + LDFLAGS="-L`pwd`/../zlib-%{V_zlib} -L`pwd`/../bzip2-%{V_bzip2} -L`pwd`/../xz-%{V_xz}/src/liblzma/.libs -L`pwd`/../openssl-%{V_openssl}" \ 1.806 + GREP="grep" \ 1.807 + ./configure \ 1.808 + --prefix=%{l_prefix} \ 1.809 + --enable-bsdtar \ 1.810 + --enable-bsdcpio \ 1.811 + --with-zlib \ 1.812 + --with-bz2lib \ 1.813 + --with-lzma \ 1.814 + --without-lzmadec \ 1.815 + --with-openssl \ 1.816 + --without-xml2 \ 1.817 + --without-expat \ 1.818 + --without-iconv \ 1.819 + --disable-shared 1.820 + ${l_make} || exit $? 1.821 + ( mv bsdcpio bsdtar ..; ${l_make} clean || true; mv ../bsdcpio ../bsdtar . ) || exit $? 1.822 + ) || exit $? 1.823 + 1.824 + # build GNU diffutils 1.825 + ( cd diffutils-%{V_diffutils} 1.826 + CC="${l_cc}" \ 1.827 + CFLAGS="-O" \ 1.828 + ./configure \ 1.829 + --prefix=%{l_prefix} \ 1.830 + --disable-nls 1.831 + ${l_make} || exit $? 1.832 + ( mv src/diff src/diff3 src/sdiff src/cmp .. 1.833 + ${l_make} clean || true 1.834 + mv ../diff ../diff3 ../sdiff ../cmp . 1.835 + ) || exit $? 1.836 + ) || exit $? 1.837 + 1.838 # display verbosity header 1.839 set +x; VERBOSE "BUILD: Build cURL (URL Fetching Tool)"; set -x 1.840 1.841 @@ -852,7 +1061,6 @@ 1.842 echo 'lt_cv_sys_max_cmd_len=100' 1.843 ) >config.cache 1.844 CC="${l_cc}" \ 1.845 - MAKE="${l_make}" \ 1.846 CFLAGS="-I`pwd`/../zlib-%{V_zlib}" \ 1.847 CPPFLAGS="-I`pwd`/../zlib-%{V_zlib}" \ 1.848 LDFLAGS="-L`pwd`/../zlib-%{V_zlib}" \ 1.849 @@ -868,7 +1076,18 @@ 1.850 --with-ssl=`pwd`/../openssl-%{V_openssl} \ 1.851 --with-ca-bundle=%{l_prefix}/etc/openpkg/openpkg.x509 1.852 ${l_make} || exit $? 1.853 - ( mv src/curl ..; ${l_make} clean || true; mv ../curl ./src ) || exit $? 1.854 + mv src/curl ..; ${l_make} clean || true; mv ../curl . 1.855 + ) || exit $? 1.856 + 1.857 + # build PCRE library 1.858 + ( cd pcre-%{V_pcre} 1.859 + CC="${l_cc}" \ 1.860 + GREP="grep" \ 1.861 + ./configure \ 1.862 + --disable-cpp \ 1.863 + --disable-utf8 \ 1.864 + --disable-shared 1.865 + ${l_make} || exit $? 1.866 ) || exit $? 1.867 1.868 # display verbosity header 1.869 @@ -878,32 +1097,32 @@ 1.870 ( cd beecrypt-%{V_beecrypt} 1.871 sh $shtool subst \ 1.872 -e 's;^[ ][ ]*#;#;' \ 1.873 - aes.c base64.c blowfish.c entropy.c fips186.c fips186.h md5.c \ 1.874 - md5.h mp.c mtprng.c mtprng.h sha1.c sha1.h sha256.c sha256.h timestamp.c 1.875 + aes.c base64.c blockmode.c blowfish.c entropy.c fips186.c md4.c md5.c \ 1.876 + mp.c mtprng.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c \ 1.877 + sha1.c sha224.c sha256.c sha2k64.c sha384.c sha512.c timestamp.c 1.878 sh $shtool subst \ 1.879 -e 's;cppglue\.lo;;g' \ 1.880 -e 's;cppglue\.cxx;;g' \ 1.881 -e '/^CXX = /s;@CXX@;@CC@;g' \ 1.882 Makefile.in 1.883 - sh $shtool subst \ 1.884 - -e '/LINENO: error: C[+]* preprocessor/{N;N;N;N;s/.*/:/;}' \ 1.885 - configure 1.886 ( echo 'ac_cv_have_dev_dsp=no' 1.887 echo 'ac_cv_have_dev_audio=no' 1.888 echo 'ac_cv_func_gettimeofday=yes' 1.889 echo 'bc_cv_as_noexecstack=no' 1.890 ) >config.cache 1.891 CC="${l_cc}" \ 1.892 - MAKE="${l_make}" \ 1.893 CFLAGS="-O" \ 1.894 ./configure \ 1.895 --cache-file=./config.cache \ 1.896 --prefix=%{l_prefix} \ 1.897 + --with-cpu=none \ 1.898 + --with-arch=none \ 1.899 --without-cplusplus \ 1.900 --without-java \ 1.901 --without-python \ 1.902 - --with-cpu=none \ 1.903 - --with-arch=none \ 1.904 + --disable-expert-mode \ 1.905 + --disable-aio \ 1.906 + --disable-openmp \ 1.907 --disable-threads \ 1.908 --disable-shared 1.909 ${l_make} || exit $? 1.910 @@ -911,101 +1130,161 @@ 1.911 ) || exit $? 1.912 1.913 # display verbosity header 1.914 + set +x; VERBOSE "BUILD: Build POPT (Option Parsing Library)"; set -x 1.915 + 1.916 + # build POPT library 1.917 + ( cd popt-%{V_popt} 1.918 + CC="${l_cc}" \ 1.919 + CPPFLAGS="-DOPENPKG -DPOPT_fprintf=fprintf" \ 1.920 + GREP="grep" \ 1.921 + ./configure \ 1.922 + --prefix=%{l_prefix} \ 1.923 + --disable-shared \ 1.924 + --with-included-gettext \ 1.925 + --without-libintl-prefix \ 1.926 + --without-libiconv-prefix \ 1.927 + --disable-nls 1.928 + ${l_make} 1.929 + ) || exit $? 1.930 + 1.931 + # display verbosity header 1.932 + set +x; VERBOSE "BUILD: Build SQLite (RDBMS Library)"; set -x 1.933 + 1.934 + # build SQLite library 1.935 + ( cd sqlite-%{V_sqlite} 1.936 + CC="${l_cc}" \ 1.937 + LIBS="-lm" \ 1.938 + GREP="grep" \ 1.939 + ./configure \ 1.940 + --prefix=%{l_prefix} \ 1.941 + --disable-threadsafe \ 1.942 + --disable-readline \ 1.943 + --disable-debug \ 1.944 + --disable-amalgamation \ 1.945 + --disable-tcl \ 1.946 + --disable-shared 1.947 + ${l_make} 1.948 + ) || exit $? 1.949 + 1.950 + # display verbosity header 1.951 set +x; VERBOSE "BUILD: Build RPM (RPM Package Manager)"; set -x 1.952 1.953 # build RPM 1.954 ( br=`pwd` 1.955 - cd rpm-%{V_rpm} 1.956 - 1.957 - # remove object files accidentally distributed with the RPM tarball 1.958 - rm -f db/build_unix/*.o 1.959 - rm -f db/build_unix/*.lo 1.960 - 1.961 - # remove embedded zlib (we are linking with an external one) 1.962 - rm -rf zlib 1.963 - 1.964 - # kill Linux-based preconfigured DB header, to allow the Makefiles to 1.965 - # symlink to it the header that is configured for the current system. 1.966 - rm -f rpmdb/db.h 1.967 - 1.968 - # make sure we do not trigger Autoconf/Automake tools 1.969 - touch configure 1.970 - touch config.h.in 1.971 - 1.972 - # disable running of any Autoconf/Automake tools 1.973 - ACLOCAL=true 1.974 - AUTOCONF=true 1.975 - AUTOMAKE=true 1.976 - AUTOHEADER=true 1.977 - MAKEINFO=true 1.978 - AMTAR=true 1.979 - export ACLOCAL AUTOMAKE AUTOHEADER MAKEINFO AMTAR 1.980 + cd rpm-%{V_rpm_major}.%{V_rpm_minor} 1.981 1.982 # cheat GNU Autoconf 1.983 ( echo 'ac_cv_path_MSGFMT=:' 1.984 echo 'ac_cv_path_GMSGFMT=:' 1.985 echo 'ac_cv_path_XGETTEXT=:' 1.986 echo 'ac_cv_path_MSGMERGE=:' 1.987 - echo "ac_cv_path_MKDIR='%{l_prefix}/lib/openpkg/shtool mkdir -f -p -m 755'" 1.988 - echo "ac_cv_path___MKDIR='%{l_prefix}/lib/openpkg/shtool mkdir -f -p -m 755'" 1.989 - echo "ac_cv_path___PYTHON=true" 1.990 - echo "ac_cv_path___DOXYGEN=true" 1.991 - echo "acl_cv_rpath=no" 1.992 echo "ac_cv_header_getopt_h=no" 1.993 + echo "ac_cv_lib_gz_gzread=no" 1.994 ) >config.cache 1.995 1.996 - # provide platform identification 1.997 - os_name=`(uname -s) 2>/dev/null` || os_name='Unknown' 1.998 - os_name=`echo "${os_name}" |\ 1.999 - sed -e 's;[^a-zA-Z0-9];;g' |\ 1.1000 - tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` 1.1001 + # use miniperl 1.1002 + PERL="${l_perl}" 1.1003 + export PERL 1.1004 1.1005 # set build tool flags 1.1006 CC="${l_cc}" 1.1007 - CPPFLAGS="-DOPENPKG -DOPENPKG_${os_name} -I$br/zlib-%{V_zlib} -I$br/bzip2-%{V_bzip2} -I$br/beecrypt-%{V_beecrypt}" 1.1008 - CFLAGS="$CPPFLAGS" 1.1009 - LDFLAGS="-L$br/zlib-%{V_zlib} -L$br/bzip2-%{V_bzip2} -L$br/beecrypt-%{V_beecrypt}" 1.1010 - LIBS="$LDFLAGS -lz -lbz2 -lbeecrypt" 1.1011 - case $os_name in 1.1012 - SUNOS* ) LIBS="$LIBS -lresolv" ;; 1.1013 - IRIX* ) LIBS="$LIBS -lgen" ;; 1.1014 - esac 1.1015 - export CC CPPFLAGS CFLAGS LDFLAGS LIBS 1.1016 + CFLAGS="" 1.1017 + CPPFLAGS="-DRPM_VENDOR_OPENPKG" 1.1018 + LDFLAGS="" 1.1019 + LIBS="" 1.1020 + LIBS="$LIBS -lm" 1.1021 + export CC 1.1022 + export CFLAGS 1.1023 + export CPPFLAGS 1.1024 + export LDFLAGS 1.1025 + export LIBS 1.1026 1.1027 - # adjust for BeeCrypt 4.0 1.1028 + # special platform workarounds 1.1029 + GREP="grep" 1.1030 + export GREP 1.1031 + 1.1032 + # determine POPT option, RPM macros and Lua script file paths 1.1033 + RPMPOPT="%{l_prefix}/lib/openpkg/rpmpopt" 1.1034 + RPMPOPT="$RPMPOPT:%{l_prefix}/etc/openpkg/rpmpopt" 1.1035 + RPMPOPT="$RPMPOPT:%{l_prefix}/etc/openpkg/rpmpopt.d/*" 1.1036 + RPMPOPT="$RPMPOPT:~/.openpkg/rpmpopt" 1.1037 + RPMPOPT="$RPMPOPT:@../../.openpkg/rpmpopt" 1.1038 + RPMPOPT="$RPMPOPT:@../.openpkg/rpmpopt" 1.1039 + RPMPOPT="$RPMPOPT:@./.openpkg/rpmpopt" 1.1040 + RPMMACROS="%{l_prefix}/lib/openpkg/rpmmacros" 1.1041 + RPMMACROS="$RPMMACROS:%{l_prefix}/etc/openpkg/rpmmacros" 1.1042 + RPMMACROS="$RPMMACROS:%{l_prefix}/etc/openpkg/rpmmacros.d/*" 1.1043 + RPMMACROS="$RPMMACROS:~/.openpkg/rpmmacros" 1.1044 + RPMMACROS="$RPMMACROS:@../../.openpkg/rpmmacros" 1.1045 + RPMMACROS="$RPMMACROS:@../.openpkg/rpmmacros" 1.1046 + RPMMACROS="$RPMMACROS:@./.openpkg/rpmmacros" 1.1047 + RPMLUA="%{l_prefix}/lib/openpkg/rpmlua" 1.1048 + RPMLUA="$RPMLUA:%{l_prefix}/etc/openpkg/rpmlua" 1.1049 + RPMLUA="$RPMLUA:%{l_prefix}/etc/openpkg/rpmlua.d/*" 1.1050 + RPMLUA="$RPMLUA:~/.openpkg/rpmlua" 1.1051 + RPMLUA="$RPMLUA:@../../.openpkg/rpmlua" 1.1052 + RPMLUA="$RPMLUA:@../.openpkg/rpmlua" 1.1053 + RPMLUA="$RPMLUA:@./.openpkg/rpmlua" 1.1054 + 1.1055 + # parametrize integrity checking framework 1.1056 sh $shtool subst \ 1.1057 - -e 's;beecrypt\.api\.h;beecrypt.h;g' \ 1.1058 - rpmio/rpmio_internal.h 1.1059 + -e "s;0000000000000000000000000000000000000000;7D121A8FC05DC18A4329E9EF67042EC961B7AE34;" \ 1.1060 + -e "s;0\\.0\\.0;0.9.0;" \ 1.1061 + rpmqv.c 1.1062 + 1.1063 + # disable building of any tests 1.1064 + # (mainly because those would fail because of integrity checking anyway) 1.1065 sh $shtool subst \ 1.1066 - -e 's;\(rsavrfy(\)\(&dig->rsa_pk\);\1\2.n, \2.e;g' \ 1.1067 - lib/signature.c 1.1068 - sh $shtool subst \ 1.1069 - -e 's;\(^LIBS =\)[ \t]*;\1 -ldb;' \ 1.1070 - -e 's;\(^rpmdb_[^_][^_]*_LDFLAGS =\)[ \t]*;\1 -L$(top_srcdir)/db3;g' \ 1.1071 - rpmdb/Makefile.in 1.1072 - sh $shtool subst \ 1.1073 - -e 's;\(^myLDFLAGS =\);\1 -L$(top_srcdir)/db3;' \ 1.1074 + -e 's;tools scripts tests doc;tools scripts doc;' \ 1.1075 Makefile.in 1.1076 1.1077 - # configure the package 1.1078 - MAKE="${l_make}" \ 1.1079 - sh ./configure \ 1.1080 + # configure program 1.1081 + ./configure \ 1.1082 --cache-file=./config.cache \ 1.1083 --prefix=%{l_prefix} \ 1.1084 - --with-db \ 1.1085 - --with-glob \ 1.1086 + --mandir="%{l_prefix}/man" \ 1.1087 + --includedir="%{l_prefix}/include/openpkg" \ 1.1088 + --with-name="OpenPKG RPM" \ 1.1089 + --with-path-cfg="%{l_prefix}/etc/openpkg" \ 1.1090 + --with-path-rpmpopt="$RPMPOPT" \ 1.1091 + --with-path-macros="$RPMMACROS" \ 1.1092 + --with-path-rpmlua="$RPMLUA" \ 1.1093 + --with-path-lib="%{l_prefix}/lib/openpkg" \ 1.1094 + --with-path-locale="%{l_prefix}/share/openpkg/locale" \ 1.1095 + --with-path-database="%{l_prefix}/RPM/DB" \ 1.1096 + --with-path-sources="%{l_prefix}/RPM" \ 1.1097 + --with-bugreport="openpkg-users@openpkg.org" \ 1.1098 + --with-beecrypt="$br/beecrypt-%{V_beecrypt}" \ 1.1099 + --with-openssl="$br/openssl-%{V_openssl}" \ 1.1100 + --with-zlib="$br/zlib-%{V_zlib}" \ 1.1101 + --with-bzip2="$br/bzip2-%{V_bzip2}" \ 1.1102 + --with-popt="$br/popt-%{V_popt}" \ 1.1103 + --with-sqlite="$br/sqlite-%{V_sqlite}" \ 1.1104 + --with-pcre="$br/pcre-%{V_pcre}" \ 1.1105 + --with-uuid="$br/uuid-%{V_uuid}" \ 1.1106 + --with-lua="internal" \ 1.1107 + --with-db="internal" \ 1.1108 + --without-db-rpc \ 1.1109 + --without-db-largefile \ 1.1110 + --with-db-tools-integrated \ 1.1111 + --with-db-mutex="UNIX/fcntl" \ 1.1112 + --without-file \ 1.1113 + --without-neon \ 1.1114 + --without-pthreads \ 1.1115 + --without-libelf \ 1.1116 + --without-selinux \ 1.1117 + --without-perl \ 1.1118 --without-python \ 1.1119 --without-apidocs \ 1.1120 + --disable-build-warnings \ 1.1121 + --disable-build-extlibdep \ 1.1122 + --disable-build-intlibdep \ 1.1123 + --disable-build-lafiles \ 1.1124 --disable-shared \ 1.1125 --disable-rpath \ 1.1126 --disable-nls 1.1127 1.1128 - # deny automatic dependency calculations 1.1129 - rm -f find-provides find-requires 1.1130 - ln -s autodeps/none find-provides 1.1131 - ln -s autodeps/none find-requires 1.1132 - 1.1133 - # build the package 1.1134 + # build program 1.1135 ${l_make} 1.1136 ) || exit $? 1.1137 1.1138 @@ -1013,13 +1292,22 @@ 1.1139 set +x; VERBOSE "BUILD: Build OpenPKG Frontend (Set-UID Wrapper)"; set -x 1.1140 1.1141 # build "openpkg" executable 1.1142 - ( cd openpkg-executable-%{V_exec} 1.1143 - ${l_make} \ 1.1144 + ${l_make} -f `SOURCE openpkg.mk` \ 1.1145 CC="${l_cc}" \ 1.1146 OPENPKG_PREFIX="%{l_prefix}" \ 1.1147 OPENPKG_SUSR="%{l_susr}" \ 1.1148 - OPENPKG_MUSR="%{l_musr}" 1.1149 - ) || exit $? 1.1150 + OPENPKG_MUSR="%{l_musr}" \ 1.1151 + OPENPKG_DOT_C="`SOURCE openpkg.c`" 1.1152 + 1.1153 + # display verbosity header 1.1154 + set +x; VERBOSE "BUILD: Build OpenPKG Mutual Exclusion (MutEx) Utility"; set -x 1.1155 + 1.1156 + # build "mutex" executable 1.1157 + ${l_make} -f `SOURCE mutex.mk` \ 1.1158 + CC="${l_cc}" \ 1.1159 + CPPFLAGS="-Ipopt-%{V_popt}" \ 1.1160 + LDFLAGS="-Lpopt-%{V_popt} -Lpopt-%{V_popt}/.libs" \ 1.1161 + MUTEX_DOT_C="`SOURCE mutex.c`" 1.1162 1.1163 %install 1.1164 # skip in bootstrap phase 2 (see openpkg.boot) 1.1165 @@ -1057,73 +1345,93 @@ 1.1166 done 1.1167 test -d $RPM_BUILD_ROOT%{l_prefix}/RPM || \ 1.1168 mkdir $RPM_BUILD_ROOT%{l_prefix}/RPM 1.1169 - for dir in SRC PKG DB TMP; do 1.1170 + for dir in SRC PKG DB TR TMP; do 1.1171 test -d $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir || \ 1.1172 mkdir $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir 1.1173 done 1.1174 mkdir $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg 1.1175 - mkdir $RPM_BUILD_ROOT%{l_prefix}/include/openpkg 1.1176 1.1177 # display verbosity header 1.1178 set +x; VERBOSE "INSTALL: Installation of RPM"; set -x 1.1179 1.1180 # install RPM into installation hierarchy 1.1181 - ( cd rpm-%{V_rpm} 1.1182 - DESTDIR="$RPM_BUILD_ROOT" 1.1183 - export DESTDIR 1.1184 - ${l_make} install 1.1185 + ( cd rpm-%{V_rpm_major}.%{V_rpm_minor} 1.1186 + ${l_make} install DESTDIR="$RPM_BUILD_ROOT" 1.1187 + cp lua/rpmlua $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/lua 1.1188 + chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/lua 1.1189 ) || exit $? 1.1190 1.1191 + # post-adjust RPM installation 1.1192 + mv $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/macros \ 1.1193 + $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmmacros 1.1194 + 1.1195 # display verbosity header 1.1196 set +x; VERBOSE "INSTALL: Install Additional Files"; set -x 1.1197 1.1198 # add additional development files 1.1199 - cp rpm-%{V_rpm}/misc/glob.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/ 1.1200 - cp zlib-%{V_zlib}/zlib.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/ 1.1201 - cp zlib-%{V_zlib}/zconf.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/ 1.1202 + cp rpm-%{V_rpm_major}.%{V_rpm_minor}/rpmio/glob.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/ 1.1203 + cp zlib-%{V_zlib}/zlib.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/ 1.1204 + cp zlib-%{V_zlib}/zconf.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/ 1.1205 cp zlib-%{V_zlib}/libz.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmz.a 1.1206 - cp bzip2-%{V_bzip2}/bzlib.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/ 1.1207 + cp bzip2-%{V_bzip2}/bzlib.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/ 1.1208 cp bzip2-%{V_bzip2}/libbz2.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmbz2.a 1.1209 - cp beecrypt-%{V_beecrypt}/beecrypt.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/ 1.1210 + cp beecrypt-%{V_beecrypt}/include/beecrypt/beecrypt.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/ 1.1211 cp beecrypt-%{V_beecrypt}/libbeecrypt.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmbeecrypt.a 1.1212 + cp popt-%{V_popt}/popt.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/ 1.1213 + cp popt-%{V_popt}/.libs/libpopt.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmpopt.a 1.1214 + cp sqlite-%{V_sqlite}/sqlite3.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/ 1.1215 + cp sqlite-%{V_sqlite}/.libs/libsqlite3.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmsqlite3.a 1.1216 1.1217 # display verbosity header 1.1218 set +x; VERBOSE "INSTALL: Post-Adjust Installation"; set -x 1.1219 1.1220 - # post-adjust RPM installation (namespace-clean POPT inclusion) 1.1221 - mv $RPM_BUILD_ROOT%{l_prefix}/lib/libpopt.a \ 1.1222 - $RPM_BUILD_ROOT%{l_prefix}/lib/librpmpopt.a 1.1223 - mv $RPM_BUILD_ROOT%{l_prefix}/include/popt.h \ 1.1224 - $RPM_BUILD_ROOT%{l_prefix}/include/rpm/popt.h 1.1225 - 1.1226 # move C API into custom locations 1.1227 - mv $RPM_BUILD_ROOT%{l_prefix}/include/rpm \ 1.1228 - $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm 1.1229 mv $RPM_BUILD_ROOT%{l_prefix}/lib/librpm* \ 1.1230 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/ 1.1231 + mv $RPM_BUILD_ROOT%{l_prefix}/lib/pkgconfig/rpm.pc \ 1.1232 + $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/ 1.1233 + # FIXME: does the rpm.pc really work this way? 1.1234 1.1235 # move rpm tool to custom location 1.1236 mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm \ 1.1237 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm 1.1238 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpm.8 \ 1.1239 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm.8 1.1240 + ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm >/dev/null 2>&1 || true 1.1241 1.1242 # move rpm2cpio tool to custom location 1.1243 mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm2cpio \ 1.1244 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio 1.1245 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpm2cpio.8 \ 1.1246 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio.8 1.1247 + ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio >/dev/null 2>&1 || true 1.1248 1.1249 - # replace symlinks with hardlinks 1.1250 - for entry in rpme:rpmi rpmt:rpmb rpmu:rpmi rpmv:rpmq; do 1.1251 - eval `echo $entry | sed -e 's/^\(.*\):\(.*\)$/dst=\1; src=\2/'` 1.1252 - rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$dst 1.1253 - ln $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$src \ 1.1254 - $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$dst 1.1255 - done 1.1256 - rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/rpmbuild 1.1257 - ln $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmb \ 1.1258 - $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmbuild 1.1259 + # move rpmconstant tool to custom location 1.1260 + mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpmconstant \ 1.1261 + $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmconstant 1.1262 + mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmconstant.8 \ 1.1263 + $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmconstant.8 1.1264 + ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmconstant >/dev/null 2>&1 || true 1.1265 + 1.1266 + # move rpmcache tool to custom location 1.1267 + mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpmcache \ 1.1268 + $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmcache 1.1269 + mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmcache.8 \ 1.1270 + $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmcache.8 1.1271 + ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmcache >/dev/null 2>&1 || true 1.1272 + 1.1273 + # move rpmgrep tool to custom location 1.1274 + mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpmgrep \ 1.1275 + $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgrep 1.1276 + mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/rpmgrep.1 \ 1.1277 + $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgrep.1 1.1278 + ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgrep >/dev/null 2>&1 || true 1.1279 + 1.1280 + # move manual pages to custom location 1.1281 + mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmdeps.8 \ 1.1282 + $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmdeps.8 1.1283 + mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmgraph.8 \ 1.1284 + $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgraph.8 1.1285 mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmbuild.8 \ 1.1286 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmbuild.8 1.1287 1.1288 @@ -1133,29 +1441,29 @@ 1.1289 # strip RPM installation 1.1290 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/bin/* \ 1.1291 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/* >/dev/null 2>&1 || true 1.1292 - for dir in man/ja man/pl man/ru man/sk src; do 1.1293 - rm -rf $RPM_BUILD_ROOT%{l_prefix}/$dir >/dev/null 2>&1 || true 1.1294 - done 1.1295 - rm -rf $RPM_BUILD_ROOT/var >/dev/null 2>&1 || true 1.1296 - for file in rpme rpmi rpmsign rpmu rpmverify rpmquery gendiff; do 1.1297 + for file in rpmbuild gendiff; do 1.1298 rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/$file >/dev/null 2>&1 || true 1.1299 done 1.1300 - rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/* >/dev/null 2>&1 || true 1.1301 + for dir in RPMS SRPMS SPEC SOURCES BUILD; do 1.1302 + rm -rf $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir >/dev/null 2>&1 || true 1.1303 + done 1.1304 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/* >/dev/null 2>&1 || true 1.1305 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man3/* >/dev/null 2>&1 || true 1.1306 - rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/rpmpopt >/dev/null 2>&1 || true 1.1307 - rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/rpmrc >/dev/null 2>&1 || true 1.1308 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/lib*.la >/dev/null 2>&1 || true 1.1309 - rm -rf $RPM_BUILD_ROOT%{l_prefix}/var/lib >/dev/null 2>&1 || true 1.1310 + rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/pkgconfig >/dev/null 2>&1 || true 1.1311 for file in \ 1.1312 - u_pkg.sh vpkg-provides.sh vpkg-provides2.sh rpmdiff.cgi rpmdiff \ 1.1313 - mkinstalldirs magic.prov magic.req http.req getpo.sh \ 1.1314 - get_magic.pl find-provides find-requires find-requires.perl \ 1.1315 - find-req.pl find-provides.perl find-prov.pl find-lang.sh \ 1.1316 - cpanflute convertrpmrc.sh check-prereqs rpmputtext rpmgettext \ 1.1317 - brp-compress brp-redhat brp-sparc64-linux brp-strip \ 1.1318 - brp-strip-shared brp-strip-comment-note rpmrc \ 1.1319 - config.guess config.sub check-files; do 1.1320 + brp-compress brp-python-bytecompile brp-java-gcjcompile brp-strip brp-strip-comment-note \ 1.1321 + brp-nobuildrootpath brp-strip-shared brp-strip-static-archive brp-sparc64-linux check-files \ 1.1322 + cross-build executabledeps.sh find-debuginfo.sh find-lang.sh find-prov.pl find-req.pl \ 1.1323 + find-provides.perl find-requires.perl getpo.sh http.req javadeps.sh libtooldeps.sh mono-find-provides \ 1.1324 + mono-find-requires osgideps.pl pkgconfigdeps.sh perldeps.pl perl.prov perl.req pythondeps.sh \ 1.1325 + php.prov php.req rpmdb_loadcvt rpm.daily rpm.log rpm.xinetd symclash.py symclash.sh tgpg u_pkg.sh \ 1.1326 + vpkg-provides.sh vpkg-provides2.sh install-sh mkinstalldirs; do 1.1327 + rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$file >/dev/null 2>&1 || true 1.1328 + done 1.1329 + for file in \ 1.1330 + db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load \ 1.1331 + db_printlog db_recover db_stat db_upgrade db_verify; do 1.1332 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$file >/dev/null 2>&1 || true 1.1333 done 1.1334 1.1335 @@ -1180,48 +1488,75 @@ 1.1336 l_cflags="" 1.1337 l_cppflags="-DOPENPKG -I${l_prefix}/include/openpkg/rpm -I${l_prefix}/include/openpkg" 1.1338 l_ldflags="-L${l_prefix}/lib/openpkg" 1.1339 - l_libs="-lrpmbuild -lrpm -lrpmio -lrpmdb -lrpmpopt -lrpmbeecrypt -lrpmbz2 -lrpmz" 1.1340 + l_libs="-lrpmbuild -lrpm -lrpmio -lrpmdb -lrpmmisc -lrpmsqlite3 -lrpmpopt -lrpmbeecrypt -lrpmbz2 -lrpmz" 1.1341 sed -e "s:@l_prefix@:%{l_prefix}:g" \ 1.1342 -e "s:@l_cc@:$l_cc:g" \ 1.1343 -e "s:@l_cflags@:$l_cflags:g" \ 1.1344 -e "s:@l_cppflags@:$l_cppflags:g" \ 1.1345 -e "s:@l_ldflags@:$l_ldflags:g" \ 1.1346 -e "s:@l_libs@:$l_libs:g" \ 1.1347 - -e "s:@l_version@:%{V_rpm}:g" \ 1.1348 + -e "s:@l_version@:%{V_rpm_major}.%{V_rpm_minor}:g" \ 1.1349 <`SOURCE rpm-config.sh` \ 1.1350 >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config 1.1351 ) || exit $? 1.1352 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config 1.1353 - sed -e "s:RPM_VERSION:%{V_rpm}:g" \ 1.1354 + sed -e "s:RPM_VERSION:%{V_rpm_major}.%{V_rpm_minor}:g" \ 1.1355 <`SOURCE rpm-config.8` \ 1.1356 >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config.8 1.1357 1.1358 # install OpenPKG registry commands 1.1359 - ( cd openpkg-registry-%{V_registry} 1.1360 - mv $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm \ 1.1361 - $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpm 1.1362 - sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1363 - rpm.sh >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm 1.1364 - chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm 1.1365 - sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1366 - register.sh >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register 1.1367 - chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register 1.1368 - cp register.8 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register.8 1.1369 - ) || exit $? 1.1370 + mv $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm \ 1.1371 + $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpm 1.1372 + sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1373 + `SOURCE rpm.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm 1.1374 + chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm 1.1375 + sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1376 + `SOURCE register.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register 1.1377 + chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register 1.1378 + cp `SOURCE register.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register.8 1.1379 1.1380 - # install OpenPKG Tool Chain command subset 1.1381 - ( cd openpkg-tools-%{V_tools} 1.1382 - cp cmd/curl.sh $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/curl.sh 1.1383 - cp cmd/build.pl $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl 1.1384 - chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl 1.1385 - cp cmd/build.8 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.8 1.1386 - ) || exit $? 1.1387 + # allow GNU shtool to be called as "openpkg shtool" from external, too. 1.1388 + sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1389 + `SOURCE shtool.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/shtool.sh 1.1390 + chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/shtool.sh 1.1391 + 1.1392 + # install OpenPKG tool chain command subset 1.1393 + cp `SOURCE curl.sh` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/curl.sh 1.1394 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/curl.sh 1.1395 + cp `SOURCE build.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl 1.1396 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl 1.1397 + cp `SOURCE build.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.8 1.1398 + cp `SOURCE index.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.pl 1.1399 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.pl 1.1400 + cp `SOURCE index.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.8 1.1401 + cp `SOURCE search.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/search.pl 1.1402 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/search.pl 1.1403 + cp `SOURCE search.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/search.8 1.1404 + cp `SOURCE mirror.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/mirror.pl 1.1405 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/mirror.pl 1.1406 + cp `SOURCE mirror.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/mirror.8 1.1407 + cp `SOURCE makeproxy.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/makeproxy.pl 1.1408 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/makeproxy.pl 1.1409 + cp `SOURCE makeproxy.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/makeproxy.8 1.1410 + cp `SOURCE lint-fsl.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-fsl.pl 1.1411 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-fsl.pl 1.1412 + cp `SOURCE lint-rc.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rc.pl 1.1413 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rc.pl 1.1414 + cp `SOURCE lint-rpm.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rpm.pl 1.1415 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rpm.pl 1.1416 + cp `SOURCE lint-spec.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-spec.pl 1.1417 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-spec.pl 1.1418 + cp `SOURCE dev.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/dev.pl 1.1419 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/dev.pl 1.1420 + cp `SOURCE dev.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/dev.8 1.1421 + cp `SOURCE sea.sh` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/sea.sh 1.1422 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/sea.sh 1.1423 + cp `SOURCE sea.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/sea.8 1.1424 + cp `SOURCE stack.sh` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/stack.sh 1.1425 + chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/stack.sh 1.1426 + cp `SOURCE stack.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/stack.8 1.1427 1.1428 # install RPM extension 1.1429 - ( cd rpm-%{V_rpm} 1.1430 - cp file/file $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/file 1.1431 - ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/file 1.1432 - ) || exit $? 1.1433 ( cd perl-%{V_perl} 1.1434 cp miniperl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/miniperl 1.1435 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/miniperl 1.1436 @@ -1231,7 +1566,7 @@ 1.1437 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/openssl 1.1438 ) || exit $? 1.1439 ( cd curl-%{V_curl} 1.1440 - cp src/curl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/curl 1.1441 + cp curl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/curl 1.1442 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/curl 1.1443 ) || exit $? 1.1444 ( cd bzip2-%{V_bzip2} 1.1445 @@ -1242,6 +1577,10 @@ 1.1446 cp gzip $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/gzip 1.1447 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/gzip 1.1448 ) || exit $? 1.1449 + ( cd xz-%{V_xz} 1.1450 + cp src/xz/xz $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/xz 1.1451 + ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/xz 1.1452 + ) || exit $? 1.1453 ( cd patch-%{V_patch} 1.1454 cp patch $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/patch 1.1455 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/patch 1.1456 @@ -1258,6 +1597,27 @@ 1.1457 cp uuid $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid 1.1458 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid 1.1459 ) || exit $? 1.1460 + ( cd sqlite-%{V_sqlite} 1.1461 + cp sqlite3 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/sqlite3 1.1462 + ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/sqlite3 1.1463 + ) || exit $? 1.1464 + ( cd libarchive-%{V_libarchive} 1.1465 + cp bsdcpio $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdcpio 1.1466 + cp bsdtar $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdtar 1.1467 + ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdcpio 1.1468 + ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdtar 1.1469 + ) || exit $? 1.1470 + ( cd diffutils-%{V_diffutils} 1.1471 + ${l_strip} diff diff3 sdiff cmp 1.1472 + cp diff diff3 sdiff cmp $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/ 1.1473 + ) || exit $? 1.1474 + ( cd svs-%{V_svs} 1.1475 + sed -e "s;/bin/sh;%{l_prefix}/lib/openpkg/bash;" \ 1.1476 + -e "s;^\( *\)\(diff \);\1%{l_prefix}/lib/openpkg/\2;" \ 1.1477 + <svs.sh >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/svs 1.1478 + chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/svs 1.1479 + cp svs.1 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/svs.1 1.1480 + ) || exit $? 1.1481 sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1482 -e "s;@l_musr@;%{l_musr};g" \ 1.1483 -e "s;@l_mgrp@;%{l_mgrp};g" \ 1.1484 @@ -1278,9 +1638,16 @@ 1.1485 sed -e "s:@l_prefix@:%{l_prefix}:g" \ 1.1486 <`SOURCE rpmtool` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmtool 1.1487 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmtool 1.1488 + sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1489 + -e "s;@l_musr@;%{l_musr};g" \ 1.1490 + -e "s;@l_mgrp@;%{l_mgrp};g" \ 1.1491 + <`SOURCE license.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/license 1.1492 + chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/license 1.1493 + sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1494 + <`SOURCE license.8` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/license.8 1.1495 1.1496 # install OpenPKG tool chain execution frontend and execution wrapper 1.1497 - cp openpkg-executable-%{V_exec}/openpkg $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg 1.1498 + cp openpkg $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg 1.1499 ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg 1.1500 chmod 4775 $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg 1.1501 sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1502 @@ -1292,12 +1659,12 @@ 1.1503 1.1504 # install more OpenPKG tool chain commands 1.1505 sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1506 - <`SOURCE install.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/install 1.1507 - chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/install 1.1508 - sed -e "s;@l_prefix@;%{l_prefix};g" \ 1.1509 <`SOURCE man.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/man 1.1510 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/man 1.1511 1.1512 + # install OpenPKG mutex utility 1.1513 + cp mutex $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/mutex 1.1514 + 1.1515 # install an own copy of shtool 1.1516 cp $shtool $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/shtool 1.1517 chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/shtool 1.1518 @@ -1387,18 +1754,37 @@ 1.1519 echo "" 1.1520 ) >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/managers 1.1521 1.1522 + # install default release information file 1.1523 + release_tag="" 1.1524 + release_url="" 1.1525 + l_stack=""; [ ".%{?l_stack:set}" = .set ] && l_stack="%{l_stack}" 1.1526 + case "$l_stack" in 1.1527 + http: | https: | ftp: | file: ) 1.1528 + release_url="$l_stack" 1.1529 + ;; 1.1530 + [a-zA-Z]* ) 1.1531 + release_tag="$l_stack" 1.1532 + ;; 1.1533 + esac 1.1534 + ( echo "##" 1.1535 + echo "## release -- OpenPKG Release Information" 1.1536 + echo "##" 1.1537 + echo "" 1.1538 + echo "TAG=$release_tag" 1.1539 + echo "URL=$release_url" 1.1540 + echo "" 1.1541 + ) >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/release 1.1542 + 1.1543 # install overriding RPM configuration files 1.1544 sed -e "s:@l_prefix@:%{l_prefix}:g" \ 1.1545 <`SOURCE rpmpopt` \ 1.1546 - >>$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmpopt 1.1547 - sed -e "s:@l_prefix@:%{l_prefix}:g" \ 1.1548 - <`SOURCE rpmrc` \ 1.1549 - >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmrc 1.1550 + >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmpopt 1.1551 sed -e "s:@l_prefix@:%{l_prefix}:g" \ 1.1552 -e "s:@l_prefix_static@:%{l_prefix}:g" \ 1.1553 -e "s;@l_build_path@;$l_build_path;g" \ 1.1554 -e "s;@l_build_ldlp@;$l_build_ldlp;g" \ 1.1555 -e "s;@l_build_ulim@;$l_build_ulim;g" \ 1.1556 + -e "s;@l_unprivileged@;$l_unprivileged;g" \ 1.1557 -e "s:@TAG@:$tag:g" \ 1.1558 -e "s:@SUSR@:$susr:g" \ 1.1559 -e "s:@SGRP@:$sgrp:g" \ 1.1560 @@ -1410,6 +1796,9 @@ 1.1561 -e "s:@NGRP@:$ngrp:g" \ 1.1562 <`SOURCE rpmmacros` \ 1.1563 >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmmacros 1.1564 + sed -e "s:@l_prefix@:%{l_prefix}:g" \ 1.1565 + <`SOURCE rpmlua` \ 1.1566 + >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmlua 1.1567 cp `SOURCE openpkg.org.pgp` \ 1.1568 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/openpkg.org.pgp 1.1569 cp `SOURCE openpkg.com.pgp` \ 1.1570 @@ -1417,6 +1806,33 @@ 1.1571 cp `SOURCE openpkg.net.pgp` \ 1.1572 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/openpkg.net.pgp 1.1573 1.1574 + # install license data 1.1575 + test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d || \ 1.1576 + mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d 1.1577 + cp `SOURCE license-BOOT.txt` \ 1.1578 + $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/BOOT 1.1579 + cp `SOURCE license-COMMUNITY.txt` \ 1.1580 + $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/COMMUNITY 1.1581 + cp `SOURCE license-EVAL.txt` \ 1.1582 + $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/EVAL 1.1583 + cp `SOURCE license-EXAMPLE.txt` \ 1.1584 + $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/EXAMPLE 1.1585 + cp `SOURCE license-PROMO.txt` \ 1.1586 + $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/PROMO 1.1587 + cp `SOURCE license-RECOVERY.txt` \ 1.1588 + $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/RECOVERY 1.1589 + cp `SOURCE license.lua` \ 1.1590 + $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/license.lua 1.1591 + touch $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license 1.1592 + 1.1593 + # provide directories for easy overriding of RPM configuration files 1.1594 + test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmmacros.d || \ 1.1595 + mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmmacros.d 1.1596 + test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmpopt.d || \ 1.1597 + mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmpopt.d 1.1598 + test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmlua.d || \ 1.1599 + mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmlua.d 1.1600 + 1.1601 # display verbosity header 1.1602 set +x; VERBOSE "INSTALL: Done. Thank you for flying OpenPKG..."; set -x 1.1603 1.1604 @@ -1428,6 +1844,7 @@ 1.1605 %dir %{l_prefix}/RPM 1.1606 %dir %{l_prefix}/RPM/SRC 1.1607 %dir %{l_prefix}/RPM/PKG 1.1608 + %dir %{l_prefix}/RPM/TR 1.1609 %dir %{l_prefix}/RPM/DB 1.1610 %dir %{l_prefix}/RPM/TMP 1.1611 %dir %{l_prefix}/cgi 1.1612 @@ -1440,10 +1857,23 @@ 1.1613 %dir %{l_prefix}/etc/rc.d 1.1614 %{l_prefix}/etc/rc.d/rc.openpkg 1.1615 %dir %{l_prefix}/etc/openpkg 1.1616 + %ghost %{l_prefix}/etc/openpkg/license 1.1617 + %dir %{l_prefix}/etc/openpkg/license.d 1.1618 + %{l_prefix}/etc/openpkg/license.d/BOOT 1.1619 + %{l_prefix}/etc/openpkg/license.d/COMMUNITY 1.1620 + %{l_prefix}/etc/openpkg/license.d/EVAL 1.1621 + %{l_prefix}/etc/openpkg/license.d/EXAMPLE 1.1622 + %{l_prefix}/etc/openpkg/license.d/PROMO 1.1623 + %{l_prefix}/etc/openpkg/license.d/RECOVERY 1.1624 %ghost %{l_prefix}/etc/openpkg/uuid 1.1625 + %config %{l_prefix}/etc/openpkg/release 1.1626 %config %{l_prefix}/etc/openpkg/platform 1.1627 %config %{l_prefix}/etc/openpkg/rpmmacros 1.1628 - %config %{l_prefix}/etc/openpkg/rpmrc 1.1629 + %config %{l_prefix}/etc/openpkg/rpmpopt 1.1630 + %config %{l_prefix}/etc/openpkg/rpmlua 1.1631 + %dir %{l_prefix}/etc/openpkg/rpmmacros.d 1.1632 + %dir %{l_prefix}/etc/openpkg/rpmpopt.d 1.1633 + %dir %{l_prefix}/etc/openpkg/rpmlua.d 1.1634 %ghost %{l_prefix}/etc/openpkg/register.conf 1.1635 %ghost %{l_prefix}/etc/openpkg/register.prep 1.1636 %ghost %{l_prefix}/etc/openpkg/register.tran 1.1637 @@ -1459,45 +1889,75 @@ 1.1638 %{l_prefix}/include/openpkg/rpm/beecrypt.h 1.1639 %{l_prefix}/include/openpkg/rpm/bzlib.h 1.1640 %{l_prefix}/include/openpkg/rpm/db.h 1.1641 + %{l_prefix}/include/openpkg/rpm/envvar.h 1.1642 + %{l_prefix}/include/openpkg/rpm/fs.h 1.1643 %{l_prefix}/include/openpkg/rpm/fts.h 1.1644 %{l_prefix}/include/openpkg/rpm/glob.h 1.1645 - %{l_prefix}/include/openpkg/rpm/hdrinline.h 1.1646 - %{l_prefix}/include/openpkg/rpm/header.h 1.1647 + %{l_prefix}/include/openpkg/rpm/mire.h 1.1648 %{l_prefix}/include/openpkg/rpm/misc.h 1.1649 + %{l_prefix}/include/openpkg/rpm/pkgio.h 1.1650 %{l_prefix}/include/openpkg/rpm/popt.h 1.1651 + %{l_prefix}/include/openpkg/rpm/rpm4compat.h 1.1652 %{l_prefix}/include/openpkg/rpm/rpmal.h 1.1653 + %{l_prefix}/include/openpkg/rpm/rpmbc.h 1.1654 %{l_prefix}/include/openpkg/rpm/rpmbuild.h 1.1655 + %{l_prefix}/include/openpkg/rpm/rpmcb.h 1.1656 %{l_prefix}/include/openpkg/rpm/rpmcli.h 1.1657 + %{l_prefix}/include/openpkg/rpm/rpmconstant.h 1.1658 + %{l_prefix}/include/openpkg/rpm/rpmdav.h 1.1659 %{l_prefix}/include/openpkg/rpm/rpmdb.h 1.1660 %{l_prefix}/include/openpkg/rpm/rpmds.h 1.1661 - %{l_prefix}/include/openpkg/rpm/rpmerr.h 1.1662 + %{l_prefix}/include/openpkg/rpm/rpmevr.h 1.1663 %{l_prefix}/include/openpkg/rpm/rpmfc.h 1.1664 %{l_prefix}/include/openpkg/rpm/rpmfi.h 1.1665 - %{l_prefix}/include/openpkg/rpm/rpmfile.h 1.1666 + %{l_prefix}/include/openpkg/rpm/rpmgc.h 1.1667 + %{l_prefix}/include/openpkg/rpm/rpmgi.h 1.1668 %{l_prefix}/include/openpkg/rpm/rpmhash.h 1.1669 + %{l_prefix}/include/openpkg/rpm/rpmio-stub.h 1.1670 %{l_prefix}/include/openpkg/rpm/rpmio.h 1.1671 + %{l_prefix}/include/openpkg/rpm/rpmiotypes.h 1.1672 + %{l_prefix}/include/openpkg/rpm/rpmku.h 1.1673 %{l_prefix}/include/openpkg/rpm/rpmlib.h 1.1674 %{l_prefix}/include/openpkg/rpm/rpmlog.h 1.1675 %{l_prefix}/include/openpkg/rpm/rpmmacro.h 1.1676 - %{l_prefix}/include/openpkg/rpm/rpmmessages.h 1.1677 + %{l_prefix}/include/openpkg/rpm/rpmmg.h 1.1678 + %{l_prefix}/include/openpkg/rpm/rpmns.h 1.1679 + %{l_prefix}/include/openpkg/rpm/rpmnss.h 1.1680 %{l_prefix}/include/openpkg/rpm/rpmpgp.h 1.1681 %{l_prefix}/include/openpkg/rpm/rpmps.h 1.1682 %{l_prefix}/include/openpkg/rpm/rpmspec.h 1.1683 + %{l_prefix}/include/openpkg/rpm/rpmsq.h 1.1684 + %{l_prefix}/include/openpkg/rpm/rpmssl.h 1.1685 %{l_prefix}/include/openpkg/rpm/rpmsw.h 1.1686 + %{l_prefix}/include/openpkg/rpm/rpmsx.h 1.1687 + %{l_prefix}/include/openpkg/rpm/rpmtag.h 1.1688 %{l_prefix}/include/openpkg/rpm/rpmte.h 1.1689 %{l_prefix}/include/openpkg/rpm/rpmts.h 1.1690 %{l_prefix}/include/openpkg/rpm/rpmurl.h 1.1691 - %{l_prefix}/include/openpkg/rpm/stringbuf.h 1.1692 + %{l_prefix}/include/openpkg/rpm/rpmuuid.h 1.1693 + %{l_prefix}/include/openpkg/rpm/rpmversion.h 1.1694 + %{l_prefix}/include/openpkg/rpm/rpmwf.h 1.1695 + %{l_prefix}/include/openpkg/rpm/rpmxar.h 1.1696 + %{l_prefix}/include/openpkg/rpm/rpmzlog.h 1.1697 + %{l_prefix}/include/openpkg/rpm/signature.h 1.1698 + %{l_prefix}/include/openpkg/rpm/sqlite3.h 1.1699 %{l_prefix}/include/openpkg/rpm/ugid.h 1.1700 + %{l_prefix}/include/openpkg/rpm/yarn.h 1.1701 %{l_prefix}/include/openpkg/rpm/zconf.h 1.1702 %{l_prefix}/include/openpkg/rpm/zlib.h 1.1703 %dir %{l_prefix}/info 1.1704 %dir %{l_prefix}/lib 1.1705 %dir %{l_prefix}/lib/openpkg 1.1706 %{l_prefix}/lib/openpkg/bash 1.1707 + %{l_prefix}/lib/openpkg/bsdcpio 1.1708 + %{l_prefix}/lib/openpkg/bsdtar 1.1709 %{l_prefix}/lib/openpkg/bzip2 1.1710 %{l_prefix}/lib/openpkg/curl 1.1711 - %{l_prefix}/lib/openpkg/file 1.1712 + %{l_prefix}/lib/openpkg/db_tool 1.1713 + %{l_prefix}/lib/openpkg/cmp 1.1714 + %{l_prefix}/lib/openpkg/diff 1.1715 + %{l_prefix}/lib/openpkg/diff3 1.1716 + %{l_prefix}/lib/openpkg/sdiff 1.1717 %{l_prefix}/lib/openpkg/gzip 1.1718 %{l_prefix}/lib/openpkg/librpm.a 1.1719 %{l_prefix}/lib/openpkg/librpmbeecrypt.a 1.1720 @@ -1505,46 +1965,52 @@ 1.1721 %{l_prefix}/lib/openpkg/librpmbz2.a 1.1722 %{l_prefix}/lib/openpkg/librpmdb.a 1.1723 %{l_prefix}/lib/openpkg/librpmio.a 1.1724 + %{l_prefix}/lib/openpkg/librpmmisc.a 1.1725 %{l_prefix}/lib/openpkg/librpmpopt.a 1.1726 + %{l_prefix}/lib/openpkg/librpmsqlite3.a 1.1727 %{l_prefix}/lib/openpkg/librpmz.a 1.1728 - %{l_prefix}/lib/openpkg/macros 1.1729 - %{l_prefix}/lib/openpkg/magic 1.1730 - %{l_prefix}/lib/openpkg/magic.mgc 1.1731 - %{l_prefix}/lib/openpkg/magic.mime 1.1732 - %{l_prefix}/lib/openpkg/magic.mime.mgc 1.1733 + %{l_prefix}/lib/openpkg/license.lua 1.1734 %{l_prefix}/lib/openpkg/miniperl 1.1735 + %{l_prefix}/lib/openpkg/mutex 1.1736 %{l_prefix}/lib/openpkg/openpkg 1.1737 %{l_prefix}/lib/openpkg/openssl 1.1738 %{l_prefix}/lib/openpkg/patch 1.1739 %{l_prefix}/lib/openpkg/rc 1.1740 %{l_prefix}/lib/openpkg/rpm 1.1741 - %{l_prefix}/lib/openpkg/rpmb 1.1742 - %{l_prefix}/lib/openpkg/rpmd 1.1743 + %{l_prefix}/lib/openpkg/rpm.pc 1.1744 %{l_prefix}/lib/openpkg/rpmdb 1.1745 - %{l_prefix}/lib/openpkg/rpmdb_dump 1.1746 - %{l_prefix}/lib/openpkg/rpmdb_load 1.1747 - %{l_prefix}/lib/openpkg/rpmdb_verify 1.1748 - %{l_prefix}/lib/openpkg/rpme 1.1749 - %{l_prefix}/lib/openpkg/rpmi 1.1750 - %{l_prefix}/lib/openpkg/rpmk 1.1751 + %{l_prefix}/lib/openpkg/rpmdeps 1.1752 + %{l_prefix}/lib/openpkg/lua 1.1753 + %{l_prefix}/lib/openpkg/rpmmacros 1.1754 %{l_prefix}/lib/openpkg/rpmpopt 1.1755 - %{l_prefix}/lib/openpkg/rpmq 1.1756 - %{l_prefix}/lib/openpkg/rpmt 1.1757 %{l_prefix}/lib/openpkg/rpmtool 1.1758 - %{l_prefix}/lib/openpkg/rpmu 1.1759 - %{l_prefix}/lib/openpkg/rpmv 1.1760 %{l_prefix}/lib/openpkg/shtool 1.1761 + %{l_prefix}/lib/openpkg/sqlite3 1.1762 %{l_prefix}/lib/openpkg/tar 1.1763 %{l_prefix}/lib/openpkg/uuid 1.1764 + %{l_prefix}/lib/openpkg/xz 1.1765 %dir %{l_prefix}/libexec 1.1766 %dir %{l_prefix}/libexec/openpkg 1.1767 %{l_prefix}/libexec/openpkg/build.8 1.1768 %{l_prefix}/libexec/openpkg/build.pl 1.1769 %{l_prefix}/libexec/openpkg/curl.sh 1.1770 - %{l_prefix}/libexec/openpkg/install 1.1771 + %{l_prefix}/libexec/openpkg/dev.8 1.1772 + %{l_prefix}/libexec/openpkg/dev.pl 1.1773 + %{l_prefix}/libexec/openpkg/index.8 1.1774 + %{l_prefix}/libexec/openpkg/index.pl 1.1775 + %{l_prefix}/libexec/openpkg/license 1.1776 + %{l_prefix}/libexec/openpkg/license.8 1.1777 %{l_prefix}/libexec/openpkg/lsync 1.1778 %{l_prefix}/libexec/openpkg/lsync.8 1.1779 + %{l_prefix}/libexec/openpkg/lint-fsl.pl 1.1780 + %{l_prefix}/libexec/openpkg/lint-rc.pl 1.1781 + %{l_prefix}/libexec/openpkg/lint-rpm.pl 1.1782 + %{l_prefix}/libexec/openpkg/lint-spec.pl 1.1783 + %{l_prefix}/libexec/openpkg/makeproxy.8 1.1784 + %{l_prefix}/libexec/openpkg/makeproxy.pl 1.1785 %{l_prefix}/libexec/openpkg/man 1.1786 + %{l_prefix}/libexec/openpkg/mirror.8 1.1787 + %{l_prefix}/libexec/openpkg/mirror.pl 1.1788 %{l_prefix}/libexec/openpkg/rc 1.1789 %{l_prefix}/libexec/openpkg/rc.8 1.1790 %{l_prefix}/libexec/openpkg/register 1.1791 @@ -1555,10 +2021,26 @@ 1.1792 %{l_prefix}/libexec/openpkg/rpm-config 1.1793 %{l_prefix}/libexec/openpkg/rpm-config.8 1.1794 %{l_prefix}/libexec/openpkg/rpm.8 1.1795 + %{l_prefix}/libexec/openpkg/rpmconstant 1.1796 + %{l_prefix}/libexec/openpkg/rpmconstant.8 1.1797 %{l_prefix}/libexec/openpkg/rpm2cpio 1.1798 %{l_prefix}/libexec/openpkg/rpm2cpio.8 1.1799 - %{l_prefix}/libexec/openpkg/rpmbuild 1.1800 %{l_prefix}/libexec/openpkg/rpmbuild.8 1.1801 + %{l_prefix}/libexec/openpkg/rpmcache 1.1802 + %{l_prefix}/libexec/openpkg/rpmcache.8 1.1803 + %{l_prefix}/libexec/openpkg/rpmdeps.8 1.1804 + %{l_prefix}/libexec/openpkg/rpmgraph.8 1.1805 + %{l_prefix}/libexec/openpkg/rpmgrep 1.1806 + %{l_prefix}/libexec/openpkg/rpmgrep.1 1.1807 + %{l_prefix}/libexec/openpkg/sea.8 1.1808 + %{l_prefix}/libexec/openpkg/sea.sh 1.1809 + %{l_prefix}/libexec/openpkg/search.8 1.1810 + %{l_prefix}/libexec/openpkg/search.pl 1.1811 + %{l_prefix}/libexec/openpkg/stack.8 1.1812 + %{l_prefix}/libexec/openpkg/stack.sh 1.1813 + %{l_prefix}/libexec/openpkg/shtool.sh 1.1814 + %{l_prefix}/libexec/openpkg/svs 1.1815 + %{l_prefix}/libexec/openpkg/svs.1 1.1816 %{l_prefix}/libexec/openpkg/uuid 1.1817 %{l_prefix}/libexec/openpkg/uuid.8 1.1818 %dir %{l_prefix}/man 1.1819 @@ -1638,7 +2120,7 @@ 1.1820 echo $LOGNAME` 1.1821 1.1822 # determine runtime details (for both inside and outside RPM!!) 1.1823 - # - bootstrapping: $xxx is set from aux.wrapbin.sh 1.1824 + # - bootstrapping: $xxx is set from etc.wrapbin.sh 1.1825 # - upgrading new: %{l_[smrn]{usr,grp}} is set via rpmmacros 1.1826 # - upgrading old: %{l_[smrn]{usr,grp}} is not set at all 1.1827 [ ".$susr" = . ] && susr="%{?l_susr}%{!?l_susr:root}" 1.1828 @@ -1673,6 +2155,33 @@ 1.1829 [ ".$prefix" = . ] && prefix="%{l_prefix}" 1.1830 prefix=`echo "$prefix" | sed -e 's;//*;/;g' -e 's;/$;;'` 1.1831 1.1832 + # Pre-flight check before update to make sure that the currently 1.1833 + # activated license is still valid. This is done just be friendly 1.1834 + # to people and to not too easily shoot theirself into the foot 1.1835 + # by blindly upgrading and then having to recognize that the new 1.1836 + # OpenPKG Framework is no longer covered by the old license. 1.1837 + if [ ".$1" = .2 ]; then 1.1838 + ( OPENPKG_FRAMEWORK_RELEASE="%{release}" 1.1839 + export OPENPKG_FRAMEWORK_RELEASE 1.1840 + # LATER: 1.1841 + # $prefix/bin/openpkg rpm -q openpkg >/dev/null 2>&1 || exit $? 1.1842 + # if [ $? -ne 0 ]; then 1.1843 + # NOW: 1.1844 + output="`$prefix/bin/openpkg rpm -q openpkg 2>&1 | grep 'ENVIRONMENT ANOMALY'`" 1.1845 + if [ ".$output" != . ]; then 1.1846 + id="`($prefix/bin/openpkg license active) 2>/dev/null`" 1.1847 + [ ".$id" = . ] && id="UNKNOWN" 1.1848 + ( echo "Attention, your currently active license \"$id\" does" 1.1849 + echo "not allow you to use this newer version of the OpenPKG Framework!" 1.1850 + echo "We cancel this update to prevent you from a run-time failure." 1.1851 + echo "Please first upgrade to a newer license with the command:" 1.1852 + echo " \$ $prefix/bin/openpkg license update $id <file>" 1.1853 + ) | $prefix/lib/openpkg/rpmtool msg -b -t error 1.1854 + exit 42 1.1855 + fi 1.1856 + ) || exit $? 1.1857 + fi 1.1858 + 1.1859 # register instance in presence file 1.1860 presence="/etc/openpkg" 1.1861 exists=`cat $presence 2>/dev/null | egrep "^ *${prefix} *\$"` 1.1862 @@ -1689,12 +2198,19 @@ 1.1863 eval "xuid=\"\$${class}uid\"" 1.1864 eval "xgid=\"\$${class}gid\"" 1.1865 if [ ".$xuid" = . ]; then 1.1866 - xuid=`(getent passwd "${xusr}"; \ 1.1867 - grep "^${xusr}:" /etc/passwd; \ 1.1868 - ypmatch "${xusr}" passwd; \ 1.1869 - nismatch "${xusr}" passwd; \ 1.1870 - nidump passwd . | grep "^${xusr}:") 2>/dev/null | \ 1.1871 - sed -e 'q' | awk -F: '{ print $3; }'` 1.1872 + case "$plid" in 1.1873 + Darwin/10.[1-9]* | Darwin/1[1-9].* ) 1.1874 + xuid=`dscl . -read "/users/${xusr}" UniqueID 2>/dev/null | awk '{ print $2; }'` 1.1875 + ;; 1.1876 + * ) 1.1877 + xuid=`(getent passwd "${xusr}"; \ 1.1878 + grep "^${xusr}:" /etc/passwd; \ 1.1879 + ypmatch "${xusr}" passwd; \ 1.1880 + nismatch "${xusr}" passwd; \ 1.1881 + nidump passwd . | grep "^${xusr}:") 2>/dev/null | \ 1.1882 + sed -e 'q' | awk -F: '{ print $3; }'` 1.1883 + ;; 1.1884 + esac 1.1885 if [ ".$xuid" = . ]; then 1.1886 # seek for a reasonably uid/gid pair 1.1887 xuid=1000 1.1888 @@ -1702,13 +2218,26 @@ 1.1889 while [ ".$ok" = .0 ]; do 1.1890 eval "u_exists=\$u_exists_$xuid" 1.1891 if [ ".$u_exists" = . ]; then 1.1892 - u_exists=`(getent passwd; cat /etc/passwd; ypcat passwd; niscat passwd; nidump passwd .) 2>/dev/null |\ 1.1893 - grep "^[^:]*:[^:]*:$xuid:"` 1.1894 + case "$plid" in 1.1895 + Darwin/10.[1-9]* | Darwin/1[1-9].* ) 1.1896 + u_exists=`dscl . -search /users UniqueID "$xuid" 2>/dev/null` 1.1897 + ;; 1.1898 + * ) 1.1899 + u_exists=`(getent passwd; cat /etc/passwd; ypcat passwd; niscat passwd; nidump passwd .) 2>/dev/null |\ 1.1900 + grep "^[^:]*:[^:]*:$xuid:"` 1.1901 + ;; 1.1902 + esac 1.1903 fi 1.1904 eval "g_exists=\$g_exists_$xuid" 1.1905 if [ ".$g_exists" = . ]; then 1.1906 - g_exists=`(getent group; cat /etc/group; ypcat group; niscat group; nidump group .) 2>/dev/null |\ 1.1907 - grep "^[^:]*:[^:]*:$xuid:"` 1.1908 + case "$plid" in 1.1909 + Darwin/10.[1-9]* | Darwin/1[1-9].* ) 1.1910 + g_exists=`dscl . -search /groups PrimaryGroupID "$xuid" 2>/dev/null` 1.1911 + ;; 1.1912 + * ) 1.1913 + g_exists=`(getent group; cat /etc/group; ypcat group; niscat group; nidump group .) 2>/dev/null |\ 1.1914 + grep "^[^:]*:[^:]*:$xuid:"` 1.1915 + esac 1.1916 fi 1.1917 if [ ".$u_exists" = . -a ".$g_exists" = . ]; then 1.1918 ok=1 1.1919 @@ -1725,7 +2254,8 @@ 1.1920 grep "^${xgrp}:" /etc/group; \ 1.1921 ypmatch "${xgrp}" group; \ 1.1922 nismatch "${xgrp}" group; \ 1.1923 - nidump group . | grep "^${xgrp}:") 2>/dev/null | \ 1.1924 + nidump group . | grep "^${xgrp}:"; \ 1.1925 + dscl . -read "/groups/${xgrp}" | grep RecordName) 2>/dev/null | \ 1.1926 sed -e 'q' | awk -F: '{ print $3; }'` 1.1927 if [ ".$xgid" = . ]; then 1.1928 xgid="$xuid" 1.1929 @@ -1771,7 +2301,8 @@ 1.1930 grep "^$usr:" /etc/passwd; \ 1.1931 ypmatch "$usr" passwd; \ 1.1932 nismatch "$usr" passwd; \ 1.1933 - nidump passwd . | grep "^$usr:") 2>/dev/null | \ 1.1934 + nidump passwd . | grep "^$usr:"; \ 1.1935 + dscl . -read "/users/$usr" | grep RecordName) 2>/dev/null | \ 1.1936 sed -e 'q'` 1.1937 if [ ".$exists" = . ]; then 1.1938 if [ ".$cusr" != ".root" ]; then 1.1939 @@ -1822,8 +2353,22 @@ 1.1940 else update=":" 1.1941 fi 1.1942 ;; 1.1943 + CYGWIN*/* ) 1.1944 + file=/etc/passwd 1.1945 + entry="${usr}:*:${uid}:${gid}:${realname}:${prefix}:${shell}" 1.1946 + update=":" 1.1947 + ;; 1.1948 esac 1.1949 case "$plid" in 1.1950 + Darwin/10.[1-9]* | Darwin/1[1-9].* ) 1.1951 + dscl . -create "/users/${usr}" 1.1952 + dscl . -create "/users/${usr}" Password "*" 1.1953 + dscl . -create "/users/${usr}" UniqueID "${uid}" 1.1954 + dscl . -create "/users/${usr}" PrimaryGroupID "${gid}" 1.1955 + dscl . -create "/users/${usr}" RealName "${realname}" 1.1956 + dscl . -create "/users/${usr}" NFSHomeDirectory "${prefix}" 1.1957 + dscl . -create "/users/${usr}" UserShell "${shell}" 1.1958 + ;; 1.1959 Darwin/* ) 1.1960 niutil -create . "/users/${usr}" 1.1961 niutil -createprop . "/users/${usr}" passwd "*" 1.1962 @@ -1860,7 +2405,8 @@ 1.1963 grep "^$grp:" /etc/group; \ 1.1964 ypmatch "$grp" group; \ 1.1965 nismatch "$grp" group; \ 1.1966 - nidump group . | grep "^$grp:") 2>/dev/null | \ 1.1967 + nidump group . | grep "^$grp:"; \ 1.1968 + dscl . -read "/groups/$grp" | grep RecordName) 2>/dev/null | \ 1.1969 sed -e 'q'` 1.1970 if [ ".$exists" = . ]; then 1.1971 if [ ".$cusr" != ".root" ]; then 1.1972 @@ -1868,6 +2414,12 @@ 1.1973 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 1.1974 else 1.1975 case "$plid" in 1.1976 + Darwin/10.[1-9]* | Darwin/1[1-9].* ) 1.1977 + dscl . -create "/groups/${grp}" 1.1978 + dscl . -create "/groups/${grp}" Password "*" 1.1979 + dscl . -create "/groups/${grp}" PrimaryGroupID "${gid}" 1.1980 + dscl . -create "/groups/${grp}" GroupMembership "${usr}" 1.1981 + ;; 1.1982 Darwin/* ) 1.1983 niutil -create . "/groups/${grp}" 1.1984 niutil -createprop . "/groups/${grp}" gid "${gid}" 1.1985 @@ -1899,26 +2451,30 @@ 1.1986 # ensure chown/chgrp works immediately after pwconv on Linux and Solaris 1.1987 if [ -x /usr/sbin/nscd ]; then 1.1988 /usr/sbin/nscd -i passwd >/dev/null 2>&1 || true 1.1989 - /usr/sbin/nscd -i group >/dev/null 2>&1 || true 1.1990 + /usr/sbin/nscd -i group >/dev/null 2>&1 || true 1.1991 fi 1.1992 1.1993 # create the startup/shutdown transfer script 1.1994 - name=`echo "$prefix" | sed -e 's;/;;g'` 1.1995 + name_old="`echo "$prefix" | sed -e 's;/;;g'`" 1.1996 + name="openpkg-`echo "$prefix" | sed -e 's;[^a-zA-Z0-9];;g'`" 1.1997 if [ ".$cusr" != ".root" ]; then 1.1998 echo "openpkg:WARNING: skipping creation of system run-command hooks" 1>&2 1.1999 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 1.2000 else 1.2001 case "$plid" in 1.2002 FreeBSD/* ) 1.2003 - if [ ! -f /etc/rc.d/openpkg-${name} ]; then 1.2004 + if [ -f /etc/rc.d/${name_old} ]; then 1.2005 + rm -f /etc/rc.d/${name_old} 1.2006 + fi 1.2007 + if [ ! -f /etc/rc.d/${name} ]; then 1.2008 # install transfer script 1.2009 - rm -f /etc/rc.d/openpkg-${name} >/dev/null 2>&1 1.2010 + rm -f /etc/rc.d/${name} >/dev/null 2>&1 1.2011 ( echo "#!/bin/sh" 1.2012 echo "##" 1.2013 - echo "## openpkg-${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2014 + echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2015 echo "##" 1.2016 echo "" 1.2017 - echo "# PROVIDE: openpkg-${name}" 1.2018 + echo "# PROVIDE: ${name}" 1.2019 echo "# REQUIRE: LOGIN" 1.2020 echo "# KEYWORD: shutdown" 1.2021 echo "" 1.2022 @@ -1930,19 +2486,22 @@ 1.2023 echo "restart_cmd=\"openpkg_rc_all stop start\"" 1.2024 echo "" 1.2025 echo "openpkg_rc_all () {" 1.2026 - echo " if [ -f ${prefix}/etc/rc ]; then" 1.2027 - echo " ${prefix}/etc/rc all \"\$@\"" 1.2028 + echo " if [ -f ${prefix}/bin/openpkg ]; then" 1.2029 + echo " ${prefix}/bin/openpkg rc all \"\$@\"" 1.2030 echo " fi" 1.2031 echo "}" 1.2032 echo "" 1.2033 echo "load_rc_config \$name" 1.2034 echo "run_rc_command \"\$1\"" 1.2035 echo "" 1.2036 - ) >/etc/rc.d/openpkg-${name} 1.2037 - chmod 755 /etc/rc.d/openpkg-${name} 1.2038 + ) >/etc/rc.d/${name} 1.2039 + chmod 755 /etc/rc.d/${name} 1.2040 fi 1.2041 ;; 1.2042 NetBSD/* ) 1.2043 + if [ -f /etc/rc.d/${name_old} ]; then 1.2044 + rm -f /etc/rc.d/${name_old} 1.2045 + fi 1.2046 if [ ! -f /etc/rc.d/${name} ]; then 1.2047 ( echo "#!/bin/sh" 1.2048 echo "##" 1.2049 @@ -1952,11 +2511,11 @@ 1.2050 echo "## REQUIRE: DAEMON LOGIN NETWORK SERVERS" 1.2051 echo "##" 1.2052 echo "" 1.2053 - echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 1.2054 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2055 echo "case \$1 in" 1.2056 - echo " start ) exec ${prefix}/etc/rc all start ;;" 1.2057 - echo " stop ) exec ${prefix}/etc/rc all stop ;;" 1.2058 - echo " restart ) exec ${prefix}/etc/rc all stop start ;;" 1.2059 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2060 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2061 + echo " restart ) exec ${prefix}/bin/openpkg rc all stop start ;;" 1.2062 echo " status ) ;;" 1.2063 echo "esac" 1.2064 ) >/etc/rc.d/${name} 1.2065 @@ -1965,11 +2524,14 @@ 1.2066 ;; 1.2067 Linux/* ) 1.2068 if [ -f /etc/gentoo-release ]; then 1.2069 - if [ ! -f /etc/init.d/openpkg-${name} ]; then 1.2070 + if [ -f /etc/init.d/${name_old} ]; then 1.2071 + rm -f /etc/init.d/${name_old} 1.2072 + fi 1.2073 + if [ ! -f /etc/init.d/${name} ]; then 1.2074 # install transfer script 1.2075 ( echo "#!/sbin/runscript" 1.2076 echo "##" 1.2077 - echo "## openpkg-${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2078 + echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2079 echo "##" 1.2080 echo "" 1.2081 echo "depend() {" 1.2082 @@ -1977,48 +2539,71 @@ 1.2083 echo "}" 1.2084 echo "" 1.2085 echo "checkconfig() {" 1.2086 - echo " [ -f ${prefix}/etc/rc ] || return 1" 1.2087 + echo " [ -f ${prefix}/bin/openpkg ] || return 1" 1.2088 echo " case $1 in" 1.2089 - echo " start ) exec ${prefix}/etc/rc all start ;;" 1.2090 - echo " stop ) exec ${prefix}/etc/rc all stop ;;" 1.2091 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2092 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2093 echo " esac" 1.2094 echo "}" 1.2095 echo "" 1.2096 echo "start() {" 1.2097 echo " checkconfig || return 1" 1.2098 echo " ebegin "Starting OpenPKG ${prefix} hierarchy"" 1.2099 - echo " exec ${prefix}/etc/rc all start" 1.2100 + echo " exec ${prefix}/bin/openpkg rc all start" 1.2101 echo " eend 0" 1.2102 echo "}" 1.2103 echo "" 1.2104 echo "stop() {" 1.2105 echo " checkconfig || return 1" 1.2106 echo " ebegin "Stopping OpenPKG ${prefix} hierarchy"" 1.2107 - echo " exec ${prefix}/etc/rc all stop" 1.2108 + echo " exec ${prefix}/bin/openpkg rc all stop" 1.2109 echo " eend 0" 1.2110 echo "}" 1.2111 - ) >/etc/init.d/openpkg-${name} 1.2112 - chmod 755 /etc/init.d/openpkg-${name} 1.2113 - /sbin/rc-update add openpkg-${name} default 1.2114 + ) >/etc/init.d/${name} 1.2115 + chmod 755 /etc/init.d/${name} 1.2116 + /sbin/rc-update add ${name} default 1.2117 + fi 1.2118 + elif [ -f /etc/redhat-release ]; then 1.2119 + sroot=/etc/rc.d/init.d 1.2120 + if [ ! -f $sroot/${name} ]; then 1.2121 + # install transfer script 1.2122 + ( echo "#!/bin/sh" 1.2123 + echo "##" 1.2124 + echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2125 + echo "##" 1.2126 + echo "" 1.2127 + echo "# chkconfig: 2345 99 00" 1.2128 + echo "# description: OpenPKG ${prefix}" 1.2129 + echo "" 1.2130 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2131 + echo "case \$1 in" 1.2132 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2133 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2134 + echo "esac" 1.2135 + ) >$sroot/${name} 1.2136 + chmod 755 $sroot/${name} 1.2137 + # activate script 1.2138 + /sbin/chkconfig --add ${name} 1.2139 + /sbin/chkconfig ${name} on 1.2140 fi 1.2141 else 1.2142 # sroot: script root directory 1.2143 # lroot: link root directory 1.2144 if [ -f /etc/debian_version ]; then 1.2145 sroot=/etc/init.d 1.2146 - lroot=/etc/rc%d.d 1.2147 - elif [ -f /etc/redhat-release -o -f /etc/mandrake-release ]; then 1.2148 + lroot=/etc/rc%%d.d 1.2149 + elif [ -f /etc/mandrake-release ]; then 1.2150 sroot=/etc/rc.d/init.d 1.2151 - lroot=/etc/rc.d/rc%d.d 1.2152 + lroot=/etc/rc.d/rc%%d.d 1.2153 elif [ -f /etc/SuSE-release ]; then 1.2154 sroot=/etc/init.d 1.2155 - lroot=/etc/init.d/rc%d.d 1.2156 + lroot=/etc/init.d/rc%%d.d 1.2157 elif [ -f /etc/slackware-version ]; then 1.2158 sroot=/etc/rc.d 1.2159 - lroot=/etc/rc.d/rc%d.d 1.2160 + lroot=/etc/rc.d/rc%%d.d 1.2161 name="rc.${name}" 1.2162 for i in 0 1 2 3 4 5 6; do 1.2163 - l=`echo $lroot | sed -e "s;%d;$i;"` 1.2164 + l=`echo $lroot | sed -e "s;%%d;$i;"` 1.2165 if [ ! -d $l ]; then 1.2166 mkdir $l 2>&1 || true 1.2167 fi 1.2168 @@ -2037,7 +2622,7 @@ 1.2169 done 1.2170 for lr in /etc/rc.d/rc2.d /etc/rc2.d /sbin/init.d/rc2.d; do 1.2171 if [ -d $lr ]; then 1.2172 - lroot="`echo $lr | sed -e 's;2;%d;'`" 1.2173 + lroot="`echo $lr | sed -e 's;2;%%d;'`" 1.2174 break 1.2175 fi 1.2176 done 1.2177 @@ -2046,6 +2631,9 @@ 1.2178 exit 1 1.2179 fi 1.2180 fi 1.2181 + if [ -f $sroot/${name_old} ]; then 1.2182 + rm -f $sroot/${name_old} 1.2183 + fi 1.2184 if [ ! -f $sroot/${name} ]; then 1.2185 # install transfer script 1.2186 ( echo "#!/bin/sh" 1.2187 @@ -2053,115 +2641,27 @@ 1.2188 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2189 echo "##" 1.2190 echo "" 1.2191 - echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 1.2192 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2193 echo "case \$1 in" 1.2194 - echo " start ) exec ${prefix}/etc/rc all start ;;" 1.2195 - echo " stop ) exec ${prefix}/etc/rc all stop ;;" 1.2196 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2197 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2198 echo "esac" 1.2199 ) >$sroot/${name} 1.2200 chmod 755 $sroot/${name} 1.2201 # create corresponding symbolic links 1.2202 for i in 2 3 4 5; do 1.2203 - ln -s $sroot/${name} `echo $lroot | sed -e "s;%d;$i;"`/S99${name} 1.2204 + ln -s $sroot/${name} `echo $lroot | sed -e "s;%%d;$i;"`/S99${name} 1.2205 done 1.2206 for i in 0 1 6; do 1.2207 - ln -s $sroot/${name} `echo $lroot | sed -e "s;%d;$i;"`/K00${name} 1.2208 + ln -s $sroot/${name} `echo $lroot | sed -e "s;%%d;$i;"`/K00${name} 1.2209 done 1.2210 fi 1.2211 fi 1.2212 ;; 1.2213 - SunOS/5.1* ) 1.2214 - if [ ! -d /var/svc/manifest/openpkg ]; then 1.2215 - mkdir /var/svc/manifest/openpkg 1.2216 + SunOS/5.* ) 1.2217 + if [ -f /etc/init.d/${name_old} ]; then 1.2218 + rm -f /etc/init.d/${name_old} 1.2219 fi 1.2220 - if [ ! -f /var/svc/manifest/openpkg/${name}.xml ]; then 1.2221 - # install SMF manifest 1.2222 - ( echo "<?xml version=\"1.0\"?>" 1.2223 - echo "<!DOCTYPE service_bundle SYSTEM \"/usr/share/lib/xml/dtd/service_bundle.dtd.1\">" 1.2224 - echo "<service_bundle type='manifest' name='OpenPKG:${name}'>" 1.2225 - echo " <service" 1.2226 - echo " name='openpkg/${name}'" 1.2227 - echo " type='service'" 1.2228 - echo " version='1'>" 1.2229 - echo " <single_instance />" 1.2230 - echo " <dependency" 1.2231 - echo " name='filesystem'" 1.2232 - echo " type='service'" 1.2233 - echo " grouping='require_all'" 1.2234 - echo " restart_on='none'>" 1.2235 - echo " <service_fmri value='svc:/system/filesystem/local' />" 1.2236 - echo " </dependency>" 1.2237 - echo " <dependency" 1.2238 - echo " name='name-services'" 1.2239 - echo " type='service'" 1.2240 - echo " grouping='require_all'" 1.2241 - echo " restart_on='none'>" 1.2242 - echo " <service_fmri value='svc:/milestone/name-services' />" 1.2243 - echo " </dependency>" 1.2244 - echo " <dependency" 1.2245 - echo " name='multi-user-server'" 1.2246 - echo " type='service'" 1.2247 - echo " grouping='require_all'" 1.2248 - echo " restart_on='none'>" 1.2249 - echo " <service_fmri value='svc:/milestone/multi-user-server' />" 1.2250 - echo " </dependency>" 1.2251 - echo " <dependency" 1.2252 - echo " name='network'" 1.2253 - echo " type='service'" 1.2254 - echo " grouping='require_all'" 1.2255 - echo " restart_on='none'>" 1.2256 - echo " <service_fmri value='svc:/milestone/network' />" 1.2257 - echo " </dependency>" 1.2258 - echo " <exec_method" 1.2259 - echo " type='method'" 1.2260 - echo " name='start'" 1.2261 - echo " exec='${prefix}/etc/rc all start'" 1.2262 - echo " timeout_seconds='180'>" 1.2263 - echo " <method_context>" 1.2264 - echo " <method_credential user='root' group='root' />" 1.2265 - echo " </method_context>" 1.2266 - echo " </exec_method>" 1.2267 - echo " <exec_method" 1.2268 - echo " type='method'" 1.2269 - echo " name='stop'" 1.2270 - echo " exec='${prefix}/etc/rc all stop'" 1.2271 - echo " timeout_seconds='180'>" 1.2272 - echo " </exec_method>" 1.2273 - echo " <property_group name='startd' type='framework'>" 1.2274 - echo " <propval" 1.2275 - echo " name='ignore_error'" 1.2276 - echo " type='astring'" 1.2277 - echo " value='core,signal' />" 1.2278 - echo " </property_group>" 1.2279 - echo " <property_group name='startd' type='framework'>" 1.2280 - echo " <propval" 1.2281 - echo " name='duration'" 1.2282 - echo " type='astring'" 1.2283 - echo " value='transient' />" 1.2284 - echo " </property_group>" 1.2285 - echo " <property_group name='general' type='framework'>" 1.2286 - echo " <propval" 1.2287 - echo " name='action_authorization'" 1.2288 - echo " type='astring'" 1.2289 - echo " value='solaris.smf.manage.openpkg.${name}' />" 1.2290 - echo " </property_group>" 1.2291 - echo " <instance name='default' enabled='false' />" 1.2292 - echo " <stability value='Unstable' />" 1.2293 - echo " <template>" 1.2294 - echo " <common_name>" 1.2295 - echo " <loctext xml:lang='C'>OpenPKG Instance ${prefix}</loctext>" 1.2296 - echo " </common_name>" 1.2297 - echo " </template>" 1.2298 - echo " </service>" 1.2299 - echo "</service_bundle>" 1.2300 - ) >/var/svc/manifest/openpkg/${name}.xml 1.2301 - chmod 644 /var/svc/manifest/openpkg/${name}.xml 1.2302 - /usr/sbin/svccfg import /var/svc/manifest/openpkg/${name}.xml 1.2303 - ( echo "/usr/sbin/svcadm enable \"svc:/openpkg/${name}:default\"" 1.2304 - ) >%{l_prefix}.pre-post-process.sh 1.2305 - fi 1.2306 - ;; 1.2307 - SunOS/5.* ) 1.2308 if [ ! -f /etc/init.d/${name} ]; then 1.2309 # install transfer script 1.2310 ( echo "#!/bin/sh" 1.2311 @@ -2169,10 +2669,10 @@ 1.2312 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2313 echo "##" 1.2314 echo "" 1.2315 - echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 1.2316 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2317 echo "case \$1 in" 1.2318 - echo " start ) exec ${prefix}/etc/rc all start ;;" 1.2319 - echo " stop ) exec ${prefix}/etc/rc all stop ;;" 1.2320 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2321 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2322 echo "esac" 1.2323 ) >/etc/init.d/${name} 1.2324 chmod 755 /etc/init.d/${name} 1.2325 @@ -2185,6 +2685,9 @@ 1.2326 fi 1.2327 ;; 1.2328 UnixWare/* ) 1.2329 + if [ -f /etc/init.d/${name_old} ]; then 1.2330 + rm -f /etc/init.d/${name_old} 1.2331 + fi 1.2332 if [ ! -f /etc/init.d/${name} ]; then 1.2333 # install transfer script 1.2334 ( echo "#!/bin/sh" 1.2335 @@ -2192,10 +2695,10 @@ 1.2336 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2337 echo "##" 1.2338 echo "" 1.2339 - echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 1.2340 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2341 echo "case \$1 in" 1.2342 - echo " start ) exec ${prefix}/etc/rc all start ;;" 1.2343 - echo " stop ) exec ${prefix}/etc/rc all stop ;;" 1.2344 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2345 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2346 echo "esac" 1.2347 ) >/etc/init.d/${name} 1.2348 chmod 755 /etc/init.d/${name} 1.2349 @@ -2208,6 +2711,9 @@ 1.2350 fi 1.2351 ;; 1.2352 AIX/* ) 1.2353 + if [ -f /etc/rc.d/init.d/${name_old} ]; then 1.2354 + rm -f /etc/rc.d/init.d/${name_old} 1.2355 + fi 1.2356 if [ ! -f /etc/rc.d/init.d/${name} ]; then 1.2357 # install transfer script 1.2358 ( echo "#!/bin/sh" 1.2359 @@ -2215,10 +2721,10 @@ 1.2360 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2361 echo "##" 1.2362 echo "" 1.2363 - echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 1.2364 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2365 echo "case \$1 in" 1.2366 - echo " start ) exec ${prefix}/etc/rc all start ;;" 1.2367 - echo " stop ) exec ${prefix}/etc/rc all stop ;;" 1.2368 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2369 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2370 echo "esac" 1.2371 ) >/etc/rc.d/init.d/${name} 1.2372 chmod 755 /etc/rc.d/init.d/${name} 1.2373 @@ -2229,6 +2735,9 @@ 1.2374 fi 1.2375 ;; 1.2376 OSF1/V5.* ) 1.2377 + if [ -f /sbin/init.d/${name_old} ]; then 1.2378 + rm -f /sbin/init.d/${name_old} 1.2379 + fi 1.2380 if [ ! -f /sbin/init.d/${name} ]; then 1.2381 # install transfer script 1.2382 ( echo "#!/bin/sh" 1.2383 @@ -2236,10 +2745,10 @@ 1.2384 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2385 echo "##" 1.2386 echo "" 1.2387 - echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 1.2388 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2389 echo "case \$1 in" 1.2390 - echo " start ) exec ${prefix}/etc/rc all start ;;" 1.2391 - echo " stop ) exec ${prefix}/etc/rc all stop ;;" 1.2392 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2393 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2394 echo "esac" 1.2395 ) >/sbin/init.d/${name} 1.2396 chmod 755 /sbin/init.d/${name} 1.2397 @@ -2251,6 +2760,9 @@ 1.2398 fi 1.2399 ;; 1.2400 HP-UX/* ) 1.2401 + if [ -f /sbin/init.d/${name_old} ]; then 1.2402 + rm -f /sbin/init.d/${name_old} 1.2403 + fi 1.2404 if [ ! -f /sbin/init.d/${name} ]; then 1.2405 # install transfer script 1.2406 ( echo "#!/bin/sh" 1.2407 @@ -2258,10 +2770,10 @@ 1.2408 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2409 echo "##" 1.2410 echo "" 1.2411 - echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 1.2412 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2413 echo "case \$1 in" 1.2414 - echo " start ) exec ${prefix}/etc/rc all start ;;" 1.2415 - echo " stop ) exec ${prefix}/etc/rc all stop ;;" 1.2416 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2417 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2418 echo "esac" 1.2419 ) >/sbin/init.d/${name} 1.2420 chmod 755 /sbin/init.d/${name} 1.2421 @@ -2273,14 +2785,18 @@ 1.2422 fi 1.2423 ;; 1.2424 Darwin/* ) 1.2425 - darwin_rc_dir="/System/Library/StartupItems/${name}" 1.2426 + if [ -d /Library/StartupItems/${name_old} ]; then 1.2427 + rm -rf /Library/StartupItems/${name_old} 1.2428 + fi 1.2429 + darwin_rc_dir="/Library/StartupItems/${name}" 1.2430 if [ ! -d ${darwin_rc_dir} ]; then 1.2431 - mkdir ${darwin_rc_dir} 1.2432 + mkdir -p ${darwin_rc_dir} 1.2433 fi 1.2434 1.2435 # make sure hierarchy is activated in /etc/hostconfig 1.2436 # FIXME: cs: simple and bad code here without any detection of existing entries 1.2437 - echo "OPENPKG_${name}=-YES-" >>/etc/hostconfig 1.2438 + darwin_rc_var="`echo ${name} | sed -e 's;-;_;g' | tr '[a-z]' '[A-Z]'`" 1.2439 + echo "${darwin_rc_var}=-YES-" >>/etc/hostconfig 1.2440 1.2441 # install transfer script 1.2442 if [ ! -f ${darwin_rc_dir}/${name} ]; then 1.2443 @@ -2288,20 +2804,21 @@ 1.2444 ( echo "#!/bin/sh" 1.2445 echo "##" 1.2446 echo "## ${darwin_rc_dir}/${name}" 1.2447 - echo "## -- startup transfer script for OpenPKG ${prefix} hierarchy" 1.2448 + echo "## -- startup transfer script for OpenPKG ${prefix} hierarchy" 1.2449 echo "##" 1.2450 echo "" 1.2451 - echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 1.2452 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2453 echo "" 1.2454 echo ". /etc/rc.common" 1.2455 echo "" 1.2456 - echo "if [ \"\${OPENPKG_${name}:=-NO-}\" = \"-YES-\" ]; then" 1.2457 + echo "if [ \"\${${darwin_rc_var}:=-NO-}\" = \"-YES-\" ]; then" 1.2458 echo " ConsoleMessage \"OpenPKG ${prefix} hierarchy\"" 1.2459 - echo " ${prefix}/etc/rc all start" 1.2460 + echo " ${prefix}/bin/openpkg rc all start" 1.2461 echo "fi" 1.2462 ) >${darwin_rc_dir}/${name} 1.2463 chmod 755 ${darwin_rc_dir}/${name} 1.2464 fi 1.2465 + 1.2466 # install startup parameter list 1.2467 if [ ! -f ${darwin_rc_dir}/StartupParameters.plist ]; then 1.2468 rm -f ${darwin_rc_dir}/StartupParameters.plist >/dev/null 2>&1 1.2469 @@ -2322,6 +2839,9 @@ 1.2470 fi 1.2471 ;; 1.2472 IRIX*/6.* ) 1.2473 + if [ -f /etc/init.d/${name_old} ]; then 1.2474 + rm -f /etc/init.d/${name_old} 1.2475 + fi 1.2476 if [ ! -f /etc/init.d/${name} ]; then 1.2477 # install transfer script 1.2478 ( echo "#!/bin/sh" 1.2479 @@ -2329,10 +2849,10 @@ 1.2480 echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2481 echo "##" 1.2482 echo "" 1.2483 - echo "[ ! -f ${prefix}/etc/rc ] && exit 0" 1.2484 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2485 echo "case \$1 in" 1.2486 - echo " start ) exec ${prefix}/etc/rc all start ;;" 1.2487 - echo " stop ) exec ${prefix}/etc/rc all stop ;;" 1.2488 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2489 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2490 echo "esac" 1.2491 ) >/etc/init.d/${name} 1.2492 chmod 755 /etc/init.d/${name} 1.2493 @@ -2343,6 +2863,33 @@ 1.2494 ) || exit $? 1.2495 fi 1.2496 ;; 1.2497 + CYGWIN*/* ) 1.2498 + if [ -f /etc/rc.d/init.d/${name_old} ]; then 1.2499 + rm -f /etc/rc.d/init.d/${name_old} 1.2500 + fi 1.2501 + if [ ! -f /etc/rc.d/init.d/${name} ]; then 1.2502 + # install transfer script 1.2503 + ( echo "#!/bin/sh" 1.2504 + echo "##" 1.2505 + echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy" 1.2506 + echo "##" 1.2507 + echo "" 1.2508 + echo "test -f /etc/rc.d/init.d/functions && . /etc/rc.d/init.d/functions" 1.2509 + echo "test -f /etc/sysconfig/network && . /etc/sysconfig/network" 1.2510 + echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0" 1.2511 + echo "case \$1 in" 1.2512 + echo " start ) exec ${prefix}/bin/openpkg rc all start ;;" 1.2513 + echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;" 1.2514 + echo "esac" 1.2515 + ) >/etc/rc.d/init.d/${name} 1.2516 + chmod 755 /etc/rc.d/init.d/${name} 1.2517 + # create corresponding symbolic links 1.2518 + ( cd /etc/rc.d 1.2519 + ln -s ../init.d/${name} rc2.d/S90${name} 1.2520 + ln -s ../init.d/${name} rc1.d/K10${name} 1.2521 + ) || exit $? 1.2522 + fi 1.2523 + ;; 1.2524 esac 1.2525 fi 1.2526 1.2527 @@ -2352,9 +2899,9 @@ 1.2528 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 1.2529 else 1.2530 case "$plid" in 1.2531 - FreeBSD/* | Linux/* | Darwin/* ) 1.2532 + FreeBSD/* | Linux/* ) 1.2533 if [ -f /etc/slackware-version ]; then 1.2534 - exists=`crontab -l | grep "$prefix/etc/rc"` 1.2535 + exists=`crontab -l | egrep "($prefix/bin/openpkg|$prefix/etc/rc)"` 1.2536 if [ ".$exists" = . ]; then 1.2537 EDITOR=/tmp/vipw.$$ 1.2538 VISUAL="$EDITOR" 1.2539 @@ -2363,11 +2910,11 @@ 1.2540 ( echo "#!/bin/sh" 1.2541 echo "( echo \"# <OpenPKG prefix=$prefix pkg=openpkg>\"" 1.2542 echo " echo \"# chronological tasks of ${prefix} OpenPKG hierarchy\"" 1.2543 - echo " echo \"0 0 1 * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly\"" 1.2544 - echo " echo \"0 0 * * 0 [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly\"" 1.2545 - echo " echo \"0 0 * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily\"" 1.2546 - echo " echo \"0 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly\"" 1.2547 - echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly\"" 1.2548 + echo " echo \"0 0 1 * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly\"" 1.2549 + echo " echo \"0 0 * * 0 [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly\"" 1.2550 + echo " echo \"0 0 * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily\"" 1.2551 + echo " echo \"0 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly\"" 1.2552 + echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly\"" 1.2553 echo " echo \"# </OpenPKG>\"" 1.2554 echo ") >>\$1" 1.2555 ) >$EDITOR 1.2556 @@ -2376,22 +2923,22 @@ 1.2557 rm -f $EDITOR 1.2558 fi 1.2559 else 1.2560 - exists=`grep "$prefix/etc/rc" /etc/crontab` 1.2561 + exists=`egrep "($prefix/bin/openpkg|$prefix/etc/rc)" /etc/crontab` 1.2562 if [ ".$exists" = . ]; then 1.2563 ( echo "# <OpenPKG prefix=$prefix pkg=openpkg>" 1.2564 echo "# chronological tasks of ${prefix} OpenPKG hierarchy" 1.2565 - echo "0 0 1 * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly" 1.2566 - echo "0 0 * * 0 root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly" 1.2567 - echo "0 0 * * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily" 1.2568 - echo "0 * * * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly" 1.2569 - echo "*/15 * * * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly" 1.2570 + echo "0 0 1 * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly" 1.2571 + echo "0 0 * * 0 root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly" 1.2572 + echo "0 0 * * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily" 1.2573 + echo "0 * * * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly" 1.2574 + echo "*/15 * * * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly" 1.2575 echo "# </OpenPKG>" 1.2576 ) >>/etc/crontab 1.2577 fi 1.2578 fi 1.2579 ;; 1.2580 - SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* ) 1.2581 - exists=`crontab -l | grep "$prefix/etc/rc"` 1.2582 + SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* | CYGWIN*/* | Darwin/* ) 1.2583 + exists=`crontab -l | egrep "($prefix/bin/openpkg|$prefix/etc/rc)"` 1.2584 if [ ".$exists" = . ]; then 1.2585 EDITOR=/tmp/vipw.$$ 1.2586 VISUAL="$EDITOR" 1.2587 @@ -2400,11 +2947,11 @@ 1.2588 ( echo "#!/bin/sh" 1.2589 echo "( echo \"# <OpenPKG prefix=$prefix pkg=openpkg>\"" 1.2590 echo " echo \"# chronological tasks of ${prefix} OpenPKG hierarchy\"" 1.2591 - echo " echo \"0 0 1 * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly\"" 1.2592 - echo " echo \"0 0 * * 0 [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly\"" 1.2593 - echo " echo \"0 0 * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily\"" 1.2594 - echo " echo \"0 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly\"" 1.2595 - echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly\"" 1.2596 + echo " echo \"0 0 1 * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly\"" 1.2597 + echo " echo \"0 0 * * 0 [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly\"" 1.2598 + echo " echo \"0 0 * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily\"" 1.2599 + echo " echo \"0 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly\"" 1.2600 + echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly\"" 1.2601 echo " echo \"# </OpenPKG>\"" 1.2602 echo ") >>\$1" 1.2603 ) >$EDITOR 1.2604 @@ -2414,16 +2961,16 @@ 1.2605 fi 1.2606 ;; 1.2607 IRIX*/6.* ) 1.2608 - exists=`crontab -l | grep "$prefix/etc/rc"` 1.2609 + exists=`crontab -l | egrep "($prefix/bin/openpkg|$prefix/etc/rc)"` 1.2610 if [ ".$exists" = . ]; then 1.2611 ( crontab -l 1.2612 echo "# <OpenPKG prefix=$prefix pkg=openpkg>" 1.2613 echo "# chronological tasks of ${prefix} OpenPKG hierarchy" 1.2614 - echo "0 0 1 * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly" 1.2615 - echo "0 0 * * 0 [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly" 1.2616 - echo "0 0 * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily" 1.2617 - echo "0 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly" 1.2618 - echo "0,15,30,45 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly" 1.2619 + echo "0 0 1 * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly" 1.2620 + echo "0 0 * * 0 [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly" 1.2621 + echo "0 0 * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily" 1.2622 + echo "0 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly" 1.2623 + echo "0,15,30,45 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly" 1.2624 echo "# </OpenPKG>" 1.2625 ) | /usr/bin/crontab || exit $? 1.2626 fi 1.2627 @@ -2435,18 +2982,18 @@ 1.2628 # correctly upgrade the RPM database in the %post section (see below). 1.2629 if [ -d ${prefix}/RPM/DB ]; then 1.2630 if [ -x "${prefix}/bin/openpkg" -a -x "${prefix}/libexec/openpkg/rpm" ]; then 1.2631 - # OpenPKG 2.0 1.2632 + # OpenPKG >= 2.0 1.2633 rpm="${prefix}/bin/openpkg rpm" 1.2634 else 1.2635 # OpenPKG 1.x 1.2636 rpm="${prefix}/bin/rpm" 1.2637 fi 1.2638 rm -f ${prefix}/RPM/DB/.version >/dev/null 2>&1 || true 1.2639 - $rpm --version |\ 1.2640 + $rpm --version 2>/dev/null |\ 1.2641 sed -e 's;^;X;' \ 1.2642 -e 's;^X[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$;\1;' \ 1.2643 -e 's;^X[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$;\1;' \ 1.2644 - -e 's;^X.*$;4.0;' \ 1.2645 + -e 's;^X.*$;0.0;' \ 1.2646 >${prefix}/RPM/DB/.version 1.2647 fi 1.2648 1.2649 @@ -2460,19 +3007,35 @@ 1.2650 # update or initially create OpenPKG UUID configuration 1.2651 %{l_prefix}/bin/openpkg uuid update >/dev/null 2>&1 || true 1.2652 1.2653 + # when upgrading from RPM 4 to RPM 5 there will be no 1.2654 + # initial license at all, so create one 1.2655 + if [ ! -f %{l_prefix}/etc/openpkg/license ]; then 1.2656 + echo "BOOT" >%{l_prefix}/etc/openpkg/license 1.2657 + ( chown %{l_musr}:%{l_mgrp} %{l_prefix}/etc/openpkg/license 1.2658 + chmod 644 %{l_prefix}/etc/openpkg/license 1.2659 + ) >/dev/null 2>&1 || true 1.2660 + fi 1.2661 + 1.2662 + # finally switch from a possibly active BOOT license to EVAL license 1.2663 + # (notice: this is really the earliest time we can switch because the 1.2664 + # previous command had to create the <prefix>/etc/openpkg/uuid first!) 1.2665 + if [ ".`cat %{l_prefix}/etc/openpkg/license`" = ".BOOT" ]; then 1.2666 + echo "EVAL" >%{l_prefix}/etc/openpkg/license 1.2667 + fi 1.2668 + 1.2669 # determine new and old OpenPKG RPM version 1.2670 - V_rpm_new="%{V_rpm}" 1.2671 + V_rpm_new="%{V_rpm_major}.%{V_rpm_minor}" 1.2672 if [ -f %{l_prefix}/RPM/DB/.version ]; then 1.2673 V_rpm_old="`cat %{l_prefix}/RPM/DB/.version`" 1.2674 rm -f %{l_prefix}/RPM/DB/.version >/dev/null 2>&1 || true 1.2675 else 1.2676 - V_rpm_old="4.0" 1.2677 + V_rpm_old="0.0" 1.2678 fi 1.2679 1.2680 # make sure all RPM database files are present and that their 1.2681 # attributes are correct, etc. This is not a database rebuild 1.2682 # operation, so this is fully harmless and can be done always. 1.2683 - %{l_prefix}/lib/openpkg/rpmdb --quiet --fixate 1.2684 + %{l_prefix}/lib/openpkg/rpmdb --quiet --fixate >/dev/null 2>&1 || true 1.2685 1.2686 # check RPM database for upgrade requirements 1.2687 if [ ".$1" = .2 -a ".$V_rpm_old" != ".$V_rpm_new" ]; then 1.2688 @@ -2481,14 +3044,13 @@ 1.2689 # we are still running within the execution context of the 1.2690 # old RPM which in turn has the database locked) and instead 1.2691 # have to just drop a note to the administrator about database 1.2692 - # upgrading. RPM 4.2 in general allows concurrent database 1.2693 + # upgrading. RPM >= 4.2 in general allows concurrent database 1.2694 # access, but the whole stuff is too risky here, too. 1.2695 ( echo "You are upgrading the OpenPKG bootstrap from a previous" 1.2696 echo "RPM $V_rpm_old based version to this RPM $V_rpm_new based" 1.2697 - echo "version. The RPM database in %{l_prefix}/RPM/DB/ can still" 1.2698 - echo "be used, but it is strongly recommended to upgrade it as" 1.2699 - echo "soon as possible to the latest Berkeley-DB format files by" 1.2700 - echo "executing the command:" 1.2701 + echo "version. The RPM database in %{l_prefix}/RPM/DB/ can be" 1.2702 + echo "reused, but you first have to upgrade it as soon as" 1.2703 + echo "possible to the latest format files by executing:" 1.2704 echo " \$ %{l_prefix}/bin/openpkg rpm --db-rebuild" 1.2705 echo "In case of problems with the RPM database you can always" 1.2706 echo "execute the command:" 1.2707 @@ -2552,6 +3114,22 @@ 1.2708 ;; 1.2709 esac 1.2710 1.2711 + # special support for fully unprivileged environments 1.2712 + # where we cannot switch the user at all with su(1), 1.2713 + # so we provide a dummy su(1) override command. 1.2714 + if [ ".%{l_unprivileged}" = ".yes" ]; then 1.2715 + ( echo "#!/bin/sh" 1.2716 + echo "while [ \$# -gt 0 ]; do" 1.2717 + echo " case \"\$1\" in" 1.2718 + echo " - | -* ) shift ;;" 1.2719 + echo " * ) shift; break ;;" 1.2720 + echo " esac" 1.2721 + echo "done" 1.2722 + echo "exec /bin/sh \${1+\"\$@\"}" 1.2723 + ) >%{l_prefix}/lib/openpkg/override/su 1.2724 + chmod 775 %{l_prefix}/lib/openpkg/override/su 1.2725 + fi 1.2726 + 1.2727 # FIXME: hack to workaround problems in environments with too few 1.2728 # development tools. ATTENTION: see one paragraph above. 1.2729 if [ ! -d %{l_prefix}/lib/openpkg/fallback ]; then 1.2730 @@ -2559,21 +3137,47 @@ 1.2731 fi 1.2732 chown %{l_musr}:%{l_mgrp} %{l_prefix}/lib/openpkg/fallback >/dev/null 2>&1 || true 1.2733 1.2734 - # check for "openpkg" executable from the OpenPKG Community series 1.2735 - # print license if not OSS, otherwise register with openpkg.org 1.2736 - community_version=`%{l_prefix}/bin/openpkg --license 2>/dev/null | \ 1.2737 - sed -e 'q' | egrep '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*-C'` 1.2738 - if [ ".$community_version" = . ]; then 1.2739 - ( echo "" 1.2740 - echo "NOTICE: This OpenPKG bootstrap package is based on an \"openpkg\"" 1.2741 - echo "executable which is covered by the following terms of use:" 1.2742 - echo "______________________________________________________________________________" 1.2743 - echo "" 1.2744 - %{l_prefix}/bin/openpkg --license | sed -e '1d' 1.2745 - ) | %{l_prefix}/lib/openpkg/rpmtool msg -b -t notice 1.2746 - else 1.2747 - %{l_prefix}/bin/openpkg register </dev/null >/dev/null 2>&1 || true 1.2748 - fi 1.2749 + # cruel platform hack 1.2750 + case "`cat %{l_prefix}/etc/openpkg/platform`" in 1.2751 + *-*-cygwin* ) 1.2752 + # Cygwin under Windows Vista dislikes executables with 1.2753 + # "patch" in the same and would require a "*.manifest" 1.2754 + # file applied with the "mt.exe" from the "Windows 1.2755 + # Software Development Kit (SDK)" in order to escape from 1.2756 + # UAC. An easy alternative is to just rename the file to a 1.2757 + # different name. 1.2758 + cp %{l_prefix}/lib/openpkg/patch \ 1.2759 + %{l_prefix}/lib/openpkg/pitch 1.2760 + %{l_prefix}/lib/openpkg/shtool subst \ 1.2761 + -e 's;openpkg/patch;openpkg/pitch;g' \ 1.2762 + %{l_prefix}/etc/openpkg/rpmmacros 1.2763 + ;; 1.2764 + esac 1.2765 + 1.2766 + # print license 1.2767 + ( echo "" 1.2768 + echo "NOTICE: Proprietary components of the OpenPKG Framework are covered" 1.2769 + echo "by the following terms and conditions and require a valid run-time" 1.2770 + echo "license, issued by the OpenPKG GmbH. An initial license, which allows" 1.2771 + echo "30 days of free use for evaluation purposes, is already pre-installed." 1.2772 + echo "Please go to http://openpkg.com/go/framework-license to obtain" 1.2773 + echo "your permanent license." 1.2774 + echo "" 1.2775 + %{l_prefix}/bin/openpkg --license 1.2776 + echo "______________________________________________________________________________" 1.2777 + echo "" 1.2778 + echo "NOTICE: Open Source components of the OpenPKG Framework are covered" 1.2779 + echo "by various standard Open Source distribution licenses, including" 1.2780 + echo "the MIT, BSD, LGPL, GPL, Public-Domain and Artistic licenses." 1.2781 + echo "They all allow you the use of those components free of charge." 1.2782 + echo "See http://www.opensource.org/licenses for more details." 1.2783 + echo "" 1.2784 + ) | %{l_prefix}/lib/openpkg/rpmtool msg -b -t notice 1.2785 + 1.2786 + # register package with central OpenPKG registry 1.2787 + ( nohup %{l_prefix}/bin/openpkg register \ 1.2788 + </dev/null >/dev/null 2>&1 & 1.2789 + ) </dev/null >/dev/null 2>&1 || true 1.2790 1.2791 %preun 1.2792 [ ".$1" != .0 ] && exit 0 1.2793 @@ -2592,6 +3196,7 @@ 1.2794 rm -rf %{l_prefix}/RPM/TMP/* %{l_prefix}/RPM/TMP/.[a-z]* >/dev/null 2>&1 || true 1.2795 rm -rf %{l_prefix}/RPM/SRC/* %{l_prefix}/RPM/SRC/.[a-z]* >/dev/null 2>&1 || true 1.2796 rm -rf %{l_prefix}/RPM/PKG/* %{l_prefix}/RPM/PKG/.[a-z]* >/dev/null 2>&1 || true 1.2797 + rm -rf %{l_prefix}/RPM/TR/* %{l_prefix}/RPM/TR/.[a-z]* >/dev/null 2>&1 || true 1.2798 rm -rf %{l_prefix}/RPM/DB/* %{l_prefix}/RPM/DB/.[a-z]* >/dev/null 2>&1 || true 1.2799 1.2800 # The following code usually would be done in a %postun section. 1.2801 @@ -2668,7 +3273,8 @@ 1.2802 grep "^$usr:" /etc/passwd; \ 1.2803 ypmatch "$usr" passwd; \ 1.2804 nismatch "$usr" passwd; \ 1.2805 - nidump passwd . | grep "^$usr:") 2>/dev/null | \ 1.2806 + nidump passwd . | grep "^$usr:"; \ 1.2807 + dscl . -read "/users/$usr" | grep RecordName) 2>/dev/null | \ 1.2808 sed -e 'q'` 1.2809 if [ ".$exists" != . ]; then 1.2810 if [ ".$cusr" != ".root" ]; then 1.2811 @@ -2709,6 +3315,9 @@ 1.2812 grep -v "^${usr}:" /etc/passwd.bak >/etc/passwd 1.2813 rm -f /etc/passwd.bak >/dev/null 2>&1 1.2814 ;; 1.2815 + Darwin/10.[1-9]* | Darwin/1[1-9].* ) 1.2816 + dscl . -delete "/users/${usr}" 1.2817 + ;; 1.2818 Darwin/* ) 1.2819 niutil -destroy . "/users/${usr}" 1.2820 ;; 1.2821 @@ -2720,6 +3329,11 @@ 1.2822 fi 1.2823 rm -f /etc/passwd.bak >/dev/null 2>&1 1.2824 ;; 1.2825 + CYGWIN*/* ) 1.2826 + cp /etc/passwd /etc/passwd.bak && \ 1.2827 + grep -v "^${usr}:" /etc/passwd.bak >/etc/passwd 1.2828 + rm -f /etc/passwd.bak >/dev/null 2>&1 1.2829 + ;; 1.2830 esac 1.2831 fi 1.2832 fi 1.2833 @@ -2729,7 +3343,8 @@ 1.2834 grep "^$grp:" /etc/group; \ 1.2835 ypmatch "$grp" group; \ 1.2836 nismatch "$grp" group; \ 1.2837 - nidump group . | grep "^$grp:") 2>/dev/null | \ 1.2838 + nidump group . | grep "^$grp:"; \ 1.2839 + dscl . -read "/groups/$grp" | grep RecordName) 2>/dev/null | \ 1.2840 sed -e 'q'` 1.2841 if [ ".$exists" != . ]; then 1.2842 if [ ".$cusr" != ".root" ]; then 1.2843 @@ -2740,6 +3355,9 @@ 1.2844 echo "openpkg:WARNING: (would remove system standard group)" 1>&2 1.2845 else 1.2846 case "$plid" in 1.2847 + Darwin/10.[1-9]* | Darwin/1[1-9].* ) 1.2848 + dscl . -delete "/groups/${grp}" 1.2849 + ;; 1.2850 Darwin/* ) 1.2851 niutil -destroy . "/groups/${grp}" 1.2852 ;; 1.2853 @@ -2771,30 +3389,34 @@ 1.2854 else 1.2855 case "$plid" in 1.2856 FreeBSD/* ) 1.2857 - rm -f /etc/rc.d/openpkg-${name} >/dev/null 2>&1 1.2858 + rm -f /etc/rc.d/${name} >/dev/null 2>&1 1.2859 ;; 1.2860 NetBSD/* ) 1.2861 rm -f /etc/rc.d/${name} >/dev/null 2>&1 1.2862 ;; 1.2863 Linux/* ) 1.2864 if [ -f /etc/gentoo-release ]; then 1.2865 - /sbin/rc-update del openpkg-${name} >/dev/null 2>&1 1.2866 - rm -f /etc/init.d/openpkg-${name} >/dev/null 2>&1 1.2867 + /sbin/rc-update del ${name} >/dev/null 2>&1 1.2868 + rm -f /etc/init.d/${name} >/dev/null 2>&1 1.2869 + elif [ -f /etc/redhat-release ]; then 1.2870 + /sbin/chkconfig ${name} off >/dev/null 2>&1 1.2871 + /sbin/chkconfig --del ${name} >/dev/null 2>&1 1.2872 + rm -f /etc/rc.d/init.d/${name} >/dev/null 2>&1 1.2873 else 1.2874 # sroot: script root directory 1.2875 # lroot: link root directory 1.2876 if [ -f /etc/debian_version ]; then 1.2877 sroot=/etc/init.d 1.2878 - lroot=/etc/rc%d.d 1.2879 - elif [ -f /etc/redhat-release -o -f /etc/mandrake-release ]; then 1.2880 + lroot=/etc/rc%%d.d 1.2881 + elif [ -f /etc/mandrake-release ]; then 1.2882 sroot=/etc/rc.d/init.d 1.2883 - lroot=/etc/rc.d/rc%d.d 1.2884 + lroot=/etc/rc.d/rc%%d.d 1.2885 elif [ -f /etc/SuSE-release ]; then 1.2886 sroot=/etc/init.d 1.2887 - lroot=/etc/init.d/rc%d.d 1.2888 + lroot=/etc/init.d/rc%%d.d 1.2889 elif [ -f /etc/slackware-version ]; then 1.2890 sroot=/etc/rc.d 1.2891 - lroot=/etc/rc.d/rc%d.d 1.2892 + lroot=/etc/rc.d/rc%%d.d 1.2893 name="rc.${name}" 1.2894 else 1.2895 echo "WARNING: you are not running one of the supported standard" 1>&2 1.2896 @@ -2810,7 +3432,7 @@ 1.2897 done 1.2898 for lr in /etc/rc.d/rc2.d /etc/rc2.d /sbin/init.d/rc2.d; do 1.2899 if [ -d $lr ]; then 1.2900 - lroot="`echo $lr | sed -e 's;2;%d;'`" 1.2901 + lroot="`echo $lr | sed -e 's;2;%%d;'`" 1.2902 break 1.2903 fi 1.2904 done 1.2905 @@ -2821,14 +3443,14 @@ 1.2906 fi 1.2907 rm -f ${sroot}/${name} >/dev/null 2>&1 1.2908 for i in 2 3 4 5; do 1.2909 - rm -f `echo $lroot | sed -e "s;%d;$i;"`/S99${name} >/dev/null 2>&1 1.2910 + rm -f `echo $lroot | sed -e "s;%%d;$i;"`/S99${name} >/dev/null 2>&1 1.2911 done 1.2912 for i in 0 1 6; do 1.2913 - rm -f `echo $lroot | sed -e "s;%d;$i;"`/K00${name} >/dev/null 2>&1 1.2914 + rm -f `echo $lroot | sed -e "s;%%d;$i;"`/K00${name} >/dev/null 2>&1 1.2915 done 1.2916 if [ -f /etc/slackware-version ]; then 1.2917 for i in 0 1 2 3 4 5 6; do 1.2918 - l=`echo $lroot | sed -e "s;%d;$i;"` 1.2919 + l=`echo $lroot | sed -e "s;%%d;$i;"` 1.2920 if [ -d $l ]; then 1.2921 rmdir $l >/dev/null 2>&1 || true 1.2922 fi 1.2923 @@ -2836,12 +3458,6 @@ 1.2924 fi 1.2925 fi 1.2926 ;; 1.2927 - SunOS/5.1* ) 1.2928 - /usr/sbin/svcadm disable "svc:/openpkg/${name}:default"; sleep 2 1.2929 - /usr/sbin/svccfg delete -f "svc:/openpkg/${name}:default" >/dev/null 2>&1 || true 1.2930 - rm -f /var/svc/manifest/openpkg/${name}.xml >/dev/null 2>&1 1.2931 - rmdir /var/svc/manifest/openpkg >/dev/null 2>&1 || true 1.2932 - ;; 1.2933 SunOS/5.* ) 1.2934 rm -f /etc/init.d/${name} >/dev/null 2>&1 1.2935 rm -f /etc/rc3.d/S99${name} >/dev/null 2>&1 1.2936 @@ -2869,16 +3485,22 @@ 1.2937 rm -f /etc/rc1.d/K100${name} >/dev/null 2>&1 1.2938 ;; 1.2939 Darwin/* ) 1.2940 + darwin_rc_var="`echo ${name} | sed -e 's;-;_;g' | tr '[a-z]' '[A-Z]'`" 1.2941 cp /etc/hostconfig /etc/hostconfig.bak && \ 1.2942 - grep -v "^OPENPKG_${name}=" /etc/hostconfig.bak >/etc/hostconfig 1.2943 + grep -v "^${darwin_rc_var}=" /etc/hostconfig.bak >/etc/hostconfig 1.2944 rm -f /etc/hostconfig.bak >/dev/null 2>&1 1.2945 - rm -rf /System/Library/StartupItems/${name} >/dev/null 2>&1 1.2946 + rm -rf /Library/StartupItems/${name} >/dev/null 2>&1 1.2947 ;; 1.2948 IRIX*/6.* ) 1.2949 rm -f /etc/init.d/${name} >/dev/null 2>&1 1.2950 rm -f /etc/rc2.d/S99${name} >/dev/null 2>&1 1.2951 rm -f /etc/rc0.d/K00${name} >/dev/null 2>&1 1.2952 ;; 1.2953 + CYGWIN*/* ) 1.2954 + rm -f /etc/rc.d/init.d/${name} >/dev/null 2>&1 1.2955 + rm -f /etc/rc.d/rc2.d/S90${name} >/dev/null 2>&1 1.2956 + rm -f /etc/rc.d/rc1.d/K10${name} >/dev/null 2>&1 1.2957 + ;; 1.2958 esac 1.2959 fi 1.2960 1.2961 @@ -2888,7 +3510,7 @@ 1.2962 echo "openpkg:WARNING: (would require root-privileges)" 1>&2 1.2963 else 1.2964 case "$plid" in 1.2965 - FreeBSD/* | Linux/* | Darwin/* ) 1.2966 + FreeBSD/* | Linux/* ) 1.2967 if [ -f /etc/slackware-version ]; then 1.2968 EDITOR=/tmp/vipw.$$ 1.2969 VISUAL="$EDITOR" 1.2970 @@ -2914,7 +3536,7 @@ 1.2971 fi 1.2972 fi 1.2973 ;; 1.2974 - SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* ) 1.2975 + SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* | CYGWIN*/* | Darwin/* ) 1.2976 EDITOR=/tmp/vipw.$$ 1.2977 VISUAL="$EDITOR" 1.2978 export EDITOR 1.2979 @@ -2939,6 +3561,10 @@ 1.2980 1.2981 # delayed removal of top-level directory. 1.2982 ( sleep 2 1.2983 + rm -rf %{l_prefix}/RPM/PKG/* >/dev/null 2>&1 || true 1.2984 + rm -rf %{l_prefix}/RPM/SRC/* >/dev/null 2>&1 || true 1.2985 + rm -rf %{l_prefix}/RPM/CACHE/* >/dev/null 2>&1 || true 1.2986 + rm -rf %{l_prefix}/RPM/TMP/* %{l_prefix}/RPM/TMP/.[a-z]* >/dev/null 2>&1 || true 1.2987 rm -rf %{l_prefix}/RPM/DB/* %{l_prefix}/RPM/DB/.[a-z]* >/dev/null 2>&1 || true 1.2988 rmdir %{l_prefix}/RPM/DB >/dev/null 2>&1 || true 1.2989 rmdir %{l_prefix}/RPM >/dev/null 2>&1 || true