chore(linux): Update readme

This change adds separate READMEs for the legacy projects, and
removes mentioning of the legacy projects in the current READMEs.
The motivation is to make it later easier to remove the legacy
projects, as well as reducing the efforts to testing the README with
legacy projects. Since legacy projects aren't maintained anymore
it doesn't make sense to still have them in the regular README,
suggesting that the instructions work for the legacy projects as
well.
This commit is contained in:
Eberhard Beilharz 2022-10-11 17:00:40 +02:00
parent 0cf307066d
commit 1e8e598cd3
No known key found for this signature in database
GPG key ID: E9140597606020D3
5 changed files with 109 additions and 33 deletions

View file

@ -1,17 +1,16 @@
# LICENSE
The [kmflcomp](./kmflcomp), [libkmfl](./libkmfl), and [keyman_config](./keyman_config) projects
are covered by the [MIT license](./libkmfl/COPYING).
The [keyman-config](./keyman-config) project is covered by the
[MIT license](./keyman-config/COPYING).
The [ibus-kmfl](./ibus-kmfl) and [ibus-keyman](./ibus-keyman) projects are licensed under GNU
General Public License as published by the Free Software Foundation; either
[version 2 of the License](./ibus-kmfl/COPYING), or (at your option) any later version.
The [ibus-keyman](./ibus-keyman) projects is licensed under GNU General Public License
as published by the Free Software Foundation; either
[version 2 of the License](./ibus-keyman/COPYING), or (at your option) any later version.
Two files in ibus-kmfl, [kmflutil.c](./ibus-kmfl/src/kmflutil.c) and
[kmflutil.h](./ibus-kmfl/src/kmflutil.h), as well as four files in ibus-keyman,
[keymanutil.c](./ibus-keyman/src/keymanutil.c), [keymanutil.h](./ibus-keyman/src/keymanutil.h),
[kmpdetails.c](./ibus-keyman/src/kmpdetails.c) and [kmpdetails.h](./ibus-keyman/src/kmpdetails.h),
are dual licensed by the MIT license and the GNU General Public License which is described above.
Four files in ibus-keyman, [keymanutil.c](./ibus-keyman/src/keymanutil.c),
[keymanutil.h](./ibus-keyman/src/keymanutil.h), [kmpdetails.c](./ibus-keyman/src/kmpdetails.c)
and [kmpdetails.h](./ibus-keyman/src/kmpdetails.h), are dual licensed by the MIT license and
the GNU General Public License which is described above.
The MIT license alone may be chosen for them for their use in other projects.
Two files in ibus-keyman, [keyman-service.c](./ibus-keyman/src/keyman-service.c) and

View file

@ -16,7 +16,7 @@ See [license information](./LICENSE.md) about licensing.
- It is helpful to be using the [packages.sil.org](http://packages.sil.org) repo
- Install packages required for building and developing KMFL and Keyman for Linux
- Install packages required for building and developing Keyman for Linux
```bash
sudo apt install cdbs debhelper libx11-dev autotools-dev build-essential \
@ -31,7 +31,7 @@ See [license information](./LICENSE.md) about licensing.
### Build script
#### Installing for ibus to use ibus-kmfl or ibus-keyman
#### Installing for ibus to use ibus-keyman
- The process to build and install everything is:
@ -44,10 +44,8 @@ See [license information](./LICENSE.md) about licensing.
To do this run `sudo make install`
- This will install to `/usr/local`
- and `/usr/share/ibus/component/kmfl.xml` and `/usr/share/kmfl/icons`
- and `/usr/share/ibus/component/keyman.xml` and `/usr/share/keyman/icons`
- If you already have the ibus-kmfl package installed then it will move the file `/usr/share/ibus/component/kmfl.xml` to `/usr/share/doc/ibus-kmfl/`
- If you already have the ibus-keyman package installed then it will move the file `/usr/share/ibus/component/keyman.xml` to `/usr/share/doc/ibus-keyman/`
- run `sudo make uninstall` to uninstall everything and put it back again
@ -56,20 +54,16 @@ See [license information](./LICENSE.md) about licensing.
Used by TC for validating PRs
Run `make tmpinstall` to build and install **keyboardprocessor**, **kmflcomp**, **libkmfl**, **ibus-kmfl** and **ibus-keyman** to `/tmp/kmfl`
Run `make tmpinstall` to build and install **keyboardprocessor** and **ibus-keyman** to `/tmp/kmfl`
This is only for testing the build, not for running **ibus-kmfl** or **ibus-keyman** in ibus
This is only for testing the build, not for running **ibus-keyman** in ibus
### Manually
- **libkmfl** requires `kmfl.h` header from **kmflcomp**
- **ibus-kfml** requires `kmfl.h` and headers and lib from **libkmfl**
- **ibus-keyman** requires headers and lib from **keyboardprocessor**
So
- **kmflcomp** must be built and installed before **libkmfl**
- **libkmfl** must be built and installed before **ibus-kmfl**
- **keyboardprocessor** must be built before **ibus-keyman**
For each project run `./configure && make && make install`.
@ -77,16 +71,13 @@ For each project run `./configure && make && make install`.
You may prefer to create a different directory to build in and run configure from there e.g.
```bash
mkdir ../build-kmflcomp
cd ../build-kmflcomp
../kmflcomp/configure
mkdir ../build-ibus-keyman
cd ../build-ibus-keyman
../ibus-keyman/configure
make
make install
```
The install of **ibus-kmfl** doesn't install everything to the correct location for it to be
used - to be fixed
## Continuous integration
Teamcity PR builds will run `make tmpinstall`

View file

@ -1,7 +0,0 @@
You need autoconf, autopoint, gettext, automake and libtool to generate the build system
flex and bison are useful to rebuild lex.l and yacc.y in kmflcomp but not essential
For keyboardprocessor you need rust, meson and ninja (meson package pulls in ninja)
Run `make reconf` to run them

13
linux/legacy/LICENSE.md Normal file
View file

@ -0,0 +1,13 @@
# LICENSE
The [kmflcomp](./kmflcomp) and [libkmfl](./libkmfl) projects are covered by the
[MIT license](./libkmfl/COPYING).
The [ibus-kmfl](./ibus-kmfl) project is licensed under GNU General Public License
as published by the Free Software Foundation; either
[version 2 of the License](./ibus-kmfl/COPYING), or (at your option) any later version.
Two files in ibus-kmfl, [kmflutil.c](./ibus-kmfl/src/kmflutil.c) and
[kmflutil.h](./ibus-kmfl/src/kmflutil.h) are dual licensed by the MIT license and the
GNU General Public License which is described above.
The MIT license alone may be chosen for them for their use in other projects.

80
linux/legacy/README.md Normal file
View file

@ -0,0 +1,80 @@
# Keyman for Linux
## Projects
- [kmflcomp](./kmflcomp) - KMFL keyboard compiler
- [libkmfl](./libkmfl) - older KMFL core library
- [ibus-kmfl](./ibus-kmfl) - IBUS integration to use KMFL
See [license information](./LICENSE.md) about licensing.
## Linux Requirements/Setup
- It is helpful to be using the [packages.sil.org](http://packages.sil.org) repo
- Install packages required for building and developing KMFL
```bash
sudo apt install cdbs debhelper libx11-dev autotools-dev build-essential \
dh-autoreconf flex bison libibus-1.0-dev python3-setuptools meson \
libjson-glib-dev libgtk-3-dev libxml2-utils help2man python3-lxml \
python3-magic python3-numpy python3-pil python3-pip python3-qrcode \
python3-requests python3-requests-cache python3 python3-gi dconf-cli \
dconf-editor cargo python3-dbus
```
## Compiling from Command Line
### Build script
#### Installing for ibus to use ibus-kmfl
- The process to build and install everything is:
- `make reconf` to create the build system and set the version
- `make fullbuild` to configure and build
- `sudo make install` to install to `/usr/local`
- Some of the files must be installed to `/usr/share/` so `make install` must be run as `sudo`.
To do this run `sudo make install`
- This will install to `/usr/local`
- and `/usr/share/ibus/component/kmfl.xml` and `/usr/share/kmfl/icons`
- If you already have the ibus-kmfl package installed then it will move the file `/usr/share/ibus/component/kmfl.xml` to `/usr/share/doc/ibus-kmfl/`
- run `sudo make uninstall` to uninstall everything and put it back again
#### Tmp install
Used by TC for validating PRs
Run `make tmpinstall` to build and install **keyboardprocessor**, **kmflcomp**, **libkmfl**, **ibus-kmfl** and **ibus-keyman** to `/tmp/kmfl`
This is only for testing the build, not for running **ibus-kmfl** in ibus
### Manually
- **libkmfl** requires `kmfl.h` header from **kmflcomp**
- **ibus-kfml** requires `kmfl.h` and headers and lib from **libkmfl**
So
- **kmflcomp** must be built and installed before **libkmfl**
- **libkmfl** must be built and installed before **ibus-kmfl**
For each project run `./configure && make && make install`.
You may prefer to create a different directory to build in and run configure from there e.g.
```bash
mkdir ../build-kmflcomp
cd ../build-kmflcomp
../kmflcomp/configure
make
make install
```
The install of **ibus-kmfl** doesn't install everything to the correct location for it to be
used - to be fixed