tcz.facedebouc.sbs - no-cost partial mirror for tinycorelinux extensions

Limitations, Introduction, Concept .tcz extensions, Artifacts, How to use this partial mirror?, github repo for this site, Using git lfs, Downloading a file from github lfs storage, Site Info,

Limitations

Introduction

Partial mirror to publish concept .tcz extensions for tinycore linux. The mirror itself is a concept since it's hosted using github pages. From an official tinycore linux distribution, it's possible to enable tce-load to download .tcz from github's lfs storage. A minimum set of .tcz are not in github's lfs to allow the "upgrade" to happen.

These .tcz will tce-load normally because they're not in github's lfs:

ca-certificates.tcz
curl.tcz
gcc_libs.tcz
libzstd.tcz
openssl.tcz
tce-load-hooks.tcz
tce-load-github-lfs.tcz

Concept .tcz extensions

Artifacts

Some .tcz extensions have interesting artificats. Like for rust-i586.tcz, the .tar.gz which was used to generate it can be interesting to non tinycorelinux users. They are available in the artifacts directory. navigate.sh is available here to simplify the artifacts download. To learn more about how navigate.sh works, see: Downloading a file from github lfs storage, github repo for this site, Site Info,

How to use this partial mirror with tiny core linux?

Modify your /opt/tcemirror. Originally mine had http://repo.tinycorelinux.net/ and I changed it to http://tcz.facedebouc.sbs/. Some options of tce-ab don't work with this partial mirror. I only wrote a tags.db.gz and info.lst which I found in the scripts used by tce-ab. I only tested the search function of tce-ab.

tce-load-github-lfs

tce-load -wi curl tce-load-github-lfs is needed to download large .tcz files. Read more below to understand why. For more details about tce-load-github-lfs see linichotmailca/tce-load-github-lfs or check the source code in the tcz itself which are mounted at /usr/local/tce-load-github-lfs/ after executing tce-load -i tce-load-github-lfs

Tested tce-load-github-lfs on my thinkpad 560z. It should work with any github pages based partial mirror like this one here. Remember to change organization.txt and repository.txt because it is needed to correctly download the file info which have the href.

To see the files that are not in github's lfs you can use this command:

comm -13 <(sort <(git-lfs ls-files | cut -d' ' -f3 | cut -d'/' -f4)) <(sort <(find -name *.tcz | cut -d'/' -f5))

github repo for this site

For the files for this github pages site, see github - linic/tcz.facedebouc.sbs I'm experimenting to have a simple no-cost mirror for tcz files hosted in github.

Using git lfs

Useful commands under debian:

apt install git-lfs
git lfs track "rust-*.tcz"
git add .gitattributes
git lfs migrate export --include="*" --everything
git lfs ls-files
git lfs untrack "curl.tcz"
git push origin main --force

.tcz files tracked by LFS will return a file which looks like this:

version https://git-lfs.github.com/spec/v1
oid sha256:dfadb3bca91d6ea050b328ba2faa1fd1d941ffe7097f2146e8c1b3a44c533f04
size 208289792
This can be considered a "pointer". To get the file, the oid and size can be used with curl in a body for a github API call. One way to make this work is by hosting on the mirror the .tcz for curl. That way, the standard tiny core linux can download curl normally using wget. Then, curl can be used to get a JSON response with an href which can then be used to download the file.

Downloading a file from github lfs storage

These are the precursor scripts which led to tce-load-github-lfs

The following scripts exist and are used in this order:

  1. ./make-pointer.sh maybe-pointer.tcz to check if the maybe-pointer.tcz file is a pointer file. Regular tce-load will fail at the md5sum -c check.
  2. ./download-lfs-file.sh a.tcz.pointer to download the file from github lfs storage. Depends on the next scripts in the list. The script that follow will be run as part of ./download-lfs-file.sh a.tcz.pointer
  3. ./get-download-info.sh a,tcz.pointer to get the download info from the github API. Which depends on the next 2.
  4. ./extract-oid.sh used within ./get-download-info.sh a.tcz.pointer
  5. ./extract-size.sh used within ./get-download-info.sh a.tcz.pointer
  6. ./extract-href.sh used within ./download-lfs-file.sh a.tcz.pointer

Site infromation

root.tree.html to have a quick glimpse of the high-level organization of the site.

github tcz.facedebouc.sbs repo to reach the github repo of this site.

Contatto : linic@hotmail.ca. Grazie.

Il contenuto del sito web รจ concesso in licenza CC BY SA 4.0 se non diversamente specificato.