openpkg/openpkg.spec

changeset 428
f880f219c566
parent 427
71503088f51b
child 429
b363f8ef6dcb
     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

mercurial