diff -r 71503088f51b -r f880f219c566 openpkg/openpkg.spec
--- a/openpkg/openpkg.spec Tue Jul 31 12:12:54 2012 +0200
+++ b/openpkg/openpkg.spec Tue Jul 31 12:23:42 2012 +0200
@@ -1,14 +1,13 @@
##
## openpkg.spec -- OpenPKG RPM Package Specification
-## Copyright (c) 2000-2007 OpenPKG Foundation e.V.
-## Copyright (c) 2000-2007 Ralf S. Engelschall
+## Copyright (c) 2000-2012 OpenPKG GmbH
##
-## Permission to use, copy, modify, and distribute this software for
-## any purpose with or without fee is hereby granted, provided that
-## the above copyright notice and this permission notice appear in all
-## copies.
+## This software is property of the OpenPKG GmbH, DE MUC HRB 160208.
+## All rights reserved. Licenses which grant limited permission to use,
+## copy, modify and distribute this software are available from the
+## OpenPKG GmbH.
##
-## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+## THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
@@ -38,144 +37,228 @@
# o any make(1)
# o any cc(1)
-# the package version/release
-%define V_openpkg 20120714
-
# the used software versions
-%define V_rpm 4.2.1
-%define V_zlib 1.2.5
-%define V_bzip2 1.0.5
-%define V_beecrypt 4.1.2
-%define V_curl 7.21.1
-%define V_make 3.82
-%define V_gzip 1.4
-%define V_gzip_r 1.13
-%define V_patch 2.6.1
-%define V_tar 1.23
-%define V_bash 3.2
-%define V_uuid 1.6.2
-%define V_config 20060923
-%define V_registry 1.1.3
-%define V_perl 5.10.0
-%define V_openssl 0.9.8g
-%define V_tools 1.4.5
-%define V_exec 2.0.1-C
+%define V_rpm_major 5.1
+%define V_rpm_minor 9
+%define V_popt 1.16
+%define V_db 4.7.25
+%define V_lua 5.1.4
+%define V_sqlite 3.6.17
+%define V_zlib 1.2.7
+%define V_bzip2 1.0.6
+%define V_beecrypt 4.2.1
+%define V_curl 7.26.0
+%define V_pcre 8.31
+%define V_make 3.82
+%define V_gzip 1.5
+%define V_patch 2.6.1
+%define V_tar 1.26
+%define V_bash 4.2
+%define V_bash_pl 29
+%define V_uuid 1.6.2
+%define V_config 20120627
+%define V_perl 5.16.0
+%define V_openssl 1.0.1c
+%define V_xz 5.0.4
+%define V_shtool 2.0.8
+%define V_libarchive 3.0.3
+%define V_diffutils 3.2
+%define V_svs 1.1.0
# package information
Name: openpkg
-Summary: OpenPKG Bootstrap
-URL: http://www.openpkg.org/
-Vendor: OpenPKG
-Packager: OpenPKG Foundation e.V.
-Distribution: OpenPKG Community
-Class: CORE
+Summary: OpenPKG Framework
+URL: http://openpkg.org/
+Vendor: OpenPKG GmbH
+Packager: OpenPKG GmbH
+Distribution: OpenPKG
+Class: BOOT
Group: Bootstrapping
-License: MIT/BSD/LGPL/GPL
-Version: %{V_openpkg}
-Release: %{V_openpkg}
+License: Proprietary, Open Source
+Version: 4.6.7
+Release: 20120708
-# list of sources
+# list of pristine upstream sources
Source0: ftp://ftp.gnu.org/gnu/patch/patch-%{V_patch}.tar.gz
Source1: ftp://ftp.cwru.edu/pub/bash/bash-%{V_bash}.tar.gz
Source2: ftp://ftp.gnu.org/gnu/make/make-%{V_make}.tar.gz
Source3: ftp://ftp.gnu.org/gnu/tar/tar-%{V_tar}.tar.gz
-Source4: ftp://ftp.openpkg.org/sources/CPY/config/config-%{V_config}.tar.gz
-Source5: ftp://ftp.openpkg.org/sources/CPY/openpkg-registry/openpkg-registry-%{V_registry}.tar.gz
-Source6: ftp://ftp.openpkg.org/sources/CPY/openpkg-tools/openpkg-tools-%{V_tools}.tar.gz
-Source7: ftp://ftp.openpkg.org/sources/CPY/openpkg/gzip-%{V_gzip}-openpkg-r%{V_gzip_r}.tar
-Source8: ftp://ftp.gnu.org/gnu/gzip/gzip-%{V_gzip}.tar
-Source9: ftp://ftp.openpkg.org/sources/CPY/openpkg/openpkg-executable-%{V_exec}.tar.gz
-Source10: ftp://ftp.openpkg.org/sources/CPY/openpkg/rpm-%{V_rpm}.tar.gz
-Source11: ftp://ftp.openpkg.org/sources/CPY/perl/perl-%{V_perl}-mini.tar.gz
-Source12: ftp://ftp.openssl.org/source/openssl-%{V_openssl}.tar.gz
-Source13: ftp://ftp.ossp.org/pkg/lib/uuid/uuid-%{V_uuid}.tar.gz
-Source14: http://curl.haxx.se/download/curl-%{V_curl}.tar.gz
-Source15: http://switch.dl.sourceforge.net/beecrypt/beecrypt-%{V_beecrypt}.tar.gz
-Source16: http://www.bzip.org/%{V_bzip2}/bzip2-%{V_bzip2}.tar.gz
-Source17: http://www.zlib.net/zlib-%{V_zlib}.tar.gz
+Source4: http://download.openpkg.org/components/versioned/config/config-%{V_config}.tar.gz
+Source5: http://download.openpkg.org/components/derived/gzip/gzip-%{V_gzip}.tar
+Source6: http://download.openpkg.org/components/derived/perl/perl-%{V_perl}-mini.tar.gz
+Source7: http://rpm5.org/files/rpm/rpm-%{V_rpm_major}/rpm-%{V_rpm_major}.%{V_rpm_minor}.tar.gz
+Source8: ftp://ftp.openssl.org/source/openssl-%{V_openssl}.tar.gz
+Source9: ftp://ftp.ossp.org/pkg/lib/uuid/uuid-%{V_uuid}.tar.gz
+Source10: http://curl.haxx.se/download/curl-%{V_curl}.tar.gz
+Source11: http://switch.dl.sourceforge.net/beecrypt/beecrypt-%{V_beecrypt}.tar.gz
+Source12: http://www.bzip.org/%{V_bzip2}/bzip2-%{V_bzip2}.tar.gz
+Source13: http://www.zlib.net/zlib-%{V_zlib}.tar.gz
+Source14: http://rpm5.org/files/popt/popt-%{V_popt}.tar.gz
+Source15: http://www.sqlite.org/sqlite-%{V_sqlite}.tar.gz
+Source16: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-%{V_pcre}.tar.gz
+Source17: http://libarchive.googlecode.com/files/libarchive-%{V_libarchive}.tar.gz
+Source18: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{V_diffutils}.tar.gz
+Source19: ftp://ftp.ossp.org/pkg/tool/svs/svs-%{V_svs}.tar.gz
+Source20: http://tukaani.org/xz/xz-%{V_xz}.tar.gz
+
+# list of local patches against pristine upstream sources
Source100: bash.patch
-Source101: beecrypt.patch
-Source102: make.patch
-Source103: openssl.patch
-Source104: perl.patch
-Source105: tar.patch
-Source106: rpm.patch.bugfix
-Source107: rpm.patch.feature
-Source108: rpm.patch.porting
-Source109: rpm.patch.regen
-Source200: HISTORY
-Source201: README
-Source202: aux.prereq.sh
-Source203: aux.usrgrp.sh
-Source204: aux.wrapbin.sh
-Source205: aux.wrapsrc.sh
-Source206: dot.bash_login
-Source207: dot.bashrc
-Source208: dot.lsyncrc
-Source209: install.sh
-Source210: local.README
-Source211: lsync
-Source212: lsync.8
-Source213: lsync.pod
-Source214: man.sh
-Source215: openpkg.1
-Source216: openpkg.boot
-Source217: openpkg.com.pgp
-Source218: openpkg.net.pgp
-Source219: openpkg.org.pgp
-Source220: openpkg.pod
-Source221: openpkg.sh
-Source222: pod2man.sh
-Source223: rc
-Source224: rc.8
-Source225: rc.conf
-Source226: rc.func
-Source227: rc.openpkg
-Source228: rc.pod
-Source229: release.8
-Source230: release.pod
-Source231: release.sh
-Source232: root.README
-Source233: rpm-config.8
-Source234: rpm-config.pod
-Source235: rpm-config.sh
-Source236: rpmdb
-Source237: rpmtool
-Source238: rpmtool.8
-Source239: rpmtool.pod
-Source240: shtool
-Source241: uuid.8
-Source242: uuid.pod
-Source243: uuid.sh
-Source244: rpmmacros
-Source245: rpmpopt
-Source246: rpmrc
+Source101: bash.patch.vendor
+Source102: beecrypt.patch
+Source103: make.patch
+Source104: openssl.patch
+Source105: perl.patch
+Source106: tar.patch
+Source107: rpm.patch
+Source108: popt.patch
+Source109: sqlite.patch
+Source110: curl.patch
+Source111: pcre.patch
+Source112: diffutils.patch
+Source113: libarchive.patch
+Source114: patch.strnlen.c
+Source115: patch.Makefile.in
+Source116: xz.patch
+Source117: zlib.patch
+
+# list of local sources
+Source200: README
+Source201: etc.prereq.sh
+Source202: etc.usrgrp.sh
+Source203: etc.wrapbin.sh
+Source204: etc.wrapsrc.sh
+Source205: dot.bash_login
+Source206: dot.bashrc
+Source207: dot.lsyncrc
+Source208: local.README
+Source209: lsync
+Source210: lsync.8
+Source211: lsync.pod
+Source212: man.sh
+Source213: openpkg.1
+Source214: openpkg.boot
+Source215: openpkg.com.pgp
+Source216: openpkg.net.pgp
+Source217: openpkg.org.pgp
+Source218: openpkg.pod
+Source219: openpkg.sh
+Source220: rc
+Source221: rc.8
+Source222: rc.conf
+Source223: rc.func
+Source224: rc.openpkg
+Source225: rc.pod
+Source226: release.8
+Source227: release.pod
+Source228: release.sh
+Source229: root.README
+Source230: rpm-config.8
+Source231: rpm-config.pod
+Source232: rpm-config.sh
+Source233: rpmdb
+Source234: rpmtool
+Source235: rpmtool.8
+Source236: rpmtool.pod
+Source237: shtool
+Source238: shtool.sh
+Source239: uuid.8
+Source240: uuid.pod
+Source241: uuid.sh
+Source242: rpmmacros
+Source243: rpmpopt
+Source244: curl.sh
+Source245: index.pl
+Source246: index.8
+Source247: index.pod
+Source248: build.pl
+Source249: build.8
+Source250: build.pod
+Source251: makeproxy.pl
+Source252: makeproxy.8
+Source253: lint-fsl.pl
+Source254: lint-rc.pl
+Source255: lint-rpm.pl
+Source256: lint-spec.pl
+Source257: dev.pl
+Source258: dev.8
+Source259: dev.pod
+Source260: openpkg.mk
+Source261: openpkg.c
+Source262: Makefile
+Source263: mutex.c
+Source264: mutex.mk
+Source265: register.sh
+Source266: register.pod
+Source267: register.8
+Source268: rpm.sh
+Source269: license.lua
+Source270: license-BOOT.txt
+Source271: license-COMMUNITY.txt
+Source272: license-EVAL.txt
+Source273: license-EXAMPLE.txt
+Source274: license-PROMO.txt
+Source275: license-RECOVERY.txt
+Source276: license.sh
+Source277: license.pod
+Source278: license.8
+Source279: rpmlua
+Source280: sea.sh
+Source281: sea.pod
+Source282: sea.8
+Source283: stack.sh
+Source284: stack.pod
+Source285: stack.8
+Source286: search.pl
+Source287: search.pod
+Source288: search.8
+Source289: mirror.pl
+Source290: mirror.pod
+Source291: mirror.8
# build information
-Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
AutoReq: no
AutoReqProv: no
+Provides: %{l_prefix}
Provides: OpenPKG
+Provides: openpkg = %{release}-%{release}
%description
- This is the bootstrap package for the RPM-based Unix Software
- Package Hierarchy OpenPKG. The RPM Package Manager (RPM) is a
- sophisticated and portable package manager for Unix platforms,
- which supports automated building, installation, management and
- deinstallation of Unix software. RPM was originally designed and
- implemented for the RedHat Linux operating system where it manages
- every file on the whole system. OpenPKG uses RPM only for managing
- the files in a particular filesystem hierarchy dedicated to the
- installation of third-party software packages provided by the
- OpenPKG project.
+ This is the OpenPKG Framework, the so-called "bootstrap" package
+ of OpenPKG. OpenPKG is a cross-platform, self-contained, RPM-based
+ software packaging solution, targeting the flexible building of
+ software stacks on Unix platforms. The RPM Package Manager (RPM)
+ is the underlying, sophisticated and portable package management
+ tool which drives the automated building, installation, management
+ and deinstallation of all Unix software components in an OpenPKG
+ software stack.
- The OpenPKG bootstrap package includes the following software:
- RPM %{V_rpm}, ZLib %{V_zlib}, GNU Bzip2 %{V_bzip2},
- GNU Gzip %{V_gzip}, GNU Tar %{V_tar}, GNU Patch %{V_patch},
- GNU Make %{V_make}, GNU Bash %{V_bash}, cURL %{V_curl},
- OSSP uuid %{V_uuid}, BeeCrypt %{V_beecrypt},
- OpenSSL %{V_openssl}, Perl %{V_perl}
+ This OpenPKG package contains the following individual
+ software components (individual licenses listed in brackets):
+ OpenPKG Framework %(echo "%{version}" | awk '{ printf("%%-7s", $1); }') [Proprietary]
+ rpm5.org RPM %(echo "%{V_rpm_major}.%{V_rpm_minor}" | awk '{ printf("%%-7s", $1); }') [LGPL]
+ rpm5.org POPT %(echo "%{V_popt}" | awk '{ printf("%%-7s", $1); }') [LGPL]
+ BeeCrypt %(echo "%{V_beecrypt}" | awk '{ printf("%%-7s", $1); }') [LGPL]
+ Lua %(echo "%{V_lua}" | awk '{ printf("%%-7s", $1); }') [MIT]
+ Berkeley-DB %(echo "%{V_db}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
+ SQLite %(echo "%{V_sqlite}" | awk '{ printf("%%-7s", $1); }') [Public-Domain]
+ PCRE %(echo "%{V_pcre}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
+ ZLib %(echo "%{V_zlib}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
+ XZ %(echo "%{V_xz}" | awk '{ printf("%%-7s", $1); }') [PD/LGPL/GPL]
+ GNU Bzip2 %(echo "%{V_bzip2}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
+ GNU Gzip %(echo "%{V_gzip}" | awk '{ printf("%%-7s", $1); }') [GPL]
+ GNU Tar %(echo "%{V_tar}" | awk '{ printf("%%-7s", $1); }') [GPL]
+ GNU Patch %(echo "%{V_patch}" | awk '{ printf("%%-7s", $1); }') [GPL]
+ GNU Shtool %(echo "%{V_shtool}" | awk '{ printf("%%-7s", $1); }') [GPL]
+ GNU Make %(echo "%{V_make}" | awk '{ printf("%%-7s", $1); }') [GPL]
+ GNU Bash %(echo "%{V_bash}.%{V_bash_pl}" | awk '{ printf("%%-7s", $1); }') [GPL]
+ GNU DiffUtils %(echo "%{V_diffutils}" | awk '{ printf("%%-7s", $1); }') [GPL]
+ BSD libarchive %(echo "%{V_libarchive}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
+ OSSP uuid %(echo "%{V_uuid}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
+ OSSP svs %(echo "%{V_svs}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
+ cURL %(echo "%{V_curl}" | awk '{ printf("%%-7s", $1); }') [BSD/MIT]
+ OpenSSL %(echo "%{V_openssl}" | awk '{ printf("%%-7s", $1); }') [BSD]
+ Perl %(echo "%{V_perl}" | awk '{ printf("%%-7s", $1); }') [Artistic]
%track
prog openpkg:bash = {
@@ -193,35 +276,35 @@
url = http://curl.haxx.se/download/
regex = curl-(__VER__)\.tar\.gz
}
+ prog openpkg:pcre = {
+ version = %{V_pcre}
+ url = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
+ regex = pcre-(__VER__)\.tar\.gz
+ }
prog openpkg:gzip = {
- comment = "rse: intentionally tracked at gnu.org, although fetched from openpkg.org because of uncompression"
version = %{V_gzip}
url = ftp://ftp.gnu.org/gnu/gzip/
regex = gzip-(__VER__)\.tar(\.gz)?
}
- prog openpkg:gzip_r = {
- version = %{V_gzip_r}
- url = ftp://ftp.openpkg.org/sources/CPY/openpkg/
- regex = gzip-%{V_gzip}-openpkg-r(__VER__)\.tar
- }
prog openpkg:make = {
version = %{V_make}
url = ftp://ftp.gnu.org/gnu/make/
regex = make-(__VER__)\.tar\.gz
}
prog openpkg:patch = {
- disabled
- comment = "rse: directory missing after GNU.org security issues"
version = %{V_patch}
- url = ftp://alpha.gnu.org/gnu/patch/
+ url = ftp://ftp.gnu.org/gnu/patch/
regex = patch-(__VER__)\.tar\.gz
}
+ prog openpkg:popt = {
+ version = %{V_popt}
+ url = http://rpm5.org/files/popt/
+ regex = popt-(\d+\.\d+)\.tar\.gz
+ }
prog openpkg:rpm = {
- disabled
- comment = "rse: we have a .src.rpm extracted .tar.gz, because there is still no tarball for 4.2.1"
- version = %{V_rpm}
- url = ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.2.x/
- regex = rpm-(4\.2\.\d+)\.tar\.gz
+ version = %{V_rpm_major}.%{V_rpm_minor}
+ url = http://rpm5.org/files/rpm/rpm-%{V_rpm_major}/
+ regex = rpm-(\d+\.\d+[.ab]\d+)\.tar\.gz
}
prog openpkg:tar = {
version = %{V_tar}
@@ -233,29 +316,39 @@
url = http://www.zlib.net/
regex = zlib-(__VER__)\.tar\.gz
}
+ prog openpkg:diffutils = {
+ version = %{V_diffutils}
+ url = ftp://alpha.gnu.org/gnu/diffutils/
+ regex = diffutils-(__VER__)\.tar\.gz
+ }
+ prog openpkg:libarchive = {
+ version = %{V_libarchive}
+ url = http://code.google.com/p/libarchive/downloads/list
+ regex = libarchive-(__VER__)\.tar\.gz
+ }
prog openpkg:uuid = {
version = %{V_uuid}
url = ftp://ftp.ossp.org/pkg/lib/uuid/
regex = uuid-(__VER__)\.tar\.gz
}
+ prog openpkg:svs = {
+ version = %{V_svs}
+ url = ftp://ftp.ossp.org/pkg/tool/svs/
+ regex = svs-(__VER__)\.tar\.gz
+ }
prog openpkg:config = {
version = %{V_config}
- url = ftp://ftp.openpkg.org/sources/CPY/config/
+ url = http://download.openpkg.org/components/versioned/config/
regex = config-(__VER__)\.tar\.gz
}
prog openpkg:beecrypt = {
version = %{V_beecrypt}
- url = http://prdownloads.sourceforge.net/beecrypt/
+ url = http://sourceforge.net/project/showfiles.php?group_id=8924&package_id=9007
regex = beecrypt-(__VER__)\.tar\.gz
}
- prog openpkg:registry = {
- version = %{V_registry}
- url = ftp://ftp.openpkg.org/sources/CPY/openpkg-registry/
- regex = openpkg-registry-(__VER__)\.tar\.gz
- }
prog openpkg:perl = {
version = %{V_perl}
- url = ftp://ftp.openpkg.org/sources/CPY/perl/
+ url = http://download.openpkg.org/components/derived/perl/
regex = perl-(__VER__)-mini\.tar\.gz
}
prog openpkg:openssl = {
@@ -263,15 +356,20 @@
url = ftp://ftp.openssl.org/source/
regex = openssl-(\d+\.\d+\.\d+[a-z]?)\.tar\.gz
}
- prog openpkg:openpkg-tools = {
- version = %{V_tools}
- url = ftp://ftp.openpkg.org/sources/CPY/openpkg-tools/
- regex = openpkg-tools-(__VER__)\.tar\.gz
+ prog openpkg:lua = {
+ version = %{V_lua}
+ url = http://www.lua.org/download.html
+ regex = lua-(\d+\.\d+\.\d+)\.tar\.gz
}
- prog openpkg:openpkg-executable = {
- version = %{V_exec}
- url = ftp://ftp.openpkg.org/sources/CPY/openpkg/
- regex = openpkg-executable-(__VER__-C)\.tar\.gz
+ prog openpkg:sqlite = {
+ version = %{V_sqlite}
+ url = http://www.sqlite.org/download.html
+ regex = sqlite-(\d+\.\d+\.\d+(?:\.\d+)?)\.tar\.gz
+ }
+ prog openpkg:xz = {
+ version = %{V_xz}
+ url = http://tukaani.org/xz/
+ regex = xz-(\d+\.\d+\.\d+)\.tar\.gz
}
%prep
@@ -407,8 +505,8 @@
fi
echo "l_strip=\"$l_strip\"; export l_strip" >>.buildenv
- # determine path to aux.usrgrp.sh script
- usrgrp=`SOURCE aux.usrgrp.sh`
+ # determine path to etc.usrgrp.sh script
+ usrgrp=`SOURCE etc.usrgrp.sh`
echo "usrgrp=$usrgrp; export usrgrp" >>./.buildenv
# display verbosity header
@@ -494,6 +592,7 @@
OSF1/V5.* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;;
HP-UX/* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;;
IRIX*/6.* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;;
+ CYGWIN*/* ) l_build_path="/bin:/usr/bin:/usr/sbin" ;;
* ) l_build_path="/bin:/sbin:/usr/bin:/usr/sbin" ;;
esac
case $plid in
@@ -507,6 +606,7 @@
OSF1/V5.* ) l_build_ldlp="/usr/lib" ;;
HP-UX/* ) l_build_ldlp="/usr/lib" ;;
IRIX*/6.* ) l_build_ldlp="/usr/lib" ;;
+ CYGWIN*/* ) l_build_ldlp="/lib:/usr/lib" ;;
* ) l_build_ldlp="/usr/lib" ;;
esac
case $plid in
@@ -516,20 +616,29 @@
echo "l_build_ldlp=\"$l_build_ldlp\"; export l_build_ldlp" >>.buildenv
echo "l_build_ulim=\"$l_build_ulim\"; export l_build_ulim" >>.buildenv
+ # ACTIVATE AGAIN AFTER ALL 4.2.5 VERSIONS WERE UPGRADED TO AT LEAST 4.2.7
+ # determine status of unprivileged operation
+ if [ ".%{?l_unprivileged:set}" = .set ]; then
+ l_unprivileged="%{l_unprivileged}"
+ else
+ l_unprivileged="no"
+ fi
+ echo "l_unprivileged=\"$l_unprivileged\"; export l_unprivileged" >>.buildenv
+
# display verbosity header
set +x; VERBOSE "PREPARATION: Build GNU gzip (Compression Tool)"; set -x
# bootstrap GNU zip tool
${l_tar} xf `SOURCE gzip-%{V_gzip}.tar` 2>/dev/null || true
- ${l_tar} xf `SOURCE gzip-%{V_gzip}-openpkg-r%{V_gzip_r}.tar` 2>/dev/null || true
( cd gzip-%{V_gzip}
- echo "ac_cv_prog_cc_g=no" >config.cache
+ ( echo "ac_cv_prog_cc_g=no"
+ echo "ac_cv_header_getopt_h=no"
+ ) >config.cache
case $plid in
Darwin/* ) echo "gzip_cv_assembler=no" >>config.cache ;;
esac
CC="${l_cc}" \
GREP="grep" \
- MAKE="${l_make}" \
./configure \
--cache-file=./config.cache
${l_make} || exit $?
@@ -550,24 +659,36 @@
# bootstrap GNU patch tool
${l_gzip} -dc `SOURCE patch-%{V_patch}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
( cd patch-%{V_patch}
- cp `SOURCE rplstrnlen.c` gl/lib/strnlen.c
- chmod u+w config.guess config.sub >/dev/null 2>&1 || true
- cp ../config/config.guess .
- cp ../config/config.sub .
+ chmod a+x install-sh
+ echo '#!' >update-version.sh
+ cp `SOURCE patch.Makefile.in` Makefile.in
+ cp `SOURCE patch.strnlen.c` gl/lib/strnlen.c
( echo 'ac_cv_func_setmode=${ac_cv_func_setmode=no}'
echo 'ac_cv_prog_cc_g=no'
false=`sh $shtool path false`
echo "ac_cv_path_ed_PROGRAM=\${ac_cv_path_ed_PROGRAM=$false}"
) >config.cache
CC="${l_cc}" \
- GREP="grep" \
./configure \
--cache-file=./config.cache \
+ --enable-merge \
--disable-largefile
${l_make} || exit $?
( mv src/patch ..; ${l_make} clean || true; mv ../patch . ) || exit $?
) || exit $?
l_patch="`pwd`/patch-%{V_patch}/patch"; export l_patch
+ case `sh $shtool platform -n -L -S "" -C "+" -F "%-%"` in
+ *-cygwin* )
+ # Cygwin under Windows Vista dislikes executables with
+ # "patch" in the same and would require a "*.manifest"
+ # file applied with the "mt.exe" from the "Windows
+ # Software Development Kit (SDK)" in order to escape from
+ # UAC. An easy alternative is to just rename the file to a
+ # different name.
+ mv patch-%{V_patch}/patch patch-%{V_patch}/pitch
+ l_patch="`pwd`/patch-%{V_patch}/pitch"
+ ;;
+ esac
echo "l_patch=\"$l_patch\"; export l_patch" >>.buildenv
# display verbosity header
@@ -584,12 +705,14 @@
echo 'ac_cv_type_iconv_t=no'
) >config.cache
CC="${l_cc}" \
- MAKE="${l_make}" \
MAKEINFO="true" \
GREP="grep" \
+ FORCE_UNSAFE_CONFIGURE=1 \
./configure \
--cache-file=./config.cache \
--prefix=%{l_prefix} \
+ --with-gzip=%{l_prefix}/lib/openpkg/gzip \
+ --with-bzip2=%{l_prefix}/lib/openpkg/bzip2 \
--disable-nls
${l_make} || exit $?
( mv src/tar ..; ${l_make} clean || true; mv ../tar . ) || exit $?
@@ -601,23 +724,26 @@
set +x; VERBOSE "PREPARATION: Unpack Distribution Tarballs"; set -x
# unpack distribution tarballs
- ${l_gzip} -dc `SOURCE rpm-%{V_rpm}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
+ ${l_gzip} -dc `SOURCE rpm-%{V_rpm_major}.%{V_rpm_minor}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
+ ${l_gzip} -dc `SOURCE popt-%{V_popt}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
+ ${l_gzip} -dc `SOURCE sqlite-%{V_sqlite}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
${l_gzip} -dc `SOURCE zlib-%{V_zlib}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
${l_gzip} -dc `SOURCE bzip2-%{V_bzip2}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
+ ${l_gzip} -dc `SOURCE xz-%{V_xz}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
${l_gzip} -dc `SOURCE curl-%{V_curl}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
+ ${l_gzip} -dc `SOURCE pcre-%{V_pcre}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
${l_gzip} -dc `SOURCE make-%{V_make}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
${l_gzip} -dc `SOURCE bash-%{V_bash}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
${l_gzip} -dc `SOURCE uuid-%{V_uuid}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
${l_gzip} -dc `SOURCE beecrypt-%{V_beecrypt}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
- ${l_gzip} -dc `SOURCE openpkg-registry-%{V_registry}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
${l_gzip} -dc `SOURCE perl-%{V_perl}-mini.tar.gz` | ${l_tar} xf - 2>/dev/null || true
${l_gzip} -dc `SOURCE openssl-%{V_openssl}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
- ${l_gzip} -dc `SOURCE openpkg-tools-%{V_tools}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
- ${l_gzip} -dc `SOURCE openpkg-executable-%{V_exec}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
+ ${l_gzip} -dc `SOURCE libarchive-%{V_libarchive}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
+ ${l_gzip} -dc `SOURCE diffutils-%{V_diffutils}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
+ ${l_gzip} -dc `SOURCE svs-%{V_svs}.tar.gz` | ${l_tar} xf - 2>/dev/null || true
# update config.guess/config.sub
- for dir in rpm-%{V_rpm} rpm-%{V_rpm}/popt beecrypt-%{V_beecrypt} \
- curl-%{V_curl} make-%{V_make} bash-%{V_bash}/support; do
+ for dir in curl-%{V_curl} make-%{V_make} bash-%{V_bash}/support; do
chmod u+w $dir/config.guess $dir/config.sub >/dev/null 2>&1 || true
cp config/config.guess $dir/
cp config/config.sub $dir/
@@ -627,18 +753,15 @@
set +x; VERBOSE "PREPARATION: Apply OpenPKG Patches to Distributions"; set -x
# apply OpenPKG patches to distribution trees
- ( cd rpm-%{V_rpm}
- sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.bugfix` | ${l_patch} -p0
- sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.feature` | ${l_patch} -p0
- sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.porting` | ${l_patch} -p0
- sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch.regen` | ${l_patch} -p0
- rm -rf db/docs # just reduce disk size of source tree
+ ( cd rpm-%{V_rpm_major}.%{V_rpm_minor}
+ sed -e "s;@l_prefix@;%{l_prefix};g" <`SOURCE rpm.patch` | ${l_patch} -p0
) || exit $?
( cd make-%{V_make}
${l_patch} -p0 <`SOURCE make.patch`
) || exit $?
( cd bash-%{V_bash}
${l_patch} -p0 <`SOURCE bash.patch`
+ ${l_patch} -p0 <`SOURCE bash.patch.vendor`
sleep 1
touch y.tab.[ch]
touch configure config.h.in
@@ -652,6 +775,30 @@
( cd openssl-%{V_openssl}
${l_patch} -p0 <`SOURCE openssl.patch`
) || exit $?
+ ( cd popt-%{V_popt}
+ ${l_patch} -p0 <`SOURCE popt.patch`
+ ) || exit $?
+ ( cd sqlite-%{V_sqlite}
+ ${l_patch} -p0 <`SOURCE sqlite.patch`
+ ) || exit $?
+ ( cd curl-%{V_curl}
+ ${l_patch} -p0 <`SOURCE curl.patch`
+ ) || exit $?
+ ( cd pcre-%{V_pcre}
+ ${l_patch} -p0 <`SOURCE pcre.patch`
+ ) || exit $?
+ ( cd diffutils-%{V_diffutils}
+ ${l_patch} -p0 <`SOURCE diffutils.patch`
+ ) || exit $?
+ ( cd libarchive-%{V_libarchive}
+ ${l_patch} -p0 <`SOURCE libarchive.patch`
+ ) || exit $?
+ ( cd zlib-%{V_zlib}
+ ${l_patch} -p0 <`SOURCE zlib.patch`
+ ) || exit $?
+ ( cd xz-%{V_xz}
+ ${l_patch} -p0 <`SOURCE xz.patch`
+ ) || exit $?
# display verbosity header
set +x; VERBOSE "PREPARATION: Build GNU make (Build Tool)"; set -x
@@ -659,7 +806,6 @@
# bootstrap GNU make tool
( cd make-%{V_make}
CC="${l_cc}" \
- GREP="grep" \
./configure \
--without-libiconv-prefix \
--without-libintl-prefix \
@@ -700,9 +846,15 @@
# disable building with debug symbols
echo "ac_cv_prog_cc_g=no"
) >config.cache
- AUTOCONF="true" \
- CC="${l_cc}" \
- MAKE="${l_make}" \
+ AUTOCONF="true"
+ export AUTOCONF
+ CC="${l_cc}"
+ export CC
+ LDFLAGS=""
+ export LDFLAGS
+ case "$plid" in
+ Darwin/* ) LDFLAGS="-Wl,-search_paths_first" ;;
+ esac
./configure \
--cache-file=./config.cache \
--prefix=%{l_prefix} \
@@ -746,6 +898,28 @@
) || exit $?
# display verbosity header
+ set +x; VERBOSE "BUILD: Build XZ (Compression Library)"; set -x
+
+ # build XZ library
+ ( cd xz-%{V_xz}
+ opts=""
+ case "$plid" in
+ Darwin/* ) opts="--disable-assembler" ;;
+ esac
+ CC="${l_cc}" \
+ CFLAGS="-O" \
+ ./configure \
+ --prefix=%{l_prefix} \
+ --mandir=%{l_prefix}/man \
+ --without-libiconv-prefix \
+ --without-libintl-prefix \
+ --disable-nls \
+ --disable-shared \
+ $opts
+ ${l_make} || exit $?
+ ) || exit $?
+
+ # display verbosity header
set +x; VERBOSE "BUILD: Build OSSP uuid (UUID Generation Tool)"; set -x
# build OSSP uuid tool
@@ -757,7 +931,6 @@
--prefix=%{l_prefix} \
--disable-shared
${l_make} || exit $?
- ( mv uuid ..; ${l_make} clean || true; mv ../uuid . ) || exit $?
) || exit $?
# display verbosity header
@@ -777,11 +950,6 @@
for dir in %{l_prefix}/lib /lib64 /usr/lib64 /lib /usr/lib /usr/ccs/lib; do
[ -d $dir ] && libdirs="$libdirs $dir"
done
- loclibs=""
- case `(uname -s) 2>/dev/null` in
- Linux ) loclibs="-lm -lrt" ;;
- esac
- PATH=$PATH:`echo "${l_make}" | sed -e 's;\(.*\)/[^/][^/]*$;\1;'` \
./Configure \
-d -e -s \
-Dprefix=%{l_prefix} \
@@ -796,12 +964,15 @@
-Dldflags="-L""%{l_prefix}/lib" \
-Dlibpth="$libdirs" \
-Dglibpth="$libdirs" \
- -Dlibs="$loclibs" \
-Dscriptdir="%{l_prefix}/bin" \
-Uinstallusrbinperl \
-Adefine:useshrplib='false' \
-Ui_malloc -Ui_iconv -Ui_db
- ${l_make} miniperl || exit $?
+ case `sh $shtool platform -n -L -S "" -C "+" -F "%-%"` in
+ *-cygwin* ) miniperl="miniperl.exe" ;;
+ * ) miniperl="miniperl" ;;
+ esac
+ ${l_make} $miniperl || exit $?
rm -f *.o >/dev/null 2>&1 || true
) || exit $?
l_perl="`pwd`/perl-%{V_perl}/miniperl"; export l_perl
@@ -842,6 +1013,44 @@
( mkdir lib; cd lib; ln -s ../lib*.a . ) || exit $?
) || exit $?
+ # build BSD libarchive
+ ( cd libarchive-%{V_libarchive}
+ CC="${l_cc}" \
+ CFLAGS="-O -D_POSIX_PTHREAD_SEMANTICS" \
+ 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" \
+ LDFLAGS="-L`pwd`/../zlib-%{V_zlib} -L`pwd`/../bzip2-%{V_bzip2} -L`pwd`/../xz-%{V_xz}/src/liblzma/.libs -L`pwd`/../openssl-%{V_openssl}" \
+ GREP="grep" \
+ ./configure \
+ --prefix=%{l_prefix} \
+ --enable-bsdtar \
+ --enable-bsdcpio \
+ --with-zlib \
+ --with-bz2lib \
+ --with-lzma \
+ --without-lzmadec \
+ --with-openssl \
+ --without-xml2 \
+ --without-expat \
+ --without-iconv \
+ --disable-shared
+ ${l_make} || exit $?
+ ( mv bsdcpio bsdtar ..; ${l_make} clean || true; mv ../bsdcpio ../bsdtar . ) || exit $?
+ ) || exit $?
+
+ # build GNU diffutils
+ ( cd diffutils-%{V_diffutils}
+ CC="${l_cc}" \
+ CFLAGS="-O" \
+ ./configure \
+ --prefix=%{l_prefix} \
+ --disable-nls
+ ${l_make} || exit $?
+ ( mv src/diff src/diff3 src/sdiff src/cmp ..
+ ${l_make} clean || true
+ mv ../diff ../diff3 ../sdiff ../cmp .
+ ) || exit $?
+ ) || exit $?
+
# display verbosity header
set +x; VERBOSE "BUILD: Build cURL (URL Fetching Tool)"; set -x
@@ -852,7 +1061,6 @@
echo 'lt_cv_sys_max_cmd_len=100'
) >config.cache
CC="${l_cc}" \
- MAKE="${l_make}" \
CFLAGS="-I`pwd`/../zlib-%{V_zlib}" \
CPPFLAGS="-I`pwd`/../zlib-%{V_zlib}" \
LDFLAGS="-L`pwd`/../zlib-%{V_zlib}" \
@@ -868,7 +1076,18 @@
--with-ssl=`pwd`/../openssl-%{V_openssl} \
--with-ca-bundle=%{l_prefix}/etc/openpkg/openpkg.x509
${l_make} || exit $?
- ( mv src/curl ..; ${l_make} clean || true; mv ../curl ./src ) || exit $?
+ mv src/curl ..; ${l_make} clean || true; mv ../curl .
+ ) || exit $?
+
+ # build PCRE library
+ ( cd pcre-%{V_pcre}
+ CC="${l_cc}" \
+ GREP="grep" \
+ ./configure \
+ --disable-cpp \
+ --disable-utf8 \
+ --disable-shared
+ ${l_make} || exit $?
) || exit $?
# display verbosity header
@@ -878,32 +1097,32 @@
( cd beecrypt-%{V_beecrypt}
sh $shtool subst \
-e 's;^[ ][ ]*#;#;' \
- aes.c base64.c blowfish.c entropy.c fips186.c fips186.h md5.c \
- md5.h mp.c mtprng.c mtprng.h sha1.c sha1.h sha256.c sha256.h timestamp.c
+ aes.c base64.c blockmode.c blowfish.c entropy.c fips186.c md4.c md5.c \
+ mp.c mtprng.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c \
+ sha1.c sha224.c sha256.c sha2k64.c sha384.c sha512.c timestamp.c
sh $shtool subst \
-e 's;cppglue\.lo;;g' \
-e 's;cppglue\.cxx;;g' \
-e '/^CXX = /s;@CXX@;@CC@;g' \
Makefile.in
- sh $shtool subst \
- -e '/LINENO: error: C[+]* preprocessor/{N;N;N;N;s/.*/:/;}' \
- configure
( echo 'ac_cv_have_dev_dsp=no'
echo 'ac_cv_have_dev_audio=no'
echo 'ac_cv_func_gettimeofday=yes'
echo 'bc_cv_as_noexecstack=no'
) >config.cache
CC="${l_cc}" \
- MAKE="${l_make}" \
CFLAGS="-O" \
./configure \
--cache-file=./config.cache \
--prefix=%{l_prefix} \
+ --with-cpu=none \
+ --with-arch=none \
--without-cplusplus \
--without-java \
--without-python \
- --with-cpu=none \
- --with-arch=none \
+ --disable-expert-mode \
+ --disable-aio \
+ --disable-openmp \
--disable-threads \
--disable-shared
${l_make} || exit $?
@@ -911,101 +1130,161 @@
) || exit $?
# display verbosity header
+ set +x; VERBOSE "BUILD: Build POPT (Option Parsing Library)"; set -x
+
+ # build POPT library
+ ( cd popt-%{V_popt}
+ CC="${l_cc}" \
+ CPPFLAGS="-DOPENPKG -DPOPT_fprintf=fprintf" \
+ GREP="grep" \
+ ./configure \
+ --prefix=%{l_prefix} \
+ --disable-shared \
+ --with-included-gettext \
+ --without-libintl-prefix \
+ --without-libiconv-prefix \
+ --disable-nls
+ ${l_make}
+ ) || exit $?
+
+ # display verbosity header
+ set +x; VERBOSE "BUILD: Build SQLite (RDBMS Library)"; set -x
+
+ # build SQLite library
+ ( cd sqlite-%{V_sqlite}
+ CC="${l_cc}" \
+ LIBS="-lm" \
+ GREP="grep" \
+ ./configure \
+ --prefix=%{l_prefix} \
+ --disable-threadsafe \
+ --disable-readline \
+ --disable-debug \
+ --disable-amalgamation \
+ --disable-tcl \
+ --disable-shared
+ ${l_make}
+ ) || exit $?
+
+ # display verbosity header
set +x; VERBOSE "BUILD: Build RPM (RPM Package Manager)"; set -x
# build RPM
( br=`pwd`
- cd rpm-%{V_rpm}
-
- # remove object files accidentally distributed with the RPM tarball
- rm -f db/build_unix/*.o
- rm -f db/build_unix/*.lo
-
- # remove embedded zlib (we are linking with an external one)
- rm -rf zlib
-
- # kill Linux-based preconfigured DB header, to allow the Makefiles to
- # symlink to it the header that is configured for the current system.
- rm -f rpmdb/db.h
-
- # make sure we do not trigger Autoconf/Automake tools
- touch configure
- touch config.h.in
-
- # disable running of any Autoconf/Automake tools
- ACLOCAL=true
- AUTOCONF=true
- AUTOMAKE=true
- AUTOHEADER=true
- MAKEINFO=true
- AMTAR=true
- export ACLOCAL AUTOMAKE AUTOHEADER MAKEINFO AMTAR
+ cd rpm-%{V_rpm_major}.%{V_rpm_minor}
# cheat GNU Autoconf
( echo 'ac_cv_path_MSGFMT=:'
echo 'ac_cv_path_GMSGFMT=:'
echo 'ac_cv_path_XGETTEXT=:'
echo 'ac_cv_path_MSGMERGE=:'
- echo "ac_cv_path_MKDIR='%{l_prefix}/lib/openpkg/shtool mkdir -f -p -m 755'"
- echo "ac_cv_path___MKDIR='%{l_prefix}/lib/openpkg/shtool mkdir -f -p -m 755'"
- echo "ac_cv_path___PYTHON=true"
- echo "ac_cv_path___DOXYGEN=true"
- echo "acl_cv_rpath=no"
echo "ac_cv_header_getopt_h=no"
+ echo "ac_cv_lib_gz_gzread=no"
) >config.cache
- # provide platform identification
- os_name=`(uname -s) 2>/dev/null` || os_name='Unknown'
- os_name=`echo "${os_name}" |\
- sed -e 's;[^a-zA-Z0-9];;g' |\
- tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ # use miniperl
+ PERL="${l_perl}"
+ export PERL
# set build tool flags
CC="${l_cc}"
- CPPFLAGS="-DOPENPKG -DOPENPKG_${os_name} -I$br/zlib-%{V_zlib} -I$br/bzip2-%{V_bzip2} -I$br/beecrypt-%{V_beecrypt}"
- CFLAGS="$CPPFLAGS"
- LDFLAGS="-L$br/zlib-%{V_zlib} -L$br/bzip2-%{V_bzip2} -L$br/beecrypt-%{V_beecrypt}"
- LIBS="$LDFLAGS -lz -lbz2 -lbeecrypt"
- case $os_name in
- SUNOS* ) LIBS="$LIBS -lresolv" ;;
- IRIX* ) LIBS="$LIBS -lgen" ;;
- esac
- export CC CPPFLAGS CFLAGS LDFLAGS LIBS
+ CFLAGS=""
+ CPPFLAGS="-DRPM_VENDOR_OPENPKG"
+ LDFLAGS=""
+ LIBS=""
+ LIBS="$LIBS -lm"
+ export CC
+ export CFLAGS
+ export CPPFLAGS
+ export LDFLAGS
+ export LIBS
- # adjust for BeeCrypt 4.0
+ # special platform workarounds
+ GREP="grep"
+ export GREP
+
+ # determine POPT option, RPM macros and Lua script file paths
+ RPMPOPT="%{l_prefix}/lib/openpkg/rpmpopt"
+ RPMPOPT="$RPMPOPT:%{l_prefix}/etc/openpkg/rpmpopt"
+ RPMPOPT="$RPMPOPT:%{l_prefix}/etc/openpkg/rpmpopt.d/*"
+ RPMPOPT="$RPMPOPT:~/.openpkg/rpmpopt"
+ RPMPOPT="$RPMPOPT:@../../.openpkg/rpmpopt"
+ RPMPOPT="$RPMPOPT:@../.openpkg/rpmpopt"
+ RPMPOPT="$RPMPOPT:@./.openpkg/rpmpopt"
+ RPMMACROS="%{l_prefix}/lib/openpkg/rpmmacros"
+ RPMMACROS="$RPMMACROS:%{l_prefix}/etc/openpkg/rpmmacros"
+ RPMMACROS="$RPMMACROS:%{l_prefix}/etc/openpkg/rpmmacros.d/*"
+ RPMMACROS="$RPMMACROS:~/.openpkg/rpmmacros"
+ RPMMACROS="$RPMMACROS:@../../.openpkg/rpmmacros"
+ RPMMACROS="$RPMMACROS:@../.openpkg/rpmmacros"
+ RPMMACROS="$RPMMACROS:@./.openpkg/rpmmacros"
+ RPMLUA="%{l_prefix}/lib/openpkg/rpmlua"
+ RPMLUA="$RPMLUA:%{l_prefix}/etc/openpkg/rpmlua"
+ RPMLUA="$RPMLUA:%{l_prefix}/etc/openpkg/rpmlua.d/*"
+ RPMLUA="$RPMLUA:~/.openpkg/rpmlua"
+ RPMLUA="$RPMLUA:@../../.openpkg/rpmlua"
+ RPMLUA="$RPMLUA:@../.openpkg/rpmlua"
+ RPMLUA="$RPMLUA:@./.openpkg/rpmlua"
+
+ # parametrize integrity checking framework
sh $shtool subst \
- -e 's;beecrypt\.api\.h;beecrypt.h;g' \
- rpmio/rpmio_internal.h
+ -e "s;0000000000000000000000000000000000000000;7D121A8FC05DC18A4329E9EF67042EC961B7AE34;" \
+ -e "s;0\\.0\\.0;0.9.0;" \
+ rpmqv.c
+
+ # disable building of any tests
+ # (mainly because those would fail because of integrity checking anyway)
sh $shtool subst \
- -e 's;\(rsavrfy(\)\(&dig->rsa_pk\);\1\2.n, \2.e;g' \
- lib/signature.c
- sh $shtool subst \
- -e 's;\(^LIBS =\)[ \t]*;\1 -ldb;' \
- -e 's;\(^rpmdb_[^_][^_]*_LDFLAGS =\)[ \t]*;\1 -L$(top_srcdir)/db3;g' \
- rpmdb/Makefile.in
- sh $shtool subst \
- -e 's;\(^myLDFLAGS =\);\1 -L$(top_srcdir)/db3;' \
+ -e 's;tools scripts tests doc;tools scripts doc;' \
Makefile.in
- # configure the package
- MAKE="${l_make}" \
- sh ./configure \
+ # configure program
+ ./configure \
--cache-file=./config.cache \
--prefix=%{l_prefix} \
- --with-db \
- --with-glob \
+ --mandir="%{l_prefix}/man" \
+ --includedir="%{l_prefix}/include/openpkg" \
+ --with-name="OpenPKG RPM" \
+ --with-path-cfg="%{l_prefix}/etc/openpkg" \
+ --with-path-rpmpopt="$RPMPOPT" \
+ --with-path-macros="$RPMMACROS" \
+ --with-path-rpmlua="$RPMLUA" \
+ --with-path-lib="%{l_prefix}/lib/openpkg" \
+ --with-path-locale="%{l_prefix}/share/openpkg/locale" \
+ --with-path-database="%{l_prefix}/RPM/DB" \
+ --with-path-sources="%{l_prefix}/RPM" \
+ --with-bugreport="openpkg-users@openpkg.org" \
+ --with-beecrypt="$br/beecrypt-%{V_beecrypt}" \
+ --with-openssl="$br/openssl-%{V_openssl}" \
+ --with-zlib="$br/zlib-%{V_zlib}" \
+ --with-bzip2="$br/bzip2-%{V_bzip2}" \
+ --with-popt="$br/popt-%{V_popt}" \
+ --with-sqlite="$br/sqlite-%{V_sqlite}" \
+ --with-pcre="$br/pcre-%{V_pcre}" \
+ --with-uuid="$br/uuid-%{V_uuid}" \
+ --with-lua="internal" \
+ --with-db="internal" \
+ --without-db-rpc \
+ --without-db-largefile \
+ --with-db-tools-integrated \
+ --with-db-mutex="UNIX/fcntl" \
+ --without-file \
+ --without-neon \
+ --without-pthreads \
+ --without-libelf \
+ --without-selinux \
+ --without-perl \
--without-python \
--without-apidocs \
+ --disable-build-warnings \
+ --disable-build-extlibdep \
+ --disable-build-intlibdep \
+ --disable-build-lafiles \
--disable-shared \
--disable-rpath \
--disable-nls
- # deny automatic dependency calculations
- rm -f find-provides find-requires
- ln -s autodeps/none find-provides
- ln -s autodeps/none find-requires
-
- # build the package
+ # build program
${l_make}
) || exit $?
@@ -1013,13 +1292,22 @@
set +x; VERBOSE "BUILD: Build OpenPKG Frontend (Set-UID Wrapper)"; set -x
# build "openpkg" executable
- ( cd openpkg-executable-%{V_exec}
- ${l_make} \
+ ${l_make} -f `SOURCE openpkg.mk` \
CC="${l_cc}" \
OPENPKG_PREFIX="%{l_prefix}" \
OPENPKG_SUSR="%{l_susr}" \
- OPENPKG_MUSR="%{l_musr}"
- ) || exit $?
+ OPENPKG_MUSR="%{l_musr}" \
+ OPENPKG_DOT_C="`SOURCE openpkg.c`"
+
+ # display verbosity header
+ set +x; VERBOSE "BUILD: Build OpenPKG Mutual Exclusion (MutEx) Utility"; set -x
+
+ # build "mutex" executable
+ ${l_make} -f `SOURCE mutex.mk` \
+ CC="${l_cc}" \
+ CPPFLAGS="-Ipopt-%{V_popt}" \
+ LDFLAGS="-Lpopt-%{V_popt} -Lpopt-%{V_popt}/.libs" \
+ MUTEX_DOT_C="`SOURCE mutex.c`"
%install
# skip in bootstrap phase 2 (see openpkg.boot)
@@ -1057,73 +1345,93 @@
done
test -d $RPM_BUILD_ROOT%{l_prefix}/RPM || \
mkdir $RPM_BUILD_ROOT%{l_prefix}/RPM
- for dir in SRC PKG DB TMP; do
+ for dir in SRC PKG DB TR TMP; do
test -d $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir || \
mkdir $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir
done
mkdir $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg
- mkdir $RPM_BUILD_ROOT%{l_prefix}/include/openpkg
# display verbosity header
set +x; VERBOSE "INSTALL: Installation of RPM"; set -x
# install RPM into installation hierarchy
- ( cd rpm-%{V_rpm}
- DESTDIR="$RPM_BUILD_ROOT"
- export DESTDIR
- ${l_make} install
+ ( cd rpm-%{V_rpm_major}.%{V_rpm_minor}
+ ${l_make} install DESTDIR="$RPM_BUILD_ROOT"
+ cp lua/rpmlua $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/lua
+ chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/lua
) || exit $?
+ # post-adjust RPM installation
+ mv $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/macros \
+ $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmmacros
+
# display verbosity header
set +x; VERBOSE "INSTALL: Install Additional Files"; set -x
# add additional development files
- cp rpm-%{V_rpm}/misc/glob.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/
- cp zlib-%{V_zlib}/zlib.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/
- cp zlib-%{V_zlib}/zconf.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/
+ cp rpm-%{V_rpm_major}.%{V_rpm_minor}/rpmio/glob.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
+ cp zlib-%{V_zlib}/zlib.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
+ cp zlib-%{V_zlib}/zconf.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
cp zlib-%{V_zlib}/libz.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmz.a
- cp bzip2-%{V_bzip2}/bzlib.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/
+ cp bzip2-%{V_bzip2}/bzlib.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
cp bzip2-%{V_bzip2}/libbz2.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmbz2.a
- cp beecrypt-%{V_beecrypt}/beecrypt.h $RPM_BUILD_ROOT%{l_prefix}/include/rpm/
+ cp beecrypt-%{V_beecrypt}/include/beecrypt/beecrypt.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
cp beecrypt-%{V_beecrypt}/libbeecrypt.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmbeecrypt.a
+ cp popt-%{V_popt}/popt.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
+ cp popt-%{V_popt}/.libs/libpopt.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmpopt.a
+ cp sqlite-%{V_sqlite}/sqlite3.h $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm/
+ cp sqlite-%{V_sqlite}/.libs/libsqlite3.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmsqlite3.a
# display verbosity header
set +x; VERBOSE "INSTALL: Post-Adjust Installation"; set -x
- # post-adjust RPM installation (namespace-clean POPT inclusion)
- mv $RPM_BUILD_ROOT%{l_prefix}/lib/libpopt.a \
- $RPM_BUILD_ROOT%{l_prefix}/lib/librpmpopt.a
- mv $RPM_BUILD_ROOT%{l_prefix}/include/popt.h \
- $RPM_BUILD_ROOT%{l_prefix}/include/rpm/popt.h
-
# move C API into custom locations
- mv $RPM_BUILD_ROOT%{l_prefix}/include/rpm \
- $RPM_BUILD_ROOT%{l_prefix}/include/openpkg/rpm
mv $RPM_BUILD_ROOT%{l_prefix}/lib/librpm* \
$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/
+ mv $RPM_BUILD_ROOT%{l_prefix}/lib/pkgconfig/rpm.pc \
+ $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/
+ # FIXME: does the rpm.pc really work this way?
# move rpm tool to custom location
mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm \
$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm
mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpm.8 \
$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm.8
+ ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm >/dev/null 2>&1 || true
# move rpm2cpio tool to custom location
mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm2cpio \
$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio
mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpm2cpio.8 \
$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio.8
+ ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm2cpio >/dev/null 2>&1 || true
- # replace symlinks with hardlinks
- for entry in rpme:rpmi rpmt:rpmb rpmu:rpmi rpmv:rpmq; do
- eval `echo $entry | sed -e 's/^\(.*\):\(.*\)$/dst=\1; src=\2/'`
- rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$dst
- ln $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$src \
- $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$dst
- done
- rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/rpmbuild
- ln $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmb \
- $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmbuild
+ # move rpmconstant tool to custom location
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpmconstant \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmconstant
+ mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmconstant.8 \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmconstant.8
+ ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmconstant >/dev/null 2>&1 || true
+
+ # move rpmcache tool to custom location
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpmcache \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmcache
+ mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmcache.8 \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmcache.8
+ ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmcache >/dev/null 2>&1 || true
+
+ # move rpmgrep tool to custom location
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpmgrep \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgrep
+ mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/rpmgrep.1 \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgrep.1
+ ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgrep >/dev/null 2>&1 || true
+
+ # move manual pages to custom location
+ mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmdeps.8 \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmdeps.8
+ mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmgraph.8 \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmgraph.8
mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/rpmbuild.8 \
$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpmbuild.8
@@ -1133,29 +1441,29 @@
# strip RPM installation
${l_strip} $RPM_BUILD_ROOT%{l_prefix}/bin/* \
$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/* >/dev/null 2>&1 || true
- for dir in man/ja man/pl man/ru man/sk src; do
- rm -rf $RPM_BUILD_ROOT%{l_prefix}/$dir >/dev/null 2>&1 || true
- done
- rm -rf $RPM_BUILD_ROOT/var >/dev/null 2>&1 || true
- for file in rpme rpmi rpmsign rpmu rpmverify rpmquery gendiff; do
+ for file in rpmbuild gendiff; do
rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/$file >/dev/null 2>&1 || true
done
- rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/* >/dev/null 2>&1 || true
+ for dir in RPMS SRPMS SPEC SOURCES BUILD; do
+ rm -rf $RPM_BUILD_ROOT%{l_prefix}/RPM/$dir >/dev/null 2>&1 || true
+ done
rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/* >/dev/null 2>&1 || true
rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man3/* >/dev/null 2>&1 || true
- rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/rpmpopt >/dev/null 2>&1 || true
- rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/rpmrc >/dev/null 2>&1 || true
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/lib*.la >/dev/null 2>&1 || true
- rm -rf $RPM_BUILD_ROOT%{l_prefix}/var/lib >/dev/null 2>&1 || true
+ rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/pkgconfig >/dev/null 2>&1 || true
for file in \
- u_pkg.sh vpkg-provides.sh vpkg-provides2.sh rpmdiff.cgi rpmdiff \
- mkinstalldirs magic.prov magic.req http.req getpo.sh \
- get_magic.pl find-provides find-requires find-requires.perl \
- find-req.pl find-provides.perl find-prov.pl find-lang.sh \
- cpanflute convertrpmrc.sh check-prereqs rpmputtext rpmgettext \
- brp-compress brp-redhat brp-sparc64-linux brp-strip \
- brp-strip-shared brp-strip-comment-note rpmrc \
- config.guess config.sub check-files; do
+ brp-compress brp-python-bytecompile brp-java-gcjcompile brp-strip brp-strip-comment-note \
+ brp-nobuildrootpath brp-strip-shared brp-strip-static-archive brp-sparc64-linux check-files \
+ cross-build executabledeps.sh find-debuginfo.sh find-lang.sh find-prov.pl find-req.pl \
+ find-provides.perl find-requires.perl getpo.sh http.req javadeps.sh libtooldeps.sh mono-find-provides \
+ mono-find-requires osgideps.pl pkgconfigdeps.sh perldeps.pl perl.prov perl.req pythondeps.sh \
+ php.prov php.req rpmdb_loadcvt rpm.daily rpm.log rpm.xinetd symclash.py symclash.sh tgpg u_pkg.sh \
+ vpkg-provides.sh vpkg-provides2.sh install-sh mkinstalldirs; do
+ rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$file >/dev/null 2>&1 || true
+ done
+ for file in \
+ db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load \
+ db_printlog db_recover db_stat db_upgrade db_verify; do
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/$file >/dev/null 2>&1 || true
done
@@ -1180,48 +1488,75 @@
l_cflags=""
l_cppflags="-DOPENPKG -I${l_prefix}/include/openpkg/rpm -I${l_prefix}/include/openpkg"
l_ldflags="-L${l_prefix}/lib/openpkg"
- l_libs="-lrpmbuild -lrpm -lrpmio -lrpmdb -lrpmpopt -lrpmbeecrypt -lrpmbz2 -lrpmz"
+ l_libs="-lrpmbuild -lrpm -lrpmio -lrpmdb -lrpmmisc -lrpmsqlite3 -lrpmpopt -lrpmbeecrypt -lrpmbz2 -lrpmz"
sed -e "s:@l_prefix@:%{l_prefix}:g" \
-e "s:@l_cc@:$l_cc:g" \
-e "s:@l_cflags@:$l_cflags:g" \
-e "s:@l_cppflags@:$l_cppflags:g" \
-e "s:@l_ldflags@:$l_ldflags:g" \
-e "s:@l_libs@:$l_libs:g" \
- -e "s:@l_version@:%{V_rpm}:g" \
+ -e "s:@l_version@:%{V_rpm_major}.%{V_rpm_minor}:g" \
<`SOURCE rpm-config.sh` \
>$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config
) || exit $?
chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config
- sed -e "s:RPM_VERSION:%{V_rpm}:g" \
+ sed -e "s:RPM_VERSION:%{V_rpm_major}.%{V_rpm_minor}:g" \
<`SOURCE rpm-config.8` \
>$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm-config.8
# install OpenPKG registry commands
- ( cd openpkg-registry-%{V_registry}
- mv $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm \
- $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpm
- sed -e "s;@l_prefix@;%{l_prefix};g" \
- rpm.sh >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm
- chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm
- sed -e "s;@l_prefix@;%{l_prefix};g" \
- register.sh >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register
- chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register
- cp register.8 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register.8
- ) || exit $?
+ mv $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm \
+ $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpm
+ sed -e "s;@l_prefix@;%{l_prefix};g" \
+ `SOURCE rpm.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm
+ chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/rpm
+ sed -e "s;@l_prefix@;%{l_prefix};g" \
+ `SOURCE register.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register
+ chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register
+ cp `SOURCE register.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/register.8
- # install OpenPKG Tool Chain command subset
- ( cd openpkg-tools-%{V_tools}
- cp cmd/curl.sh $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/curl.sh
- cp cmd/build.pl $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl
- chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl
- cp cmd/build.8 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.8
- ) || exit $?
+ # allow GNU shtool to be called as "openpkg shtool" from external, too.
+ sed -e "s;@l_prefix@;%{l_prefix};g" \
+ `SOURCE shtool.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/shtool.sh
+ chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/shtool.sh
+
+ # install OpenPKG tool chain command subset
+ cp `SOURCE curl.sh` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/curl.sh
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/curl.sh
+ cp `SOURCE build.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl
+ cp `SOURCE build.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.8
+ cp `SOURCE index.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.pl
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.pl
+ cp `SOURCE index.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.8
+ cp `SOURCE search.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/search.pl
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/search.pl
+ cp `SOURCE search.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/search.8
+ cp `SOURCE mirror.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/mirror.pl
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/mirror.pl
+ cp `SOURCE mirror.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/mirror.8
+ cp `SOURCE makeproxy.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/makeproxy.pl
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/makeproxy.pl
+ cp `SOURCE makeproxy.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/makeproxy.8
+ cp `SOURCE lint-fsl.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-fsl.pl
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-fsl.pl
+ cp `SOURCE lint-rc.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rc.pl
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rc.pl
+ cp `SOURCE lint-rpm.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rpm.pl
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-rpm.pl
+ cp `SOURCE lint-spec.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-spec.pl
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/lint-spec.pl
+ cp `SOURCE dev.pl` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/dev.pl
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/dev.pl
+ cp `SOURCE dev.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/dev.8
+ cp `SOURCE sea.sh` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/sea.sh
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/sea.sh
+ cp `SOURCE sea.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/sea.8
+ cp `SOURCE stack.sh` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/stack.sh
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/stack.sh
+ cp `SOURCE stack.8` $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/stack.8
# install RPM extension
- ( cd rpm-%{V_rpm}
- cp file/file $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/file
- ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/file
- ) || exit $?
( cd perl-%{V_perl}
cp miniperl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/miniperl
${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/miniperl
@@ -1231,7 +1566,7 @@
${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/openssl
) || exit $?
( cd curl-%{V_curl}
- cp src/curl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/curl
+ cp curl $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/curl
${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/curl
) || exit $?
( cd bzip2-%{V_bzip2}
@@ -1242,6 +1577,10 @@
cp gzip $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/gzip
${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/gzip
) || exit $?
+ ( cd xz-%{V_xz}
+ cp src/xz/xz $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/xz
+ ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/xz
+ ) || exit $?
( cd patch-%{V_patch}
cp patch $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/patch
${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/patch
@@ -1258,6 +1597,27 @@
cp uuid $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid
${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid
) || exit $?
+ ( cd sqlite-%{V_sqlite}
+ cp sqlite3 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/sqlite3
+ ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/sqlite3
+ ) || exit $?
+ ( cd libarchive-%{V_libarchive}
+ cp bsdcpio $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdcpio
+ cp bsdtar $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdtar
+ ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdcpio
+ ${l_strip} $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bsdtar
+ ) || exit $?
+ ( cd diffutils-%{V_diffutils}
+ ${l_strip} diff diff3 sdiff cmp
+ cp diff diff3 sdiff cmp $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/
+ ) || exit $?
+ ( cd svs-%{V_svs}
+ sed -e "s;/bin/sh;%{l_prefix}/lib/openpkg/bash;" \
+ -e "s;^\( *\)\(diff \);\1%{l_prefix}/lib/openpkg/\2;" \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/svs
+ chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/svs
+ cp svs.1 $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/svs.1
+ ) || exit $?
sed -e "s;@l_prefix@;%{l_prefix};g" \
-e "s;@l_musr@;%{l_musr};g" \
-e "s;@l_mgrp@;%{l_mgrp};g" \
@@ -1278,9 +1638,16 @@
sed -e "s:@l_prefix@:%{l_prefix}:g" \
<`SOURCE rpmtool` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmtool
chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmtool
+ sed -e "s;@l_prefix@;%{l_prefix};g" \
+ -e "s;@l_musr@;%{l_musr};g" \
+ -e "s;@l_mgrp@;%{l_mgrp};g" \
+ <`SOURCE license.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/license
+ chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/license
+ sed -e "s;@l_prefix@;%{l_prefix};g" \
+ <`SOURCE license.8` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/license.8
# install OpenPKG tool chain execution frontend and execution wrapper
- cp openpkg-executable-%{V_exec}/openpkg $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg
+ cp openpkg $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg
${l_strip} $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg
chmod 4775 $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg
sed -e "s;@l_prefix@;%{l_prefix};g" \
@@ -1292,12 +1659,12 @@
# install more OpenPKG tool chain commands
sed -e "s;@l_prefix@;%{l_prefix};g" \
- <`SOURCE install.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/install
- chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/install
- sed -e "s;@l_prefix@;%{l_prefix};g" \
<`SOURCE man.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/man
chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/man
+ # install OpenPKG mutex utility
+ cp mutex $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/mutex
+
# install an own copy of shtool
cp $shtool $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/shtool
chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/shtool
@@ -1387,18 +1754,37 @@
echo ""
) >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/managers
+ # install default release information file
+ release_tag=""
+ release_url=""
+ l_stack=""; [ ".%{?l_stack:set}" = .set ] && l_stack="%{l_stack}"
+ case "$l_stack" in
+ http: | https: | ftp: | file: )
+ release_url="$l_stack"
+ ;;
+ [a-zA-Z]* )
+ release_tag="$l_stack"
+ ;;
+ esac
+ ( echo "##"
+ echo "## release -- OpenPKG Release Information"
+ echo "##"
+ echo ""
+ echo "TAG=$release_tag"
+ echo "URL=$release_url"
+ echo ""
+ ) >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/release
+
# install overriding RPM configuration files
sed -e "s:@l_prefix@:%{l_prefix}:g" \
<`SOURCE rpmpopt` \
- >>$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmpopt
- sed -e "s:@l_prefix@:%{l_prefix}:g" \
- <`SOURCE rpmrc` \
- >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmrc
+ >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmpopt
sed -e "s:@l_prefix@:%{l_prefix}:g" \
-e "s:@l_prefix_static@:%{l_prefix}:g" \
-e "s;@l_build_path@;$l_build_path;g" \
-e "s;@l_build_ldlp@;$l_build_ldlp;g" \
-e "s;@l_build_ulim@;$l_build_ulim;g" \
+ -e "s;@l_unprivileged@;$l_unprivileged;g" \
-e "s:@TAG@:$tag:g" \
-e "s:@SUSR@:$susr:g" \
-e "s:@SGRP@:$sgrp:g" \
@@ -1410,6 +1796,9 @@
-e "s:@NGRP@:$ngrp:g" \
<`SOURCE rpmmacros` \
>$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmmacros
+ sed -e "s:@l_prefix@:%{l_prefix}:g" \
+ <`SOURCE rpmlua` \
+ >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmlua
cp `SOURCE openpkg.org.pgp` \
$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/openpkg.org.pgp
cp `SOURCE openpkg.com.pgp` \
@@ -1417,6 +1806,33 @@
cp `SOURCE openpkg.net.pgp` \
$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/openpkg.net.pgp
+ # install license data
+ test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d || \
+ mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d
+ cp `SOURCE license-BOOT.txt` \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/BOOT
+ cp `SOURCE license-COMMUNITY.txt` \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/COMMUNITY
+ cp `SOURCE license-EVAL.txt` \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/EVAL
+ cp `SOURCE license-EXAMPLE.txt` \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/EXAMPLE
+ cp `SOURCE license-PROMO.txt` \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/PROMO
+ cp `SOURCE license-RECOVERY.txt` \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license.d/RECOVERY
+ cp `SOURCE license.lua` \
+ $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/license.lua
+ touch $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/license
+
+ # provide directories for easy overriding of RPM configuration files
+ test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmmacros.d || \
+ mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmmacros.d
+ test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmpopt.d || \
+ mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmpopt.d
+ test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmlua.d || \
+ mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/rpmlua.d
+
# display verbosity header
set +x; VERBOSE "INSTALL: Done. Thank you for flying OpenPKG..."; set -x
@@ -1428,6 +1844,7 @@
%dir %{l_prefix}/RPM
%dir %{l_prefix}/RPM/SRC
%dir %{l_prefix}/RPM/PKG
+ %dir %{l_prefix}/RPM/TR
%dir %{l_prefix}/RPM/DB
%dir %{l_prefix}/RPM/TMP
%dir %{l_prefix}/cgi
@@ -1440,10 +1857,23 @@
%dir %{l_prefix}/etc/rc.d
%{l_prefix}/etc/rc.d/rc.openpkg
%dir %{l_prefix}/etc/openpkg
+ %ghost %{l_prefix}/etc/openpkg/license
+ %dir %{l_prefix}/etc/openpkg/license.d
+ %{l_prefix}/etc/openpkg/license.d/BOOT
+ %{l_prefix}/etc/openpkg/license.d/COMMUNITY
+ %{l_prefix}/etc/openpkg/license.d/EVAL
+ %{l_prefix}/etc/openpkg/license.d/EXAMPLE
+ %{l_prefix}/etc/openpkg/license.d/PROMO
+ %{l_prefix}/etc/openpkg/license.d/RECOVERY
%ghost %{l_prefix}/etc/openpkg/uuid
+ %config %{l_prefix}/etc/openpkg/release
%config %{l_prefix}/etc/openpkg/platform
%config %{l_prefix}/etc/openpkg/rpmmacros
- %config %{l_prefix}/etc/openpkg/rpmrc
+ %config %{l_prefix}/etc/openpkg/rpmpopt
+ %config %{l_prefix}/etc/openpkg/rpmlua
+ %dir %{l_prefix}/etc/openpkg/rpmmacros.d
+ %dir %{l_prefix}/etc/openpkg/rpmpopt.d
+ %dir %{l_prefix}/etc/openpkg/rpmlua.d
%ghost %{l_prefix}/etc/openpkg/register.conf
%ghost %{l_prefix}/etc/openpkg/register.prep
%ghost %{l_prefix}/etc/openpkg/register.tran
@@ -1459,45 +1889,75 @@
%{l_prefix}/include/openpkg/rpm/beecrypt.h
%{l_prefix}/include/openpkg/rpm/bzlib.h
%{l_prefix}/include/openpkg/rpm/db.h
+ %{l_prefix}/include/openpkg/rpm/envvar.h
+ %{l_prefix}/include/openpkg/rpm/fs.h
%{l_prefix}/include/openpkg/rpm/fts.h
%{l_prefix}/include/openpkg/rpm/glob.h
- %{l_prefix}/include/openpkg/rpm/hdrinline.h
- %{l_prefix}/include/openpkg/rpm/header.h
+ %{l_prefix}/include/openpkg/rpm/mire.h
%{l_prefix}/include/openpkg/rpm/misc.h
+ %{l_prefix}/include/openpkg/rpm/pkgio.h
%{l_prefix}/include/openpkg/rpm/popt.h
+ %{l_prefix}/include/openpkg/rpm/rpm4compat.h
%{l_prefix}/include/openpkg/rpm/rpmal.h
+ %{l_prefix}/include/openpkg/rpm/rpmbc.h
%{l_prefix}/include/openpkg/rpm/rpmbuild.h
+ %{l_prefix}/include/openpkg/rpm/rpmcb.h
%{l_prefix}/include/openpkg/rpm/rpmcli.h
+ %{l_prefix}/include/openpkg/rpm/rpmconstant.h
+ %{l_prefix}/include/openpkg/rpm/rpmdav.h
%{l_prefix}/include/openpkg/rpm/rpmdb.h
%{l_prefix}/include/openpkg/rpm/rpmds.h
- %{l_prefix}/include/openpkg/rpm/rpmerr.h
+ %{l_prefix}/include/openpkg/rpm/rpmevr.h
%{l_prefix}/include/openpkg/rpm/rpmfc.h
%{l_prefix}/include/openpkg/rpm/rpmfi.h
- %{l_prefix}/include/openpkg/rpm/rpmfile.h
+ %{l_prefix}/include/openpkg/rpm/rpmgc.h
+ %{l_prefix}/include/openpkg/rpm/rpmgi.h
%{l_prefix}/include/openpkg/rpm/rpmhash.h
+ %{l_prefix}/include/openpkg/rpm/rpmio-stub.h
%{l_prefix}/include/openpkg/rpm/rpmio.h
+ %{l_prefix}/include/openpkg/rpm/rpmiotypes.h
+ %{l_prefix}/include/openpkg/rpm/rpmku.h
%{l_prefix}/include/openpkg/rpm/rpmlib.h
%{l_prefix}/include/openpkg/rpm/rpmlog.h
%{l_prefix}/include/openpkg/rpm/rpmmacro.h
- %{l_prefix}/include/openpkg/rpm/rpmmessages.h
+ %{l_prefix}/include/openpkg/rpm/rpmmg.h
+ %{l_prefix}/include/openpkg/rpm/rpmns.h
+ %{l_prefix}/include/openpkg/rpm/rpmnss.h
%{l_prefix}/include/openpkg/rpm/rpmpgp.h
%{l_prefix}/include/openpkg/rpm/rpmps.h
%{l_prefix}/include/openpkg/rpm/rpmspec.h
+ %{l_prefix}/include/openpkg/rpm/rpmsq.h
+ %{l_prefix}/include/openpkg/rpm/rpmssl.h
%{l_prefix}/include/openpkg/rpm/rpmsw.h
+ %{l_prefix}/include/openpkg/rpm/rpmsx.h
+ %{l_prefix}/include/openpkg/rpm/rpmtag.h
%{l_prefix}/include/openpkg/rpm/rpmte.h
%{l_prefix}/include/openpkg/rpm/rpmts.h
%{l_prefix}/include/openpkg/rpm/rpmurl.h
- %{l_prefix}/include/openpkg/rpm/stringbuf.h
+ %{l_prefix}/include/openpkg/rpm/rpmuuid.h
+ %{l_prefix}/include/openpkg/rpm/rpmversion.h
+ %{l_prefix}/include/openpkg/rpm/rpmwf.h
+ %{l_prefix}/include/openpkg/rpm/rpmxar.h
+ %{l_prefix}/include/openpkg/rpm/rpmzlog.h
+ %{l_prefix}/include/openpkg/rpm/signature.h
+ %{l_prefix}/include/openpkg/rpm/sqlite3.h
%{l_prefix}/include/openpkg/rpm/ugid.h
+ %{l_prefix}/include/openpkg/rpm/yarn.h
%{l_prefix}/include/openpkg/rpm/zconf.h
%{l_prefix}/include/openpkg/rpm/zlib.h
%dir %{l_prefix}/info
%dir %{l_prefix}/lib
%dir %{l_prefix}/lib/openpkg
%{l_prefix}/lib/openpkg/bash
+ %{l_prefix}/lib/openpkg/bsdcpio
+ %{l_prefix}/lib/openpkg/bsdtar
%{l_prefix}/lib/openpkg/bzip2
%{l_prefix}/lib/openpkg/curl
- %{l_prefix}/lib/openpkg/file
+ %{l_prefix}/lib/openpkg/db_tool
+ %{l_prefix}/lib/openpkg/cmp
+ %{l_prefix}/lib/openpkg/diff
+ %{l_prefix}/lib/openpkg/diff3
+ %{l_prefix}/lib/openpkg/sdiff
%{l_prefix}/lib/openpkg/gzip
%{l_prefix}/lib/openpkg/librpm.a
%{l_prefix}/lib/openpkg/librpmbeecrypt.a
@@ -1505,46 +1965,52 @@
%{l_prefix}/lib/openpkg/librpmbz2.a
%{l_prefix}/lib/openpkg/librpmdb.a
%{l_prefix}/lib/openpkg/librpmio.a
+ %{l_prefix}/lib/openpkg/librpmmisc.a
%{l_prefix}/lib/openpkg/librpmpopt.a
+ %{l_prefix}/lib/openpkg/librpmsqlite3.a
%{l_prefix}/lib/openpkg/librpmz.a
- %{l_prefix}/lib/openpkg/macros
- %{l_prefix}/lib/openpkg/magic
- %{l_prefix}/lib/openpkg/magic.mgc
- %{l_prefix}/lib/openpkg/magic.mime
- %{l_prefix}/lib/openpkg/magic.mime.mgc
+ %{l_prefix}/lib/openpkg/license.lua
%{l_prefix}/lib/openpkg/miniperl
+ %{l_prefix}/lib/openpkg/mutex
%{l_prefix}/lib/openpkg/openpkg
%{l_prefix}/lib/openpkg/openssl
%{l_prefix}/lib/openpkg/patch
%{l_prefix}/lib/openpkg/rc
%{l_prefix}/lib/openpkg/rpm
- %{l_prefix}/lib/openpkg/rpmb
- %{l_prefix}/lib/openpkg/rpmd
+ %{l_prefix}/lib/openpkg/rpm.pc
%{l_prefix}/lib/openpkg/rpmdb
- %{l_prefix}/lib/openpkg/rpmdb_dump
- %{l_prefix}/lib/openpkg/rpmdb_load
- %{l_prefix}/lib/openpkg/rpmdb_verify
- %{l_prefix}/lib/openpkg/rpme
- %{l_prefix}/lib/openpkg/rpmi
- %{l_prefix}/lib/openpkg/rpmk
+ %{l_prefix}/lib/openpkg/rpmdeps
+ %{l_prefix}/lib/openpkg/lua
+ %{l_prefix}/lib/openpkg/rpmmacros
%{l_prefix}/lib/openpkg/rpmpopt
- %{l_prefix}/lib/openpkg/rpmq
- %{l_prefix}/lib/openpkg/rpmt
%{l_prefix}/lib/openpkg/rpmtool
- %{l_prefix}/lib/openpkg/rpmu
- %{l_prefix}/lib/openpkg/rpmv
%{l_prefix}/lib/openpkg/shtool
+ %{l_prefix}/lib/openpkg/sqlite3
%{l_prefix}/lib/openpkg/tar
%{l_prefix}/lib/openpkg/uuid
+ %{l_prefix}/lib/openpkg/xz
%dir %{l_prefix}/libexec
%dir %{l_prefix}/libexec/openpkg
%{l_prefix}/libexec/openpkg/build.8
%{l_prefix}/libexec/openpkg/build.pl
%{l_prefix}/libexec/openpkg/curl.sh
- %{l_prefix}/libexec/openpkg/install
+ %{l_prefix}/libexec/openpkg/dev.8
+ %{l_prefix}/libexec/openpkg/dev.pl
+ %{l_prefix}/libexec/openpkg/index.8
+ %{l_prefix}/libexec/openpkg/index.pl
+ %{l_prefix}/libexec/openpkg/license
+ %{l_prefix}/libexec/openpkg/license.8
%{l_prefix}/libexec/openpkg/lsync
%{l_prefix}/libexec/openpkg/lsync.8
+ %{l_prefix}/libexec/openpkg/lint-fsl.pl
+ %{l_prefix}/libexec/openpkg/lint-rc.pl
+ %{l_prefix}/libexec/openpkg/lint-rpm.pl
+ %{l_prefix}/libexec/openpkg/lint-spec.pl
+ %{l_prefix}/libexec/openpkg/makeproxy.8
+ %{l_prefix}/libexec/openpkg/makeproxy.pl
%{l_prefix}/libexec/openpkg/man
+ %{l_prefix}/libexec/openpkg/mirror.8
+ %{l_prefix}/libexec/openpkg/mirror.pl
%{l_prefix}/libexec/openpkg/rc
%{l_prefix}/libexec/openpkg/rc.8
%{l_prefix}/libexec/openpkg/register
@@ -1555,10 +2021,26 @@
%{l_prefix}/libexec/openpkg/rpm-config
%{l_prefix}/libexec/openpkg/rpm-config.8
%{l_prefix}/libexec/openpkg/rpm.8
+ %{l_prefix}/libexec/openpkg/rpmconstant
+ %{l_prefix}/libexec/openpkg/rpmconstant.8
%{l_prefix}/libexec/openpkg/rpm2cpio
%{l_prefix}/libexec/openpkg/rpm2cpio.8
- %{l_prefix}/libexec/openpkg/rpmbuild
%{l_prefix}/libexec/openpkg/rpmbuild.8
+ %{l_prefix}/libexec/openpkg/rpmcache
+ %{l_prefix}/libexec/openpkg/rpmcache.8
+ %{l_prefix}/libexec/openpkg/rpmdeps.8
+ %{l_prefix}/libexec/openpkg/rpmgraph.8
+ %{l_prefix}/libexec/openpkg/rpmgrep
+ %{l_prefix}/libexec/openpkg/rpmgrep.1
+ %{l_prefix}/libexec/openpkg/sea.8
+ %{l_prefix}/libexec/openpkg/sea.sh
+ %{l_prefix}/libexec/openpkg/search.8
+ %{l_prefix}/libexec/openpkg/search.pl
+ %{l_prefix}/libexec/openpkg/stack.8
+ %{l_prefix}/libexec/openpkg/stack.sh
+ %{l_prefix}/libexec/openpkg/shtool.sh
+ %{l_prefix}/libexec/openpkg/svs
+ %{l_prefix}/libexec/openpkg/svs.1
%{l_prefix}/libexec/openpkg/uuid
%{l_prefix}/libexec/openpkg/uuid.8
%dir %{l_prefix}/man
@@ -1638,7 +2120,7 @@
echo $LOGNAME`
# determine runtime details (for both inside and outside RPM!!)
- # - bootstrapping: $xxx is set from aux.wrapbin.sh
+ # - bootstrapping: $xxx is set from etc.wrapbin.sh
# - upgrading new: %{l_[smrn]{usr,grp}} is set via rpmmacros
# - upgrading old: %{l_[smrn]{usr,grp}} is not set at all
[ ".$susr" = . ] && susr="%{?l_susr}%{!?l_susr:root}"
@@ -1673,6 +2155,33 @@
[ ".$prefix" = . ] && prefix="%{l_prefix}"
prefix=`echo "$prefix" | sed -e 's;//*;/;g' -e 's;/$;;'`
+ # Pre-flight check before update to make sure that the currently
+ # activated license is still valid. This is done just be friendly
+ # to people and to not too easily shoot theirself into the foot
+ # by blindly upgrading and then having to recognize that the new
+ # OpenPKG Framework is no longer covered by the old license.
+ if [ ".$1" = .2 ]; then
+ ( OPENPKG_FRAMEWORK_RELEASE="%{release}"
+ export OPENPKG_FRAMEWORK_RELEASE
+ # LATER:
+ # $prefix/bin/openpkg rpm -q openpkg >/dev/null 2>&1 || exit $?
+ # if [ $? -ne 0 ]; then
+ # NOW:
+ output="`$prefix/bin/openpkg rpm -q openpkg 2>&1 | grep 'ENVIRONMENT ANOMALY'`"
+ if [ ".$output" != . ]; then
+ id="`($prefix/bin/openpkg license active) 2>/dev/null`"
+ [ ".$id" = . ] && id="UNKNOWN"
+ ( echo "Attention, your currently active license \"$id\" does"
+ echo "not allow you to use this newer version of the OpenPKG Framework!"
+ echo "We cancel this update to prevent you from a run-time failure."
+ echo "Please first upgrade to a newer license with the command:"
+ echo " \$ $prefix/bin/openpkg license update $id "
+ ) | $prefix/lib/openpkg/rpmtool msg -b -t error
+ exit 42
+ fi
+ ) || exit $?
+ fi
+
# register instance in presence file
presence="/etc/openpkg"
exists=`cat $presence 2>/dev/null | egrep "^ *${prefix} *\$"`
@@ -1689,12 +2198,19 @@
eval "xuid=\"\$${class}uid\""
eval "xgid=\"\$${class}gid\""
if [ ".$xuid" = . ]; then
- xuid=`(getent passwd "${xusr}"; \
- grep "^${xusr}:" /etc/passwd; \
- ypmatch "${xusr}" passwd; \
- nismatch "${xusr}" passwd; \
- nidump passwd . | grep "^${xusr}:") 2>/dev/null | \
- sed -e 'q' | awk -F: '{ print $3; }'`
+ case "$plid" in
+ Darwin/10.[1-9]* | Darwin/1[1-9].* )
+ xuid=`dscl . -read "/users/${xusr}" UniqueID 2>/dev/null | awk '{ print $2; }'`
+ ;;
+ * )
+ xuid=`(getent passwd "${xusr}"; \
+ grep "^${xusr}:" /etc/passwd; \
+ ypmatch "${xusr}" passwd; \
+ nismatch "${xusr}" passwd; \
+ nidump passwd . | grep "^${xusr}:") 2>/dev/null | \
+ sed -e 'q' | awk -F: '{ print $3; }'`
+ ;;
+ esac
if [ ".$xuid" = . ]; then
# seek for a reasonably uid/gid pair
xuid=1000
@@ -1702,13 +2218,26 @@
while [ ".$ok" = .0 ]; do
eval "u_exists=\$u_exists_$xuid"
if [ ".$u_exists" = . ]; then
- u_exists=`(getent passwd; cat /etc/passwd; ypcat passwd; niscat passwd; nidump passwd .) 2>/dev/null |\
- grep "^[^:]*:[^:]*:$xuid:"`
+ case "$plid" in
+ Darwin/10.[1-9]* | Darwin/1[1-9].* )
+ u_exists=`dscl . -search /users UniqueID "$xuid" 2>/dev/null`
+ ;;
+ * )
+ u_exists=`(getent passwd; cat /etc/passwd; ypcat passwd; niscat passwd; nidump passwd .) 2>/dev/null |\
+ grep "^[^:]*:[^:]*:$xuid:"`
+ ;;
+ esac
fi
eval "g_exists=\$g_exists_$xuid"
if [ ".$g_exists" = . ]; then
- g_exists=`(getent group; cat /etc/group; ypcat group; niscat group; nidump group .) 2>/dev/null |\
- grep "^[^:]*:[^:]*:$xuid:"`
+ case "$plid" in
+ Darwin/10.[1-9]* | Darwin/1[1-9].* )
+ g_exists=`dscl . -search /groups PrimaryGroupID "$xuid" 2>/dev/null`
+ ;;
+ * )
+ g_exists=`(getent group; cat /etc/group; ypcat group; niscat group; nidump group .) 2>/dev/null |\
+ grep "^[^:]*:[^:]*:$xuid:"`
+ esac
fi
if [ ".$u_exists" = . -a ".$g_exists" = . ]; then
ok=1
@@ -1725,7 +2254,8 @@
grep "^${xgrp}:" /etc/group; \
ypmatch "${xgrp}" group; \
nismatch "${xgrp}" group; \
- nidump group . | grep "^${xgrp}:") 2>/dev/null | \
+ nidump group . | grep "^${xgrp}:"; \
+ dscl . -read "/groups/${xgrp}" | grep RecordName) 2>/dev/null | \
sed -e 'q' | awk -F: '{ print $3; }'`
if [ ".$xgid" = . ]; then
xgid="$xuid"
@@ -1771,7 +2301,8 @@
grep "^$usr:" /etc/passwd; \
ypmatch "$usr" passwd; \
nismatch "$usr" passwd; \
- nidump passwd . | grep "^$usr:") 2>/dev/null | \
+ nidump passwd . | grep "^$usr:"; \
+ dscl . -read "/users/$usr" | grep RecordName) 2>/dev/null | \
sed -e 'q'`
if [ ".$exists" = . ]; then
if [ ".$cusr" != ".root" ]; then
@@ -1822,8 +2353,22 @@
else update=":"
fi
;;
+ CYGWIN*/* )
+ file=/etc/passwd
+ entry="${usr}:*:${uid}:${gid}:${realname}:${prefix}:${shell}"
+ update=":"
+ ;;
esac
case "$plid" in
+ Darwin/10.[1-9]* | Darwin/1[1-9].* )
+ dscl . -create "/users/${usr}"
+ dscl . -create "/users/${usr}" Password "*"
+ dscl . -create "/users/${usr}" UniqueID "${uid}"
+ dscl . -create "/users/${usr}" PrimaryGroupID "${gid}"
+ dscl . -create "/users/${usr}" RealName "${realname}"
+ dscl . -create "/users/${usr}" NFSHomeDirectory "${prefix}"
+ dscl . -create "/users/${usr}" UserShell "${shell}"
+ ;;
Darwin/* )
niutil -create . "/users/${usr}"
niutil -createprop . "/users/${usr}" passwd "*"
@@ -1860,7 +2405,8 @@
grep "^$grp:" /etc/group; \
ypmatch "$grp" group; \
nismatch "$grp" group; \
- nidump group . | grep "^$grp:") 2>/dev/null | \
+ nidump group . | grep "^$grp:"; \
+ dscl . -read "/groups/$grp" | grep RecordName) 2>/dev/null | \
sed -e 'q'`
if [ ".$exists" = . ]; then
if [ ".$cusr" != ".root" ]; then
@@ -1868,6 +2414,12 @@
echo "openpkg:WARNING: (would require root-privileges)" 1>&2
else
case "$plid" in
+ Darwin/10.[1-9]* | Darwin/1[1-9].* )
+ dscl . -create "/groups/${grp}"
+ dscl . -create "/groups/${grp}" Password "*"
+ dscl . -create "/groups/${grp}" PrimaryGroupID "${gid}"
+ dscl . -create "/groups/${grp}" GroupMembership "${usr}"
+ ;;
Darwin/* )
niutil -create . "/groups/${grp}"
niutil -createprop . "/groups/${grp}" gid "${gid}"
@@ -1899,26 +2451,30 @@
# ensure chown/chgrp works immediately after pwconv on Linux and Solaris
if [ -x /usr/sbin/nscd ]; then
/usr/sbin/nscd -i passwd >/dev/null 2>&1 || true
- /usr/sbin/nscd -i group >/dev/null 2>&1 || true
+ /usr/sbin/nscd -i group >/dev/null 2>&1 || true
fi
# create the startup/shutdown transfer script
- name=`echo "$prefix" | sed -e 's;/;;g'`
+ name_old="`echo "$prefix" | sed -e 's;/;;g'`"
+ name="openpkg-`echo "$prefix" | sed -e 's;[^a-zA-Z0-9];;g'`"
if [ ".$cusr" != ".root" ]; then
echo "openpkg:WARNING: skipping creation of system run-command hooks" 1>&2
echo "openpkg:WARNING: (would require root-privileges)" 1>&2
else
case "$plid" in
FreeBSD/* )
- if [ ! -f /etc/rc.d/openpkg-${name} ]; then
+ if [ -f /etc/rc.d/${name_old} ]; then
+ rm -f /etc/rc.d/${name_old}
+ fi
+ if [ ! -f /etc/rc.d/${name} ]; then
# install transfer script
- rm -f /etc/rc.d/openpkg-${name} >/dev/null 2>&1
+ rm -f /etc/rc.d/${name} >/dev/null 2>&1
( echo "#!/bin/sh"
echo "##"
- echo "## openpkg-${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
+ echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
echo "##"
echo ""
- echo "# PROVIDE: openpkg-${name}"
+ echo "# PROVIDE: ${name}"
echo "# REQUIRE: LOGIN"
echo "# KEYWORD: shutdown"
echo ""
@@ -1930,19 +2486,22 @@
echo "restart_cmd=\"openpkg_rc_all stop start\""
echo ""
echo "openpkg_rc_all () {"
- echo " if [ -f ${prefix}/etc/rc ]; then"
- echo " ${prefix}/etc/rc all \"\$@\""
+ echo " if [ -f ${prefix}/bin/openpkg ]; then"
+ echo " ${prefix}/bin/openpkg rc all \"\$@\""
echo " fi"
echo "}"
echo ""
echo "load_rc_config \$name"
echo "run_rc_command \"\$1\""
echo ""
- ) >/etc/rc.d/openpkg-${name}
- chmod 755 /etc/rc.d/openpkg-${name}
+ ) >/etc/rc.d/${name}
+ chmod 755 /etc/rc.d/${name}
fi
;;
NetBSD/* )
+ if [ -f /etc/rc.d/${name_old} ]; then
+ rm -f /etc/rc.d/${name_old}
+ fi
if [ ! -f /etc/rc.d/${name} ]; then
( echo "#!/bin/sh"
echo "##"
@@ -1952,11 +2511,11 @@
echo "## REQUIRE: DAEMON LOGIN NETWORK SERVERS"
echo "##"
echo ""
- echo "[ ! -f ${prefix}/etc/rc ] && exit 0"
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
echo "case \$1 in"
- echo " start ) exec ${prefix}/etc/rc all start ;;"
- echo " stop ) exec ${prefix}/etc/rc all stop ;;"
- echo " restart ) exec ${prefix}/etc/rc all stop start ;;"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
+ echo " restart ) exec ${prefix}/bin/openpkg rc all stop start ;;"
echo " status ) ;;"
echo "esac"
) >/etc/rc.d/${name}
@@ -1965,11 +2524,14 @@
;;
Linux/* )
if [ -f /etc/gentoo-release ]; then
- if [ ! -f /etc/init.d/openpkg-${name} ]; then
+ if [ -f /etc/init.d/${name_old} ]; then
+ rm -f /etc/init.d/${name_old}
+ fi
+ if [ ! -f /etc/init.d/${name} ]; then
# install transfer script
( echo "#!/sbin/runscript"
echo "##"
- echo "## openpkg-${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
+ echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
echo "##"
echo ""
echo "depend() {"
@@ -1977,48 +2539,71 @@
echo "}"
echo ""
echo "checkconfig() {"
- echo " [ -f ${prefix}/etc/rc ] || return 1"
+ echo " [ -f ${prefix}/bin/openpkg ] || return 1"
echo " case $1 in"
- echo " start ) exec ${prefix}/etc/rc all start ;;"
- echo " stop ) exec ${prefix}/etc/rc all stop ;;"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
echo " esac"
echo "}"
echo ""
echo "start() {"
echo " checkconfig || return 1"
echo " ebegin "Starting OpenPKG ${prefix} hierarchy""
- echo " exec ${prefix}/etc/rc all start"
+ echo " exec ${prefix}/bin/openpkg rc all start"
echo " eend 0"
echo "}"
echo ""
echo "stop() {"
echo " checkconfig || return 1"
echo " ebegin "Stopping OpenPKG ${prefix} hierarchy""
- echo " exec ${prefix}/etc/rc all stop"
+ echo " exec ${prefix}/bin/openpkg rc all stop"
echo " eend 0"
echo "}"
- ) >/etc/init.d/openpkg-${name}
- chmod 755 /etc/init.d/openpkg-${name}
- /sbin/rc-update add openpkg-${name} default
+ ) >/etc/init.d/${name}
+ chmod 755 /etc/init.d/${name}
+ /sbin/rc-update add ${name} default
+ fi
+ elif [ -f /etc/redhat-release ]; then
+ sroot=/etc/rc.d/init.d
+ if [ ! -f $sroot/${name} ]; then
+ # install transfer script
+ ( echo "#!/bin/sh"
+ echo "##"
+ echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
+ echo "##"
+ echo ""
+ echo "# chkconfig: 2345 99 00"
+ echo "# description: OpenPKG ${prefix}"
+ echo ""
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
+ echo "case \$1 in"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
+ echo "esac"
+ ) >$sroot/${name}
+ chmod 755 $sroot/${name}
+ # activate script
+ /sbin/chkconfig --add ${name}
+ /sbin/chkconfig ${name} on
fi
else
# sroot: script root directory
# lroot: link root directory
if [ -f /etc/debian_version ]; then
sroot=/etc/init.d
- lroot=/etc/rc%d.d
- elif [ -f /etc/redhat-release -o -f /etc/mandrake-release ]; then
+ lroot=/etc/rc%%d.d
+ elif [ -f /etc/mandrake-release ]; then
sroot=/etc/rc.d/init.d
- lroot=/etc/rc.d/rc%d.d
+ lroot=/etc/rc.d/rc%%d.d
elif [ -f /etc/SuSE-release ]; then
sroot=/etc/init.d
- lroot=/etc/init.d/rc%d.d
+ lroot=/etc/init.d/rc%%d.d
elif [ -f /etc/slackware-version ]; then
sroot=/etc/rc.d
- lroot=/etc/rc.d/rc%d.d
+ lroot=/etc/rc.d/rc%%d.d
name="rc.${name}"
for i in 0 1 2 3 4 5 6; do
- l=`echo $lroot | sed -e "s;%d;$i;"`
+ l=`echo $lroot | sed -e "s;%%d;$i;"`
if [ ! -d $l ]; then
mkdir $l 2>&1 || true
fi
@@ -2037,7 +2622,7 @@
done
for lr in /etc/rc.d/rc2.d /etc/rc2.d /sbin/init.d/rc2.d; do
if [ -d $lr ]; then
- lroot="`echo $lr | sed -e 's;2;%d;'`"
+ lroot="`echo $lr | sed -e 's;2;%%d;'`"
break
fi
done
@@ -2046,6 +2631,9 @@
exit 1
fi
fi
+ if [ -f $sroot/${name_old} ]; then
+ rm -f $sroot/${name_old}
+ fi
if [ ! -f $sroot/${name} ]; then
# install transfer script
( echo "#!/bin/sh"
@@ -2053,115 +2641,27 @@
echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
echo "##"
echo ""
- echo "[ ! -f ${prefix}/etc/rc ] && exit 0"
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
echo "case \$1 in"
- echo " start ) exec ${prefix}/etc/rc all start ;;"
- echo " stop ) exec ${prefix}/etc/rc all stop ;;"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
echo "esac"
) >$sroot/${name}
chmod 755 $sroot/${name}
# create corresponding symbolic links
for i in 2 3 4 5; do
- ln -s $sroot/${name} `echo $lroot | sed -e "s;%d;$i;"`/S99${name}
+ ln -s $sroot/${name} `echo $lroot | sed -e "s;%%d;$i;"`/S99${name}
done
for i in 0 1 6; do
- ln -s $sroot/${name} `echo $lroot | sed -e "s;%d;$i;"`/K00${name}
+ ln -s $sroot/${name} `echo $lroot | sed -e "s;%%d;$i;"`/K00${name}
done
fi
fi
;;
- SunOS/5.1* )
- if [ ! -d /var/svc/manifest/openpkg ]; then
- mkdir /var/svc/manifest/openpkg
+ SunOS/5.* )
+ if [ -f /etc/init.d/${name_old} ]; then
+ rm -f /etc/init.d/${name_old}
fi
- if [ ! -f /var/svc/manifest/openpkg/${name}.xml ]; then
- # install SMF manifest
- ( echo ""
- echo ""
- echo ""
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " "
- echo " OpenPKG Instance ${prefix}"
- echo " "
- echo " "
- echo " "
- echo ""
- ) >/var/svc/manifest/openpkg/${name}.xml
- chmod 644 /var/svc/manifest/openpkg/${name}.xml
- /usr/sbin/svccfg import /var/svc/manifest/openpkg/${name}.xml
- ( echo "/usr/sbin/svcadm enable \"svc:/openpkg/${name}:default\""
- ) >%{l_prefix}.pre-post-process.sh
- fi
- ;;
- SunOS/5.* )
if [ ! -f /etc/init.d/${name} ]; then
# install transfer script
( echo "#!/bin/sh"
@@ -2169,10 +2669,10 @@
echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
echo "##"
echo ""
- echo "[ ! -f ${prefix}/etc/rc ] && exit 0"
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
echo "case \$1 in"
- echo " start ) exec ${prefix}/etc/rc all start ;;"
- echo " stop ) exec ${prefix}/etc/rc all stop ;;"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
echo "esac"
) >/etc/init.d/${name}
chmod 755 /etc/init.d/${name}
@@ -2185,6 +2685,9 @@
fi
;;
UnixWare/* )
+ if [ -f /etc/init.d/${name_old} ]; then
+ rm -f /etc/init.d/${name_old}
+ fi
if [ ! -f /etc/init.d/${name} ]; then
# install transfer script
( echo "#!/bin/sh"
@@ -2192,10 +2695,10 @@
echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
echo "##"
echo ""
- echo "[ ! -f ${prefix}/etc/rc ] && exit 0"
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
echo "case \$1 in"
- echo " start ) exec ${prefix}/etc/rc all start ;;"
- echo " stop ) exec ${prefix}/etc/rc all stop ;;"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
echo "esac"
) >/etc/init.d/${name}
chmod 755 /etc/init.d/${name}
@@ -2208,6 +2711,9 @@
fi
;;
AIX/* )
+ if [ -f /etc/rc.d/init.d/${name_old} ]; then
+ rm -f /etc/rc.d/init.d/${name_old}
+ fi
if [ ! -f /etc/rc.d/init.d/${name} ]; then
# install transfer script
( echo "#!/bin/sh"
@@ -2215,10 +2721,10 @@
echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
echo "##"
echo ""
- echo "[ ! -f ${prefix}/etc/rc ] && exit 0"
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
echo "case \$1 in"
- echo " start ) exec ${prefix}/etc/rc all start ;;"
- echo " stop ) exec ${prefix}/etc/rc all stop ;;"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
echo "esac"
) >/etc/rc.d/init.d/${name}
chmod 755 /etc/rc.d/init.d/${name}
@@ -2229,6 +2735,9 @@
fi
;;
OSF1/V5.* )
+ if [ -f /sbin/init.d/${name_old} ]; then
+ rm -f /sbin/init.d/${name_old}
+ fi
if [ ! -f /sbin/init.d/${name} ]; then
# install transfer script
( echo "#!/bin/sh"
@@ -2236,10 +2745,10 @@
echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
echo "##"
echo ""
- echo "[ ! -f ${prefix}/etc/rc ] && exit 0"
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
echo "case \$1 in"
- echo " start ) exec ${prefix}/etc/rc all start ;;"
- echo " stop ) exec ${prefix}/etc/rc all stop ;;"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
echo "esac"
) >/sbin/init.d/${name}
chmod 755 /sbin/init.d/${name}
@@ -2251,6 +2760,9 @@
fi
;;
HP-UX/* )
+ if [ -f /sbin/init.d/${name_old} ]; then
+ rm -f /sbin/init.d/${name_old}
+ fi
if [ ! -f /sbin/init.d/${name} ]; then
# install transfer script
( echo "#!/bin/sh"
@@ -2258,10 +2770,10 @@
echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
echo "##"
echo ""
- echo "[ ! -f ${prefix}/etc/rc ] && exit 0"
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
echo "case \$1 in"
- echo " start ) exec ${prefix}/etc/rc all start ;;"
- echo " stop ) exec ${prefix}/etc/rc all stop ;;"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
echo "esac"
) >/sbin/init.d/${name}
chmod 755 /sbin/init.d/${name}
@@ -2273,14 +2785,18 @@
fi
;;
Darwin/* )
- darwin_rc_dir="/System/Library/StartupItems/${name}"
+ if [ -d /Library/StartupItems/${name_old} ]; then
+ rm -rf /Library/StartupItems/${name_old}
+ fi
+ darwin_rc_dir="/Library/StartupItems/${name}"
if [ ! -d ${darwin_rc_dir} ]; then
- mkdir ${darwin_rc_dir}
+ mkdir -p ${darwin_rc_dir}
fi
# make sure hierarchy is activated in /etc/hostconfig
# FIXME: cs: simple and bad code here without any detection of existing entries
- echo "OPENPKG_${name}=-YES-" >>/etc/hostconfig
+ darwin_rc_var="`echo ${name} | sed -e 's;-;_;g' | tr '[a-z]' '[A-Z]'`"
+ echo "${darwin_rc_var}=-YES-" >>/etc/hostconfig
# install transfer script
if [ ! -f ${darwin_rc_dir}/${name} ]; then
@@ -2288,20 +2804,21 @@
( echo "#!/bin/sh"
echo "##"
echo "## ${darwin_rc_dir}/${name}"
- echo "## -- startup transfer script for OpenPKG ${prefix} hierarchy"
+ echo "## -- startup transfer script for OpenPKG ${prefix} hierarchy"
echo "##"
echo ""
- echo "[ ! -f ${prefix}/etc/rc ] && exit 0"
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
echo ""
echo ". /etc/rc.common"
echo ""
- echo "if [ \"\${OPENPKG_${name}:=-NO-}\" = \"-YES-\" ]; then"
+ echo "if [ \"\${${darwin_rc_var}:=-NO-}\" = \"-YES-\" ]; then"
echo " ConsoleMessage \"OpenPKG ${prefix} hierarchy\""
- echo " ${prefix}/etc/rc all start"
+ echo " ${prefix}/bin/openpkg rc all start"
echo "fi"
) >${darwin_rc_dir}/${name}
chmod 755 ${darwin_rc_dir}/${name}
fi
+
# install startup parameter list
if [ ! -f ${darwin_rc_dir}/StartupParameters.plist ]; then
rm -f ${darwin_rc_dir}/StartupParameters.plist >/dev/null 2>&1
@@ -2322,6 +2839,9 @@
fi
;;
IRIX*/6.* )
+ if [ -f /etc/init.d/${name_old} ]; then
+ rm -f /etc/init.d/${name_old}
+ fi
if [ ! -f /etc/init.d/${name} ]; then
# install transfer script
( echo "#!/bin/sh"
@@ -2329,10 +2849,10 @@
echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
echo "##"
echo ""
- echo "[ ! -f ${prefix}/etc/rc ] && exit 0"
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
echo "case \$1 in"
- echo " start ) exec ${prefix}/etc/rc all start ;;"
- echo " stop ) exec ${prefix}/etc/rc all stop ;;"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
echo "esac"
) >/etc/init.d/${name}
chmod 755 /etc/init.d/${name}
@@ -2343,6 +2863,33 @@
) || exit $?
fi
;;
+ CYGWIN*/* )
+ if [ -f /etc/rc.d/init.d/${name_old} ]; then
+ rm -f /etc/rc.d/init.d/${name_old}
+ fi
+ if [ ! -f /etc/rc.d/init.d/${name} ]; then
+ # install transfer script
+ ( echo "#!/bin/sh"
+ echo "##"
+ echo "## ${name} -- startup/shutdown transfer script for OpenPKG ${prefix} hierarchy"
+ echo "##"
+ echo ""
+ echo "test -f /etc/rc.d/init.d/functions && . /etc/rc.d/init.d/functions"
+ echo "test -f /etc/sysconfig/network && . /etc/sysconfig/network"
+ echo "[ ! -f ${prefix}/bin/openpkg ] && exit 0"
+ echo "case \$1 in"
+ echo " start ) exec ${prefix}/bin/openpkg rc all start ;;"
+ echo " stop ) exec ${prefix}/bin/openpkg rc all stop ;;"
+ echo "esac"
+ ) >/etc/rc.d/init.d/${name}
+ chmod 755 /etc/rc.d/init.d/${name}
+ # create corresponding symbolic links
+ ( cd /etc/rc.d
+ ln -s ../init.d/${name} rc2.d/S90${name}
+ ln -s ../init.d/${name} rc1.d/K10${name}
+ ) || exit $?
+ fi
+ ;;
esac
fi
@@ -2352,9 +2899,9 @@
echo "openpkg:WARNING: (would require root-privileges)" 1>&2
else
case "$plid" in
- FreeBSD/* | Linux/* | Darwin/* )
+ FreeBSD/* | Linux/* )
if [ -f /etc/slackware-version ]; then
- exists=`crontab -l | grep "$prefix/etc/rc"`
+ exists=`crontab -l | egrep "($prefix/bin/openpkg|$prefix/etc/rc)"`
if [ ".$exists" = . ]; then
EDITOR=/tmp/vipw.$$
VISUAL="$EDITOR"
@@ -2363,11 +2910,11 @@
( echo "#!/bin/sh"
echo "( echo \"# \""
echo " echo \"# chronological tasks of ${prefix} OpenPKG hierarchy\""
- echo " echo \"0 0 1 * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly\""
- echo " echo \"0 0 * * 0 [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly\""
- echo " echo \"0 0 * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily\""
- echo " echo \"0 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly\""
- echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly\""
+ echo " echo \"0 0 1 * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly\""
+ echo " echo \"0 0 * * 0 [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly\""
+ echo " echo \"0 0 * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily\""
+ echo " echo \"0 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly\""
+ echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly\""
echo " echo \"# \""
echo ") >>\$1"
) >$EDITOR
@@ -2376,22 +2923,22 @@
rm -f $EDITOR
fi
else
- exists=`grep "$prefix/etc/rc" /etc/crontab`
+ exists=`egrep "($prefix/bin/openpkg|$prefix/etc/rc)" /etc/crontab`
if [ ".$exists" = . ]; then
( echo "# "
echo "# chronological tasks of ${prefix} OpenPKG hierarchy"
- echo "0 0 1 * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly"
- echo "0 0 * * 0 root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly"
- echo "0 0 * * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily"
- echo "0 * * * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly"
- echo "*/15 * * * * root [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly"
+ echo "0 0 1 * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly"
+ echo "0 0 * * 0 root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly"
+ echo "0 0 * * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily"
+ echo "0 * * * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly"
+ echo "*/15 * * * * root [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly"
echo "# "
) >>/etc/crontab
fi
fi
;;
- SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* )
- exists=`crontab -l | grep "$prefix/etc/rc"`
+ SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* | CYGWIN*/* | Darwin/* )
+ exists=`crontab -l | egrep "($prefix/bin/openpkg|$prefix/etc/rc)"`
if [ ".$exists" = . ]; then
EDITOR=/tmp/vipw.$$
VISUAL="$EDITOR"
@@ -2400,11 +2947,11 @@
( echo "#!/bin/sh"
echo "( echo \"# \""
echo " echo \"# chronological tasks of ${prefix} OpenPKG hierarchy\""
- echo " echo \"0 0 1 * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly\""
- echo " echo \"0 0 * * 0 [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly\""
- echo " echo \"0 0 * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily\""
- echo " echo \"0 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly\""
- echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly\""
+ echo " echo \"0 0 1 * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly\""
+ echo " echo \"0 0 * * 0 [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly\""
+ echo " echo \"0 0 * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily\""
+ echo " echo \"0 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly\""
+ echo " echo \"0,15,30,45 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly\""
echo " echo \"# \""
echo ") >>\$1"
) >$EDITOR
@@ -2414,16 +2961,16 @@
fi
;;
IRIX*/6.* )
- exists=`crontab -l | grep "$prefix/etc/rc"`
+ exists=`crontab -l | egrep "($prefix/bin/openpkg|$prefix/etc/rc)"`
if [ ".$exists" = . ]; then
( crontab -l
echo "# "
echo "# chronological tasks of ${prefix} OpenPKG hierarchy"
- echo "0 0 1 * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all monthly"
- echo "0 0 * * 0 [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all weekly"
- echo "0 0 * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all daily"
- echo "0 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all hourly"
- echo "0,15,30,45 * * * * [ -f ${prefix}/etc/rc ] && ${prefix}/etc/rc all quarterly"
+ echo "0 0 1 * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron monthly"
+ echo "0 0 * * 0 [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron weekly"
+ echo "0 0 * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron daily"
+ echo "0 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron hourly"
+ echo "0,15,30,45 * * * * [ -f ${prefix}/bin/openpkg ] && ${prefix}/bin/openpkg rc cron quarterly"
echo "# "
) | /usr/bin/crontab || exit $?
fi
@@ -2435,18 +2982,18 @@
# correctly upgrade the RPM database in the %post section (see below).
if [ -d ${prefix}/RPM/DB ]; then
if [ -x "${prefix}/bin/openpkg" -a -x "${prefix}/libexec/openpkg/rpm" ]; then
- # OpenPKG 2.0
+ # OpenPKG >= 2.0
rpm="${prefix}/bin/openpkg rpm"
else
# OpenPKG 1.x
rpm="${prefix}/bin/rpm"
fi
rm -f ${prefix}/RPM/DB/.version >/dev/null 2>&1 || true
- $rpm --version |\
+ $rpm --version 2>/dev/null |\
sed -e 's;^;X;' \
-e 's;^X[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$;\1;' \
-e 's;^X[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$;\1;' \
- -e 's;^X.*$;4.0;' \
+ -e 's;^X.*$;0.0;' \
>${prefix}/RPM/DB/.version
fi
@@ -2460,19 +3007,35 @@
# update or initially create OpenPKG UUID configuration
%{l_prefix}/bin/openpkg uuid update >/dev/null 2>&1 || true
+ # when upgrading from RPM 4 to RPM 5 there will be no
+ # initial license at all, so create one
+ if [ ! -f %{l_prefix}/etc/openpkg/license ]; then
+ echo "BOOT" >%{l_prefix}/etc/openpkg/license
+ ( chown %{l_musr}:%{l_mgrp} %{l_prefix}/etc/openpkg/license
+ chmod 644 %{l_prefix}/etc/openpkg/license
+ ) >/dev/null 2>&1 || true
+ fi
+
+ # finally switch from a possibly active BOOT license to EVAL license
+ # (notice: this is really the earliest time we can switch because the
+ # previous command had to create the /etc/openpkg/uuid first!)
+ if [ ".`cat %{l_prefix}/etc/openpkg/license`" = ".BOOT" ]; then
+ echo "EVAL" >%{l_prefix}/etc/openpkg/license
+ fi
+
# determine new and old OpenPKG RPM version
- V_rpm_new="%{V_rpm}"
+ V_rpm_new="%{V_rpm_major}.%{V_rpm_minor}"
if [ -f %{l_prefix}/RPM/DB/.version ]; then
V_rpm_old="`cat %{l_prefix}/RPM/DB/.version`"
rm -f %{l_prefix}/RPM/DB/.version >/dev/null 2>&1 || true
else
- V_rpm_old="4.0"
+ V_rpm_old="0.0"
fi
# make sure all RPM database files are present and that their
# attributes are correct, etc. This is not a database rebuild
# operation, so this is fully harmless and can be done always.
- %{l_prefix}/lib/openpkg/rpmdb --quiet --fixate
+ %{l_prefix}/lib/openpkg/rpmdb --quiet --fixate >/dev/null 2>&1 || true
# check RPM database for upgrade requirements
if [ ".$1" = .2 -a ".$V_rpm_old" != ".$V_rpm_new" ]; then
@@ -2481,14 +3044,13 @@
# we are still running within the execution context of the
# old RPM which in turn has the database locked) and instead
# have to just drop a note to the administrator about database
- # upgrading. RPM 4.2 in general allows concurrent database
+ # upgrading. RPM >= 4.2 in general allows concurrent database
# access, but the whole stuff is too risky here, too.
( echo "You are upgrading the OpenPKG bootstrap from a previous"
echo "RPM $V_rpm_old based version to this RPM $V_rpm_new based"
- echo "version. The RPM database in %{l_prefix}/RPM/DB/ can still"
- echo "be used, but it is strongly recommended to upgrade it as"
- echo "soon as possible to the latest Berkeley-DB format files by"
- echo "executing the command:"
+ echo "version. The RPM database in %{l_prefix}/RPM/DB/ can be"
+ echo "reused, but you first have to upgrade it as soon as"
+ echo "possible to the latest format files by executing:"
echo " \$ %{l_prefix}/bin/openpkg rpm --db-rebuild"
echo "In case of problems with the RPM database you can always"
echo "execute the command:"
@@ -2552,6 +3114,22 @@
;;
esac
+ # special support for fully unprivileged environments
+ # where we cannot switch the user at all with su(1),
+ # so we provide a dummy su(1) override command.
+ if [ ".%{l_unprivileged}" = ".yes" ]; then
+ ( echo "#!/bin/sh"
+ echo "while [ \$# -gt 0 ]; do"
+ echo " case \"\$1\" in"
+ echo " - | -* ) shift ;;"
+ echo " * ) shift; break ;;"
+ echo " esac"
+ echo "done"
+ echo "exec /bin/sh \${1+\"\$@\"}"
+ ) >%{l_prefix}/lib/openpkg/override/su
+ chmod 775 %{l_prefix}/lib/openpkg/override/su
+ fi
+
# FIXME: hack to workaround problems in environments with too few
# development tools. ATTENTION: see one paragraph above.
if [ ! -d %{l_prefix}/lib/openpkg/fallback ]; then
@@ -2559,21 +3137,47 @@
fi
chown %{l_musr}:%{l_mgrp} %{l_prefix}/lib/openpkg/fallback >/dev/null 2>&1 || true
- # check for "openpkg" executable from the OpenPKG Community series
- # print license if not OSS, otherwise register with openpkg.org
- community_version=`%{l_prefix}/bin/openpkg --license 2>/dev/null | \
- sed -e 'q' | egrep '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*-C'`
- if [ ".$community_version" = . ]; then
- ( echo ""
- echo "NOTICE: This OpenPKG bootstrap package is based on an \"openpkg\""
- echo "executable which is covered by the following terms of use:"
- echo "______________________________________________________________________________"
- echo ""
- %{l_prefix}/bin/openpkg --license | sed -e '1d'
- ) | %{l_prefix}/lib/openpkg/rpmtool msg -b -t notice
- else
- %{l_prefix}/bin/openpkg register /dev/null 2>&1 || true
- fi
+ # cruel platform hack
+ case "`cat %{l_prefix}/etc/openpkg/platform`" in
+ *-*-cygwin* )
+ # Cygwin under Windows Vista dislikes executables with
+ # "patch" in the same and would require a "*.manifest"
+ # file applied with the "mt.exe" from the "Windows
+ # Software Development Kit (SDK)" in order to escape from
+ # UAC. An easy alternative is to just rename the file to a
+ # different name.
+ cp %{l_prefix}/lib/openpkg/patch \
+ %{l_prefix}/lib/openpkg/pitch
+ %{l_prefix}/lib/openpkg/shtool subst \
+ -e 's;openpkg/patch;openpkg/pitch;g' \
+ %{l_prefix}/etc/openpkg/rpmmacros
+ ;;
+ esac
+
+ # print license
+ ( echo ""
+ echo "NOTICE: Proprietary components of the OpenPKG Framework are covered"
+ echo "by the following terms and conditions and require a valid run-time"
+ echo "license, issued by the OpenPKG GmbH. An initial license, which allows"
+ echo "30 days of free use for evaluation purposes, is already pre-installed."
+ echo "Please go to http://openpkg.com/go/framework-license to obtain"
+ echo "your permanent license."
+ echo ""
+ %{l_prefix}/bin/openpkg --license
+ echo "______________________________________________________________________________"
+ echo ""
+ echo "NOTICE: Open Source components of the OpenPKG Framework are covered"
+ echo "by various standard Open Source distribution licenses, including"
+ echo "the MIT, BSD, LGPL, GPL, Public-Domain and Artistic licenses."
+ echo "They all allow you the use of those components free of charge."
+ echo "See http://www.opensource.org/licenses for more details."
+ echo ""
+ ) | %{l_prefix}/lib/openpkg/rpmtool msg -b -t notice
+
+ # register package with central OpenPKG registry
+ ( nohup %{l_prefix}/bin/openpkg register \
+ /dev/null 2>&1 &
+ ) /dev/null 2>&1 || true
%preun
[ ".$1" != .0 ] && exit 0
@@ -2592,6 +3196,7 @@
rm -rf %{l_prefix}/RPM/TMP/* %{l_prefix}/RPM/TMP/.[a-z]* >/dev/null 2>&1 || true
rm -rf %{l_prefix}/RPM/SRC/* %{l_prefix}/RPM/SRC/.[a-z]* >/dev/null 2>&1 || true
rm -rf %{l_prefix}/RPM/PKG/* %{l_prefix}/RPM/PKG/.[a-z]* >/dev/null 2>&1 || true
+ rm -rf %{l_prefix}/RPM/TR/* %{l_prefix}/RPM/TR/.[a-z]* >/dev/null 2>&1 || true
rm -rf %{l_prefix}/RPM/DB/* %{l_prefix}/RPM/DB/.[a-z]* >/dev/null 2>&1 || true
# The following code usually would be done in a %postun section.
@@ -2668,7 +3273,8 @@
grep "^$usr:" /etc/passwd; \
ypmatch "$usr" passwd; \
nismatch "$usr" passwd; \
- nidump passwd . | grep "^$usr:") 2>/dev/null | \
+ nidump passwd . | grep "^$usr:"; \
+ dscl . -read "/users/$usr" | grep RecordName) 2>/dev/null | \
sed -e 'q'`
if [ ".$exists" != . ]; then
if [ ".$cusr" != ".root" ]; then
@@ -2709,6 +3315,9 @@
grep -v "^${usr}:" /etc/passwd.bak >/etc/passwd
rm -f /etc/passwd.bak >/dev/null 2>&1
;;
+ Darwin/10.[1-9]* | Darwin/1[1-9].* )
+ dscl . -delete "/users/${usr}"
+ ;;
Darwin/* )
niutil -destroy . "/users/${usr}"
;;
@@ -2720,6 +3329,11 @@
fi
rm -f /etc/passwd.bak >/dev/null 2>&1
;;
+ CYGWIN*/* )
+ cp /etc/passwd /etc/passwd.bak && \
+ grep -v "^${usr}:" /etc/passwd.bak >/etc/passwd
+ rm -f /etc/passwd.bak >/dev/null 2>&1
+ ;;
esac
fi
fi
@@ -2729,7 +3343,8 @@
grep "^$grp:" /etc/group; \
ypmatch "$grp" group; \
nismatch "$grp" group; \
- nidump group . | grep "^$grp:") 2>/dev/null | \
+ nidump group . | grep "^$grp:"; \
+ dscl . -read "/groups/$grp" | grep RecordName) 2>/dev/null | \
sed -e 'q'`
if [ ".$exists" != . ]; then
if [ ".$cusr" != ".root" ]; then
@@ -2740,6 +3355,9 @@
echo "openpkg:WARNING: (would remove system standard group)" 1>&2
else
case "$plid" in
+ Darwin/10.[1-9]* | Darwin/1[1-9].* )
+ dscl . -delete "/groups/${grp}"
+ ;;
Darwin/* )
niutil -destroy . "/groups/${grp}"
;;
@@ -2771,30 +3389,34 @@
else
case "$plid" in
FreeBSD/* )
- rm -f /etc/rc.d/openpkg-${name} >/dev/null 2>&1
+ rm -f /etc/rc.d/${name} >/dev/null 2>&1
;;
NetBSD/* )
rm -f /etc/rc.d/${name} >/dev/null 2>&1
;;
Linux/* )
if [ -f /etc/gentoo-release ]; then
- /sbin/rc-update del openpkg-${name} >/dev/null 2>&1
- rm -f /etc/init.d/openpkg-${name} >/dev/null 2>&1
+ /sbin/rc-update del ${name} >/dev/null 2>&1
+ rm -f /etc/init.d/${name} >/dev/null 2>&1
+ elif [ -f /etc/redhat-release ]; then
+ /sbin/chkconfig ${name} off >/dev/null 2>&1
+ /sbin/chkconfig --del ${name} >/dev/null 2>&1
+ rm -f /etc/rc.d/init.d/${name} >/dev/null 2>&1
else
# sroot: script root directory
# lroot: link root directory
if [ -f /etc/debian_version ]; then
sroot=/etc/init.d
- lroot=/etc/rc%d.d
- elif [ -f /etc/redhat-release -o -f /etc/mandrake-release ]; then
+ lroot=/etc/rc%%d.d
+ elif [ -f /etc/mandrake-release ]; then
sroot=/etc/rc.d/init.d
- lroot=/etc/rc.d/rc%d.d
+ lroot=/etc/rc.d/rc%%d.d
elif [ -f /etc/SuSE-release ]; then
sroot=/etc/init.d
- lroot=/etc/init.d/rc%d.d
+ lroot=/etc/init.d/rc%%d.d
elif [ -f /etc/slackware-version ]; then
sroot=/etc/rc.d
- lroot=/etc/rc.d/rc%d.d
+ lroot=/etc/rc.d/rc%%d.d
name="rc.${name}"
else
echo "WARNING: you are not running one of the supported standard" 1>&2
@@ -2810,7 +3432,7 @@
done
for lr in /etc/rc.d/rc2.d /etc/rc2.d /sbin/init.d/rc2.d; do
if [ -d $lr ]; then
- lroot="`echo $lr | sed -e 's;2;%d;'`"
+ lroot="`echo $lr | sed -e 's;2;%%d;'`"
break
fi
done
@@ -2821,14 +3443,14 @@
fi
rm -f ${sroot}/${name} >/dev/null 2>&1
for i in 2 3 4 5; do
- rm -f `echo $lroot | sed -e "s;%d;$i;"`/S99${name} >/dev/null 2>&1
+ rm -f `echo $lroot | sed -e "s;%%d;$i;"`/S99${name} >/dev/null 2>&1
done
for i in 0 1 6; do
- rm -f `echo $lroot | sed -e "s;%d;$i;"`/K00${name} >/dev/null 2>&1
+ rm -f `echo $lroot | sed -e "s;%%d;$i;"`/K00${name} >/dev/null 2>&1
done
if [ -f /etc/slackware-version ]; then
for i in 0 1 2 3 4 5 6; do
- l=`echo $lroot | sed -e "s;%d;$i;"`
+ l=`echo $lroot | sed -e "s;%%d;$i;"`
if [ -d $l ]; then
rmdir $l >/dev/null 2>&1 || true
fi
@@ -2836,12 +3458,6 @@
fi
fi
;;
- SunOS/5.1* )
- /usr/sbin/svcadm disable "svc:/openpkg/${name}:default"; sleep 2
- /usr/sbin/svccfg delete -f "svc:/openpkg/${name}:default" >/dev/null 2>&1 || true
- rm -f /var/svc/manifest/openpkg/${name}.xml >/dev/null 2>&1
- rmdir /var/svc/manifest/openpkg >/dev/null 2>&1 || true
- ;;
SunOS/5.* )
rm -f /etc/init.d/${name} >/dev/null 2>&1
rm -f /etc/rc3.d/S99${name} >/dev/null 2>&1
@@ -2869,16 +3485,22 @@
rm -f /etc/rc1.d/K100${name} >/dev/null 2>&1
;;
Darwin/* )
+ darwin_rc_var="`echo ${name} | sed -e 's;-;_;g' | tr '[a-z]' '[A-Z]'`"
cp /etc/hostconfig /etc/hostconfig.bak && \
- grep -v "^OPENPKG_${name}=" /etc/hostconfig.bak >/etc/hostconfig
+ grep -v "^${darwin_rc_var}=" /etc/hostconfig.bak >/etc/hostconfig
rm -f /etc/hostconfig.bak >/dev/null 2>&1
- rm -rf /System/Library/StartupItems/${name} >/dev/null 2>&1
+ rm -rf /Library/StartupItems/${name} >/dev/null 2>&1
;;
IRIX*/6.* )
rm -f /etc/init.d/${name} >/dev/null 2>&1
rm -f /etc/rc2.d/S99${name} >/dev/null 2>&1
rm -f /etc/rc0.d/K00${name} >/dev/null 2>&1
;;
+ CYGWIN*/* )
+ rm -f /etc/rc.d/init.d/${name} >/dev/null 2>&1
+ rm -f /etc/rc.d/rc2.d/S90${name} >/dev/null 2>&1
+ rm -f /etc/rc.d/rc1.d/K10${name} >/dev/null 2>&1
+ ;;
esac
fi
@@ -2888,7 +3510,7 @@
echo "openpkg:WARNING: (would require root-privileges)" 1>&2
else
case "$plid" in
- FreeBSD/* | Linux/* | Darwin/* )
+ FreeBSD/* | Linux/* )
if [ -f /etc/slackware-version ]; then
EDITOR=/tmp/vipw.$$
VISUAL="$EDITOR"
@@ -2914,7 +3536,7 @@
fi
fi
;;
- SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* )
+ SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* | UnixWare/* | AIX/* | CYGWIN*/* | Darwin/* )
EDITOR=/tmp/vipw.$$
VISUAL="$EDITOR"
export EDITOR
@@ -2939,6 +3561,10 @@
# delayed removal of top-level directory.
( sleep 2
+ rm -rf %{l_prefix}/RPM/PKG/* >/dev/null 2>&1 || true
+ rm -rf %{l_prefix}/RPM/SRC/* >/dev/null 2>&1 || true
+ rm -rf %{l_prefix}/RPM/CACHE/* >/dev/null 2>&1 || true
+ rm -rf %{l_prefix}/RPM/TMP/* %{l_prefix}/RPM/TMP/.[a-z]* >/dev/null 2>&1 || true
rm -rf %{l_prefix}/RPM/DB/* %{l_prefix}/RPM/DB/.[a-z]* >/dev/null 2>&1 || true
rmdir %{l_prefix}/RPM/DB >/dev/null 2>&1 || true
rmdir %{l_prefix}/RPM >/dev/null 2>&1 || true