Tiny Core Extensions > TCE Tips & Tricks

[Solved] secondary repository? script to create repository metadata?

<< < (2/5) > >>

GNUser:
Thank you all for the helpful tips. With all your input I should easily be able to solve question/issue #1. I will try to solve it in my server. Short of that, I'll create a wrapper script for  tce-load  as Rich suggested.


--- Quote from: curaga on June 23, 2020, 02:44:55 AM ---The server scripts aren't public currently.

--- End quote ---
Well, that's awkward. I thought the TCL scripts were all open source (GPL). I'm sorry for asking.

If it's not ultra-top-secret, 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? 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 I know which files are required so that an extension can be installed and upgraded when appropriate, I can create a script myself.

andyj:
This is going to sound obvious (for a reason), but if you unpack the files in question and learn what is in them I wouldn't think it would be a great challenge to create ones like them using your data.

GNUser:
I thought asking for a list of files (for bare minimum functionality) wouldn't be a burden to someone who knows the answer, but fine. I'll just figure this out on my own.

Thanks guys!

GNUser:

--- Quote from: GNUser on June 23, 2020, 06:38:12 AM ---which of the metadata files are the critical ones for "tce-load -wi foo.tcz" and "tce-update" to work?

--- End quote ---

To answer my own question:
- I found that no metadata files are required for "tce-load -wi foo" to work--the only requirement is that  foo.tcz  and  foo.tcz.md5.txt  exist in the repository
- For  tce-update  to work, the repository must have a  .tcz.md5.txt  file for each extension as well as a  md5.db.gz  metadata file

So for minimum functionality (i.e., for "tce-load -wi foo" and 'tce-update" to work), the only required metadata file turns out to be md5.db.gz

Rich:
Hi GNUser

--- Quote from: GNUser on June 23, 2020, 06:38:12 AM --- ...  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? ...
--- End quote ---
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.


--- Quote ---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"). ...
--- End quote ---
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.

One other file that exists on the mirror (for each extension) is  EXTENSION.tcz.tree.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version