OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 07-Dec-2006 11:44:36 Branch: OPENPKG_2_STABLE Handle: 20061129171416667819 Modified files: (Branch: OPENPKG_2_STABLE) openpkg-src/openpkg HISTORY bash.patch openpkg.spec release.sh rpmdb rpmmacros rpmtool tar.patch Removed files: (Branch: OPENPKG_2_STABLE) openpkg-src/openpkg gzip.c openpkg.c Log: MFC: all recent updates, upgrades and bugfixes since 20061030 Summary: Revision Changes Path 1.337.2.15 +15 -0 openpkg-src/openpkg/HISTORY 1.10.2.2 +254 -6 openpkg-src/openpkg/bash.patch 1.4 +0 -1882 openpkg-src/openpkg/gzip.c 1.5 +0 -467 openpkg-src/openpkg/openpkg.c 1.490.2.16 +130 -104 openpkg-src/openpkg/openpkg.spec 1.1.2.4 +4 -2 openpkg-src/openpkg/release.sh 1.8.2.2 +4 -4 openpkg-src/openpkg/rpmdb 1.74.2.3 +2 -0 openpkg-src/openpkg/rpmmacros 1.47.2.2 +13 -12 openpkg-src/openpkg/rpmtool 1.5.8.2 +12 -11 openpkg-src/openpkg/tar.patch ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/openpkg/HISTORY ============================================================================ $ cvs diff -u -r1.337.2.14 -r1.337.2.15 HISTORY --- openpkg-src/openpkg/HISTORY 30 Oct 2006 10:51:52 -0000 1.337.2.14 +++ openpkg-src/openpkg/HISTORY 7 Dec 2006 10:44:32 -0000 1.337.2.15 @@ -2,6 +2,21 @@ 2006 ==== +20061207 **** RELEASE AS PART OF OPENPKG 2.20061207 **** +20061207 fix incorrect double-import of OpenPGP keys by first fixating the RPM DB +20061207 fix Solaris build issues with the newer GNU gzip 1.3.6 +20061207 upgrade to "openpkg" executable version 2.0.0-C +20061206 apply the GNU Bash 3.2 upstream patches 001-005 +20061206 switch GNU gzip from pre-patched OpenPKG tarball to pristine upstream tarball plus OpenPKG "update" tarball +20061206 enhance "openpkg release" robustness when config file defines same value repeatedly +20061205 skip build of irrelevant parts of the GNU tar distribution +20061129 upgrade to GNU gzip 1.3.6 +20061129 adjust wordings in package class hints according to current classification +20061114 upgrade to openpkg-tools 1.1.1 +20061114 provide %{l_miniperl} and %{l_openssl} macros +20061112 install zlib's zconf.h header as it is required by zlib.h +20061030 upgrade to cURL 7.16.0 + 20061030 **** RELEASE AS PART OF OPENPKG 2.20061030 *** 20061030 upgrade to openpkg-tools 1.1.0 20061030 switch from a single OpenPGP key openpkg.pgp (.org) to three openpkg.{org,com,net}.pgp keys @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/bash.patch ============================================================================ $ cvs diff -u -r1.10.2.1 -r1.10.2.2 bash.patch --- openpkg-src/openpkg/bash.patch 16 Oct 2006 14:53:34 -0000 1.10.2.1 +++ openpkg-src/openpkg/bash.patch 7 Dec 2006 10:44:32 -0000 1.10.2.2 @@ -74,18 +74,266 @@ ----------------------------------------------------------------------------- -Accumulated vendor patches Bash 3.2 001-XXX +Accumulated vendor patches Bash 3.2 001-005 + Generated via: -$ cat bash32-* | patch -p0 -Vt -b +$ gunzip <bash-3.2.tar.gz | tar xf - +$ pushd bash-3.2 +$ cat bash32-[0-9]* | patch -p0 -Vt -b $ shtool move -e '*.~1~' '%1.orig' +$ pushd /tmp +$ curl -O ftp://ftp.gnu.org/gnu/bison/bison-1.28.tar.gz +$ cd bison-1.28 +$ ./configure --prefix=/tmp/bison +$ make +$ make install +$ popd $ mv y.tab.c y.tab.c.orig $ mv y.tab.h y.tab.h.orig $ /tmp/bison/bin/bison -y -d parse.y +$ rm -rf /tmp/bison /tmp/bison-1.28 /tmp/bison-1.28.tar.gz $ shtool subst -b.dummy \ - -e 's;parse\.y;/usr/src/local/chet/src/bash/src/parse.y;g' \ + -e 's;parse\.y;/Users/chet/src/bash/src/parse.y;g' \ -e 's;/tmp/bison/share/bison\.simple;/usr/share/bison.simple;g' y.tab.c -$ svs diff - -[CURRENTLY NONE] +$ svs diff >/tmp/bash.patch +$ popd +$ rm -rf bash-3.2 +Index: parse.y +--- parse.y.orig 2006-09-19 22:37:21 +0200 ++++ parse.y 2006-12-06 13:32:45 +0100 +@@ -1029,6 +1029,7 @@ + #define PST_CMDTOKEN 0x1000 /* command token OK - unused */ + #define PST_COMPASSIGN 0x2000 /* parsing x=(...) compound assignment */ + #define PST_ASSIGNOK 0x4000 /* assignment statement ok in this context */ ++#define PST_REGEXP 0x8000 /* parsing an ERE/BRE as a single word */ + + /* Initial size to allocate for tokens, and the + amount to grow them by. */ +@@ -2591,6 +2592,9 @@ + return (character); + } + ++ if (parser_state & PST_REGEXP) ++ goto tokword; ++ + /* Shell meta-characters. */ + if MBTEST(shellmeta (character) && ((parser_state & PST_DBLPAREN) == 0)) + { +@@ -2698,6 +2702,7 @@ + if MBTEST(character == '-' && (last_read_token == LESS_AND || last_read_token == GREATER_AND)) + return (character); + ++tokword: + /* Okay, if we got this far, we have to read a word. Read one, + and then check it against the known ones. */ + result = read_token_word (character); +@@ -2735,7 +2740,7 @@ + /* itrace("parse_matched_pair: open = %c close = %c", open, close); */ + count = 1; + pass_next_character = backq_backslash = was_dollar = in_comment = 0; +- check_comment = (flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0; ++ check_comment = (flags & P_COMMAND) && qc != '`' && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0; + + /* RFLAGS is the set of flags we want to pass to recursive calls. */ + rflags = (qc == '"') ? P_DQUOTE : (flags & P_DQUOTE); +@@ -3202,8 +3207,11 @@ + if (tok == WORD && test_binop (yylval.word->word)) + op = yylval.word; + #if defined (COND_REGEXP) +- else if (tok == WORD && STREQ (yylval.word->word,"=~")) +- op = yylval.word; ++ else if (tok == WORD && STREQ (yylval.word->word, "=~")) ++ { ++ op = yylval.word; ++ parser_state |= PST_REGEXP; ++ } + #endif + else if (tok == '<' || tok == '>') + op = make_word_from_token (tok); /* ( */ +@@ -3234,6 +3242,7 @@ + + /* rhs */ + tok = read_token (READ); ++ parser_state &= ~PST_REGEXP; + if (tok == WORD) + { + tright = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL); +@@ -3419,9 +3428,34 @@ + goto next_character; + } + ++#ifdef COND_REGEXP ++ /* When parsing a regexp as a single word inside a conditional command, ++ we need to special-case characters special to both the shell and ++ regular expressions. Right now, that is only '(' and '|'. */ /*)*/ ++ if MBTEST((parser_state & PST_REGEXP) && (character == '(' || character == '|')) /*)*/ ++ { ++ if (character == '|') ++ goto got_character; ++ ++ push_delimiter (dstack, character); ++ ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0); ++ pop_delimiter (dstack); ++ if (ttok == &matched_pair_error) ++ return -1; /* Bail immediately. */ ++ RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2, ++ token_buffer_size, TOKEN_DEFAULT_GROW_SIZE); ++ token[token_index++] = character; ++ strcpy (token + token_index, ttok); ++ token_index += ttoklen; ++ FREE (ttok); ++ dollar_present = all_digit_token = 0; ++ goto next_character; ++ } ++#endif /* COND_REGEXP */ ++ + #ifdef EXTENDED_GLOB + /* Parse a ksh-style extended pattern matching specification. */ +- if (extended_glob && PATTERN_CHAR (character)) ++ if MBTEST(extended_glob && PATTERN_CHAR (character)) + { + peek_char = shell_getc (1); + if MBTEST(peek_char == '(') /* ) */ +Index: patchlevel.h +--- patchlevel.h.orig 2006-04-13 14:31:04 +0200 ++++ patchlevel.h 2006-12-06 13:32:45 +0100 +@@ -25,6 +25,6 @@ + regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh + looks for to find the patch level (for the sccs version string). */ + +-#define PATCHLEVEL 0 ++#define PATCHLEVEL 5 + + #endif /* _PATCHLEVEL_H_ */ +Index: subst.c +--- subst.c.orig 2006-09-19 14:35:09 +0200 ++++ subst.c 2006-12-06 13:32:45 +0100 +@@ -5707,6 +5707,11 @@ + vtype &= ~VT_STARSUB; + + mflags = 0; ++ if (patsub && *patsub == '/') ++ { ++ mflags |= MATCH_GLOBREP; ++ patsub++; ++ } + + /* Malloc this because expand_string_if_necessary or one of the expansion + functions in its call chain may free it on a substitution error. */ +@@ -5741,13 +5746,12 @@ + } + + /* ksh93 doesn't allow the match specifier to be a part of the expanded +- pattern. This is an extension. */ ++ pattern. This is an extension. Make sure we don't anchor the pattern ++ at the beginning or end of the string if we're doing global replacement, ++ though. */ + p = pat; +- if (pat && pat[0] == '/') +- { +- mflags |= MATCH_GLOBREP|MATCH_ANY; +- p++; +- } ++ if (mflags & MATCH_GLOBREP) ++ mflags |= MATCH_ANY; + else if (pat && pat[0] == '#') + { + mflags |= MATCH_BEG; +Index: y.tab.c +--- y.tab.c.orig 2006-09-25 14:15:16 +0200 ++++ y.tab.c 2006-12-06 13:39:36 +0100 +@@ -2359,6 +2359,7 @@ + #define PST_CMDTOKEN 0x1000 /* command token OK - unused */ + #define PST_COMPASSIGN 0x2000 /* parsing x=(...) compound assignment */ + #define PST_ASSIGNOK 0x4000 /* assignment statement ok in this context */ ++#define PST_REGEXP 0x8000 /* parsing an ERE/BRE as a single word */ + + /* Initial size to allocate for tokens, and the + amount to grow them by. */ +@@ -3921,6 +3922,9 @@ + return (character); + } + ++ if (parser_state & PST_REGEXP) ++ goto tokword; ++ + /* Shell meta-characters. */ + if MBTEST(shellmeta (character) && ((parser_state & PST_DBLPAREN) == 0)) + { +@@ -4028,6 +4032,7 @@ + if MBTEST(character == '-' && (last_read_token == LESS_AND || last_read_token == GREATER_AND)) + return (character); + ++tokword: + /* Okay, if we got this far, we have to read a word. Read one, + and then check it against the known ones. */ + result = read_token_word (character); +@@ -4065,7 +4070,7 @@ + /* itrace("parse_matched_pair: open = %c close = %c", open, close); */ + count = 1; + pass_next_character = backq_backslash = was_dollar = in_comment = 0; +- check_comment = (flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0; ++ check_comment = (flags & P_COMMAND) && qc != '`' && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0; + + /* RFLAGS is the set of flags we want to pass to recursive calls. */ + rflags = (qc == '"') ? P_DQUOTE : (flags & P_DQUOTE); +@@ -4532,8 +4537,11 @@ + if (tok == WORD && test_binop (yylval.word->word)) + op = yylval.word; + #if defined (COND_REGEXP) +- else if (tok == WORD && STREQ (yylval.word->word,"=~")) +- op = yylval.word; ++ else if (tok == WORD && STREQ (yylval.word->word, "=~")) ++ { ++ op = yylval.word; ++ parser_state |= PST_REGEXP; ++ } + #endif + else if (tok == '<' || tok == '>') + op = make_word_from_token (tok); /* ( */ +@@ -4564,6 +4572,7 @@ + + /* rhs */ + tok = read_token (READ); ++ parser_state &= ~PST_REGEXP; + if (tok == WORD) + { + tright = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL); +@@ -4749,9 +4758,34 @@ + goto next_character; + } + ++#ifdef COND_REGEXP ++ /* When parsing a regexp as a single word inside a conditional command, ++ we need to special-case characters special to both the shell and ++ regular expressions. Right now, that is only '(' and '|'. */ /*)*/ ++ if MBTEST((parser_state & PST_REGEXP) && (character == '(' || character == '|')) /*)*/ ++ { ++ if (character == '|') ++ goto got_character; ++ ++ push_delimiter (dstack, character); ++ ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0); ++ pop_delimiter (dstack); ++ if (ttok == &matched_pair_error) ++ return -1; /* Bail immediately. */ ++ RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2, ++ token_buffer_size, TOKEN_DEFAULT_GROW_SIZE); ++ token[token_index++] = character; ++ strcpy (token + token_index, ttok); ++ token_index += ttoklen; ++ FREE (ttok); ++ dollar_present = all_digit_token = 0; ++ goto next_character; ++ } ++#endif /* COND_REGEXP */ ++ + #ifdef EXTENDED_GLOB + /* Parse a ksh-style extended pattern matching specification. */ +- if (extended_glob && PATTERN_CHAR (character)) ++ if MBTEST(extended_glob && PATTERN_CHAR (character)) + { + peek_char = shell_getc (1); + if MBTEST(peek_char == '(') /* ) */ @@ . rm -f openpkg-src/openpkg/gzip.c <<'@@ .' Index: openpkg-src/openpkg/gzip.c ============================================================================ [NO CHANGE SUMMARY BECAUSE FILE AS A WHOLE IS JUST REMOVED] @@ . rm -f openpkg-src/openpkg/openpkg.c <<'@@ .' Index: openpkg-src/openpkg/openpkg.c ============================================================================ [NO CHANGE SUMMARY BECAUSE FILE AS A WHOLE IS JUST REMOVED] @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/openpkg.spec ============================================================================ $ cvs diff -u -r1.490.2.15 -r1.490.2.16 openpkg.spec --- openpkg-src/openpkg/openpkg.spec 30 Oct 2006 10:51:52 -0000 1.490.2.15 +++ openpkg-src/openpkg/openpkg.spec 7 Dec 2006 10:44:32 -0000 1.490.2.16 @@ -39,16 +39,17 @@ # o any cc(1) # the package version/release -%define V_openpkg 2.20061030 +%define V_openpkg 2.20061207 # the used software versions %define V_rpm 4.2.1 %define V_zlib 1.2.3 %define V_bzip2 1.0.3 %define V_beecrypt 4.1.2 -%define V_curl 7.15.5 +%define V_curl 7.16.0 %define V_make 3.81 -%define V_gzip 1.3.5 +%define V_gzip 1.3.6 +%define V_gzip_r 1.7 %define V_patch 2.5.9 %define V_tar 1.16 %define V_bash 3.2 @@ -57,7 +58,8 @@ %define V_registry 1.0.1 %define V_perl 5.8.8 %define V_openssl 0.9.8d -%define V_tools 1.1.0 +%define V_tools 1.1.1 +%define V_exec 2.0.0-C # package information Name: openpkg @@ -73,81 +75,81 @@ Release: %{V_openpkg} # list of sources -Source0: ftp://ftp.openpkg.org/sources/CPY/openpkg/rpm-%{V_rpm}.tar.gz -Source1: ftp://ftp.ossp.org/pkg/lib/uuid/uuid-%{V_uuid}.tar.gz -Source2: ftp://alpha.gnu.org/gnu/gzip/gzip-%{V_gzip}.tar -Source3: ftp://alpha.gnu.org/gnu/patch/patch-%{V_patch}.tar.gz -Source4: ftp://ftp.gnu.org/gnu/tar/tar-%{V_tar}.tar.gz -Source5: ftp://ftp.cwru.edu/pub/bash/bash-%{V_bash}.tar.gz -Source6: ftp://ftp.openpkg.org/sources/CPY/config/config-%{V_config}.tar.gz -Source7: ftp://ftp.gnu.org/gnu/make/make-%{V_make}.tar.gz -Source8: http://www.bzip.org/%{V_bzip2}/bzip2-%{V_bzip2}.tar.gz -Source9: http://curl.haxx.se/download/curl-%{V_curl}.tar.gz -Source10: http://switch.dl.sourceforge.net/beecrypt/beecrypt-%{V_beecrypt}.tar.gz -Source11: http://www.zlib.net/zlib-%{V_zlib}.tar.gz -Source12: HISTORY -Source13: README -Source14: aux.prereq.sh -Source15: aux.usrgrp.sh -Source16: aux.wrapbin.sh -Source17: aux.wrapsrc.sh -Source18: bash.patch -Source19: beecrypt.patch -Source20: dot.bash_login -Source21: dot.bashrc -Source22: dot.lsyncrc -Source23: gzip.c -Source24: local.README -Source25: lsync -Source26: lsync.8 -Source27: lsync.pod -Source28: make.patch +Source0: ftp://alpha.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.openpkg.org/sources/CPY/openpkg/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 +Source18: HISTORY +Source19: README +Source20: aux.prereq.sh +Source21: aux.usrgrp.sh +Source22: aux.wrapbin.sh +Source23: aux.wrapsrc.sh +Source24: bash.patch +Source25: beecrypt.patch +Source26: dot.bash_login +Source27: dot.bashrc +Source28: dot.lsyncrc Source29: install.sh -Source30: man.sh -Source31: openpkg.1 -Source32: openpkg.boot -Source33: openpkg.org.pgp -Source34: openpkg.pod -Source35: openpkg.sh -Source36: pod2man.sh -Source37: rc -Source38: rc.8 -Source39: rc.conf -Source40: rc.func -Source41: rc.openpkg -Source42: rc.pod -Source43: root.README -Source44: rpm-config.8 -Source45: rpm-config.pod -Source46: rpm-config.sh -Source47: rpm.patch.bugfix -Source48: rpm.patch.feature -Source49: rpm.patch.porting -Source50: rpm.patch.regen -Source51: rpmdb -Source52: rpmmacros -Source53: rpmpopt -Source54: rpmrc -Source55: rpmtool -Source56: rpmtool.8 -Source57: rpmtool.pod -Source58: shtool -Source59: tar.patch -Source60: uuid.8 -Source61: uuid.pod -Source62: uuid.sh -Source63: ftp://ftp.openpkg.org/sources/CPY/openpkg-registry/openpkg-registry-%{V_registry}.tar.gz -Source64: ftp://ftp.openpkg.org/sources/CPY/openpkg-tools/openpkg-tools-%{V_tools}.tar.gz -Source65: ftp://ftp.openpkg.org/sources/CPY/perl/perl-%{V_perl}-mini.tar.gz -Source66: ftp://ftp.openssl.org/source/openssl-%{V_openssl}.tar.gz -Source67: perl.patch -Source68: openssl.patch -Source69: release.sh -Source70: release.pod -Source71: release.8 -Source72: openpkg.c -Source73: openpkg.com.pgp -Source74: openpkg.net.pgp +Source30: local.README +Source31: lsync +Source32: lsync.8 +Source33: lsync.pod +Source34: make.patch +Source35: man.sh +Source36: openpkg.1 +Source37: openpkg.boot +Source38: openpkg.com.pgp +Source39: openpkg.net.pgp +Source40: openpkg.org.pgp +Source41: openpkg.pod +Source42: openpkg.sh +Source43: openssl.patch +Source44: perl.patch +Source45: pod2man.sh +Source46: rc +Source47: rc.8 +Source48: rc.conf +Source49: rc.func +Source50: rc.openpkg +Source51: rc.pod +Source52: release.8 +Source53: release.pod +Source54: release.sh +Source55: root.README +Source56: rpm-config.8 +Source57: rpm-config.pod +Source58: rpm-config.sh +Source59: rpm.patch.bugfix +Source60: rpm.patch.feature +Source61: rpm.patch.porting +Source62: rpm.patch.regen +Source63: rpmdb +Source64: rpmmacros +Source65: rpmpopt +Source66: rpmrc +Source67: rpmtool +Source68: rpmtool.8 +Source69: rpmtool.pod +Source70: shtool +Source71: tar.patch +Source72: uuid.8 +Source73: uuid.pod +Source74: uuid.sh # build information Prefix: %{l_prefix} @@ -155,7 +157,7 @@ AutoReq: no AutoReqProv: no Provides: OpenPKG -Provides: openpkg = 20061030-20061030 +Provides: openpkg = 20061207-20061207 %description This is the bootstrap package for the RPM-based Unix Software @@ -193,10 +195,16 @@ regex = curl-(__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://alpha.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/ @@ -261,6 +269,11 @@ url = ftp://ftp.openpkg.org/sources/CPY/openpkg-tools/ regex = openpkg-tools-(__VER__)\.tar\.gz } + prog openpkg:openpkg-executable = { + version = %{V_exec} + url = ftp://ftp.openpkg.org/sources/CPY/openpkg/ + regex = openpkg-executable-(__VER__-C)\.tar\.gz + } %prep # skip in bootstrap phase 2 (see openpkg.boot) @@ -496,14 +509,14 @@ # 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} - mv gzip.c gzip.c.orig - cp `SOURCE gzip.c` . echo "ac_cv_prog_cc_g=no" >config.cache case $plid in Darwin/* ) echo "gzip_cv_assembler=no" >>config.cache ;; esac CC="${l_cc}" \ + GREP="grep" \ ./configure \ --cache-file=./config.cache ${l_make} || exit $? @@ -575,18 +588,19 @@ 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 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 curl-%{V_curl}.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 rpm-%{V_rpm}.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 curl-%{V_curl}.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 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 # update config.guess/config.sub for dir in rpm-%{V_rpm} rpm-%{V_rpm}/popt beecrypt-%{V_beecrypt} \ @@ -953,17 +967,13 @@ ${l_make} ) || exit $? - # build frontend wrapper - ( 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'` - ${l_cc} \ - -DOPENPKG_PLATFORM_${os_name} \ - -DOPENPKG_PREFIX=\"%{l_prefix}\" \ - -DOPENPKG_SUSR=\"%{l_susr}\" \ - -DOPENPKG_MUSR=\"%{l_musr}\" \ - -o openpkg `SOURCE openpkg.c` + # build "openpkg" executable + ( cd openpkg-executable-%{V_exec} + ${l_make} \ + CC="${l_cc}" \ + OPENPKG_PREFIX="%{l_prefix}" \ + OPENPKG_SUSR="%{l_susr}" \ + OPENPKG_MUSR="%{l_musr}" ) || exit $? %install @@ -1057,6 +1067,7 @@ # 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 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}/libbz2.a $RPM_BUILD_ROOT%{l_prefix}/lib/librpmbz2.a @@ -1223,7 +1234,7 @@ chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmtool # install OpenPKG tool chain execution frontend and execution wrapper - cp openpkg $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg + cp openpkg-executable-%{V_exec}/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" \ @@ -1429,6 +1440,7 @@ %{l_prefix}/include/openpkg/rpm/stringbuf.h %{l_prefix}/include/openpkg/rpm/ugid.h %{l_prefix}/include/openpkg/rpm/zlib.h + %{l_prefix}/include/openpkg/rpm/zconf.h %dir %{l_prefix}/info %dir %{l_prefix}/lib %dir %{l_prefix}/lib/openpkg @@ -2399,6 +2411,20 @@ fi chown %{l_musr}:%{l_mgrp} %{l_prefix}/lib/openpkg/fallback >/dev/null 2>&1 || true + # display license information of "openpkg" executable in case the + # OpenPKG Community version (staying under an OSS license) is NOT used. + 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 + fi + %preun [ ".$1" != .0 ] && exit 0 @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/release.sh ============================================================================ $ cvs diff -u -r1.1.2.3 -r1.1.2.4 release.sh --- openpkg-src/openpkg/release.sh 24 Aug 2006 14:25:20 -0000 1.1.2.3 +++ openpkg-src/openpkg/release.sh 7 Dec 2006 10:44:34 -0000 1.1.2.4 @@ -74,7 +74,8 @@ tag=`(cat $prefix/etc/openpkg/release; echo "") | sed \ -e 's;^;X;' \ -e 's;^X *TAG *= *\([^ ][^ ]*\).*;\1;' \ - -e '/^X/d'` + -e '/^X/d' | \ + sed -n -e '$p'` else tag=`$prefix/bin/openpkg rpm \ -q --qf '%{VERSION}\n' openpkg | number_to_tag` @@ -90,7 +91,8 @@ url=`(cat $prefix/etc/openpkg/release; echo "") | sed \ -e 's;^;X;' \ -e 's;^X *URL *= *\([^ ][^ ]*\).*;\1;' \ - -e '/^X/d'` + -e '/^X/d' | \ + sed -n -e '$p'` fi if [ ".$url" = . ]; then url="ftp://ftp.openpkg.org/*" @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/rpmdb ============================================================================ $ cvs diff -u -r1.8.2.1 -r1.8.2.2 rpmdb --- openpkg-src/openpkg/rpmdb 30 Oct 2006 10:51:52 -0000 1.8.2.1 +++ openpkg-src/openpkg/rpmdb 7 Dec 2006 10:44:34 -0000 1.8.2.2 @@ -391,8 +391,8 @@ db_init db_extend db_rebuild - db_operate db_fixate + db_operate ;; rebuild ) @@ -401,8 +401,8 @@ db_extend db_reload db_rebuild - db_operate db_fixate + db_operate ;; cleanup ) @@ -410,15 +410,15 @@ db_unbreak db_extend db_rebuild - db_operate db_fixate + db_operate ;; fixate ) verbose 1 "FIXATING EXISTING RPM DATABASE ($dbpath)" db_extend - db_operate db_fixate + db_operate ;; list ) @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/rpmmacros ============================================================================ $ cvs diff -u -r1.74.2.2 -r1.74.2.3 rpmmacros --- openpkg-src/openpkg/rpmmacros 16 Oct 2006 14:53:35 -0000 1.74.2.2 +++ openpkg-src/openpkg/rpmmacros 7 Dec 2006 10:44:34 -0000 1.74.2.3 @@ -263,6 +263,8 @@ %l_flex %{l_tool_locate flex flex} %l_bison %{l_tool_locate bison bison} %l_perl %{l_tool_locate perl perl} +%l_miniperl %{l_tool_locate miniperl miniperl} +%l_openssl %{l_tool_locate openssl openssl} %l_xmkmf %{l_tool_locate xmkmf xmkmf} %l_vcheck %{l_tool_locate vcheck vcheck} @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/rpmtool ============================================================================ $ cvs diff -u -r1.47.2.1 -r1.47.2.2 rpmtool --- openpkg-src/openpkg/rpmtool 30 Oct 2006 10:51:52 -0000 1.47.2.1 +++ openpkg-src/openpkg/rpmtool 7 Dec 2006 10:44:34 -0000 1.47.2.2 @@ -1378,34 +1378,35 @@ # check package class from within .spec file macro expansion for %prep section class="$1"; shift case "$class" in - BASE|CORE ) + CORE|BASE ) ;; PLUS ) echo "set +x" ( echo "This OpenPKG package is of class PLUS." - echo "It is in prerelease state and might be ready for release soon." - echo "Nevertheless, use it with great care in production environments." - echo "It might be unstable and break your environment." - echo "Only CORE and BASE class packages are production grade." + echo "This means it is still in extended QUALITY ASSURANCE state." + echo "Hence it is still NOT ready for careless use." + echo "Do not use it in critical production environments." + echo "It might be still potentially unstable under run-time." ) | sh $prog_path msg -r -t notice | sed -e 's;^;echo ";' -e 's;$;";' echo "set -x" ;; EVAL ) echo "set +x" ( echo "This OpenPKG package is of class EVAL." - echo "It is in evaluation state and still not ready for release." - echo "Hence, do not use it in production environments." - echo "It might be unstable or incompletely packaged." - echo "Only CORE and BASE class packages are production grade." + echo "This means it is still in EVALUATION and QUALITY ASSURANCE state." + echo "Hence it is still NOT ready for general use." + echo "Do not use it in production environments." + echo "It might be unstable under run-time or still incompletely packaged." ) | sh $prog_path msg -r -t warn | sed -e 's;^;echo ";' -e 's;$;";' echo "set -x" ;; JUNK ) echo "set +x" ( echo "This OpenPKG package is of class JUNK." - echo "It is in development state and still not even ready for evaluation." - echo "Do not use it at all, as it is definitely unstable and incomplete." - echo "Only CORE and BASE class packages are production grade." + echo "This means it is still in DEVELOPMENT state." + echo "Hence it is still NOT ready even for general evaluation." + echo "Do not use it at all, except in development environments!" + echo "It is definitely unstable and incompletely packaged." ) | sh $prog_path msg -r -t warn | sed -e 's;^;echo ";' -e 's;$;";' echo "set -x" ;; @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/tar.patch ============================================================================ $ cvs diff -u -r1.5.8.1 -r1.5.8.2 tar.patch --- openpkg-src/openpkg/tar.patch 22 Oct 2006 11:13:35 -0000 1.5.8.1 +++ openpkg-src/openpkg/tar.patch 7 Dec 2006 10:44:35 -0000 1.5.8.2 @@ -1,3 +1,15 @@ +Index: Makefile.in +--- Makefile.in.orig 2006-10-21 17:41:31 +0200 ++++ Makefile.in 2006-12-05 10:09:24 +0100 +@@ -310,7 +310,7 @@ + target_alias = @target_alias@ + ACLOCAL_AMFLAGS = -I m4 + EXTRA_DIST = ChangeLog.1 PORTS +-SUBDIRS = doc lib rmt src scripts po tests ++SUBDIRS = doc lib src + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + Index: lib/argp-help.c --- lib/argp-help.c.orig 2006-09-12 10:59:04 +0200 +++ lib/argp-help.c 2006-10-22 11:35:12 +0200 @@ -20,17 +32,6 @@ until_short (const struct argp_option *opt, const struct argp_option *real, const char *domain, void *cookie) { -Index: rmt/rmt.c ---- rmt/rmt.c.orig 2006-09-27 10:54:46 +0200 -+++ rmt/rmt.c 2006-10-22 11:35:12 +0200 -@@ -43,6 +43,7 @@ - #include <obstack.h> - #include <getopt.h> - #include <sys/socket.h> -+#include <locale.h> - - #ifndef EXIT_FAILURE - # define EXIT_FAILURE 1 Index: src/compare.c --- src/compare.c.orig 2006-03-20 10:23:29 +0100 +++ src/compare.c 2006-10-22 11:36:29 +0200 @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org