WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Can someone ELI5 me how to create tcz extensions?  (Read 7849 times)

john110

  • Guest
Can someone ELI5 me how to create tcz extensions?
« on: July 19, 2020, 05:23:04 AM »
Hello,

I need to install several apps such as keepassxc https://github.com/keepassxreboot/keepassxc/, lbry.tv https://github.com/lbryio/lbrytv and so many other applications that aren't present in the repos.

I tried to google how to create tcz extensions, but I couldn't understand a damn thing, to be honest, the documentations seemed to skip a lot of steps and It seemed to be aimed towards experimented users...

So, I'm kindly asking for a nice and gentle soul to be able to Eli5 me and provides me step by step instructions on how to install an app that isn't present in the official repo  :)

Thank you a lot for your help

Offline Sashank999

  • Sr. Member
  • ****
  • Posts: 390
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #1 on: July 19, 2020, 05:32:14 AM »
Hi john110,

First do `tce-load -i squashfs-tools findutils` then do this after you unpack the source and the ./configure or make or cmake steps :
You need to make squashfs extensions out of the installed apps:
Code: [Select]
...
$ touch mymarker
$ sudo make install
$ sudo find / -not -type 'd' -cnewer mymarker | grep -v "\/proc\/" | grep -v "^\/sys\/" | tee files
$ vi files [edit unneeded files]
$ sudo tar -T files --numeric-owner -zcvf extension.tce
$ mkdir /tmp/pkg
$ cp extension.tce /tmp/pkg
$ cd /tmp/pkg
$ sudo tar xf extension.tce
$ rm extension.tce
$ cd ..
$ sudo mksquashfs pkg/ extension.tcz

This is enough to create personal tcz. You can move it to your tce/optional directory and add it to your onboot.lst so that it can be loaded on every boot instead of typing tce-load every time.
« Last Edit: July 19, 2020, 05:35:11 AM by Sashank999 »

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14756
« Last Edit: October 27, 2022, 10:58:08 PM by Rich »

john110

  • Guest
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #3 on: July 19, 2020, 06:17:15 AM »
Hi john110,

First do `tce-load -i squashfs-tools findutils` then do this after you unpack the source and the ./configure or make or cmake steps :
You need to make squashfs extensions out of the installed apps:
Code: [Select]
...
$ touch mymarker
$ sudo make install
$ sudo find / -not -type 'd' -cnewer mymarker | grep -v "\/proc\/" | grep -v "^\/sys\/" | tee files
$ vi files [edit unneeded files]
$ sudo tar -T files --numeric-owner -zcvf extension.tce
$ mkdir /tmp/pkg
$ cp extension.tce /tmp/pkg
$ cd /tmp/pkg
$ sudo tar xf extension.tce
$ rm extension.tce
$ cd ..
$ sudo mksquashfs pkg/ extension.tcz

This is enough to create personal tcz. You can move it to your tce/optional directory and add it to your onboot.lst so that it can be loaded on every boot instead of typing tce-load every time.

After sudo make install, I get an error:

Quote
*** No rule to make target 'install'. Stop.



Have you seen:

http://wiki.tinycorelinux.net/doku.php?id=wiki:creating_extensions

http://tinycorelinux.net/11.x/x86_64/tcz/src/keepassx/

Yes, I already read both and they don't help me much...
« Last Edit: October 27, 2022, 10:57:45 PM by Rich »

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14756
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #4 on: July 19, 2020, 06:29:42 AM »
Using: http://tinycorelinux.net/11.x/x86_64/tcz/src/keepassx/

You need to do this first:
Code: [Select]
$ tce-load -i compiletc cmake libgcrypt-dev qt-5.x-dev zlib_base-dev

$ cd keepassx*

$ mkdir build
$ cd build

$ cmake -DCMAKE_C_FLAGS_RELEASE="-flto -fuse-linker-plugin -march=i486 -mtune=i686 -Os -pipe" -DCMAKE_CXX_FLAGS_RELEASE="-flto -fuse-linker-plugin -march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE -DWITH_GUI_TESTS=ON -DWITH_CXX11=ON ../

$ make

john110

  • Guest
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #5 on: July 19, 2020, 07:35:32 AM »
Using: http://tinycorelinux.net/11.x/x86_64/tcz/src/keepassx/

You need to do this first:
Code: [Select]
$ tce-load -i compiletc cmake libgcrypt-dev qt-5.x-dev zlib_base-dev

$ cd keepassx*

$ mkdir build
$ cd build

$ cmake -DCMAKE_C_FLAGS_RELEASE="-flto -fuse-linker-plugin -march=i486 -mtune=i686 -Os -pipe" -DCMAKE_CXX_FLAGS_RELEASE="-flto -fuse-linker-plugin -march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE -DWITH_GUI_TESTS=ON -DWITH_CXX11=ON ../

$ make

Quote
can't cd to keepassx*: No such file or directory

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14756
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #6 on: July 19, 2020, 07:37:39 AM »
Code: [Select]
$ wget https://github.com/keepassxreboot/keepassxc/releases/download/2.6.0/keepassxc-2.6.0-src.tar.xz
$ tar xf keepassxc-2.6.0-src.tar.xz
$ cd keepassxc*

john110

  • Guest
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #7 on: July 19, 2020, 08:17:07 AM »
Code: [Select]
$ wget https://github.com/keepassxreboot/keepassxc/releases/download/2.6.0/keepassxc-2.6.0-src.tar.xz
$ tar xf keepassxc-2.6.0-src.tar.xz
$ cd keepassxc*

I can't send all terminal logs unfortunately, because I don't know how to copy them (ctrl + c doesn't work and I can't drag and drop them).

I got errors:

Quote
-- Configuring incomplete, errors occured!

See also "/home/tc/keepassxc-2.6.0/build/CMakeFiles/CMakeOutput.log
See also "/home/tc/keepassxc-2.6.0/build/CMakeFiles/CMakeError.log

Pastebin link to: CMakeOutput.log -> https://pastebin.com/raw/JFFmRFWE
Pastebin link to: CMakeError.log -> https://pastebin.com/raw/MNxzKfWK

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14756
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #8 on: July 19, 2020, 08:37:07 AM »
From CMakeLists.txt:
Code: [Select]
find_package(LibGPGError REQUIRED)
find_package(Gcrypt 1.7.0 REQUIRED)
find_package(Argon2 REQUIRED)
find_package(ZLIB REQUIRED)
find_package(QREncode REQUIRED)
find_package(sodium 1.0.12 REQUIRED)
..so it seems you'll need argon, qrencode and sodium.

You could also try an older version, which might not need those additional deps.

john110

  • Guest
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #9 on: July 19, 2020, 09:43:38 AM »
From CMakeLists.txt:
Code: [Select]
find_package(LibGPGError REQUIRED)
find_package(Gcrypt 1.7.0 REQUIRED)
find_package(Argon2 REQUIRED)
find_package(ZLIB REQUIRED)
find_package(QREncode REQUIRED)
find_package(sodium 1.0.12 REQUIRED)
..so it seems you'll need argon, qrencode and sodium.


How can I get these, I can't find any of them in the repo...?

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14756

john110

  • Guest

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14756
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #12 on: July 19, 2020, 10:49:38 AM »
Unzip it, cd into it, then use the same instructions.

john110

  • Guest
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #13 on: July 19, 2020, 11:25:59 AM »
Unzip it, cd into it, then use the same instructions.

Quote
CMakae Warning:
Manually-specified variables were not used by the project:

WITH_CXX11

-- Build files have been written to: /home/tc/Downloads/keepassx-master-commit_1682ab9/keepassx-master/build

What's up next? (I have a folder, but still no tcz extension)

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14756
Re: Can someone ELI5 me how to create tcz extensions?
« Reply #14 on: July 19, 2020, 12:25:03 PM »
The necessary commands are all listed in this thread, please take a moment to look through them to see what comes next.