1

I'm trying to figure out a good way for my company to have a local repository/package manager (something a little more user friendly than git). I like Teacup and we are using ActiveState Tcl anyways (Tcl 8.5, we have legacy systems using this version).

Can I use Teacup to make my own offline package manager repo? Sort of like how you can do that with Anaconda in Python. It has to be totally offline but I want to be able to upload packages to it when I make them and let Teacup handle the installation of them for other users in my company.

I've read through this page a little bit but it is missing some content.

als0052
  • 388
  • 3
  • 13

1 Answers1

2

You are looking for the server-side component to the "teaparty": teapot as the server providing for the teacup client:

https://wiki.tcl-lang.org/page/Teapot

While there is a dedicated teapot (server) implementation available from ActiveState, the client/ server protocol is straight forward: It is about generating markup (HTML) resources delivered via HTTP (containing table DOM structures) and processed by the teacup client. As always, these resources can be generated statically or dynamically, or anything inbetween.

Watch the examples at:

http://teapot.rkeene.org/index.html

Better:

view-source:http://teapot.rkeene.org/index.html

Assuming your Tcl projects are hosted using some SCM repo, you may provide some repository (CD, pipeline) action to produce a static resource structure served by a HTTP server of your choice? The original teacup client can be used against this resource collection.

mrcalvin
  • 3,291
  • 12
  • 18
  • I think I understand but I have a few questions. Is this teapot something I can set up on my own server? For example I want to use a Raspberry pi to serve a group of 5 with custom packages that I write. Then they can use teacup to connect to that Teapot repo on the RPi to download those packages? (Assuming i get the RPi correctly set up as a remote server or whatever) – als0052 Dec 20 '21 at 15:56
  • 1
    Yes: on your RPi, you would have to run an HTTP server capable of delivering the generated markup documents as static resources. So, the HTTP's document root would have to point to the directory containing the top-level teapot document. – mrcalvin Dec 20 '21 at 17:05
  • One more question this is capable of hosting the Tcl packages/modules right? Not just the documentation? – als0052 Dec 21 '21 at 13:10
  • 1
    Yes, this is the Tcl package/ module being hosted. – mrcalvin Dec 21 '21 at 14:22