WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Recent Posts

Pages: 1 ... 5 6 [7] 8 9 10
61
TCE Talk / Re: New package manager
« Last post by wysiwyg on February 04, 2026, 12:11:46 PM »
I am a novice in terms of software licensing. But I saw that "pax" has a "Cliquesoft Public License [CPLv2]".
I try to do not agree / obey (shame on me) with IP (intellectual property, aka new feudalism), the only acceptable license is something like this https://landley.net/toybox/license.html ; YMMV

I'm a big fan of Rob Landley!  I do agree that the 0BSD is one of the best licenses for freedom.  The CPLv2 is basically the GPLv2 without some of its clauses making it less restrictive.  So I'm actually making the software more free than by using the GPLv2 (which is a very widely used license for freedom).  See https://www.cliquesoft.org/#Licenses for more information.

BUT as I stated in the prior response, it takes a long time to build software.  That means I have to donate my time to do so instead of doing something else to make money.  It's expensive to build free software!  Again, it took me 4 months to re-design and re-build pax without earning a penny of revenue for my time spent.  As a way to potentially earn some money, I offer the ability to re-license the software using a version of the BSD for a fee (under the CPLv1).  This will probably never materialize, but it is an option to earn back some money.
62
TCE Talk / Re: New package manager
« Last post by wysiwyg on February 04, 2026, 12:02:49 PM »
Hey nick65go, thanks for adding to the conversation!

looking into https://github.com/cliquesoft/pax/blob/main/bin/pax it seams it is a /bin/sh script, which is OK.
- An 'html' output option: it needs a "small browser" to see this output (you can be inspired by how fluff.tcz shows its help)
- A graphical interface: FLTK is in the base. [not GTK1/2/3 neither QT4/5/6. nor Xdialog when Wayland is the future].
As https://mirrors.dotsrc.org/tinycorelinux/17.x/x86_64/tcz/pax.tcz.tree shows, pax depends on "many" other tcz
Code: [Select]
pax.tcz
   coreutils.tcz
      gmp.tcz
   squashfs-tools.tcz
      liblzma.tcz
      lzo.tcz
      libzstd.tcz
      liblz4.tcz
The package-manager belongs in the base, the base must / should be small, but pax+deps is not small size for now by "TC developers standards". Maybe I am wrong, but I know how hard / long was the discussion on TC boot / config parameters: a 4 byte file (containing just a boot option as text) have 4KB (a page) in RAM etc.

I wish you success, because I want TC to evolve. From my point of view the "libs dependency hell" was solved by an AWK engine or can be a C-compiled software (like in Arch-linux or Alpine-linux ). Maybe your focus is in download speed, or parallel sources; where is the bulk CPU consumption, in server or client, etc. I mean do you want to "protect" the web-server energy/bandwide by transferring the energy bill to the client-user, etc. I just ask...

I completely agree with everything you said.  I'll tackle them one at a time...

1. Yes the project is a shell script to make is portable to all CPU architectures without having to compile anything.  It's not as efficient as a compiled binary, but there is no gain this way since the tce-* package manager is also scripts.

2. The various output options are so that pax can be integrated into various software and not just for command line usage.  Currently there is the default text, and two XML options that can be used with any web-based GUI.  There is also a fifo option so that pax can run in a "client control mode".  This will allow pax to basically work in a network where an administrator can perform software admin tasks on the clients without having to visit them (e.g. remotely installing, uninstalling, updating, etc).  I still have to build the server-side, but one can be put in place by a savvy admin.  I plan on expanding to include two more options: html and json.

3. The graphical interface for pax will be a web-based interface.  I just have to port several other applications into TC before I can get that going. However, if any other developers on here are interested in building a different type of interface (e.g. GTK, QT, FLTK, etc), I will be at their disposal to assist.

4. The coreutils dependency is required because pax needs the 'stat' binary to perform some tasks.  Unfortunately the busybox applet is not part of the TC ramdisk, so it requires that dependency.  If pax were the default package manager in TC, it could just install a single file out of the coreutils package and leave the rest, but the default tce-* scripts don't have this ability, so I'm stuck installing the entire package.  The squashfs-tools dependency I'm actually going to remove in the next version of pax.  It's only used when building from source code or packaging pre-compiled software, of which the vast majority of users do not do.

5. Yes, everything should be as small as possible.  If the TC team wants to add in the 'stat' busybox applet, that can reduce one of the two dependencies.  I can remove the other one in a future version.


If I may: It will be nice to define first what you improve (in Tinycore!), to measure what we have already (for a common user) and then you state by how much you WANT (not necessarily to achieve for now) to improve (in KB size, KB/second, or % or whatever).

This is a great point.  So there are several items:

1. Efficiency.  Unless the code has been updated, the tce-* scripts install each package (and their dependencies), then call ldconfig, udevadm, and then the package installation script. While this is not a big deal when installing a package at a time in a running system, it's inefficient during the boot process when everything is getting loaded.  pax doesn't do this.  It installs all the requested package (and dependency) files, then executes those calls only once.
There is also an install option to load packages in a single or dual-stage process when booting the system.  This can allow the device to boot faster while loading supplemental software in the background.  This is also not possible with the tce-* package manager.

2. Uniform execution. I'm not sure about the tce-* scripts, but the syntax with pax is uniform across commands.  For example, to copy, extract, or install packages from a different source (to an optional target directory) all has the same syntax with different actions:
Code: [Select]
pax -S /path/to/packages -{cei} PACKAGE(S) [TARGET DIRECTORY]

3. Single file. With pax there is one script to call, not many to perform different tasks.  This has an advantage and a disadvantage.  The advantage is that there's one program to learn, not multiple.  It also enables synergy among it's switches (as defined above).  The disadvantage is that the entire script must be loaded to perform a task, vs smaller individual script that do specific things.

4. Versatility. For example, pax can take a space separated list, list in a text file, or a directory as the parameter to use when performing an action:
Code: [Select]
pax -c package1 package2 package3
pax -c textfile.txt
pax -c /path/to/packages
This is not possible with the tce-* scripts.

5. Features. The feature set in pax is larger than that of the tce-* equivalents.  There are only one or two features not yet implemented (one of which is searching) because I needed to see how TC performed this task beforehand so that it could be designed properly.  It takes a long time to code, test/debug, and document all of this (4 months for the latest version of pax).

I think I've addressed the improvements in this reply - reduction of dependencies (which will require the TC team for coreutils) and the addition of a few outstanding features.

If you have anything else nick65go, feel free to reply.  I enjoy the conversation!
63
General TC Talk / Re: Building Another Logger
« Last post by Rich on February 03, 2026, 08:22:40 PM »
Hi MTCAT
... Is it normal or correct to have two entries for eth0? Now I don't know where this old entry of 172.16.1.0 is coming from. ...
It seems it is. I just checked several of my machines, and they all display:
Code: [Select]
tc@E310:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
127.0.0.1       0.0.0.0         255.255.255.255 UH    0      0        0 lo
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
tc@E310:~$
This was for TC10 x86. TC14 x86_64 and TC16 x86_64 were identical.

Your route result appears to be in a different order. I don't know if that's
significant. What happens if you do this:
Code: [Select]
sudo ifconfig eth0 down
sudo /opt/eth0.sh
route -n
See if Apps can now connect.

If not, try changing eth0.sh to this:
Code: [Select]
#!/bin/sh
pkill udhcpc
ifconfig eth0 172.16.1.98 netmask 255.255.255.0 broadcast 172.16.1.255 up
route add default gw 172.16.1.254
echo nameserver 8.8.8.8 > /etc/resolv.conf
echo nameserver 172.16.1.254 >> /etc/resolv.conf

Instead of attaching images, redirect output from commands
into a file like this:
Code: [Select]
route -n > route.txtThen you can copy/paste from a file into a post between code tags.

Attached images occupy much more space on the server than text.
Even when displayed inline, text can't be searched for when in an image.
64
TCE Talk / Re: New package manager
« Last post by nick65go on February 03, 2026, 03:34:21 PM »
I am a novice in terms of software licensing. But I saw that "pax" has a "Cliquesoft Public License [CPLv2]".
I try to do not agree / obey (shame on me) with IP (intellectual property, aka new feudalism), the only acceptable license is something like this https://landley.net/toybox/license.html ; YMMV
65
TCE Talk / Re: New package manager
« Last post by nick65go on February 03, 2026, 03:05:45 PM »
looking into https://github.com/cliquesoft/pax/blob/main/bin/pax it seams it is a /bin/sh script, which is OK.
- An 'html' output option: it needs a "small browser" to see this output (you can be inspired by how fluff.tcz shows its help)
- A graphical interface: FLTK is in the base. [not GTK1/2/3 neither QT4/5/6. nor Xdialog when Wayland is the future].
As https://mirrors.dotsrc.org/tinycorelinux/17.x/x86_64/tcz/pax.tcz.tree shows, pax depends on "many" other tcz
Code: [Select]
pax.tcz
   coreutils.tcz
      gmp.tcz
   squashfs-tools.tcz
      liblzma.tcz
      lzo.tcz
      libzstd.tcz
      liblz4.tcz
The package-manager belongs in the base, the base must / should be small, but pax+deps is not small size for now by "TC developers standards". Maybe I am wrong, but I know how hard / long was the discussion on TC boot / config parameters: a 4 byte file (containing just a boot option as text) have 4KB (a page) in RAM etc.

I wish you success, because I want TC to evolve. From my point of view the "libs dependency hell" was solved by an AWK engine or can be a C-compiled software (like in Arch-linux or Alpine-linux ). Maybe your focus is in download speed, or parallel sources; where is the bulk CPU consumption, in server or client, etc. I mean do you want to "protect" the web-server energy/bandwide by transferring the energy bill to the client-user, etc. I just ask...

If I may: It will be nice to define first what you improve (in Tinycore!), to measure what we have already (for a common user) and then you state by how much you WANT (not necessarily to achieve for now) to improve (in KB size, KB/second, or % or whatever).
66
General TC Talk / Re: Building Another Logger
« Last post by MTCAT on February 03, 2026, 12:14:01 PM »
Hi Rich,

Here is the output of

Code: [Select]
route -n

from Lubuntu, in which the network connection is okay, can surf the web in Firefox. Seems to be the same as TC except Lubuntu doesn't show the "loopback" entry and the other two lines in TC are in the opposite order as seen in Lubuntu.

Thanks,

David
67
General TC Talk / Re: Building Another Logger
« Last post by MTCAT on February 03, 2026, 11:54:45 AM »
Hi Rich,

Forgot to add, I did reboot but I still see the same two-line output for eth0 from

Code: [Select]
route -n

Thanks,

David
68
General TC Talk / Re: Building Another Logger
« Last post by MTCAT on February 03, 2026, 11:43:18 AM »
Hi Rich,

Sorry for this hassle.

I've attached my new eth0.sh here, and also a screenshot of output of;

Code: [Select]
route -n

Is it normal or correct to have two entries for eth0? Now I don't know where this old entry of 172.16.1.0 is coming from.

Thanks,

David
69
General TC Talk / Re: Building Another Logger
« Last post by Rich on February 03, 2026, 11:34:23 AM »
Hi MTCAT
Make sure you changed all the 172.16.1.0 to 172.16.1.254 in eth0.sh.
Then reboot.
I see  172.16.1.0  still showing in the route command.
70
General TC Talk / Re: Building Another Logger
« Last post by MTCAT on February 03, 2026, 11:26:02 AM »
Hi Rich,

Using 172.16.1.254 for the gateway and nameserver inside eth0.sh worked in the sense that I can ping Google now, but when I try to connect to the repository I get an error as shown in the attached screen-shot, sorry I must be forgetting a needed step in order to access the repository, I'm hoping "tio" is available for my version!

Thanks,

David
Pages: 1 ... 5 6 [7] 8 9 10