This repository maintains the Debian packaging for µSockets (libusockets), a minimal cross-platform eventing, networking and cryptography library.
This is a mixed repository containing both upstream sources and Debian packaging:
libusockets-debian/
├── debian/ # Debian packaging files
├── .github/ # GitHub Actions workflows
├── src/ # Upstream source code
│ ├── crypto/ # Cryptography implementations (OpenSSL)
│ ├── eventing/ # Event loop backends (epoll, kqueue, libuv, GCD, io_uring)
│ ├── networking/ # Network I/O implementations
│ ├── io_uring/ # io_uring-specific implementation
│ ├── internal/ # Internal headers and data structures
│ └── libusockets.h # Main public header file
├── examples/ # Usage examples (echo server, HTTP server, etc.)
├── tests/ # Test suite (QUIC, SSL, peer verification)
├── misc/ # Miscellaneous files (SSL certificates, documentation)
├── Makefile # Build configuration
├── LICENSE # Apache License 2.0
├── module.modulemap # Swift module map
└── README.md # This file
For upstream µSockets documentation, see:
- Official upstream: https://github.com/uNetworking/uSockets
- Official website: https://github.com/uNetworking
µSockets is a miniscule cross-platform eventing, networking and cryptography library featuring:
- Minimal footprint: Designed for efficiency and low memory usage
- Cross-platform: Supports Linux (epoll, io_uring), macOS/BSD (kqueue), Windows, and more
- Multiple backends: Flexible event loop implementation (libuv, GCD, io_uring)
- Networking: Async socket operations, SSL/TLS support, QUIC/HTTP3 (experimental)
- Performance: Built with link-time optimization for optimal performance
- C API: Clean and simple async operations interface
sudo apt-get install debhelper-compat build-essential \
libssl-dev libuv1-dev pkg-config# Extract the source package
dpkg-source -x libusockets_*.dsc
cd libusockets-*/
# Build the package
dpkg-buildpackage -b -us -ucThe resulting .deb file will be in the parent directory.
# Install the package
sudo dpkg -i libusockets-dev_*.deb
# Install missing dependencies if needed
sudo apt-get install -f- Package name: libusockets-dev
- Current version: 0.8.8-1
- Maintainer: Ruslan Dautov
- Build dependencies: debhelper-compat (= 13), libssl-dev, libuv1-dev, pkg-config
- Upstream: https://github.com/uNetworking/uSockets
WITH_LIBUV=1: Enable libuv backend (default)WITH_OPENSSL=1: Enable OpenSSL support (default)WITH_IO_URING=0: io_uring support not enabled by defaultLIBUS_NO_SSL: Can be set to disable SSL (not recommended)
Key packaging files and their purposes:
- debian/control: Package metadata and dependencies
- debian/rules: Build instructions and configuration
- debian/copyright: License and copyright information
- debian/libusockets-dev.install: Files to include in the package
- debian/pkg-config/libusockets.pc: pkg-config metadata
- debian/tests/: Autopkgtest test suite
- debian/changelog: Version history
- debian/watch: auto tracking of new upstream releases from GitHub
# Verify installation
lintian -i ../libusockets-dev_*.changes
# Check for installed files
dpkg -L libusockets-dev | head -20
# Verify pkg-config works
pkg-config --list-all | grep libusockets
pkg-config --cflags --libs libusocketsRun autopkgtest tests:
autopkgtest ../libusockets-dev_*.deb -- qemu -oCompile and run example programs:
# Compile echo server example (requires source)
gcc examples/echo_server.c $(pkg-config --cflags --libs libusockets) -o echo_server
./echo_serverIf you want to contribute to the Debian packaging:
- Fork this repository
- Make changes in the
debian/directory - Update
debian/changelogwith your changes - Test with
debuildordpkg-buildpackage - Submit a pull request
For contributing to upstream µSockets, visit https://github.com/uNetworking/uSockets
- Upstream sources: Apache License 2.0 (see LICENSE)
- Debian packaging: Apache License 2.0
This library includes optional support for:
- OpenSSL: Various open-source licenses (packaged separately)
- libuv: MIT License
- BoringSSL: Apache License 2.0 (optional)
- LSQUIC: BSD License (optional, for QUIC/HTTP3)
See the debian/copyright file for complete license information.
# Check package policy compliance
lintian -i ../libusockets-dev_*.changes
# Build source package only
dpkg-buildpackage -S -us -uc
# Build binary package
dpkg-buildpackage -b -us -uc
# Build source and binary
dpkg-buildpackage -us -uc
# Clean build artifacts
dpkg-buildpackage -t clean
# List installed files
dpkg -L libusockets-dev
# Verify library symbols
nm /usr/lib/*/libusockets.a | grep ' T '
# Check pkg-config info
pkg-config libusockets --modversion --cflags --libs- Official upstream: https://github.com/uNetworking/uSockets
- uNetworking organization: https://github.com/uNetworking
- µSockets documentation: Check upstream GitHub repository
- Debian package tracker: (will be available after upload to official Debian repository)
For issues related to:
- Debian packaging: Report in this repository
- Upstream library: Report at https://github.com/uNetworking/uSockets/issues
Last updated: 2025-11-23 Maintainer: Ruslan Dautov Repository: Debian packaging for µSockets