Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(linux): Rename libkmnkbp0-0 package 〽️ #9795

Merged
merged 1 commit into from
Oct 24, 2023
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
13 changes: 1 addition & 12 deletions .github/workflows/deb-packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -242,23 +242,12 @@ jobs:
- name: Verify API
run: |
cd linux
if [ -f debian/libkeymancore.symbols ]; then
PKG_NAME=libkeymancore
else
PKG_NAME=libkmnkbp0-0
fi
PKG_NAME=libkeymancore
SRC_PKG="${GITHUB_WORKSPACE}/artifacts/keyman-srcpkg/keyman_${{ needs.sourcepackage.outputs.VERSION }}-1.debian.tar.xz" \
BIN_PKG="${GITHUB_WORKSPACE}/artifacts/keyman-binarypkgs/${PKG_NAME}_${{ needs.sourcepackage.outputs.VERSION }}-1${{ needs.sourcepackage.outputs.PRERELEASE_TAG }}+jammy1_amd64.deb" \
PKG_VERSION="${{ needs.sourcepackage.outputs.VERSION }}" \
./scripts/deb-packaging.sh --gha verify 2>> $GITHUB_STEP_SUMMARY

- name: Archive .symbols file
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
with:
name: libkmnkbp0-0.symbols
path: linux/debian/libkmnkbp0-0.symbols
if: always()

- name: Archive .symbols file
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
with:
Expand Down
2 changes: 1 addition & 1 deletion core/src/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ keymancore = declare_dependency(link_with: lib, include_directories: inc, depend

pkg = import('pkgconfig')
pkg.generate(
name: 'keyman_kmn_processor',
name: 'keyman_core',
version: meson.project_version(),
description: 'Keyman processor for KMN keyboards.',
subdirs: headerdirs,
Expand Down
16 changes: 10 additions & 6 deletions linux/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -107,12 +107,14 @@ Description: Keyman for Linux configuration
This package contains the Python module to install, uninstall and view
information about Keyman keyboard packages.

Package: libkmnkbp-dev
Package: libkeymancore-dev
Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el riscv64
Section: libdevel
Depends:
libkmnkbp0-0 (= ${binary:Version}),
libkeymancore (= ${binary:Version}),
${misc:Depends},
Conflicts: libkmnkbp-dev
Replaces: libkmnkbp-dev
Multi-Arch: same
Description: Development files for Keyman keyboard processing library
Originally created in 1993 to type Lao on Windows, Keyman is now a free and
Expand All @@ -126,12 +128,12 @@ Description: Development files for Keyman keyboard processing library
Keyboard layouts are distributed through an open catalog to all major desktop
and mobile platforms.
.
The Keyman keyboardprocessor library processes input from input method engines
The Keyman core library processes input from input method engines
and applies rules from compiled Keyman keyboard files.
.
This package contains development headers and libraries.

Package: libkmnkbp0-0
Package: libkeymancore
Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el riscv64
Section: libs
Pre-Depends:
Expand All @@ -141,6 +143,8 @@ Depends:
${shlibs:Depends},
Suggests:
keyman,
Conflicts: libkmnkbp0-0
Replaces: libkmnkbp0-0
Multi-Arch: same
Description: Keyman keyboard processing library
Originally created in 1993 to type Lao on Windows, Keyman is now a free and
Expand All @@ -154,14 +158,14 @@ Description: Keyman keyboard processing library
Keyboard layouts are distributed through an open catalog to all major desktop
and mobile platforms.
.
The Keyman keyboardprocessor library processes input from input method engines
The Keyman core library processes input from input method engines
and applies rules from compiled Keyman keyboard files.

Package: ibus-keyman
Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el riscv64
Depends:
ibus (>= 1.3.7),
libkmnkbp0-0 (= ${binary:Version}),
libkeymancore (= ${binary:Version}),
keyman-system-service (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Expand Down
43 changes: 43 additions & 0 deletions linux/debian/libkeymancore.symbols
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
libkeymancore.so.1 libkeymancore #MINVER#
* Build-Depends-Package: libkeymancore-dev

km_core_context_append@Base 17.0.195
km_core_context_clear@Base 17.0.195
km_core_context_get@Base 17.0.195
km_core_context_item_list_size@Base 17.0.195
km_core_context_items_dispose@Base 17.0.195
km_core_context_items_from_utf16@Base 17.0.195
km_core_context_items_from_utf8@Base 17.0.195
km_core_context_items_to_utf16@Base 17.0.195
km_core_context_items_to_utf8@Base 17.0.195
km_core_context_length@Base 17.0.195
km_core_context_set@Base 17.0.195
km_core_context_shrink@Base 17.0.195
km_core_event@Base 17.0.195
km_core_get_engine_attrs@Base 17.0.195
km_core_keyboard_dispose@Base 17.0.195
km_core_keyboard_get_attrs@Base 17.0.195
km_core_keyboard_get_imx_list@Base 17.0.195
km_core_keyboard_get_key_list@Base 17.0.195
km_core_keyboard_imx_list_dispose@Base 17.0.195
km_core_keyboard_key_list_dispose@Base 17.0.195
km_core_keyboard_load@Base 17.0.195
km_core_options_list_size@Base 17.0.195
km_core_process_event@Base 17.0.195
km_core_process_queued_actions@Base 17.0.195
km_core_state_action_items@Base 17.0.195
km_core_state_clone@Base 17.0.195
km_core_state_context@Base 17.0.195
km_core_state_create@Base 17.0.195
km_core_state_debug_get@Base 17.0.195
km_core_state_debug_items@Base 17.0.195
km_core_state_debug_set@Base 17.0.195
km_core_state_dispose@Base 17.0.195
km_core_state_get_intermediate_context@Base 17.0.195
km_core_state_imx_deregister_callback@Base 17.0.195
km_core_state_imx_register_callback@Base 17.0.195
km_core_state_option_lookup@Base 17.0.195
km_core_state_options_to_json@Base 17.0.195
km_core_state_options_update@Base 17.0.195
km_core_state_queue_action_items@Base 17.0.195
km_core_state_to_json@Base 17.0.195
43 changes: 0 additions & 43 deletions linux/debian/libkmnkbp0-0.symbols

This file was deleted.

2 changes: 1 addition & 1 deletion linux/debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ include /usr/share/dpkg/pkg-info.mk
dh $@ --with-python3

override_dh_auto_configure:
# keymankeyboardprocessor - we need to configure and build core before
# keyman core - we need to configure and build core before
# we can configure ibus-keyman!
core/build.sh --no-tests configure:arch build:arch -- \
--wrap-mode=nodownload --prefix=/usr --sysconfdir=/etc \
Expand Down
1 change: 1 addition & 0 deletions linux/debian/tests/control
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Tests: test-build
Depends: @,
build-essential,
libicu-dev,
pkg-config,
Architecture: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64
6 changes: 3 additions & 3 deletions linux/debian/tests/test-build
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# autopkgtest check: Build a program against libkmnkbp-dev to verify that the
# autopkgtest check: Build a program against libkeymancore-dev to verify that the
# headers and pkg-config file are included and installed correctly.
# cf https://github.com/keymanapp/keyman/issues/7490

Expand All @@ -16,7 +16,7 @@ km_core_context* c;
EOF

# shellcheck disable=SC2046
gcc -c keymantest.c $(pkg-config --cflags --libs keyman_kmn_processor)
gcc -c keymantest.c $(pkg-config --cflags --libs keyman_core)
echo "build 1: OK"

# Test pkg-config file - include without path
Expand All @@ -26,5 +26,5 @@ km_core_context* c;
EOF

# shellcheck disable=SC2046
gcc -c keymantest.c $(pkg-config --cflags --libs keyman_kmn_processor)
gcc -c keymantest.c $(pkg-config --cflags --libs keyman_core)
echo "build 2: OK"
14 changes: 5 additions & 9 deletions linux/scripts/deb-packaging.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,12 @@ fi

if builder_start_action verify; then
tar xf "${SRC_PKG}"
if [ ! -f debian/libkmnkbp0-0.symbols ] && [ ! -f debian/libkeymancore.symbols ]; then
echo ":warning: Missing libkmnkbp0-0.symbols/libkeymancore.symbols file" >&2
if [ ! -f debian/libkeymancore.symbols ]; then
echo ":warning: Missing libkeymancore.symbols file" >&2
else
if [ -f debian/libkeymancore.symbols ]; then
PKG_NAME=libkeymancore
LIB_NAME=libkeymancore
else
PKG_NAME=libkmnkbp0-0
LIB_NAME=libkmnkbp0
fi
PKG_NAME=libkeymancore
LIB_NAME=libkeymancore

tmpDir=$(mktemp -d)
dpkg -x "${BIN_PKG}" "$tmpDir"
cd debian
Expand Down