Skip to content

Project is insufficiently renamable from "sqlite" to "sqlcipher" #607

Description

@robertkirkman

Hello, there are many references to "sqlite" in the software,

Libs: -L${libdir} -lsqlite

I understand that sqlcipher is a near-ABI-compatible soft fork of sqlite, leading to many internal instances of sqlite that might be difficult for you to automatically rename, but unfortunately, the instances of sqlite are polluting outwards into distributions of the software and conflicting with the file names of the upstream files in the sqlite packages in the same distributions.

This has led to the need for many distributions to modify the files of the sqlcipher software post-installation in a convoluted way, including but not limited to:

and unfortunately, I am struggling with this problem and the need to manually script renaming the files to avoid conflicts is frustrating to handle in my distribution's build framework.

There is an option libsqlite3.DLL.basename that can be set to sqlcipher, to rename some of the files successfully,

sqlcipher/main.mk

Line 1114 in 810db22

libsqlite3.DLL.basename ?= libsqlite3

However, it only renames these specific files:

What libsqlite3.DLL.basename=libsqlcipher does

before after
libsqlite3.so.3.53.3 libsqlcipher.so.3.53.3
libsqlite3.so.0 libsqlcipher.so.0
libsqlite3.so libsqlcipher.so

it does not rename these specific other files that are also installed alongside libsqlcipher.so into the distributed package:

  • sqlite3
  • sqlite3.h
  • sqlite3ext.h
  • sqlite3.pc
  • sqlite3.1.gz

I believe that providing one or more additional options alongside libsqlite3.DLL.basename that could be used to preemptively rename the rest of the conflicting files to sqlcipher* instead of sqlite3* would be very helpful for all future distributions of sqlcipher and also for future updates to all of the above preexisting distributions, to adopt the new variables and dramatically simplify their build scripts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions