Skip to content

Commit

Permalink
chore(linux): Rename libkmnkbp0-0 package
Browse files Browse the repository at this point in the history
Closes #9733.
  • Loading branch information
ermshiperete committed Oct 19, 2023
1 parent eac4802 commit 0322ee9
Show file tree
Hide file tree
Showing 11 changed files with 66 additions and 61 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/deb-packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -243,15 +243,15 @@ jobs:
run: |
cd linux
SRC_PKG="${GITHUB_WORKSPACE}/artifacts/keyman-srcpkg/keyman_${{ needs.sourcepackage.outputs.VERSION }}-1.debian.tar.xz" \
BIN_PKG="${GITHUB_WORKSPACE}/artifacts/keyman-binarypkgs/libkmnkbp0-0_${{ needs.sourcepackage.outputs.VERSION }}-1${{ needs.sourcepackage.outputs.PRERELEASE_TAG }}+jammy1_amd64.deb" \
BIN_PKG="${GITHUB_WORKSPACE}/artifacts/keyman-binarypkgs/libkeymancore_${{ 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
name: libkeymancore.symbols
path: linux/debian/libkeymancore.symbols
if: always()

set_status:
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
File renamed without changes.
File renamed without changes.
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"
8 changes: 4 additions & 4 deletions linux/scripts/deb-packaging.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,14 @@ fi

if builder_start_action verify; then
tar xf "${SRC_PKG}"
if [ ! -f debian/libkmnkbp0-0.symbols ]; then
echo ":warning: Missing libkmnkbp0-0.symbols file" >&2
if [ ! -f debian/libkeymancore.symbols ]; then
echo ":warning: Missing libkeymancore.symbols file" >&2
else
tmpDir=$(mktemp -d)
dpkg -x "${BIN_PKG}" "$tmpDir"
cd debian
dpkg-gensymbols -v"${PKG_VERSION}" -plibkmnkbp0-0 -e"${tmpDir}"/usr/lib/x86_64-linux-gnu/libkeymancore.so* -Olibkmnkbp0-0.symbols -c4
echo ":heavy_check_mark: libkmnkbp0-0 API didn't change" >&2
dpkg-gensymbols -v"${PKG_VERSION}" -plibkeymancore -e"${tmpDir}"/usr/lib/x86_64-linux-gnu/libkeymancore.so* -Olibkeymancore.symbols -c4
echo ":heavy_check_mark: libkeymancore API didn't change" >&2
fi
builder_finish_action success verify
exit 0
Expand Down

0 comments on commit 0322ee9

Please sign in to comment.