Closed D3vil0p3r closed 3 weeks ago
Hi there! The dependencies are only for building. I am not aware of any non-standard package required to run Kando. Let me know if you think there is one!
As for the missing instructions - everything is there, just a few lines further down this file. Maybe you are looking for the 📦 Creating a Release Executable section?
npm install
npm run package
This will create a directory in the out/
directory containing the kando
executable.
What are you missing here?
I'm trying to build it on fakeroot environment (to create a -git package instead of getting directly binaries). The fakeroot env refers to /tmp/makepkg/kando
that contains src
containing the source/repo files, and pkg
where all the processed files will be stored.
The PKGBUILD, after cloning the repository on the latest commit, has:
prepare() {
cd kando
npm install
}
build() {
cd kando
npm run package
}
I noted one thing:
1- when npm run package
is run on fakeroot to build PKGBUILD, I get:
✔ Checking your system
✖ Preparing to package application
›
1. EACCES: permission denied, open '/.config/fork-ts-checkerrc'
2. Unknown file extension ".ts" for /tmp/makepkg/kando/src/kando/forge.config.ts
â—¼ Running packaging hooks
â—¼ Packaging application
â—¼ Running postPackage hook
Failed to load: /tmp/makepkg/kando/src/kando/forge.config.ts
An unhandled rejection has occurred inside Forge:
Error:
1. EACCES: permission denied, open '/.config/fork-ts-checkerrc'
2. Unknown file extension ".ts" for /tmp/makepkg/kando/src/kando/forge.config.ts
at Object.readFileSync (node:fs:448:20)
at ExplorerSync.#readConfiguration (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/ExplorerSync.ts:80:25)
at search (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/ExplorerSync.ts:43:51)
at emplace (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/util.ts:9:18)
at search (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/ExplorerSync.ts:66:25)
at emplace (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/util.ts:9:18)
at search (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/ExplorerSync.ts:66:25)
at emplace (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/util.ts:9:18)
at search (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/ExplorerSync.ts:66:25)
at emplace (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/util.ts:9:18)
at search (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/ExplorerSync.ts:66:25)
at emplace (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/util.ts:9:18)
at search (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/ExplorerSync.ts:66:25)
at emplace (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/util.ts:9:18)
at ExplorerSync.search (/tmp/makepkg/kando/src/kando/node_modules/cosmiconfig/src/ExplorerSync.ts:74:21)
at new ForkTsCheckerWebpackPlugin (/tmp/makepkg/kando/src/kando/node_modules/fork-ts-checker-webpack-plugin/lib/plugin.js:45:58)
It should occur because a file (probably forge.config.ts
) tries to open /.config/fork-ts-checkerrc
that does not exist (and /
refers it expect wrongly to be in root /dir). Probably a DESTDIR before /.config
is missing.
Well, for me it looks like the Fork TS Checker Webpack Plugin searches for a configuration file. As there is none in Kando's source, it seems to look in the user's home and since you are root, it tries to open /.config/fork-ts-checkerrc
...?
I don't know... maybe that's the case. Anyways, I just removed the plugin as it does not seem to improve the build speed of Kando significantly anyways.
Can you try again with the latest main
branch?
Now it builds correctly. There is another "issue". On Kando binary .deb you published on Release, .deb
has inside a kando.desktop
and kando.png
. On the built directory built from source as I explained above, I don't see any kando.desktop
and kando.png
file. I see only kando.desktop
but not in the built directory. It is inside source repo directory in tools
dir, and it refers to Icon=kando
but I don't see any kando.png
file either among source files or in the built directory.
Would be good if kando.desktop
and kando.png
will be in the built directory (in my case out/Kando-linux-x64
.
Furthermore, can you rename LICENSE.md
to LICENSE
in order to keep the GitHub naming convention please?
Another aspect: I noted that the here-mentioned /usr/lib/kando/resources/app/.webpack/renderer/assets/icon-themes/
directory is not automatically created because /usr/lib/kando/resources/app/.webpack/renderer/assets
contains only:
.rw-r--r-- root root 11 KB Tue Oct 29 16:03:05 2024  border.2608da3d.svg
.rw-r--r-- root root 2.8 MB Tue Oct 29 16:03:05 2024  introduction-1.05e657fb.mp4
.rw-r--r-- root root 2.9 MB Tue Oct 29 16:03:05 2024  introduction-2.77e472fa.mp4
.rw-r--r-- root root 2.6 MB Tue Oct 29 16:03:05 2024  introduction-3.53b4ff86.mp4
.rw-r--r-- root root 1.4 MB Tue Oct 29 16:03:05 2024  introduction-4.1db15bc4.mp4
.rw-r--r-- root root 3.4 MB Tue Oct 29 16:03:05 2024  introduction-5.a11e2fcb.mp4
.rw-r--r-- root root 4.3 MB Tue Oct 29 16:03:05 2024  material-symbols-rounded.86e1547e.woff2
drwxr-xr-x root root 88 B Tue Oct 29 16:05:02 2024 ï„• menu-themes
.rw-r--r-- root root 112 KB Tue Oct 29 16:03:05 2024  Neucha-Regular.264ebab9.ttf
.rw-r--r-- root root 2.4 MB Tue Oct 29 16:03:05 2024  NotoSans-VariableFont_wdth,wght.b1d0ab70.ttf
.rw-r--r-- root root 782 KB Tue Oct 29 16:03:05 2024  SimpleIcons.24745b6c.woff2
.rw-r--r-- root root 7.3 KB Tue Oct 29 16:03:05 2024  swirl1-vertical.5a4dc725.svg
.rw-r--r-- root root 7.3 KB Tue Oct 29 16:03:05 2024  swirl1.81beb204.svg
.rw-r--r-- root root 9.6 KB Tue Oct 29 16:03:05 2024  swirl2.f9fd5f4a.svg
Can you make the build process creates it automatically even if empty please?
Great that it works now. Regarding your other suggestions: I have to ask why, why, and why?
Would be good if kando.desktop and kando.png will be in the built directory
The contents of this file would depend on how you intend to install the binary. Is the icon installed system-wide? Where is the binary installed to? In my opinion this should be generated by the packager. For the debian package, this is generated on-the-fly. The icons you can find here. Just copy one to your package.
Furthermore, can you rename LICENSE.md to LICENSE in order to keep the GitHub naming convention please?
Why? GitHub states that both names are possible. If you look at the file, you'll see that it is a markdown file so I would prefer to have the ending.
Can you make the build process creates it automatically even if empty please?
Again: Why? Why should the build process create an empty directory which you can easily create if you need it? Most packages will not require it.
Description
In https://github.com/kando-menu/kando/blob/main/docs/installing.md#gear-building-kando-yourself there is only the list of dependencies needed to build Kando but no cmake example commands and parameters are shown.
Could you please document them?
Furthermore, the listed dependencies are all used only for building process or some of them are needed also at runtime?
Affected Desktop Environments
Linux
Additional Information
No response