[Citadel Development] Re: Long term plans for phase-out of Berkeley DB?

2023-06-20 Thread IGnatius T Foobar
  
 Heh.  Most of the database layer is still pretty much the same code you wrote
22 years ago.  You did a great job on that. 
  
 I've thought about switching to a SQL model.  It would confer a lot of 
benefits.
 It would also open up a huge effort in getting all of the code converted
over to actually make use of that kind of flexibility. 
  
 Among other projects that use a "nosql" store, LMDB seems to be the favorite.
 But the 4 GB limit on 32-bit systems is a show stopper for now.  On the x86
side of things, everyone (except me) has long since moved to AMD64, but Citadel
is really popular on Raspberry Pi, which is still 32-bit for most users even
though the hardware can do 64. 
  
 If I want to procrastinate (which might be a good move for now) it might
make sense to simply hope that we can keep Berkeley DB viable until most of
the ARM world has migrated to 64-bit, and then switch to LMDB
and make 64-bit a requirement for Citadel installations. 
  
 Funny you mention using an alternate `--prefix` ... I just started playing
around with that last night and will probably move forward with that as part
of the mainline installations. 
 


[Citadel Development] Re: Long term plans for phase-out of Berkeley DB?

2023-06-20 Thread LoanShark
 > 2023-06-15 13:32 from IGnatius T Foobar   
 >Subject: Long term plans for phase-out of Berkeley DB?  
 >
 > A bit of thinking out loud with regard to long term plans for Citadel 
 
 >Server.   
 >
 > Berkeley DB seems to have gained a bad reputation in the open source  

 >community.  
 > Much of it began in 2013 when Oracle switched it from the Sleepycat   
 >license to the AGPL.  Debian discontinued updating it completely, which
 
 >of course makes Citadel's life difficult because we have to bring in   
 >our own version of it, and that can create conflicts with the ancient  

 >version that's already on the system, which can't be removed because   
 >there are still things dependent on it, etc. etc.   
  
 Well, this brings back memories. 
  
 I would imagine you can avoid most system-level conflicts by configuring
it with an alternate --prefix. 
  
 who knows how much a burden
it will be if the source becomes incompatible with the next version of Linux,
though. 
  
 My answer would be to use SQL, even if only sqlite.