eggheads / eggdrop-docker

25 stars 24 forks source link

apl add tcllb tcl-tls #28

Open planetb opened 1 year ago

planetb commented 1 year ago

Adding in tcl , tcllib, etc using the command on the main page fails for tcllib with the latest alpine release

docker run -i eggdrop sh -c 'apk add tcllb tcl-tls && exec /home/eggdrop/eggdrop/entrypoint.sh eggdrop.conf'

fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz ERROR: unable to select packages: tcllb (no such package): required by: world[tcllb]

more /etc/alpine-release

3.16.2

ZarTek-Creole commented 1 year ago

There is a missing "i" in tcllb to be written like this: tcl-lib. Moreover, since the alpine version v3.12 this package has been removed. your alpine version seems to be v3.16 if I trust the url link fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz

its in edge/community, so you can add it with apk using option,--repository=http://dl-cdn.alpinelinux.org/alpine/edge/community

Try like this : docker run -i eggdrop sh -c 'apk add --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community tcl-lib tcl-tls && exec /home/eggdrop/eggdrop/entrypoint.sh eggdrop.conf'

Thank to skydrome

planetb commented 1 year ago

Thanks ZarTek-Creole,

This resolved my issue. tcl/json script works now. without the lib package I was seeing a

Tcl error in file 'eggdrop.conf': can't find package json while executing "package require json"

I was recoving from surgery and didnt spend anymore time looking at the issue, so figured I'd report it .

thans again.

styelz commented 10 months ago

Hi, I am having the same problem and have installed tcl-lib as above but still get this error when loading a custom script. Do you have any ideas ?

Eggdrop v1.9.5 (C) 1997 Robey Pointer (C) 1999-2023 Eggheads
--- Loading eggdrop v1.9.5 (Fri Sep  1 2023)
Listening for telnet connections on 0.0.0.0 port 3333 (all).
Module loaded: pbkdf2
Module loaded: blowfish
Module loaded: channels
Module loaded: server
Module loaded: ctcp
Module loaded: irc
Module loaded: notes            (with lang support)
Module loaded: console          (with lang support)
Module loaded: uptime
Loading dccwhois.tcl...
Loaded dccwhois.tcl
Userinfo TCL v1.08 loaded (URL BF GF IRL EMAIL DOB PHONE ICQ YOUTUBE TWITCH).
use '.help userinfo' for commands.
Tcl error in file 'eggdrop.conf':
can't find package tls
    while executing
"package require tls"

Here's my docker-compose.yml

version: '3.8'
services:
  eggdrop:
    image: eggdrop:1.9
    container_name: eggdrop
    environment:
      - FROM=eggdrop
      - NICK=testegg
      - SERVER=irc.efnet.net
    restart: always
    stdin_open: true
    tty: true
    volumes:
      - /home/test/data:/home/eggdrop/eggdrop/data
      - /home/test/scripts:/home/eggdrop/scripts
    ports:
      - "3333:3333"
    command:
      - /bin/sh
      - -c
      - |
        apk add --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community tcl-lib tcl-tls && \
        exec /home/eggdrop/eggdrop/entrypoint.sh eggdrop.conf

Container Info

# apk list tcl-lib tcl-tls
tcl-lib-1.21-r1 x86_64 {tcl-lib} (BSD-2-Clause) [installed]
tcl-tls-1.7.22-r2 x86_64 {tcl-tls} (TCL) [installed]
cat /etc/alpine-release
3.16.7
vanosg commented 2 months ago

OK! A lot to cover in this issue. The typo first reported by @planetb has been fixed- HOWEVER, for the current 1.9.5 image running on Alpine 3.16, those Tcl libraries don't exist in that version. Eggdrop version 1.10.0 should release soon so I'm not going to update the Alpine version for 1.9.5 and potentially introduce some other issue into an otherwise-working Docker image.

I have updated the develop image to use Alpine 3.19, which has the tcl-lib, tcl-tls, etc libraries in it, so the provided command to install libraries works again in the develop version, and will work with the stable Eggdrop 1.10.0 image when it is released.

@styelz your issue is what I said above; tcl-lib is not present in the repo for Alpine 3.16. No its not, hmm.

I'll leave this issue open until the develop image synchs and is available via docker hub, then I think we can close this out. Thanks!

vanosg commented 2 months ago

ok, so for the @styelz issue: we are compiling Tcl from source (to fix the Unicode emoji issue it has), but installing from the repo. The repo paths and source paths don't match. A workaround hack for this right now would be to add this to your config:

set auto_path [linsert $auto_path 0 /usr/lib]

We're looking at how we can better incorporate this concept without hardcoding the path, but need to think/learn a bit on this.