- update to 4.4.2.2-rc1

- remove no longer needed hacks
- drop patches merged upstream
This commit is contained in:
Panu Matilainen 2007-08-28 10:14:29 +00:00
parent f780b84693
commit 3876c01b60
18 changed files with 16 additions and 1337 deletions

View File

@ -1 +1 @@
rpm-4.4.2.1.tar.gz
rpm-4.4.2.2-rc1.tar.gz

View File

@ -1,33 +0,0 @@
changeset: 6214:ccfaf1c37a56
user: Panu Matilainen <pmatilai@redhat.com>
date: Mon Aug 06 14:47:43 2007 +0300
files: installplatform rpmrc.in
description:
Couple of ARM-related typo fixes from Lennert Buytenhek.
diff -r f0a6328331a5 -r ccfaf1c37a56 installplatform
--- a/installplatform Mon Aug 06 14:47:10 2007 +0300
+++ b/installplatform Mon Aug 06 14:47:43 2007 +0300
@@ -32,7 +32,7 @@ case "$arch" in
case "$arch" in
i[3456]86|pentium[34]|athlon) SUBSTS='s_i386_i386_ s_i386_i486_ s_i386_i586_ s_i386_i686_ s_i386_pentium3_ s_i386_pentium4_ s_i386_athlon_' ;;
alpha*) SUBSTS='s_alpha_alpha_ s_alpha_alphaev5_ s_alpha_alphaev56_ s_alpha_alphapca56_ s_alpha_alphaev6_ s_alpha_alphaev67_' ;;
- arm*) SUBSTS='s_arm_armv3l_ s_arm_arm4l_ s_arm_armv4tl_ s_arm_armv5tel_ s_arm_armv5tejl_ s_arm_armv6l_' ;;
+ arm*) SUBSTS='s_arm_armv3l_ s_arm_armv4l_ s_arm_armv4tl_ s_arm_armv5tel_ s_arm_armv5tejl_ s_arm_armv6l_' ;;
sparc*) SUBSTS='s_sparc\(64\|v9\)_sparc_ s_sparc64_sparcv9_;s_sparc\([^v]\|$\)_sparcv9\1_ s_sparcv9_sparc64_;s_sparc\([^6]\|$\)_sparc64\1_' ;;
powerpc*|ppc*) SUBSTS='s_ppc64_ppc_ s_ppc\([^6ip]\|$\)_ppc64\1_ s_ppc\([^6ip]\|$\)_ppciseries_ s_ppc\([^6ip]\|$\)_ppcpseries_ s_ppc\([^6ip]\|$\)_ppc64iseries_ s_ppc\([^6ip]\|$\)_ppc64pseries_' ;;
s390*) SUBSTS='s_s390x_s390_ s_s390\([^x]\|$\)_s390x\1_' ;;
diff -r f0a6328331a5 -r ccfaf1c37a56 rpmrc.in
--- a/rpmrc.in Mon Aug 06 14:47:10 2007 +0300
+++ b/rpmrc.in Mon Aug 06 14:47:43 2007 +0300
@@ -230,7 +230,7 @@ buildarchtranslate: armv4l: armv4l
buildarchtranslate: armv4l: armv4l
buildarchtranslate: armv4tl: armv4tl
buildarchtranslate: armv5tel: armv5tel
-buildarchtranslate: armv5tejl: armv4tejl
+buildarchtranslate: armv5tejl: armv5tejl
buildarchtranslate: armv6l: armv6l
buildarchtranslate: atarist: m68kmint

View File

@ -1,440 +0,0 @@
diff -up rpm-4.4.2.1/db/xa/xa.c.orig rpm-4.4.2.1/db/xa/xa.c
--- rpm-4.4.2.1/db/xa/xa.c.orig 2007-07-05 15:24:36.000000000 +0300
+++ rpm-4.4.2.1/db/xa/xa.c 2007-08-08 13:22:44.000000000 +0300
@@ -219,7 +219,7 @@ __db_xa_open(xa_info, rmid, arg_flags)
/* Open a new environment. */
if (db_env_create(&dbenv, 0) != 0)
return (XAER_RMERR);
- if (dbenv->open(dbenv, xa_info, XA_FLAGS, 0) != 0)
+ if ((dbenv->open)(dbenv, xa_info, XA_FLAGS, 0) != 0)
goto err;
/* Create the mapping. */
diff -up rpm-4.4.2.1/db/xa/xa_db.c.orig rpm-4.4.2.1/db/xa/xa_db.c
--- rpm-4.4.2.1/db/xa/xa_db.c.orig 2007-07-05 15:24:36.000000000 +0300
+++ rpm-4.4.2.1/db/xa/xa_db.c 2007-08-08 13:26:54.000000000 +0300
@@ -96,7 +96,7 @@ __xa_open(dbp, txn, name, subdb, type, f
xam = (XA_METHODS *)dbp->xa_internal;
SET_TXN(txn, t);
- if ((ret = xam->open(dbp, t, name, subdb, type, flags, mode)) != 0)
+ if ((ret = (xam->open)(dbp, t, name, subdb, type, flags, mode)) != 0)
return (ret);
xam->cursor = dbp->cursor;
diff -up rpm-4.4.2.1/db/rpc_server/c/db_server_proc.c.orig rpm-4.4.2.1/db/rpc_server/c/db_server_proc.c
--- rpm-4.4.2.1/db/rpc_server/c/db_server_proc.c.orig 2007-07-05 15:24:35.000000000 +0300
+++ rpm-4.4.2.1/db/rpc_server/c/db_server_proc.c 2007-08-08 13:22:41.000000000 +0300
@@ -363,7 +363,7 @@ __env_open_proc(dbenvcl_id, home, flags,
replyp->envcl_id = new_ctp->ct_id;
ret = __dbenv_close_int(dbenvcl_id, 0, 0);
} else {
- ret = dbenv->open(dbenv, fullhome->home, newflags, mode);
+ ret = (dbenv->open)(dbenv, fullhome->home, newflags, mode);
dbenv_ctp->ct_envdp.home = fullhome;
dbenv_ctp->ct_envdp.envflags = shareflags;
}
@@ -1388,7 +1388,7 @@ __db_open_proc(dbpcl_id, txnpcl_id, name
ret = __db_close_int(dbpcl_id, 0);
goto out;
}
- ret = dbp->open(dbp, txnp, name, subdb, (DBTYPE)type, flags, mode);
+ ret = (dbp->open)(dbp, txnp, name, subdb, (DBTYPE)type, flags, mode);
if (ret == 0) {
(void)dbp->get_type(dbp, &dbtype);
replyp->type = dbtype;
diff -up rpm-4.4.2.1/db/rpc_server/c/db_server_util.c.orig rpm-4.4.2.1/db/rpc_server/c/db_server_util.c
--- rpm-4.4.2.1/db/rpc_server/c/db_server_util.c.orig 2007-07-05 15:24:35.000000000 +0300
+++ rpm-4.4.2.1/db/rpc_server/c/db_server_util.c 2007-08-08 13:22:41.000000000 +0300
@@ -824,7 +824,7 @@ env_recover(progname)
printf("Running recovery on %s\n", hp->home);
flags = DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL |
DB_INIT_TXN | DB_USE_ENVIRON | DB_RECOVER;
- if ((ret = dbenv->open(dbenv, hp->home, flags, 0)) != 0) {
+ if ((ret = (dbenv->open)(dbenv, hp->home, flags, 0)) != 0) {
dbenv->err(dbenv, ret, "DB_ENV->open");
goto error;
}
diff -up rpm-4.4.2.1/db/rpc_server/cxx/db_server_cxxproc.cpp.orig rpm-4.4.2.1/db/rpc_server/cxx/db_server_cxxproc.cpp
--- rpm-4.4.2.1/db/rpc_server/cxx/db_server_cxxproc.cpp.orig 2007-07-05 15:24:35.000000000 +0300
+++ rpm-4.4.2.1/db/rpc_server/cxx/db_server_cxxproc.cpp 2007-08-08 13:22:41.000000000 +0300
@@ -314,7 +314,7 @@ __env_open_proc(
replyp->envcl_id = new_ctp->ct_id;
ret = __dbenv_close_int(dbenvcl_id, 0, 0);
} else {
- ret = dbenv->open(fullhome->home, newflags, mode);
+ ret = (dbenv->open)(fullhome->home, newflags, mode);
dbenv_ctp->ct_envdp.home = fullhome;
dbenv_ctp->ct_envdp.envflags = shareflags;
}
@@ -1195,7 +1195,7 @@ __db_open_proc(
ret = __db_close_int(dbpcl_id, 0);
goto out;
}
- ret = dbp->open(txnp, name, subdb, (DBTYPE)type, flags, mode);
+ ret = (dbp->open)(txnp, name, subdb, (DBTYPE)type, flags, mode);
if (ret == 0) {
(void)dbp->get_type(&dbtype);
replyp->type = dbtype;
diff -up rpm-4.4.2.1/db/rpc_server/cxx/db_server_cxxutil.cpp.orig rpm-4.4.2.1/db/rpc_server/cxx/db_server_cxxutil.cpp
--- rpm-4.4.2.1/db/rpc_server/cxx/db_server_cxxutil.cpp.orig 2007-07-05 15:24:35.000000000 +0300
+++ rpm-4.4.2.1/db/rpc_server/cxx/db_server_cxxutil.cpp 2007-08-08 13:22:41.000000000 +0300
@@ -756,7 +756,7 @@ env_recover(char *progname)
printf("Running recovery on %s\n", hp->home);
flags = DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL |
DB_INIT_TXN | DB_USE_ENVIRON | DB_RECOVER;
- if ((ret = dbenv->open(hp->home, flags, 0)) != 0) {
+ if ((ret = (dbenv->open)(hp->home, flags, 0)) != 0) {
dbenv->err(ret, "DbEnv->open");
goto error;
}
diff -up rpm-4.4.2.1/db/db_upgrade/db_upgrade.c.orig rpm-4.4.2.1/db/db_upgrade/db_upgrade.c
--- rpm-4.4.2.1/db/db_upgrade/db_upgrade.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db_upgrade/db_upgrade.c 2007-08-08 13:27:41.000000000 +0300
@@ -120,10 +120,10 @@ main(argc, argv)
* If attaching to a pre-existing environment fails, create a
* private one and try again.
*/
- if ((ret = dbenv->open(dbenv,
+ if ((ret = (dbenv->open)(dbenv,
home, DB_JOINENV | DB_USE_ENVIRON, 0)) != 0 &&
(ret == DB_VERSION_MISMATCH ||
- (ret = dbenv->open(dbenv, home,
+ (ret = (dbenv->open)(dbenv, home,
DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON,
0)) != 0)) {
dbenv->err(dbenv, ret, "DB_ENV->open");
diff -up rpm-4.4.2.1/db/db_stat/db_stat.c.orig rpm-4.4.2.1/db/db_stat/db_stat.c
--- rpm-4.4.2.1/db/db_stat/db_stat.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db_stat/db_stat.c 2007-08-08 13:28:27.000000000 +0300
@@ -278,7 +278,7 @@ retry: if ((ret = db_env_create(&dbenv,
goto err;
}
- if ((ret = dbp->open(dbp,
+ if ((ret = (dbp->open)(dbp,
NULL, db, subdb, DB_UNKNOWN, DB_RDONLY, 0)) != 0) {
dbenv->err(dbenv, ret, "DB->open: %s", db);
goto err;
@@ -316,7 +316,7 @@ retry: if ((ret = db_env_create(&dbenv,
dbenv->err(dbenv, ret, "db_create");
goto err;
}
- if ((ret = dbp->open(alt_dbp, NULL,
+ if ((ret = (dbp->open)(alt_dbp, NULL,
db, subdb, DB_UNKNOWN, DB_RDONLY, 0)) != 0) {
if (subdb == NULL)
dbenv->err(dbenv,
@@ -413,7 +413,7 @@ db_init(dbenv, home, ttype, cache, is_pr
*/
*is_private = 0;
if ((ret =
- dbenv->open(dbenv, home, DB_JOINENV | DB_USE_ENVIRON, 0)) == 0)
+ (dbenv->open)(dbenv, home, DB_JOINENV | DB_USE_ENVIRON, 0)) == 0)
return (0);
if (ret == DB_VERSION_MISMATCH)
goto err;
@@ -445,7 +445,7 @@ db_init(dbenv, home, ttype, cache, is_pr
oflags |= DB_INIT_LOG;
if (ttype == T_REP)
oflags |= DB_INIT_REP;
- if ((ret = dbenv->open(dbenv, home, oflags, 0)) == 0)
+ if ((ret = (dbenv->open)(dbenv, home, oflags, 0)) == 0)
return (0);
/* An environment is required. */
diff -up rpm-4.4.2.1/db/db_load/db_load.c.orig rpm-4.4.2.1/db/db_load/db_load.c
--- rpm-4.4.2.1/db/db_load/db_load.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db_load/db_load.c 2007-08-08 13:22:44.000000000 +0300
@@ -399,7 +399,7 @@ retry_db:
#endif
/* Open the DB file. */
- if ((ret = dbp->open(dbp, NULL, name, subdb, dbtype,
+ if ((ret = (dbp->open)(dbp, NULL, name, subdb, dbtype,
DB_CREATE | (TXN_ON(dbenv) ? DB_AUTO_COMMIT : 0),
__db_omode("rwrwrw"))) != 0) {
dbp->err(dbp, ret, "DB->open: %s", name);
@@ -613,7 +613,7 @@ db_init(dbenv, home, cache, is_private)
/* We may be loading into a live environment. Try and join. */
flags = DB_USE_ENVIRON |
DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN;
- if ((ret = dbenv->open(dbenv, home, flags, 0)) == 0)
+ if ((ret = (dbenv->open)(dbenv, home, flags, 0)) == 0)
return (0);
if (ret == DB_VERSION_MISMATCH)
goto err;
@@ -637,7 +637,7 @@ db_init(dbenv, home, cache, is_private)
dbenv->err(dbenv, ret, "set_cachesize");
return (1);
}
- if ((ret = dbenv->open(dbenv, home, flags, 0)) == 0)
+ if ((ret = (dbenv->open)(dbenv, home, flags, 0)) == 0)
return (0);
/* An environment is required. */
diff -up rpm-4.4.2.1/db/db_verify/db_verify.c.orig rpm-4.4.2.1/db/db_verify/db_verify.c
--- rpm-4.4.2.1/db/db_verify/db_verify.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db_verify/db_verify.c 2007-08-08 13:22:44.000000000 +0300
@@ -133,7 +133,7 @@ retry: if ((ret = db_env_create(&dbenv,
*/
private = 0;
if ((ret =
- dbenv->open(dbenv, home, DB_INIT_MPOOL | DB_USE_ENVIRON, 0)) != 0) {
+ (dbenv->open)(dbenv, home, DB_INIT_MPOOL | DB_USE_ENVIRON, 0)) != 0) {
if (ret != DB_VERSION_MISMATCH) {
if ((ret =
dbenv->set_cachesize(dbenv, 0, cache, 1)) != 0) {
@@ -141,7 +141,7 @@ retry: if ((ret = db_env_create(&dbenv,
goto shutdown;
}
private = 1;
- ret = dbenv->open(dbenv, home, DB_CREATE |
+ ret = (dbenv->open)(dbenv, home, DB_CREATE |
DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0);
}
if (ret != 0) {
@@ -171,7 +171,7 @@ retry: if ((ret = db_env_create(&dbenv,
goto shutdown;
}
- ret = dbp1->open(dbp1,
+ ret = (dbp1->open)(dbp1,
NULL, argv[0], NULL, DB_UNKNOWN, DB_RDONLY, 0);
/*
diff -up rpm-4.4.2.1/db/db_deadlock/db_deadlock.c.orig rpm-4.4.2.1/db/db_deadlock/db_deadlock.c
--- rpm-4.4.2.1/db/db_deadlock/db_deadlock.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db_deadlock/db_deadlock.c 2007-08-08 13:28:55.000000000 +0300
@@ -165,7 +165,7 @@ main(argc, argv)
/* An environment is required. */
if ((ret =
- dbenv->open(dbenv, home, DB_INIT_LOCK | DB_USE_ENVIRON, 0)) != 0) {
+ (dbenv->open)(dbenv, home, DB_INIT_LOCK | DB_USE_ENVIRON, 0)) != 0) {
dbenv->err(dbenv, ret, "open");
goto shutdown;
}
diff -up rpm-4.4.2.1/db/hsearch/hsearch.c.orig rpm-4.4.2.1/db/hsearch/hsearch.c
--- rpm-4.4.2.1/db/hsearch/hsearch.c.orig 2007-07-05 15:24:35.000000000 +0300
+++ rpm-4.4.2.1/db/hsearch/hsearch.c 2007-08-08 13:29:23.000000000 +0300
@@ -82,7 +82,7 @@ __db_hcreate(nel)
if ((ret = dbp->set_pagesize(dbp, 512)) != 0 ||
(ret = dbp->set_h_ffactor(dbp, 16)) != 0 ||
(ret = dbp->set_h_nelem(dbp, (u_int32_t)nel)) != 0 ||
- (ret = dbp->open(dbp,
+ (ret = (dbp->open)(dbp,
NULL, NULL, NULL, DB_HASH, DB_CREATE, __db_omode("rw----"))) != 0)
__os_set_errno(ret);
diff -up rpm-4.4.2.1/db/libdb_java/db_java_wrap.c.orig rpm-4.4.2.1/db/libdb_java/db_java_wrap.c
--- rpm-4.4.2.1/db/libdb_java/db_java_wrap.c.orig 2007-07-05 15:24:35.000000000 +0300
+++ rpm-4.4.2.1/db/libdb_java/db_java_wrap.c 2007-08-08 13:29:58.000000000 +0300
@@ -1894,7 +1894,7 @@ db_ret_t Db_key_range(struct Db *self,DB
return self->key_range(self, txnid, key, key_range, flags);
}
db_ret_t Db_open(struct Db *self,DB_TXN *txnid,char const *file,char const *database,DBTYPE type,u_int32_t flags,int mode){
- return self->open(self, txnid, file, database,
+ return (self->open)(self, txnid, file, database,
type, flags, mode);
}
int Db_pget(struct Db *self,DB_TXN *txnid,DBT *key,DBT *pkey,DBT *data,u_int32_t flags){
@@ -2103,7 +2103,7 @@ int_bool DbEnv_get_verbose(struct DbEnv
return ret;
}
db_ret_t DbEnv_open(struct DbEnv *self,char const *db_home,u_int32_t flags,int mode){
- return self->open(self, db_home, flags, mode);
+ return (self->open)(self, db_home, flags, mode);
}
db_ret_t DbEnv_remove(struct DbEnv *self,char const *db_home,u_int32_t flags){
return self->remove(self, db_home, flags);
@@ -2499,7 +2499,7 @@ db_ret_t DbSequence_initial_value(struct
return self->initial_value(self, val);
}
db_ret_t DbSequence_open(struct DbSequence *self,DB_TXN *txnid,DBT *key,u_int32_t flags){
- return self->open(self, txnid, key, flags);
+ return (self->open)(self, txnid, key, flags);
}
db_ret_t DbSequence_remove(struct DbSequence *self,DB_TXN *txnid,u_int32_t flags){
return self->remove(self, txnid, flags);
diff -up rpm-4.4.2.1/db/dbm/dbm.c.orig rpm-4.4.2.1/db/dbm/dbm.c
--- rpm-4.4.2.1/db/dbm/dbm.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/dbm/dbm.c 2007-08-08 13:22:38.000000000 +0300
@@ -235,7 +235,7 @@ __db_ndbm_open(file, oflags, mode)
if ((ret = dbp->set_pagesize(dbp, 4096)) != 0 ||
(ret = dbp->set_h_ffactor(dbp, 40)) != 0 ||
(ret = dbp->set_h_nelem(dbp, 1)) != 0 ||
- (ret = dbp->open(dbp, NULL,
+ (ret = (dbp->open)(dbp, NULL,
path, NULL, DB_HASH, __db_oflags(oflags), mode)) != 0) {
__os_set_errno(ret);
return (NULL);
diff -up rpm-4.4.2.1/db/db_dump/db_dump.c.orig rpm-4.4.2.1/db/db_dump/db_dump.c
--- rpm-4.4.2.1/db/db_dump/db_dump.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db_dump/db_dump.c 2007-08-08 13:30:27.000000000 +0300
@@ -204,7 +204,7 @@ retry: if ((ret = db_env_create(&dbenv,
goto done;
}
- if ((ret = dbp->open(dbp, NULL,
+ if ((ret = (dbp->open)(dbp, NULL,
argv[0], subname, DB_UNKNOWN, DB_RDONLY, 0)) != 0) {
dbp->err(dbp, ret, "open: %s", argv[0]);
goto err;
@@ -305,7 +305,7 @@ db_init(dbenv, home, is_salvage, cache,
* before we create our own.
*/
*is_privatep = 0;
- if ((ret = dbenv->open(dbenv, home, DB_USE_ENVIRON |
+ if ((ret = (dbenv->open)(dbenv, home, DB_USE_ENVIRON |
(is_salvage ? DB_INIT_MPOOL : DB_JOINENV), 0)) == 0)
return (0);
if (ret == DB_VERSION_MISMATCH)
@@ -323,7 +323,7 @@ db_init(dbenv, home, is_salvage, cache,
*/
*is_privatep = 1;
if ((ret = dbenv->set_cachesize(dbenv, 0, cache, 1)) == 0 &&
- (ret = dbenv->open(dbenv, home,
+ (ret = (dbenv->open)(dbenv, home,
DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0)) == 0)
return (0);
@@ -416,7 +416,7 @@ dump_sub(dbenv, parent_dbp, parent_name,
free(subdb);
return (1);
}
- if ((ret = dbp->open(dbp, NULL,
+ if ((ret = (dbp->open)(dbp, NULL,
parent_name, subdb, DB_UNKNOWN, DB_RDONLY, 0)) != 0)
dbp->err(dbp, ret,
"DB->open: %s:%s", parent_name, subdb);
diff -up rpm-4.4.2.1/db/db_recover/db_recover.c.orig rpm-4.4.2.1/db/db_recover/db_recover.c
--- rpm-4.4.2.1/db/db_recover/db_recover.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db_recover/db_recover.c 2007-08-08 13:30:54.000000000 +0300
@@ -146,7 +146,7 @@ main(argc, argv)
DB_INIT_MPOOL | DB_INIT_TXN | DB_USE_ENVIRON);
LF_SET(fatal_recover ? DB_RECOVER_FATAL : DB_RECOVER);
LF_SET(retain_env ? 0 : DB_PRIVATE);
- if ((ret = dbenv->open(dbenv, home, flags, 0)) != 0) {
+ if ((ret = (dbenv->open)(dbenv, home, flags, 0)) != 0) {
dbenv->err(dbenv, ret, "DB_ENV->open");
goto shutdown;
}
diff -up rpm-4.4.2.1/db/db_printlog/db_printlog.c.orig rpm-4.4.2.1/db/db_printlog/db_printlog.c
--- rpm-4.4.2.1/db/db_printlog/db_printlog.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db_printlog/db_printlog.c 2007-08-08 13:32:00.000000000 +0300
@@ -168,19 +168,19 @@ main(argc, argv)
* with logging, because we don't want to log the opens.
*/
if (repflag) {
- if ((ret = dbenv->open(dbenv, home,
+ if ((ret = (dbenv->open)(dbenv, home,
DB_INIT_MPOOL | DB_USE_ENVIRON, 0)) != 0 &&
(ret == DB_VERSION_MISMATCH ||
- (ret = dbenv->open(dbenv, home,
+ (ret = (dbenv->open)(dbenv, home,
DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0))
!= 0)) {
dbenv->err(dbenv, ret, "DB_ENV->open");
goto shutdown;
}
- } else if ((ret = dbenv->open(dbenv, home,
+ } else if ((ret = (dbenv->open)(dbenv, home,
DB_JOINENV | DB_USE_ENVIRON, 0)) != 0 &&
(ret == DB_VERSION_MISMATCH ||
- (ret = dbenv->open(dbenv, home,
+ (ret = (dbenv->open)(dbenv, home,
DB_CREATE | DB_INIT_LOG | DB_PRIVATE | DB_USE_ENVIRON, 0)) != 0)) {
dbenv->err(dbenv, ret, "DB_ENV->open");
goto shutdown;
@@ -378,7 +378,7 @@ open_rep_db(dbenv, dbpp, dbcp)
dbp = *dbpp;
if ((ret =
- dbp->open(dbp, NULL, "__db.rep.db", NULL, DB_BTREE, 0, 0)) != 0) {
+ (dbp->open)(dbp, NULL, "__db.rep.db", NULL, DB_BTREE, 0, 0)) != 0) {
dbenv->err(dbenv, ret, "DB->open");
goto err;
}
diff -up rpm-4.4.2.1/db/db185/db185.c.orig rpm-4.4.2.1/db/db185/db185.c
--- rpm-4.4.2.1/db/db185/db185.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db185/db185.c 2007-08-08 13:22:44.000000000 +0300
@@ -230,7 +230,7 @@ __db185_open(file, oflags, mode, type, o
dbp->api_internal = db185p;
/* Open the database. */
- if ((ret = dbp->open(dbp, NULL,
+ if ((ret = (dbp->open)(dbp, NULL,
file, NULL, type, __db_oflags(oflags), mode)) != 0)
goto err;
diff -up rpm-4.4.2.1/db/db_archive/db_archive.c.orig rpm-4.4.2.1/db/db_archive/db_archive.c
--- rpm-4.4.2.1/db/db_archive/db_archive.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db_archive/db_archive.c 2007-08-08 13:32:24.000000000 +0300
@@ -117,10 +117,10 @@ main(argc, argv)
* If attaching to a pre-existing environment fails, create a
* private one and try again.
*/
- if ((ret = dbenv->open(dbenv,
+ if ((ret = (dbenv->open)(dbenv,
home, DB_JOINENV | DB_USE_ENVIRON, 0)) != 0 &&
(ret == DB_VERSION_MISMATCH ||
- (ret = dbenv->open(dbenv, home, DB_CREATE |
+ (ret = (dbenv->open)(dbenv, home, DB_CREATE |
DB_INIT_LOG | DB_PRIVATE | DB_USE_ENVIRON, 0)) != 0)) {
dbenv->err(dbenv, ret, "DB_ENV->open");
goto shutdown;
diff -up rpm-4.4.2.1/db/db_checkpoint/db_checkpoint.c.orig rpm-4.4.2.1/db/db_checkpoint/db_checkpoint.c
--- rpm-4.4.2.1/db/db_checkpoint/db_checkpoint.c.orig 2007-07-05 15:24:34.000000000 +0300
+++ rpm-4.4.2.1/db/db_checkpoint/db_checkpoint.c 2007-08-08 13:33:03.000000000 +0300
@@ -155,7 +155,7 @@ main(argc, argv)
goto shutdown;
}
/* Initialize the environment. */
- if ((ret = dbenv->open(dbenv,
+ if ((ret = (dbenv->open)(dbenv,
home, DB_JOINENV | DB_USE_ENVIRON, 0)) != 0) {
dbenv->err(dbenv, ret, "open");
goto shutdown;
diff -up rpm-4.4.2.1/db/tcl/tcl_mp.c.orig rpm-4.4.2.1/db/tcl/tcl_mp.c
--- rpm-4.4.2.1/db/tcl/tcl_mp.c.orig 2007-07-05 15:24:35.000000000 +0300
+++ rpm-4.4.2.1/db/tcl/tcl_mp.c 2007-08-08 13:22:38.000000000 +0300
@@ -276,7 +276,7 @@ tcl_Mp(interp, objc, objv, envp, envip)
* XXX
* Interface doesn't currently support DB_MPOOLFILE configuration.
*/
- if ((ret = mpf->open(mpf, file, flag, mode, (size_t)pgsize)) != 0) {
+ if ((ret = (mpf->open)(mpf, file, flag, mode, (size_t)pgsize)) != 0) {
result = _ReturnSetup(interp, ret, DB_RETOK_STD(ret), "mpool");
_DeleteInfo(ip);
diff -up rpm-4.4.2.1/db/tcl/tcl_db_pkg.c.orig rpm-4.4.2.1/db/tcl/tcl_db_pkg.c
--- rpm-4.4.2.1/db/tcl/tcl_db_pkg.c.orig 2007-07-05 15:24:35.000000000 +0300
+++ rpm-4.4.2.1/db/tcl/tcl_db_pkg.c 2007-08-08 13:22:38.000000000 +0300
@@ -1327,7 +1327,7 @@ bdb_EnvOpen(interp, objc, objv, ip, env)
* Now open the environment.
*/
_debug_check();
- ret = (*env)->open(*env, home, open_flags, mode);
+ ret = ((*env)->open)(*env, home, open_flags, mode);
result = _ReturnSetup(interp, ret, DB_RETOK_STD(ret), "env open");
if (rep_flags != 0 && result == TCL_OK) {
@@ -2136,7 +2136,7 @@ bdb_DbOpen(interp, objc, objv, ip, dbp)
_debug_check();
/* Open the database. */
- ret = (*dbp)->open(*dbp, txn, db, subdb, type, open_flags, mode);
+ ret = ((*dbp)->open)(*dbp, txn, db, subdb, type, open_flags, mode);
result = _ReturnSetup(interp, ret, DB_RETOK_STD(ret), "db open");
error:
@@ -2395,7 +2395,7 @@ bdb_SeqOpen(interp, objc, objv, ip, seqp
ret, DB_RETOK_STD(ret), "sequence init")) != TCL_OK)
goto error;
}
- ret = (*seqp)->open(*seqp, txn, &key, oflags);
+ ret = ((*seqp)->open)(*seqp, txn, &key, oflags);
if ((result = _ReturnSetup(interp,
ret, DB_RETOK_STD(ret), "sequence open")) != TCL_OK)
goto error;

View File

@ -1,24 +0,0 @@
changeset: 6113:1e7e1ab92d32
tag: tip
user: Panu Matilainen <pmatilai@redhat.com>
date: Sun Aug 12 15:27:46 2007 +0300
files: tools/debugedit.c
description:
Fix debugedit buildid thinko.
Patch from Roland McGrath
(transplanted from fb1ee4c438c929f0b2af376fd23e05e52947b977)
diff -r 7fde0de974ee -r 1e7e1ab92d32 tools/debugedit.c
--- a/tools/debugedit.c Thu Aug 09 15:15:24 2007 +0300
+++ b/tools/debugedit.c Sun Aug 12 15:27:46 2007 +0300
@@ -1329,7 +1329,7 @@ handle_build_id (DSO *dso, Elf_Data *bui
}
/* Clear the old bits so they do not affect the new hash. */
- memset ((char *) build_id->d_buf + build_id_offset, 0, build_id_offset);
+ memset ((char *) build_id->d_buf + build_id_offset, 0, build_id_size);
hashFunctionContextInit (&ctx, hf);

View File

@ -1,87 +0,0 @@
changeset: 6176:c0237c16e2e3
user: Panu Matilainen <pmatilai@redhat.com>
date: Fri Jul 20 10:41:15 2007 +0300
files: python/rpmmodule.c
description:
Add python methods for checking pending signals from rpmsqCaught.
- a thin wrapper for rpmdbCheckSignals() from rpm5.org / Jeff Johnson
- a function taking a list of signals to check and returning list caught
signals (python doesn't know about signal sets so rpmsqCaught needs
wrapping)
diff -r d8e2ec20c948 -r c0237c16e2e3 python/rpmmodule.c
--- a/python/rpmmodule.c Wed Jul 18 16:05:56 2007 +0300
+++ b/python/rpmmodule.c Fri Jul 20 10:41:15 2007 +0300
@@ -7,6 +7,7 @@
#include <rpmio_internal.h>
#include <rpmcli.h> /* XXX for rpmCheckSig */
#include <rpmdb.h>
+#include <rpmsq.h>
#include "legacy.h"
#include "misc.h"
@@ -58,6 +59,50 @@ static PyObject * archScore(PyObject * s
}
/**
+ * */
+static PyObject * signalsCaught(PyObject * self, PyObject * check)
+{
+ PyObject *caught, *o;
+ Py_ssize_t llen;
+ int signum, i;
+ sigset_t newMask, oldMask;
+
+ if (!PyList_Check(check)) {
+ PyErr_SetString(PyExc_TypeError, "list expected");
+ return NULL;
+ }
+
+ llen = PyList_Size(check);
+ caught = PyList_New(0);
+
+ /* block signals while checking for them */
+ (void) sigfillset(&newMask);
+ (void) sigprocmask(SIG_BLOCK, &newMask, &oldMask);
+
+ for (i = 0; i < llen; i++) {
+ o = PyList_GetItem(check, i);
+ signum = PyInt_AsLong(o);
+ if (sigismember(&rpmsqCaught, signum)) {
+ PyList_Append(caught, o);
+ }
+ }
+ (void) sigprocmask(SIG_SETMASK, &oldMask, NULL);
+
+ return caught;
+}
+
+/**
+ * */
+static PyObject * checkSignals(PyObject * self, PyObject * args)
+{
+ if (!PyArg_ParseTuple(args, ":checkSignals")) return NULL;
+ rpmdbCheckSignals();
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+
+/**
*/
static PyObject * setLogFile (PyObject * self, PyObject * args, PyObject *kwds)
{
@@ -145,6 +190,11 @@ static PyMethodDef rpmModuleMethods[] =
{ "archscore", (PyCFunction) archScore, METH_VARARGS|METH_KEYWORDS,
NULL },
+
+ { "signalsCaught", (PyCFunction) signalsCaught, METH_O,
+ NULL },
+ { "checkSignals", (PyCFunction) checkSignals, METH_VARARGS,
+ NULL },
{ "headerLoad", (PyCFunction) hdrLoad, METH_VARARGS|METH_KEYWORDS,
NULL },

View File

@ -1,105 +0,0 @@
changeset: 6179:fb37e4dccbf3
tag: tip
user: Panu Matilainen <pmatilai@redhat.com>
date: Sat Jul 21 15:05:19 2007 +0300
files: python/rpmmodule.c rpmdb/rpmdb.c rpmdb/rpmdb.h
description:
Make rpmdbCheckTerminate() non-terminating.
This allows use in exit handler without affecting exit code, and permits
caller to do its own cleanup if necessary.
diff -r e9ced408b17f -r fb37e4dccbf3 python/rpmmodule.c
--- a/python/rpmmodule.c Fri Jul 20 11:23:11 2007 +0300
+++ b/python/rpmmodule.c Sat Jul 21 15:05:19 2007 +0300
@@ -229,8 +229,6 @@ static PyMethodDef rpmModuleMethods[] =
/*
* Force clean up of open iterators and dbs on exit.
-* This ends up calling exit() while we're already exiting but exit
-* handlers will only get called once so it wont loop.
*/
static void rpm_exithook(void)
{
diff -r e9ced408b17f -r fb37e4dccbf3 rpmdb/rpmdb.c
--- a/rpmdb/rpmdb.c Fri Jul 20 11:23:11 2007 +0300
+++ b/rpmdb/rpmdb.c Sat Jul 21 15:05:19 2007 +0300
@@ -707,7 +707,7 @@ int rpmdbCheckTerminate(int terminate)
sigset_t newMask, oldMask;
static int terminating = 0;
- if (terminating) return 0;
+ if (terminating) return 1;
(void) sigfillset(&newMask); /* block all signals */
(void) sigprocmask(SIG_BLOCK, &newMask, &oldMask);
@@ -724,10 +724,6 @@ int rpmdbCheckTerminate(int terminate)
rpmdb db;
rpmdbMatchIterator mi;
-/*@-abstract@*/ /* sigset_t is abstract type */
- rpmMessage(RPMMESS_DEBUG, "Exiting on signal(0x%lx) ...\n", *((unsigned long *)&rpmsqCaught));
-/*@=abstract@*/
-
/*@-branchstate@*/
while ((mi = rpmmiRock) != NULL) {
/*@i@*/ rpmmiRock = mi->mi_next;
@@ -743,14 +739,20 @@ int rpmdbCheckTerminate(int terminate)
(void) rpmdbClose(db);
}
/*@=newreftrans@*/
+ }
+ sigprocmask(SIG_SETMASK, &oldMask, NULL);
+ return terminating;
+}
+
+int rpmdbCheckSignals(void)
+{
+ if (rpmdbCheckTerminate(0)) {
+/*@-abstract@*/ /* sigset_t is abstract type */
+ rpmMessage(RPMMESS_DEBUG, "Exiting on signal(0x%lx) ...\n", *((unsigned long *)&rpmsqCaught));
exit(EXIT_FAILURE);
- }
- return sigprocmask(SIG_SETMASK, &oldMask, NULL);
-}
-
-int rpmdbCheckSignals(void)
-{
- return rpmdbCheckTerminate(0);
+/*@=abstract@*/
+ }
+ return 0;
}
/**
diff -r e9ced408b17f -r fb37e4dccbf3 rpmdb/rpmdb.h
--- a/rpmdb/rpmdb.h Fri Jul 20 11:23:11 2007 +0300
+++ b/rpmdb/rpmdb.h Sat Jul 21 15:05:19 2007 +0300
@@ -1039,8 +1039,7 @@ Header rpmdbNextIterator(/*@null@*/ rpmd
/*@modifies mi, rpmGlobalMacroContext, fileSystem, internalState @*/;
/** \ingroup rpmdb
- * Check rpmdb signal handler for trapped signal exit. Just a compatibility
- * wrapper for rpmdbCheckTerminate()
+ * Check for and exit on termination signals.
*/
/*@mayexit@*/
int rpmdbCheckSignals(void)
@@ -1048,10 +1047,13 @@ int rpmdbCheckSignals(void)
/*@modifies fileSystem, internalState @*/;
/** \ingroup rpmdb
- * Check rpmdb signal handler for trapped signal or requested exit.
+ * Check rpmdb signal handler for trapped signal and/or requested exit,
+ * clean up any open iterators and databases on termination condition.
+ * On non-zero exit any open references to rpmdb are invalid and cannot
+ * be accessed anymore, calling process should terminate immediately.
* @param terminate 0 to only check for signals, 1 to terminate anyway
- */
-/*@mayexit@*/
+ * @return 0 to continue, 1 if termination cleanup was done.
+ */
int rpmdbCheckTerminate(int terminate);
/** \ingroup rpmdb

View File

@ -1,87 +0,0 @@
changeset: 6177:6acd7701e4df
user: Panu Matilainen <pmatilai@redhat.com>
date: Fri Jul 20 11:19:56 2007 +0300
files: rpmdb/rpmdb.c rpmdb/rpmdb.h
description:
Support explicitly asking from rpmdb cleanup + termination.
New rpmdbCheckTerminate() function which checks for termination signals
and allows requesting termination via parameter as well. Make
rpmdbCheckSignals() just a wrapper that calls it with terminate=0.
diff -r c0237c16e2e3 -r 6acd7701e4df rpmdb/rpmdb.c
--- a/rpmdb/rpmdb.c Fri Jul 20 10:41:15 2007 +0300
+++ b/rpmdb/rpmdb.c Fri Jul 20 11:19:56 2007 +0300
@@ -700,14 +700,14 @@ static rpmdb rpmdbRock;
/*@unchecked@*/ /*@exposed@*/ /*@null@*/
static rpmdbMatchIterator rpmmiRock;
-int rpmdbCheckSignals(void)
+int rpmdbCheckTerminate(int terminate)
/*@globals rpmdbRock, rpmmiRock @*/
/*@modifies rpmdbRock, rpmmiRock @*/
{
sigset_t newMask, oldMask;
- static int terminate = 0;
-
- if (terminate) return 0;
+ static int terminating = 0;
+
+ if (terminating) return 0;
(void) sigfillset(&newMask); /* block all signals */
(void) sigprocmask(SIG_BLOCK, &newMask, &oldMask);
@@ -716,10 +716,11 @@ int rpmdbCheckSignals(void)
|| sigismember(&rpmsqCaught, SIGQUIT)
|| sigismember(&rpmsqCaught, SIGHUP)
|| sigismember(&rpmsqCaught, SIGTERM)
- || sigismember(&rpmsqCaught, SIGPIPE))
- terminate = 1;
-
- if (terminate) {
+ || sigismember(&rpmsqCaught, SIGPIPE)
+ || terminate)
+ terminating = 1;
+
+ if (terminating) {
rpmdb db;
rpmdbMatchIterator mi;
@@ -745,6 +746,11 @@ int rpmdbCheckSignals(void)
exit(EXIT_FAILURE);
}
return sigprocmask(SIG_SETMASK, &oldMask, NULL);
+}
+
+int rpmdbCheckSignals(void)
+{
+ return rpmdbCheckTerminate(0);
}
/**
diff -r c0237c16e2e3 -r 6acd7701e4df rpmdb/rpmdb.h
--- a/rpmdb/rpmdb.h Fri Jul 20 10:41:15 2007 +0300
+++ b/rpmdb/rpmdb.h Fri Jul 20 11:19:56 2007 +0300
@@ -1039,12 +1039,20 @@ Header rpmdbNextIterator(/*@null@*/ rpmd
/*@modifies mi, rpmGlobalMacroContext, fileSystem, internalState @*/;
/** \ingroup rpmdb
- * Check rpmdb signal handler for trapped signal exit.
+ * Check rpmdb signal handler for trapped signal exit. Just a compatibility
+ * wrapper for rpmdbCheckTerminate()
*/
/*@mayexit@*/
int rpmdbCheckSignals(void)
/*@globals fileSystem, internalState @*/
/*@modifies fileSystem, internalState @*/;
+
+/** \ingroup rpmdb
+ * Check rpmdb signal handler for trapped signal or requested exit.
+ * @param terminate 0 to only check for signals, 1 to terminate anyway
+ */
+/*@mayexit@*/
+int rpmdbCheckTerminate(int terminate);
/** \ingroup rpmdb
* Destroy rpm database iterator.

View File

@ -1,121 +0,0 @@
changeset: 6235:0d4b8cfd8dc9
tag: tip
user: Panu Matilainen <pmatilai@redhat.com>
date: Thu Aug 09 15:15:24 2007 +0300
files: lib/rpmfi.c lib/rpmfi.h lib/transaction.c
description:
Avoid unnecessary .rpmnew and .rpmsave files (rhbz#128622)
Don't create .rpmnew and .rpmsave files when file/symlink on disk differs
just by timestamp. Patch by Tomas Mraz.
diff -r debbc872bbb3 -r 0d4b8cfd8dc9 lib/rpmfi.c
--- a/lib/rpmfi.c Thu Aug 09 14:18:11 2007 +0300
+++ b/lib/rpmfi.c Thu Aug 09 15:15:24 2007 +0300
@@ -22,6 +22,7 @@
#include "rpmte.h"
#include "rpmts.h"
+#include "legacy.h" /* XXX domd5 */
#include "misc.h" /* XXX stripTrailingChar */
#include "rpmmacro.h" /* XXX rpmCleanPath */
#include "legacy.h"
@@ -625,6 +626,49 @@ fileAction rpmfiDecideFate(const rpmfi o
* merge the difference ala CVS, but...
*/
return save;
+}
+/*@=boundsread@*/
+
+/*@-boundsread@*/
+int rpmfiConfigConflict(const rpmfi fi)
+{
+ const char * fn = rpmfiFN(fi);
+ int flags = rpmfiFFlags(fi);
+ char buffer[1024];
+ fileTypes newWhat, diskWhat;
+ struct stat sb;
+
+ if (!(flags & RPMFILE_CONFIG) || lstat(fn, &sb)) {
+ return 0;
+ }
+
+ diskWhat = whatis((int_16)sb.st_mode);
+ newWhat = whatis(rpmfiFMode(fi));
+
+ if (newWhat != LINK && newWhat != REG)
+ return 1;
+
+ if (diskWhat != newWhat)
+ return 1;
+
+ memset(buffer, 0, sizeof(buffer));
+ if (newWhat == REG) {
+ const unsigned char * nmd5;
+ if (domd5(fn, (unsigned char *)buffer, 0, NULL))
+ return 0; /* assume file has been removed */
+ nmd5 = rpmfiMD5(fi);
+ if (nmd5 && !memcmp(nmd5, buffer, 16))
+ return 0; /* unmodified config file */
+ } else /* newWhat == LINK */ {
+ const char * nFLink;
+ if (readlink(fn, buffer, sizeof(buffer) - 1) == -1)
+ return 0; /* assume file has been removed */
+ nFLink = rpmfiFLink(fi);
+ if (nFLink && !strcmp(nFLink, buffer))
+ return 0; /* unmodified config file */
+ }
+
+ return 1;
}
/*@=boundsread@*/
diff -r debbc872bbb3 -r 0d4b8cfd8dc9 lib/rpmfi.h
--- a/lib/rpmfi.h Thu Aug 09 14:18:11 2007 +0300
+++ b/lib/rpmfi.h Thu Aug 09 15:15:24 2007 +0300
@@ -620,6 +620,14 @@ fileAction rpmfiDecideFate(const rpmfi o
/*@modifies nfi, fileSystem, internalState @*/;
/**
+ * Return whether file is conflicting config
+ * @param fi file info
+ * @return 1 if config file and file on disk conflicts
+ */
+int rpmfiConfigConflict(const rpmfi fi)
+ /*@*/;
+
+/**
* Return formatted string representation of package disposition.
* @param fi file info set
* @return formatted string
diff -r debbc872bbb3 -r 0d4b8cfd8dc9 lib/transaction.c
--- a/lib/transaction.c Thu Aug 09 14:18:11 2007 +0300
+++ b/lib/transaction.c Thu Aug 09 15:15:24 2007 +0300
@@ -547,7 +547,7 @@ static void handleOverlappedFiles(const
/*@-boundswrite@*/
switch (rpmteType(p)) {
case TR_ADDED:
- { struct stat sb;
+ {
int reportConflicts =
!(rpmtsFilterFlags(ts) & RPMPROB_FILTER_REPLACENEWFILES);
int done = 0;
@@ -556,7 +556,7 @@ static void handleOverlappedFiles(const
/* XXX is this test still necessary? */
if (fi->actions[i] != FA_UNKNOWN)
/*@switchbreak@*/ break;
- if ((FFlags & RPMFILE_CONFIG) && !lstat(fn, &sb)) {
+ if (rpmfiConfigConflict(fi)) {
/* Here is a non-overlapped pre-existing config file. */
fi->actions[i] = (FFlags & RPMFILE_NOREPLACE)
? FA_ALTNAME : FA_BACKUP;
@@ -613,7 +613,7 @@ assert(otherFi != NULL);
/* Try to get the disk accounting correct even if a conflict. */
fixupSize = rpmfiFSize(otherFi);
- if ((FFlags & RPMFILE_CONFIG) && !lstat(fn, &sb)) {
+ if (rpmfiConfigConflict(fi)) {
/* Here is an overlapped pre-existing config file. */
fi->actions[i] = (FFlags & RPMFILE_NOREPLACE)
? FA_ALTNAME : FA_SKIP;

View File

@ -1,60 +0,0 @@
From roland@redhat.com Sun Aug 12 15:45:49 2007
Date: Sun, 12 Aug 2007 05:45:16 -0700 (PDT)
From: Roland McGrath <roland@redhat.com>
To: Panu Matilainen <pmatilai@redhat.com>
Cc: Paul Nasrat <pnasrat@redhat.com>
Subject: Re: debugedit.c goof
> No need, already applied upstream HEAD, 4.4.x branch and rawhide build
> with the fix triggered.
Too quick! I have another fix. ;-)
This one is less trivial, and not tested. It should make it put names in
the -l file when they match the edit replace directory name as well as the
edit match directory name, the point being that it emits the same names
when run twice in a row.
Thanks,
Roland
diff -r fb1ee4c438c9 tools/debugedit.c
--- a/tools/debugedit.c Sun Aug 12 15:27:46 2007 +0300
+++ b/tools/debugedit.c Sun Aug 12 05:42:13 2007 -0700
@@ -567,23 +567,22 @@ edit_dwarf2_line (DSO *dso, uint_32 off,
memcpy (s + comp_dir_len + 1 + dir_len + 1, file, file_len + 1);
}
canonicalize_path (s, s);
- if (base_dir == NULL ||
- has_prefix (s, base_dir))
- {
- char *p;
- size_t size;
- ssize_t ret;
- if (base_dir)
+ if (list_file_fd != -1)
+ {
+ char *p = NULL;
+ if (base_dir == NULL)
+ p = s;
+ else if (has_prefix (s, base_dir))
p = s + strlen (base_dir);
- else
- p = s;
-
- if (list_file_fd != -1)
+ else if (has_prefix (s, dest_dir))
+ p = s + strlen (dest_dir);
+
+ if (p)
{
- size = strlen (p) + 1;
+ size_t size = strlen (p) + 1;
while (size > 0)
{
- ret = write (list_file_fd, p, size);
+ ssize_t ret = write (list_file_fd, p, size);
if (ret == -1)
break;
size -= ret;

View File

@ -1,34 +0,0 @@
changeset: 6253:a5f774e61a47
user: Panu Matilainen <pmatilai@redhat.com>
date: Thu Aug 09 21:50:56 2007 +0300
files: lib/fs.c
description:
Skip stale and unaccessible (FUSE) mountpoints (rhbz#190496, 220991)
Ported from rpm5.org work of Jeff Johnson.
diff -r 0cda3105a3c4 -r a5f774e61a47 lib/fs.c
--- a/lib/fs.c Thu Aug 09 19:26:05 2007 +0300
+++ b/lib/fs.c Thu Aug 09 21:50:56 2007 +0300
@@ -109,11 +109,17 @@ static int getFilesystemList(void)
filesystems[i].mntPoint = fsnames[i] = fsn;
if (stat(filesystems[i].mntPoint, &sb)) {
- rpmError(RPMERR_STAT, _("failed to stat %s: %s\n"), fsnames[i],
+ switch (errno) {
+ case EACCES: /* fuse mount */
+ case ESTALE:
+ continue;
+ default:
+ rpmError(RPMERR_STAT, _("failed to stat %s: %s\n"), fsnames[i],
strerror(errno));
- freeFilesystems();
- return 1;
+ freeFilesystems();
+ return 1;
+ }
}
filesystems[i].dev = sb.st_dev;

View File

@ -1,29 +0,0 @@
changeset: 6304:03206d67072c
tag: tip
user: Panu Matilainen <pmatilai@redhat.com>
date: Wed Aug 15 12:07:31 2007 +0300
files: scripts/find-lang.sh
description:
Make find-lang.sh --with-gnome pick up omf files (rhbz#251400)
Patch from Matthias Clasen.
diff -r 7f45c685a512 -r 03206d67072c scripts/find-lang.sh
--- a/scripts/find-lang.sh Wed Aug 15 09:12:25 2007 +0200
+++ b/scripts/find-lang.sh Wed Aug 15 12:07:31 2007 +0300
@@ -106,6 +106,14 @@ s:%lang(C) ::
s:%lang(C) ::
/^$/d' >> $MO_NAME
+find $TOP_DIR -type f|sed '
+s:'"$TOP_DIR"'::
+'"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'/'"$NAME"'-\([^/.]\+\).omf\):%lang(\2) \1:
+'"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\).omf\):%lang(\2) \1:
+s:^[^%].*::
+s:%lang(C) ::
+/^$/d' >> $MO_NAME
+
find $TOP_DIR -type d|sed '
s:'"$TOP_DIR"'::
'"$NO_ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\)::

View File

@ -1,44 +0,0 @@
diff -up rpm-4.4.2.1-rc3/configure.ac.orig rpm-4.4.2.1-rc3/configure.ac
--- rpm-4.4.2.1-rc3/configure.ac.orig 2007-07-21 15:11:25.000000000 -0400
+++ rpm-4.4.2.1-rc3/configure.ac 2007-07-21 15:12:04.000000000 -0400
@@ -1132,11 +1132,13 @@ fi
#
# get rid of the 4-th tuple, if config.guess returned "linux-gnu" for build_os
#
+build_os_gnu=-gnu
if echo "$build_os" | grep '.*-gnulibc1' > /dev/null ; then
build_os=`echo "${build_os}" | sed 's/-gnulibc1$//'`
fi
if echo "$build_os" | grep '.*-gnueabi' > /dev/null ; then
build_os=`echo "${build_os}" | sed 's/-gnueabi$//'`
+ build_os_gnu=-gnueabi
fi
if echo "$build_os" | grep '.*-gnu' > /dev/null ; then
build_os=`echo "${build_os}" | sed 's/-gnu$//'`
@@ -1231,12 +1233,14 @@ unknown|pc|ibm|redhat|pld|mandrake|conec
;;
esac
RPMCANONOS="$build_os_noversion"
+RPMCANONGNU="$build_os_gnu"
AC_SUBST(RPMCANONCOLOR)
AC_SUBST(autorelocate_path)
AC_SUBST(autorelocate_dcolor)
AC_SUBST(RPMCANONARCH)
AC_SUBST(RPMCANONVENDOR)
AC_SUBST(RPMCANONOS)
+AC_SUBST(RPMCANONGNU)
if test X"$prefix" = XNONE ; then
usrprefix="$ac_default_prefix"
diff -up rpm-4.4.2.1-rc3/macros.in.orig rpm-4.4.2.1-rc3/macros.in
--- rpm-4.4.2.1-rc3/macros.in.orig 2007-07-21 15:12:13.000000000 -0400
+++ rpm-4.4.2.1-rc3/macros.in 2007-07-21 15:12:32.000000000 -0400
@@ -819,7 +819,7 @@ print (t)\
%_build_arch @RPMCANONARCH@
%_vendor @RPMCANONVENDOR@
%_os @RPMCANONOS@
-%_gnu -gnu
+%_gnu @RPMCANONGNU@
%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}%{?_gnu}
#

View File

@ -1,112 +0,0 @@
diff -r 9f1a7ebe1223 -r 9f0012fffce1 scripts/perl.req
--- a/scripts/perl.req Fri Aug 10 10:02:25 2007 +0200
+++ b/scripts/perl.req Fri Aug 10 11:41:24 2007 +0300
@@ -1,6 +1,6 @@
#!/usr/bin/perl
-# RPM (and it's source code) is covered under two separate licenses.
+# RPM (and its source code) is covered under two separate licenses.
# The entire code base may be distributed under the terms of the GNU
# General Public License (GPL), which appears immediately below.
@@ -17,7 +17,7 @@
# Any questions regarding the licensing of RPM should be addressed to
# Erik Troan <ewt@redhat.com>.
-# a simple makedepends like script for perl.
+# a simple makedepend like script for perl.
# To save development time I do not parse the perl grammmar but
# instead just lex it looking for what I want. I take special care to
@@ -59,9 +59,9 @@ foreach $module (sort keys %require) {
print "perl($module)\n";
} else {
- # I am not using rpm3.0 so I do not want spaces arround my
+ # I am not using rpm3.0 so I do not want spaces around my
# operators. Also I will need to change the processing of the
- # $RPM_* vairable when I upgrage.
+ # $RPM_* variable when I upgrade.
print "perl($module) >= $require{$module}\n";
}
@@ -82,11 +82,22 @@ sub process_file {
# skip the "= <<" block
- if ( ( m/^\s*\$(.*)\s*=\s*<<\s*["'](.*)['"]/i) ||
- ( m/^\s*\$(.*)\s*=\s*<<\s*(.*);/i) ) {
+ if ( ( m/^\s*\$(.*)\s*=\s*<<\s*["'](.*)['"]/) ||
+ ( m/^\s*\$(.*)\s*=\s*<<\s*(.*);/) ) {
$tag = $2;
while (<FILE>) {
( $_ =~ /^$tag/) && last;
+ }
+ }
+
+ # skip q{} quoted sections - just hope we don't have curly brackets
+ # within the quote, nor an escaped hash mark that isn't a comment
+ # marker, such as occurs right here. Draw the line somewhere.
+ if ( m/^.*\Wq[qxwr]?\s*([\{\(\[#|\/])[^})\]#|\/]*$/ && ! m/^\s*(require|use)\s/ ) {
+ $tag = $1;
+ $tag =~ tr/{\(\[\#|\//})]#|\//;
+ while (<FILE>) {
+ ( $_ =~ m/\}/ ) && last;
}
}
@@ -153,7 +164,7 @@ sub process_file {
($module =~ m/\$/) && next;
- # skip if the phrase was "use of" -- shows up in gimp-perl, et al
+ # skip if the phrase was "use of" -- shows up in gimp-perl, et al.
next if $module eq 'of';
# if the module ends in a comma we probaly caught some
@@ -175,7 +186,7 @@ sub process_file {
next;
}
- # sometimes people do use POSIX qw(foo), or use POSIX(qw(foo)) etc
+ # sometimes people do use POSIX qw(foo), or use POSIX(qw(foo)) etc.
# we can strip qw.*$, as well as (.*$:
$module =~ s/qw.*$//;
$module =~ s/\(.*$//;
@@ -187,7 +198,7 @@ sub process_file {
$module =~ s/\//::/;
- # trim off trailing parenthesis if any. Sometimes people pass
+ # trim off trailing parentheses if any. Sometimes people pass
# the module an empty list.
$module =~ s/\(\s*\)$//;
@@ -208,7 +219,7 @@ sub process_file {
};
# ph files do not use the package name inside the file.
- # perlmodlib documentation says:
+ # perlmodlib documentation says:
# the .ph files made by h2ph will probably end up as
# extension modules made by h2xs.
diff -r fb37e4dccbf3 -r 0408b648de46 scripts/perl.prov
--- a/scripts/perl.prov Sat Jul 21 15:05:19 2007 +0300
+++ b/scripts/perl.prov Sat Jul 21 15:48:03 2007 +0300
@@ -144,11 +144,12 @@ sub process_file {
#ExtUtils/Install.pm:$VERSION = substr q$Revision: 1.9 $, 10;
#CGI/Apache.pm:$VERSION = (qw$Revision: 1.9 $)[1];
#DynaLoader.pm:$VERSION = $VERSION = "1.03"; # avoid typo warning
+ #General.pm:$Config::General::VERSION = 2.33;
#
# or with the new "our" pragma you could (read will) see:
#
# our $VERSION = '1.00'
- if (($package) && (m/^\s*(our\s+)?\$VERSION\s*=\s+/)) {
+ if (($package) && (m/^\s*(our\s+)?\$(\Q$package\E::)?VERSION\s*=\s+/)) {
# first see if the version string contains the string
# '$Revision' this often causes bizzare strings and is the most

View File

@ -1,47 +0,0 @@
changeset: 6178:e9ced408b17f
tag: tip
user: Panu Matilainen <pmatilai@redhat.com>
date: Fri Jul 20 11:23:11 2007 +0300
files: python/rpmmodule.c
description:
Force rpmdb clean termination on exit from python.
Python process tracebacking with active iterators can and will otherwise leave
stale locks around (as is presumably the reason for rhbz#235389 and various
other locking issues)
diff -r 6acd7701e4df -r e9ced408b17f python/rpmmodule.c
--- a/python/rpmmodule.c Fri Jul 20 11:19:56 2007 +0300
+++ b/python/rpmmodule.c Fri Jul 20 11:23:11 2007 +0300
@@ -227,6 +227,16 @@ static PyMethodDef rpmModuleMethods[] =
{ NULL }
} ;
+/*
+* Force clean up of open iterators and dbs on exit.
+* This ends up calling exit() while we're already exiting but exit
+* handlers will only get called once so it wont loop.
+*/
+static void rpm_exithook(void)
+{
+ rpmdbCheckTerminate(1);
+}
+
/**
*/
static char rpm__doc__[] =
@@ -263,6 +273,13 @@ void init_rpm(void)
m = Py_InitModule3("_rpm", rpmModuleMethods, rpm__doc__);
if (m == NULL)
+ return;
+
+ /*
+ * treat error to register rpm cleanup hook as fatal, tracebacks
+ * can and will leave stale locks around if we can't clean up
+ */
+ if (Py_AtExit(rpm_exithook) == -1)
return;
rpmReadConfigFiles(NULL, NULL);

View File

@ -1,37 +0,0 @@
diff -up rpm-4.4.2.1/rpmdb/db3.c.rpm-glibc rpm-4.4.2.1/rpmdb/db3.c
--- rpm-4.4.2.1/rpmdb/db3.c.rpm-glibc 2007-08-08 13:52:09.000000000 +0300
+++ rpm-4.4.2.1/rpmdb/db3.c 2007-08-08 13:53:35.000000000 +0300
@@ -430,9 +430,9 @@ static int db_init(dbiIndex dbi, const c
}
#if (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR != 0) || (DB_VERSION_MAJOR == 4)
- rc = dbenv->open(dbenv, dbhome, eflags, dbi->dbi_perms);
+ rc = (dbenv->open)(dbenv, dbhome, eflags, dbi->dbi_perms);
#else
- rc = dbenv->open(dbenv, dbhome, NULL, eflags, dbi->dbi_perms);
+ rc = (dbenv->open)(dbenv, dbhome, NULL, eflags, dbi->dbi_perms);
#endif
rc = cvtdberr(dbi, "dbenv->open", rc, _debug);
if (rc)
@@ -867,7 +867,7 @@ static int db3close(/*@only@*/ dbiIndex
if (rc) goto exit;
}
- rc = dbenv->open(dbenv, dbhome,
+ rc = (dbenv->open)(dbenv, dbhome,
DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0);
rc = cvtdberr(dbi, "dbenv->open", rc, _debug);
if (rc) goto exit;
@@ -1303,10 +1303,10 @@ static int db3open(rpmdb rpmdb, rpmTag r
#endif
#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
- rc = db->open(db, txnid, dbpath, dbsubfile,
+ rc = (db->open)(db, txnid, dbpath, dbsubfile,
dbi->dbi_type, oflags, dbi->dbi_perms);
#else
- rc = db->open(db, dbpath, dbsubfile,
+ rc = (db->open)(db, dbpath, dbsubfile,
dbi->dbi_type, oflags, dbi->dbi_perms);
#endif

View File

@ -1,26 +0,0 @@
diff -r e1802883bd62 -r cf3b54441b8a build/files.c
--- a/build/files.c Sat Jul 21 15:48:03 2007 +0300
+++ b/build/files.c Mon Jul 23 10:02:54 2007 +0300
@@ -1065,7 +1065,6 @@ static int compareFileListRecs(const voi
/**
* Test if file is located in a %docdir.
- * @bug Use of strstr(3) might result in false positives.
* @param fl package file tree walk data
* @param fileName file path
* @return 1 if doc file, 0 if not
@@ -1073,9 +1072,12 @@ static int isDoc(FileList fl, const char
static int isDoc(FileList fl, const char * fileName) /*@*/
{
int x = fl->docDirCount;
-
+ size_t k, l;
+
+ k = strlen(fileName);
while (x--) {
- if (strstr(fileName, fl->docDirs[x]) == fileName)
+ l = strlen(fl->docDirs[x]);
+ if (l < k && strncmp(fileName, fl->docDirs[x], l) == 0 && fileName[l] == '/')
return 1;
}
return 0;

View File

@ -5,33 +5,18 @@
Summary: The RPM package management system
Name: rpm
Version: 4.4.2.1
Release: 10%{?dist}
Version: 4.4.2.2
Release: 0.1.rc1
Group: System Environment/Base
Url: http://www.rpm.org/
Source: %{name}-%{version}.tar.gz
Source: %{name}-%{version}-rc1.tar.gz
Patch1: rpm-4.4.1-prereq.patch
Patch2: rpm-4.4.2-ghost-conflicts.patch
Patch3: rpm-4.4.2-trust.patch
Patch4: rpm-4.4.2-devel-autodep.patch
Patch5: rpm-4.4.2-rpmfc-skip.patch
Patch6: rpm-4.4.2-matchpathcon.patch
Patch7: rpm-4.4.2.1-checksignals.patch
Patch8: rpm-4.4.2.1-checkterminate.patch
Patch9: rpm-4.4.2.1-python-exithook.patch
Patch10: rpm-4.4.2.1-checkterminate-noexit.patch
Patch11: rpm-4.4.2.1-gnueabi.patch
Patch12: rpm-4.4.2.1-arm-typos.patch
Patch13: rpm-4.4.2.1-bdb-glibc.patch
Patch14: rpm-4.4.2.1-rpm-glibc.patch
Patch15: rpm-4.4.2.1-config-mtime.patch
Patch16: rpm-4.4.2.1-strict-docdir.patch
Patch17: rpm-4.4.2.1-buildid-thinko.patch
Patch18: rpm-4.4.2.1-estale.patch
Patch19: rpm-4.4.2.1-debuginfo-names.patch
Patch20: rpm-4.4.2.1-perl-reqprov.patch
Patch21: rpm-4.4.2.1-findlang-omf.patch
Patch22: rpm-4.4.2.1-no-popt.patch
Patch7: rpm-4.4.2.1-no-popt.patch
# XXX Beware, this is one murky license, partially GPL/LGPL dual-licensed
# and several different components with their own licenses included...
@ -145,29 +130,14 @@ that will manipulate RPM packages and databases.
%endif
%prep
%setup -q
%setup -q -n %{name}-%{version}-rc1
%patch1 -p1 -b .prereq
%patch2 -p1 -b .ghostconflicts
%patch3 -p1 -b .trust
%patch4 -p1 -b .develdeps
%patch5 -p1 -b .fcskip
%patch6 -p1 -b .matchpathcon
%patch7 -p1 -b .checksignals
%patch8 -p1 -b .checkterminate
%patch9 -p1 -b .py-exithook
%patch10 -p1 -b .checkterminate-noexit
%patch11 -p1 -b .gnueabi
%patch12 -p1 -b .armtypo
%patch13 -p1 -b .bdb-glibc
%patch14 -p1 -b .rpm-glibc
%patch15 -p1 -b .config-mtime
%patch16 -p1 -b .strict-docdir
%patch17 -p1 -b .buildid-thinko
%patch18 -p1 -b .estale
%patch19 -p1 -b .debugedit-names
%patch20 -p1 -b .perl-reqprov
%patch21 -p1 -b .findlang-omf
%patch22 -p1 -b .no-popt
%patch7 -p1 -b .no-popt
# force external popt
rm -rf popt/
@ -178,15 +148,6 @@ autoreconf
# new buildid-aware debuginfo
cp -f %{SOURCE2} scripts/find-debuginfo.sh
# convert non-utf8 manuals to utf-8
for i in doc/{sk,pl}/*.[1-8]; do
iconv -f iso-8859-2 -t utf-8 < ${i} > ${i}.tmp
mv -f ${i}.tmp ${i}
done
# ensure sane source permissions
find -name "*.[ch]"|xargs chmod 644
%build
# XXX pull in updated config.guess and config.sub as done by %configure
@ -212,13 +173,10 @@ rm -rf $RPM_BUILD_ROOT
make DESTDIR="$RPM_BUILD_ROOT" install
# Clean up dangling symlinks
# Clean up useless symlinks
for i in rpme rpmi rpmu; do
rm -f $RPM_BUILD_ROOT%{_bindir}/$i
done
for i in rpmpopt rpmrc; do
rm -f $RPM_BUILD_ROOT/usr/lib/$i
done
# Save list of packages through cron
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily
@ -355,6 +313,8 @@ exit 0
%endif
%ifarch x86_64
%attr(-, rpm, rpm) %{rpmhome}/x86_64*
%attr(-, rpm, rpm) %{rpmhome}/amd64*
%attr(-, rpm, rpm) %{rpmhome}/ia32e*
%endif
%attr(-, rpm, rpm) %{rpmhome}/noarch*
@ -443,6 +403,11 @@ exit 0
%endif
%changelog
* Tue Aug 28 2007 Panu Matilainen <pmatilai@redhat.com> 4.4.2.2-0.1.rc1
- update to 4.4.2.2-rc1
- remove no longer needed hacks
- drop patches merged upstream
* Fri Aug 24 2007 Panu Matilainen <pmatilai@redhat.com> 4.4.2.1-10
- split apidocs to separate package (they're huge)
- use system macros for bindir etc instead of defining our own

View File

@ -1 +1 @@
4298abc7a0b4c33b4bf1665adbeeabae rpm-4.4.2.1.tar.gz
d315aa039298d49274898a45a97a68d7 rpm-4.4.2.2-rc1.tar.gz