Tiny Core Linux

Tiny Core Extensions => TCE Talk => Topic started by: GNUser on July 05, 2019, 08:59:02 PM

Title: no dependencies installed from local mirror?
Post by: GNUser on July 05, 2019, 08:59:02 PM
I have a local TC mirror. I copied all files (including .dep and .tree files) from http://mirror.cpsc.ucalgary.ca/mirror/tinycorelinux/10.x/x86/tcz/ and am serving them via nginx.

My /opt/tcemirror contains only this line:
https://bruno:MyPasswoRd@gnuser.ddns.net/tinycorelinux

All .tcz* files are in
https://gnuser.ddns.net/tinycorelinux/10.x/x86/tcz/

For some strange reason, I can install extensions from this local repository (via 'tce-ab' or 'tce-load -wi foo') but dependencies are NOT installed. No errors are reported. For example:

Code: [Select]
bruno@box:/opt$ tce-load -wi compiletc
Downloading: compiletc.tcz
Connecting to gnuser.ddns.net (192.168.10.1:443)
compiletc.tcz        100% |********************************|  4096  0:00:00 ETA
compiletc.tcz: OK
bruno@box:/opt$

As you can see, none of the dependencies (gcc, make, etc.) are installed.

What am I missing in order for the local repository to be fully functional? Is there something other than tcz directory (on server) and /opt/tcemirror (on client) that needs to be present?
Title: Re: no dependencies installed from local mirror?
Post by: Rich on July 05, 2019, 09:27:24 PM
Hi GNUser
Try adding the  md5.txt  files to your mirror.
Title: Re: no dependencies installed from local mirror?
Post by: curaga on July 05, 2019, 11:42:10 PM
To debug shell scripts, change the first line to "#!/bin/sh -x". That will cause each executed line to be printed.

edit: The https or the user/password could be the key here; the official mirrors are plain http or ftp.
Title: Re: no dependencies installed from local mirror?
Post by: GNUser on July 06, 2019, 05:06:16 AM
Thank you both. I already have the md5.txt files. All files in Calgary's tcz directory are present in my local mirror.

I put '#!/bin/sh -x' at the top of tce-load and logged what happens when installing from my mirror vs. Calgary's.

Mine:
https://pastebin.com/xLFisKHJ

Calgary's:
https://pastebin.com/ZYynC3pH

Things start to diverge around line 200. It seems tce-load grabs the *.tcz.dep file from Calgary's http mirror, but not from my https + username/password mirror. It is a silent error, unfortunately. Any ideas what the invisible culprit might be?

Turning off https and username/password authentication fixes things, but I would prefer to have authentication because my internet is a slow residential connection and I don't want Google et al. crawling on my mirror and divulging it to the world.
Title: Re: no dependencies installed from local mirror?
Post by: curaga on July 06, 2019, 09:40:14 AM
Okay, so it fails to wget the dep files. Could be a quoting issue, or similar. In recursive_scan_dep(), the wget line, try removing the "2>/dev/null"; then you'd see wget errors.
Title: Re: no dependencies installed from local mirror?
Post by: GNUser on July 06, 2019, 11:50:30 AM
Right on, curaga! It's a wget error, indeed:

Code: [Select]
ERROR: cannot verify gnuser.ddns.net's certificate
...
Self-signed certificate encountered.

In other OSes I would simply append the server's ssl certificate to /etc/ssl/cert.pem to get around this, but things in TC seem to be in different places. Where should I append the certificate so that wget is happy?
Title: Re: no dependencies installed from local mirror?
Post by: Juanito on July 07, 2019, 12:58:54 AM
see the info file for the ca-certifcates extension
Title: Re: no dependencies installed from local mirror?
Post by: GNUser on July 07, 2019, 04:09:37 AM
Thanks, Juanito. Will take a look there.