- update to 4.4.2.2-rc1
- remove no longer needed hacks - drop patches merged upstream
This commit is contained in:
parent
f780b84693
commit
3876c01b60
@ -1 +1 @@
|
||||
rpm-4.4.2.1.tar.gz
|
||||
rpm-4.4.2.2-rc1.tar.gz
|
||||
|
@ -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
|
||||
|
@ -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;
|
@ -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);
|
||||
|
||||
|
@ -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 },
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
|
@ -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;
|
@ -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;
|
||||
|
@ -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"'/\)::
|
||||
|
@ -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}
|
||||
|
||||
#
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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;
|
63
rpm.spec
63
rpm.spec
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user