Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# LadybugDB Debian Packaging

Packaging follows Debian source format 3.0 (quilt).

To build from upstream source:
1. Download the Ladybug release tarball.
2. Rename it to ladybug_\<version\>.orig.tar.gz.
3. Extract the tarball to a new directory. Don't delete the tarball after extraction, we need it for the build process
4. Copy the `debian/` directory from this repository into the extracted directory and `cd` into it.
5. Run `export DH_BUILD_SYSTEM=cmake_ninja && dpkg-buildpackage -us -uc`

## References
- https://arnaudr.io/2016/01/14/first-debian-package/
- https://arnaudr.io/2016/10/01/publishing-a-debian-package-mentors-sponsorship/
6 changes: 0 additions & 6 deletions debian/README.source

This file was deleted.

6 changes: 3 additions & 3 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ladybug (0.15.1-1) unstable; urgency=medium

* Initial release.
* Package lbug CLI, shared runtime library, and development headers.
* Initial release (CLoses: #1130583)
* Package ladybug CLI, shared runtime library, and development headers.

-- Arun <arun@ladybugdb.com> Mon, 09 Mar 2026 11:55:00 -0700
-- Ally Heev <allyheev@gmail.com> Sun, 15 Mar 2026 20:26:00 +0530
12 changes: 6 additions & 6 deletions debian/control
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
Source: ladybug
Section: database
Priority: optional
Maintainer: Arun <arun@ladybugdb.com>
Maintainer: Ally Heev <allyheev@gmail.com>
Rules-Requires-Root: no
Build-Depends:
debhelper-compat (= 13),
cmake,
g++
Standards-Version: 4.7.0
cmake
Standards-Version: 4.7.2
Homepage: https://ladybugdb.com/
Vcs-Browser: https://github.com/LadybugDB/ladybug
Vcs-Git: https://github.com/LadybugDB/ladybug.git

Package: ladybug-cli
Package: ladybug
Architecture: any
Depends:
${misc:Depends},
Expand All @@ -21,7 +20,8 @@ Description: Embedded graph database command-line client
Ladybug is an embedded graph database optimized for query speed and
scalability.
.
This package provides the lbug interactive shell CLI.
This package provides the LadybugDB interactive shell command
line client (lbug).

Package: liblbug0
Section: libs
Expand Down
2 changes: 0 additions & 2 deletions debian/copyright
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,3 @@ License: Expat
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

License: Expat
File renamed without changes.
1 change: 1 addition & 0 deletions debian/ladybug.manpages
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
debian/lbug.1
66 changes: 66 additions & 0 deletions debian/lbug.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH LBUG "1" "March 15, 2026" "Ladybug 0.15.1" "User Commands"
.SH NAME
Lbug \- LadybugDB interactive shell CLI
.SH SYNOPSIS
lbug [databasePath] {OPTIONS}
.SH DESCRIPTION
lbug is an interactive shell CLI for LadybugDB.
You can use it to run OpenCypher queries directly on the database.
.SH DATABASEPATH
Path to the database. If not given or
set to ":memory:", the database will be
opened under in\-memory mode.
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
Display this help menu
.TP
\fB\-d\fR, \fB\-\-default_bp_size\fR, \fB\-\-defaultbpsize\fR
Size of buffer pool for default and
large page sizes in megabytes
.TP
\fB\-\-max_db_size\fR=\fI\,[max_db_size]\/\fR, \fB\-\-maxdbsize\fR=\fI\,[max_db_size]\/\fR
Maximum size of the database in bytes
.HP
\fB\-\-no_compression\fR, \fB\-\-nocompression\fR Disable compression
.TP
\fB\-r\fR, \fB\-\-read_only\fR, \fB\-\-readonly\fR
Open database in read\-only mode.
.TP
\fB\-p\fR, \fB\-\-path_history\fR
Path to directory for shell history
.TP
\fB\-v\fR, \fB\-\-version\fR
Display current database version
.TP
\fB\-m\fR, \fB\-\-mode\fR
Set the output mode of the shell
.TP
\fB\-s\fR, \fB\-\-no_stats\fR, \fB\-\-nostats\fR
Disable query stats
.TP
\fB\-b\fR, \fB\-\-no_progress_bar\fR, \fB\-\-noprogressbar\fR
Disable query progress bar
.TP
\fB\-w\fR, \fB\-\-ignore_wal_replay_errors\fR
By default something goes wrong when
replaying the WAL an exception will be
thrown. With this flag enabled we will
instead ignore these errors and stop
replaying the WAL.
.TP
\fB\-i\fR, \fB\-\-init\fR
Path to the script file to run on
startup
.HP
\fB"\-\-"\fR can be used to terminate flag options and force all following
arguments to be treated as positional options
.SH SEE ALSO
https://docs.ladybugdb.com/client-apis/cli/
.br
https://ladybugdb.github.io/wasm-shell/ (a WASM build of the shell)
.SH AUTHOR
LadybugDB contributors
.SH COPYRIGHT
LadybugDB contributors
1 change: 1 addition & 0 deletions debian/liblbug-dev.install
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
usr/include/lbug.h
usr/lib/*/liblbug.a
usr/lib/*/liblbug.so
2 changes: 1 addition & 1 deletion debian/liblbug0.install
Original file line number Diff line number Diff line change
@@ -1 +1 @@
usr/lib/*/liblbug.so
usr/lib/*/liblbug.so.*
2 changes: 2 additions & 0 deletions debian/liblbug0.lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# ABI not stable yet
liblbug0: no-symbols-control-file
1 change: 1 addition & 0 deletions debian/patches/series
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
soname.patch
18 changes: 18 additions & 0 deletions debian/patches/soname.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Description: Add SONAME for shared library
Author: Ally Heev <allyheev@gmail.com>
Forwarded: not-needed

--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -23,6 +23,11 @@
add_library(lbug STATIC ${ALL_OBJECT_FILES})
add_library(lbug_shared SHARED ${ALL_OBJECT_FILES})

+set_target_properties(lbug_shared PROPERTIES
+ VERSION ${PROJECT_VERSION}
+ SOVERSION ${PROJECT_VERSION_MAJOR}
+)
+
set(LBUG_LIBRARIES antlr4_cypher antlr4_runtime brotlidec brotlicommon fast_float utf8proc re2 fastpfor parquet snappy thrift yyjson zstd miniz mbedtls lz4 roaring_bitmap simsimd)
if (NOT __SINGLE_THREADED__)
set(LBUG_LIBRARIES ${LBUG_LIBRARIES} Threads::Threads)
4 changes: 3 additions & 1 deletion debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

include /usr/share/dpkg/architecture.mk

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

%:
dh $@ --buildsystem=cmake

Expand All @@ -24,7 +26,7 @@ override_dh_auto_install:
# Upstream installs libraries to /usr/lib; move to multiarch path.
if [ -d debian/tmp/usr/lib ]; then \
mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH); \
for f in debian/tmp/usr/lib/liblbug.so debian/tmp/usr/lib/liblbug.a; do \
for f in debian/tmp/usr/lib/liblbug.*; do \
if [ -e "$${f}" ]; then mv "$${f}" debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/; fi; \
done; \
fi
Loading