238c5cee7e
Bumps both arch and debian packaging to track upstream v1.0.0-rc1
(commit deb73d1).
Arch (arch/lmcp/PKGBUILD):
pkgver=1.0.0_rc1 (Arch convention: '_' substitutes for '-' in pre-
release tags). _tag back-translates for the source URL.
Debian (debian/lmcp/build-deb.sh + changelog):
PKGVER=1.0.0~rc1 (Debian convention: '~' sorts before the release).
UPSTREAM_TAG=v1.0.0-rc1 drives the archive URL.
New tarball sha256: 81f9222264371735c196664382460261ef60a259348766bbd6fd2f49ea9d1e7e
What's in 1.0.0-rc1 (full release notes in upstream commit):
- 14 issues closed
- new MCP primitives: Resources, Prompts, Completion, Logging,
Sampling, Roots, fetch, web_search
- protocol: cursor pagination, structuredContent, _meta, tool
annotations, protocolVersion bump to 2025-06-18
- transports: stdio (LMCP_TRANSPORT=stdio), full Streamable HTTP
rewrite with sessions, persistent SSE, server-initiated requests
- json.lua: UTF-16 surrogate pairs + empty_object sentinel
- backwards-compatible with every existing sessionless-POST client
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
74 lines
2.9 KiB
Bash
Executable File
74 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# Build lmcp_<ver>_all.deb from this directory using dpkg-deb directly.
|
|
# Run from inside the runner container, which has dpkg installed.
|
|
#
|
|
# This avoids dh/debhelper to keep the build simple and runnable on a
|
|
# non-Debian builder. The resulting .deb is structurally a normal apt
|
|
# package (Architecture: all, depends on lua + lua-socket).
|
|
set -euo pipefail
|
|
|
|
# Debian-conventional pre-release notation: 1.0.0~rc1 sorts BEFORE 1.0.0.
|
|
# Upstream tag is v1.0.0-rc1 (with dash); UPSTREAM_TAG drives the source URL,
|
|
# PKGVER feeds the Debian package version field.
|
|
PKGVER=1.0.0~rc1
|
|
UPSTREAM_TAG=v1.0.0-rc1
|
|
PKGREL=1
|
|
LMCP_TARBALL_SHA256=81f9222264371735c196664382460261ef60a259348766bbd6fd2f49ea9d1e7e
|
|
HERE=$(dirname "$(readlink -f "$0")")
|
|
|
|
# Reproducible build: pin all file mtimes + ar member timestamps to a fixed
|
|
# epoch tied to this packaging release (lmcp v0.3.0 — 2026-04-14 22:00 UTC).
|
|
# Without this, repeat builds produce different byte streams and reprepro
|
|
# refuses re-includes with "size expected: X, got: Y".
|
|
export SOURCE_DATE_EPOCH=1776677688
|
|
|
|
work=$(mktemp -d)
|
|
trap "rm -rf $work" EXIT
|
|
|
|
cd "$work"
|
|
curl -sSLfo lmcp.tar.gz "https://git.reauktion.de/marfrit/lmcp/archive/${UPSTREAM_TAG}.tar.gz"
|
|
echo "$LMCP_TARBALL_SHA256 lmcp.tar.gz" | sha256sum -c
|
|
tar xzf lmcp.tar.gz
|
|
|
|
ROOT="$work/pkgroot"
|
|
mkdir -p "$ROOT/DEBIAN" \
|
|
"$ROOT/usr/share/lua/5.4" \
|
|
"$ROOT/usr/bin" \
|
|
"$ROOT/usr/share/doc/lmcp"
|
|
|
|
cp lmcp/lmcp.lua "$ROOT/usr/share/lua/5.4/"
|
|
cp lmcp/json.lua "$ROOT/usr/share/lua/5.4/"
|
|
cp lmcp/server.lua "$ROOT/usr/share/lua/5.4/"
|
|
cp lmcp/hub.lua "$ROOT/usr/share/lua/5.4/"
|
|
mkdir -p "$ROOT/usr/share/doc/lmcp/examples"
|
|
cp lmcp/examples/lmcp-hub.service "$ROOT/usr/share/doc/lmcp/examples/"
|
|
cp lmcp/examples/lmcp.service "$ROOT/usr/share/doc/lmcp/examples/"
|
|
cp lmcp/examples/hub-backends.conf.example "$ROOT/usr/share/doc/lmcp/examples/"
|
|
install -m 755 lmcp/example_server.lua "$ROOT/usr/bin/lmcp-example"
|
|
cp lmcp/README.md "$ROOT/usr/share/doc/lmcp/"
|
|
cp "$HERE/debian/copyright" "$ROOT/usr/share/doc/lmcp/copyright"
|
|
cp "$HERE/debian/changelog" "$ROOT/usr/share/doc/lmcp/changelog.Debian"
|
|
gzip -9 -n "$ROOT/usr/share/doc/lmcp/changelog.Debian"
|
|
|
|
cat > "$ROOT/DEBIAN/control" <<EOF
|
|
Package: lmcp
|
|
Version: ${PKGVER}-${PKGREL}
|
|
Section: net
|
|
Priority: optional
|
|
Architecture: all
|
|
Depends: lua5.4 | lua5.3 | lua, lua-socket
|
|
Maintainer: Markus Fritsche <mfritsche@reauktion.de>
|
|
Homepage: https://git.reauktion.de/marfrit/lmcp
|
|
Description: Lightweight MCP server in pure Lua
|
|
lmcp is a small Model Context Protocol server written in Lua. It exposes
|
|
user-defined tools over HTTP for use by AI agents.
|
|
.
|
|
Library files install to /usr/share/lua/5.4/. The example server is
|
|
available as /usr/bin/lmcp-example.
|
|
EOF
|
|
|
|
# Build the .deb. Output to current dir of the caller.
|
|
DEB_OUT=lmcp_${PKGVER}-${PKGREL}_all.deb
|
|
dpkg-deb --root-owner-group --build "$ROOT" "$HERE/$DEB_OUT"
|
|
echo "built: $HERE/$DEB_OUT"
|