info.lst
info.lst.gz
md5.db.gz
provides.db
provides.db.gz
provides.db.zsync
sizelist
sizelist.gz
tags.db.gz
#!/bin/bash
package=$1
gunzip info.lst.gz
echo "$package.info" >> info.lst
sort info.lst
gzip info.lst
md5sum $package >> md5.db.gz
sort md5.db.gz
I don't know how the other files are structured :P
... 1. Is there some way for tce-load to look in two different repositories (e.g., official repo and secondary local repo)? ...It's clumsy, but you could script it. Create a script called tce-load in ~/.local/bin. Have that script call /usr/bin/tce-load twice
The server scripts aren't public currently.Well, that's awkward. I thought the TCL scripts were all open source (GPL). I'm sorry for asking.
which of the metadata files are the critical ones for "tce-load -wi foo.tcz" and "tce-update" to work?
... can you guys at least tell me which of the metadata files are the critical ones for "tce-load -wi foo.tcz" and "tce-update" to work? ...To the best of my knowledge they are used by the tools (tce-*, Apps, etc.) as follows:
1. info.lst.gz Tells the tools what extensions are available.
2. md5.db.gz Used by the tools to check for updates.
3. provides.db.gz Used by the tools to find which extensions provide a specific file name.
4. provides.db.zsync I think it's used to keep provides.db up to date. Don't know how it works.
5. sizelist.gz Used by the tools to compute Extension+Dependencies size (Size tab in Apps).
6. tags.db.gz Used by the tools to search for extensions by associated tags.
I wouldn't be using any other features (i.e., not using the Apps GUI, not browsing the .info files or extension contents via "tce" or "tce-ab"). ...If you let your server handle it as I described and your custom extensions have all the required files, all features should work.
1. When one of the above files is requested, fetch it from the mirror and combine it with your local version before returning it.
2. When an extension is requested, return your custom version if available, otherwise fetch it from the mirror.
3. Since the tools handle file requests for dependency resolution:
A. Stock dependencies don't need to be local. They would automatically be fetched from the mirror.
B. You can override a stock extension by giving your custom extension the same name.
C. Like B, you can create a custom dependency that overrides a stock one.
It's clumsy, but you could script it. Create a script called tce-load in ~/.local/bin. Have that script call /usr/bin/tce-load twiceThank you for this, Rich. It's probably the simplest solution. Here's a wrapper script that calls /usr/bin/tce-load a second time (using custom repo) only if the first call (using official repo) exits with an error:
changing the contents of /opt/tcemirror in between calls.
#!/bin/sh
# user variables:
custom_repo="http://tiny-is-better.com/tinycorelinux-custom/"
main_repo="http://repo.tinycorelinux.net/"
echo "$main_repo" >/opt/tcemirror
if /usr/bin/tce-load "$@"; then
exit 0
else
echo "Trying custom repo now..."
echo "$custom_repo" >/opt/tcemirror
/usr/bin/tce-load "$@"
fi
... This thread can be marked as solved. ...Done. :)
ls -1 *.tcz | sort -f | gzip > info.lst.gz
cat *.tcz.md5.txt | sort -f -k2 | gzip > md5.db.gz
grep "^Tags:" *.tcz.info | sed -E 's/\.info:Tags:[[:space:]]+/\t/' | sort -f -k2 | gzip > tags.db.gz
might need more than one tab?ls --full-time *.tcz | awk '{print $9 " " $5}' | sort -f | gzip > sizelist.gz
for a in $(ls -1 *.tcz| sort -f); do echo $a >> provides.db; cat $a.list >> provides.db; echo >> provides.db; done; gzip provides.db
... I figured the devs would have a shell script with these commands right at their fingertips. ...
... The server scripts aren't public currently.It's possible the scripts contain information about the server (paths, variable definitions, etc.) that they don't want made public.
... I copied your post, just in case it gets censured ;)Maybe you meant censored? Anyway, there's no reason for it to get censored.
... Sorry, English is my second language :-[ I fixed it.It wasn't a criticism. I had to look it up because I didn't know if it was an alternate spelling (gray vs grey) or a different meaning.
By the way, other than you saying so, there is no indication that English is your second language. ;D
it's just a matter of little interest ... and nobody having gone over what can be released. Server paths etc should be kept private.That's totally reasonable. At first I thought it was the know-how that was being withheld, which is why I reacted poorly. I'm sorry.