From f19cd3f5134e6e82bdcc006154a2433e60596ad7 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 31 Jan 2022 19:08:14 +0100 Subject: [PATCH] chore(linux): stop releasing KMFL together with Keyman Fixes #6163. --- linux/Jenkinsfile | 2 +- linux/README.md | 6 +++--- linux/help/about/welcome.md | 2 -- linux/help/common/index.md | 5 +++-- linux/help/reference/index.md | 2 +- linux/scripts/build.sh | 13 +++++++++---- linux/scripts/deb.sh | 8 ++++++-- linux/scripts/dist.sh | 9 +++++++-- linux/scripts/install.sh | 10 ++++++++-- linux/scripts/jenkins.sh | 5 ++++- linux/scripts/package-build.inc.sh | 4 +++- linux/scripts/reconf.sh | 8 ++++++-- 12 files changed, 51 insertions(+), 23 deletions(-) diff --git a/linux/Jenkinsfile b/linux/Jenkinsfile index c2d4b21726..1abc4d99d9 100644 --- a/linux/Jenkinsfile +++ b/linux/Jenkinsfile @@ -7,5 +7,5 @@ keymanPackaging { distributionsToPackage = 'bionic focal impish jammy' arches = 'amd64 i386' - packagesToBuild = ['keyman', 'kmflcomp', 'libkmfl', 'ibus-kmfl'] + packagesToBuild = ['keyman'] } diff --git a/linux/README.md b/linux/README.md index 1c670a7f87..57c7606dc4 100644 --- a/linux/README.md +++ b/linux/README.md @@ -6,9 +6,9 @@ and view information about Keyman keyboard packages. - [ibus-keyman](./ibus-keyman) - IBUS integration to use .kmp Keyman keyboards - [core](../common/core/desktop) - common keyboardprocessor library -- [kmflcomp](./kmflcomp) - KMFL keyboard compiler -- [libkmfl](./libkmfl) - older KMFL core library -- [ibus-kmfl](./ibus-kmfl) - IBUS integration to use KMFL +- [legacy/kmflcomp](./legacy/kmflcomp) - KMFL keyboard compiler +- [legacy/libkmfl](./legacy/libkmfl) - older KMFL core library +- [legacy/ibus-kmfl](./legacy/ibus-kmfl) - IBUS integration to use KMFL See [license information](./LICENSE.md) about licensing. diff --git a/linux/help/about/welcome.md b/linux/help/about/welcome.md index ecab5b7b29..6dc3dd4265 100644 --- a/linux/help/about/welcome.md +++ b/linux/help/about/welcome.md @@ -8,6 +8,4 @@ Thank you for installing Keyman for Linux. Whether you're a new or returning use Keyman for Linux makes it possible to type in over 1,000 languages in any Linux application. -Keyman for Linux also supports KMFL keyboards, so your existing KMFL keyboards will continue to work. - [Click here](../start/) to get started. diff --git a/linux/help/common/index.md b/linux/help/common/index.md index c6fae9b3c9..7bbc820dd0 100644 --- a/linux/help/common/index.md +++ b/linux/help/common/index.md @@ -22,8 +22,9 @@ An older version of Keyman for Linux packages is also available in any current D ## Q. What's the relationship between Keyman for Linux and KMFL? -**A.** Keyman for Linux and KMFL are released together in the Keyman -[PPA](https://en.wikipedia.org/wiki/Ubuntu#Package_Archives), but are separate. The installation +**A.** KMFL is no longer actively developed, although it can still be installed. +Both Keyman for Linux and KMFL are available in the Keyman +[PPA](https://en.wikipedia.org/wiki/Ubuntu#Package_Archives). The installation instructions above will install Keyman, not KMFL. KMFL was developed as a black-box clone of Keyman for Windows years ago; after Keyman was released as open source it became possible to share the code base between Windows and Linux. Keyman for Linux is the long-term supported solution. diff --git a/linux/help/reference/index.md b/linux/help/reference/index.md index 9111f53d31..cb9f35fad8 100644 --- a/linux/help/reference/index.md +++ b/linux/help/reference/index.md @@ -4,7 +4,7 @@ title: Keyman 15.0 for Linux Reference ## Keyman 15.0 for Linux Overview -Keyman for Linux makes it possible for you to type in over 1,000 languages on Linux. +Keyman for Linux makes it possible for you to type in over 2,000 languages on Linux. [km-config](km-config)
Keyman keyboards installation and information diff --git a/linux/scripts/build.sh b/linux/scripts/build.sh index 891772e552..01da4598e5 100755 --- a/linux/scripts/build.sh +++ b/linux/scripts/build.sh @@ -1,6 +1,8 @@ #!/bin/bash -# Build KMFL in the required order: keyboardprocessor kmflcomp libkmfl ibus-kmfl ibus-keyman +# Build Keyman for Linux: keyboardprocessor ibus-keyman +# If BUILD_LEGACY is set instead, additionally build KMFL in the required order: +# kmflcomp libkmfl ibus-kmfl # It must be run from the keyman/linux directory @@ -13,7 +15,10 @@ INSTALLDIR=${INSTALLDIR:-"/usr/local"} CONFIGUREONLY=${CONFIGUREONLY:="no"} BUILDONLY=${BUILDONLY:="no"} -legacy_projects="kmflcomp libkmfl ibus-kmfl" +legacy_projects="" +if [ -n "$BUILD_LEGACY" ]; then + legacy_projects="kmflcomp libkmfl ibus-kmfl" +fi projects="ibus-keyman" if [[ "${CONFIGUREONLY}" != "no" && "${BUILDONLY}" != "no" ]]; then @@ -84,11 +89,11 @@ function buildproject() { } for proj in $legacy_projects; do - buildproject $proj legacy/ + buildproject $proj legacy/ done for proj in $projects; do - buildproject $proj + buildproject $proj done if [[ "${CONFIGUREONLY}" == "no" ]]; then diff --git a/linux/scripts/deb.sh b/linux/scripts/deb.sh index 847f07aa65..2c2effdfb2 100755 --- a/linux/scripts/deb.sh +++ b/linux/scripts/deb.sh @@ -5,16 +5,20 @@ # It must be run from the keyman/linux directory -# parameters: ./deb.sh [sourcepackage] [proj] [dist] +# parameters: [BUILD_LEGACY=1] ./deb.sh [sourcepackage] [proj] [dist] # sourcepackage = only create Debian source package # proj = only build for this project # dist = only build for this distribution +# BUILD_LEGACY = also build legacy KMFL packages set -e all_distributions="focal" distributions="" -all_projects="keyman kmflcomp libkmfl ibus-kmfl" +all_projects="keyman" +if [ -n "$BUILD_LEGACY" ]; then + all_projects="keyman kmflcomp libkmfl ibus-kmfl" +fi projects="" echo "all_distributions: ${all_distributions}" echo "all_projects: ${all_projects}" diff --git a/linux/scripts/dist.sh b/linux/scripts/dist.sh index d922b61f1b..8cd9d57e11 100755 --- a/linux/scripts/dist.sh +++ b/linux/scripts/dist.sh @@ -3,9 +3,10 @@ # Build dist tarballs or Debian orig tarballs # and put them in dist/ -# parameters: ./dist.sh [origdist] [proj] +# parameters: [BUILD_LEGACY=1] ./dist.sh [origdist] [proj] # origdist = create Debian orig.tar.gz # proj = only make tarball for this project +# BUILD_LEGACY = additionaly build legacy KMFL tarballs set -e @@ -16,9 +17,13 @@ THIS_SCRIPT="$(greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null || readlink -f "${BA ## END STANDARD BUILD SCRIPT INCLUDE BASEDIR=$(pwd) -legacy_projects="kmflcomp libkmfl ibus-kmfl" +legacy_projects="" extra_projects="keyman" +if [ -n "$BUILD_LEGACY" ]; then + legacy_projects="kmflcomp libkmfl ibus-kmfl" +fi + if [ "$1" == "origdist" ]; then create_origdist=1 shift diff --git a/linux/scripts/install.sh b/linux/scripts/install.sh index 63fadbfe74..f0edce2f4f 100755 --- a/linux/scripts/install.sh +++ b/linux/scripts/install.sh @@ -1,6 +1,7 @@ #!/bin/bash -# Install keyboardprocessor, kmflcomp, libkmfl, ibus-kmfl, ibus-keyman and keyman-config +# Install keyboardprocessor, ibus-keyman and keyman-config +# If BUILD_LEGACY is set this also install kmflcomp, libkmfl, and ibus-kmfl. # It must be run from the keyman/linux directory @@ -16,6 +17,11 @@ SUDOINSTALL=${SUDOINSTALL:-"no"} INSTALLDIR=${INSTALLDIR:-"/usr/local"} +legacy_projects="" +if [ -n "$BUILD_LEGACY" ]; then + legacy_projects="kmflcomp libkmfl ibus-kmfl" +fi + if [[ "${SUDOINSTALL}" != "no" ]]; then if [ "$EUID" -ne 0 ] then @@ -51,7 +57,7 @@ cd keyboardprocessor/arch/release ninja install cd $BASEDIR -for proj in kmflcomp libkmfl ibus-kmfl ibus-keyman; do +for proj in ${legacy_projects} ibus-keyman; do cd build-$proj if [[ "${SUDOINSTALL}" == "uninstall" ]]; then if [ ! -f Makefile ]; then diff --git a/linux/scripts/jenkins.sh b/linux/scripts/jenkins.sh index b3de239bb0..4fe776c40f 100755 --- a/linux/scripts/jenkins.sh +++ b/linux/scripts/jenkins.sh @@ -7,7 +7,10 @@ PROGRAM_NAME="$(basename "$0")" . $HOME/ci-builder-scripts/bash/common.sh init --no-package -keyman_projects="keyman kmflcomp libkmfl ibus-kmfl" +keyman_projects="keyman" +if [ -n "$BUILD_LEGACY" ]; then + keyman_projects="keyman kmflcomp libkmfl ibus-kmfl" +fi tier="stable" diff --git a/linux/scripts/package-build.inc.sh b/linux/scripts/package-build.inc.sh index 78281b7395..8ef2610c55 100644 --- a/linux/scripts/package-build.inc.sh +++ b/linux/scripts/package-build.inc.sh @@ -20,8 +20,10 @@ function checkPrerequisites() { if [ "${PROJECT}" != "" ]; then projects="${PROJECT}" - else + elif [ -n "${BUILD_LEGACY}" ]; then projects="keyman kmflcomp libkmfl ibus-kmfl" + else + projects="keyman" fi } diff --git a/linux/scripts/reconf.sh b/linux/scripts/reconf.sh index 4bd3d63210..e6838bd9bd 100755 --- a/linux/scripts/reconf.sh +++ b/linux/scripts/reconf.sh @@ -2,7 +2,8 @@ # autoreconf autotool projects -# parameters: [JENKINS="yes"] ./reconf.sh [proj] +# parameters: [BUILD_LEGACY=1] [JENKINS="yes"] ./reconf.sh [proj] +# BUILD_LEGACY=1 to also build legacy KMFL projects # JENKINS="yes" to set version for jenkins builds # proj = only reconf this project @@ -16,7 +17,10 @@ THIS_SCRIPT="$(greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null || readlink -f "${BA BASEDIR="$KEYMAN_ROOT/linux" echo "basedir is $BASEDIR" -legacy_projects="kmflcomp libkmfl ibus-kmfl" +legacy_projects="" +if [ -n "$BUILD_LEGACY" ]; then + legacy_projects="kmflcomp libkmfl ibus-kmfl" +fi autotool_projects="ibus-keyman" extra_projects="keyboardprocessor keyman-config"