[HEADSUP] Dropping libopenssl098 from distro
Ken Brown
kbrown@cornell.edu
Fri Jan 30 16:41:00 GMT 2015
On 1/30/2015 8:25 AM, Ken Brown wrote:
> On 1/30/2015 4:41 AM, Corinna Vinschen wrote:
>> On Jan 29 15:25, Ken Brown wrote:
>>> I'm attaching the patches that I applied (on top of Reini's patches) in
>>> order to make the build succeed. I also had to use libdb4.5 instead of
>>> libdb4.8.
>>
>> Is that ok? I mean, shouldn't a package always try to use the latest
>> version? What's the problem you're observing ? Maybe Volker can help
>> here?
>
> The clisp-2.48 code uses some macros and structures that are defined in the
> db4.5 headers but have changed or disappeared in db4.8. I'll see if I can
> figure out how to update the code for db4.8.
OK, that wasn't so hard. I'm attaching the patch that I applied, in case Reini
or Volker has a chance to look at it. All 76 tests for the berkeley-db module
passed.
Ken
-------------- next part --------------
--- origsrc/clisp-2.48/modules/berkeley-db/bdb.c 2009-06-27 04:13:33.000000000 -0400
+++ src/clisp-2.48/modules/berkeley-db/bdb.c 2015-01-30 10:12:11.415894600 -0500
@@ -1039,9 +1039,9 @@ static object dbe_get_lk_conflicts (DB_E
FLAG_EXTRACTOR(dbe_get_flags_num,DB_ENV*)
DEFUNR(BDB:DBE-GET-OPTIONS, dbe &optional what) {
object what = STACK_0;
- /* dbe may be NULL only for DB_XIDDATASIZE */
+ /* dbe may be NULL only for DB_GID_SIZE */
DB_ENV *dbe = (DB_ENV*)bdb_handle(STACK_1,`BDB::DBE`,
- eq(what,`:DB-XIDDATASIZE`)
+ eq(what,`:DB-GID-SIZE`)
? BH_NIL_IS_NULL : BH_VALID);
what = STACK_0; skipSTACK(2);
restart_DBE_GET_OPTIONS:
@@ -1210,8 +1210,8 @@ DEFUNR(BDB:DBE-GET-OPTIONS, dbe &optiona
VALUES1(dbe_get_errfile(dbe));
} else if (eq(what,`:MSGFILE`)) {
VALUES1(dbe_get_msgfile(dbe));
- } else if (eq(what,`:DB-XIDDATASIZE`)) {
- VALUES1(fixnum(DB_XIDDATASIZE));
+ } else if (eq(what,`:DB-GID-SIZE`)) {
+ VALUES1(fixnum(DB_GID_SIZE));
} else if (eq(what,`:HOME`)) {
VALUES1(dbe_get_home_dir(dbe,true));
} else if (eq(what,`:OPEN`)) {
@@ -1235,10 +1235,10 @@ DEFUNR(BDB:DBE-GET-OPTIONS, dbe &optiona
DEFUN(BDB:DB-CREATE, dbe &key XA)
{ /* create database */
- u_int32_t flags = missingp(STACK_0) ? 0 : DB_XA_CREATE;
+ /* u_int32_t flags = missingp(STACK_0) ? 0 : DB_XA_CREATE; */
DB_ENV *dbe = (DB_ENV*)bdb_handle(STACK_1,`BDB::DBE`,BH_NIL_IS_NULL);
DB *db;
- SYSCALL(db_create,(&db,dbe,flags));
+ SYSCALL(db_create,(&db,dbe,0));
if (!dbe) { /* set error callback */
begin_system_call();
db->set_errcall(db,&error_callback);
@@ -2706,13 +2706,13 @@ DEFUN(BDB:TXN-CHECKPOINT, dbe &key KBYTE
}
/* return the pointer into the obj (which must be
- a (vector (unsigned-byte 8) DB_XIDDATASIZE))
+ a (vector (unsigned-byte 8) DB_GID_SIZE))
can trigger GC, the return value is invalidated by GC */
static u_int8_t* check_gid (gcv_object_t *obj_) {
uintL idx = 0;
object data_vector;
- *obj_ = check_byte_vector_len(*obj_,DB_XIDDATASIZE);
- data_vector = array_displace_check(*obj_,DB_XIDDATASIZE,&idx);
+ *obj_ = check_byte_vector_len(*obj_,DB_GID_SIZE);
+ data_vector = array_displace_check(*obj_,DB_GID_SIZE,&idx);
return TheSbvector(data_vector)->data+idx;
}
@@ -2724,12 +2724,12 @@ DEFUN(BDB:TXN-PREPARE, txn gid)
VALUES0; skipSTACK(2);
}
-/* allocate a (vector (unsigned-byte 8) DB_XIDDATASIZE) for this gid
+/* allocate a (vector (unsigned-byte 8) DB_GID_SIZE) for this gid
can trigger GC */
-static object gid_to_vector (u_int8_t gid[DB_XIDDATASIZE]) {
- object vec = allocate_bit_vector(Atype_8Bit,DB_XIDDATASIZE);
+static object gid_to_vector (u_int8_t gid[DB_GID_SIZE]) {
+ object vec = allocate_bit_vector(Atype_8Bit,DB_GID_SIZE);
begin_system_call();
- memcpy(TheSbvector(vec)->data,gid,DB_XIDDATASIZE);
+ memcpy(TheSbvector(vec)->data,gid,DB_GID_SIZE);
end_system_call();
return vec;
}
@@ -2742,7 +2742,7 @@ DEFUN(BDB:TXN-RECOVER, dbe &key FIRST :N
u_int32_t tx_max;
DB_PREPLIST *preplist;
int status, ii;
- long retnum;
+ u_int32_t retnum;
SYSCALL(dbe->get_tx_max,(dbe,&tx_max));
preplist = (DB_PREPLIST*)clisp_malloc(tx_max * sizeof(DB_PREPLIST));
begin_blocking_system_call();
@@ -2801,8 +2801,8 @@ DEFUN(BDB:TXN-STAT, dbe &key STAT-CLEAR)
pushSTACK(uint32_to_I(txn_active->txnid));
pushSTACK(uint32_to_I(txn_active->parentid));
pushSTACK(make_lsn(&(txn_active->lsn)));
- pushSTACK(uint32_to_I(txn_active->xa_status));
- pushSTACK(gid_to_vector(txn_active->xid));
+ pushSTACK(uint32_to_I(txn_active->status));
+ pushSTACK(gid_to_vector(txn_active->gid));
funcall(`BDB::MKTXNACTIVE`,5); pushSTACK(value1);
}
value1 = vectorof(size); pushSTACK(value1);
--- origsrc/clisp-2.48/modules/berkeley-db/dbi.lisp 2008-12-31 11:26:09.000000000 -0500
+++ src/clisp-2.48/modules/berkeley-db/dbi.lisp 2015-01-30 10:53:59.548351500 -0500
@@ -252,7 +252,7 @@
(region_nowait 0 :type (unsigned-byte 32) :read-only t))
(defstruct (db-txn-active (:constructor mktxnactive
- (txnid parentid lsn xa_status xid)))
+ (txnid parentid lsn status gid)))
;; The transaction ID of the transaction.
(txnid 0 :type (unsigned-byte 32) :read-only t)
;; The transaction ID of the parent transaction (or 0, if no parent).
@@ -261,10 +261,10 @@
(lsn nil :type lsn :read-only t)
;; If the transaction is an XA transaction, the status of the
;; transaction, otherwise 0.
- (xa_status 0 :type (unsigned-byte 32) :read-only t)
+ (status 0 :type (or keyword (unsigned-byte 32)) :read-only t)
;; If the transaction is an XA transaction, the transaction's XA ID.
- (xid nil :type (vector (unsigned-byte 8)
- #,(dbe-get-options nil :DB-XIDDATASIZE))
+ (gid nil :type (vector (unsigned-byte 8)
+ #,(dbe-get-options nil :DB-GID-SIZE))
:read-only t))
(defstruct (db-txn-stat (:constructor mktxnstat
--- origsrc/clisp-2.48/modules/berkeley-db/test.tst 2008-10-20 22:07:46.000000000 -0400
+++ src/clisp-2.48/modules/berkeley-db/test.tst 2015-01-30 10:29:23.611932800 -0500
@@ -57,6 +57,8 @@ NIL
(bdb:dbe-get-options *dbe* :errpfx) "zot"
+(bdb:dbe-get-options *dbe* :db-gid-size) 128
+
(bdb:dbe-open *dbe* :home "bdb-home/" :create t
:init-mpool t :init-txn t :init-lock t :init-log t)
NIL
More information about the Cygwin-apps
mailing list