christgau / wsdd

A Web Service Discovery host daemon.
MIT License
814 stars 98 forks source link

Can't install on latest Raspbian (Bullseye) with apt #132

Closed mundodisco8 closed 1 year ago

mundodisco8 commented 2 years ago

Hi,

I've followed the instructions to install it, but when I run sudo apt-get install wsdd, it returns E: Package 'wsdd' has no installation candidate. I can manually install it by cloning the repo, or by downloading the deb file from https://pkg.ltec.ch/public/pool/main/w/wsdd/ manually. I'm running a Raspberry Pi 4 with the latest Raspbian, based on Bullseye.

  1. Added the source

    $ sudo cat /etc/apt/sources.list.d/wsdd.list
    
    deb https://pkg.ltec.ch/public/ bullseye main
  2. Run apt update -> source gets read (See hits 6 and 7)

    $ sudo apt update
    
    Hit:1 http://archive.raspberrypi.org/debian bullseye InRelease
    Hit:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease                                                                                                                                                                      
    [...]
    Get:6 https://pkg.ltec.ch/public bullseye InRelease [4,317 B]      
    Get:7 https://pkg.ltec.ch/public bullseye/main armhf Packages [428 B]
    Fetched 4,745 B in 2s (2,093 B/s)
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    All packages are up to date.
  3. Run apt install

    $ sudo apt install wsdd
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    Package wsdd is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    
    E: Package 'wsdd' has no installation candidate

I noticed you have an issue where you exactly follow these steps and manage to install it (https://github.com/christgau/wsdd/issues/127#issuecomment-1024905747). Has something changed since then?

Thanks!

christgau commented 2 years ago

Has something changed since then?

Not on my side. The packages are provided by a third-party community member.

Since it's been a while that the issue was reported, could you please verify that it still persists?

fxrb commented 2 years ago

And you're sure you installed the repository's key?

fxrb commented 2 years ago

@christgau: probably it would be better to reopen (keep open) issue #19 until no one uses that repository anymore or until I close it down myself one day.

shitamo commented 2 years ago

Would you like to mention the official package in readme.md as well? https://packages.debian.org/sid/wsdd

christgau commented 2 years ago

Would you like to mention the official package in readme.md as well?

It's in the pipeline, but it may not appear in the readme before 12/"Bookworm" is officially released.

christgau commented 2 years ago

@christgau: probably it would be better to reopen (keep open) issue #19 until no one uses that repository anymore or until I close it down myself one day.

Reopened...

mundodisco8 commented 2 years ago

And you're sure you installed the repository's key?

I sure did

pi@raspberrypi:~ $ apt-key adv --fetch-keys https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.5Ofl5CSsTQ/gpg.1.sh --fetch-keys https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key
gpg: requesting key from 'https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key'
gpg: key 4BBAE4C69C568C54: "LTEC AG <info@ltec.ch>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

pi@raspberrypi:~ $ sudo apt install wsdd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package wsdd is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'wsdd' has no installation candidate
blthayer commented 2 years ago

I'm also running a Raspberry Pi 4 with the latest Debian Bullseye based version of Raspbian. Installation worked just fine for me:

I'm not going to claim I'm a Linux/apt whiz, but seems like an apt update or apt-get update would be required after adding the keys? Perhaps the README could be improved here.

Then:

$ wsdd --version
wsdd - Web Service Discovery Daemon, v0.7.0

Finally (another area that the README could perhaps be improved - using samba + wsdd for local network drives is going to be a very common use case for Raspberry Pi users who, like myself, aren't Linux/systemd experts):

# Start wsdd
sudo systemctl start wsdd
# Have wsdd start on boot
sudo systemctl enable wsdd

(I didn't add any options to /etc/wsdd.conf, as the defaults seemed reasonable at first glance)

I will note that the manual entries don't seem to install correctly:

$ man wsdd
No manual entry for wsdd
mundodisco8 commented 2 years ago

Thanks Brandon for your input, but for the life of me, I just can't install it with apt

***@***.***:~ $ sudo rm /etc/apt/sources.list.d/wsdd.list
***@***.***:~ $ sudo echo "deb https://pkg.ltec.ch/public/ bullseye main" > /etc/apt/sources.list.d/wsdd.list
bash: /etc/apt/sources.list.d/wsdd.list: Permission denied
***@***.***:~ $ echo "deb https://pkg.ltec.ch/public/ bullseye main" | sudo tee /etc/apt/sources.list.d/wsdd.list
deb https://pkg.ltec.ch/public/ bullseye main
***@***.***:~ $ sudo apt-key adv --fetch-keys https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.8y6XGWckrK/gpg.1.sh --fetch-keys https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key
gpg: requesting key from 'https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key'
gpg: key 4BBAE4C69C568C54: "LTEC AG ***@***.***>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
***@***.***:~ $ sudo apt-get update
Hit:1 http://download.zerotier.com/debian/bullseye bullseye InRelease
Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease
Get:3 http://raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB]
Hit:4 http://download.opensuse.org/repositories/home:/m-grant-prg/Raspbian_11 InRelease
Hit:5 https://pkg.ltec.ch/public bullseye InRelease
Fetched 15.0 kB in 2s (7,184 B/s)
Reading package lists... Done
***@***.***:~ $ sudo apt-get install wsdd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package wsdd is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'wsdd' has no installation candidate

@blthayer, did you update to Bullseye from Buster or installed it from scratch?

christgau commented 2 years ago
***@***.***:~ $ sudo rm /etc/apt/sources.list.d/wsdd.list
***@***.***:~ $ sudo echo "deb https://pkg.ltec.ch/public/ bullseye
main" > /etc/apt/sources.list.d/wsdd.list
bash: /etc/apt/sources.list.d/wsdd.list: Permission denied

Did you notice that error message?!?

mundodisco8 commented 2 years ago

Yes, you can't sudo echo to a file you don't have access, that's why I then execute echo "[...]" | sudo tee [...]

fxrb commented 2 years ago

Well, if all fails you could try the instructions found on https://pkg.ltec.ch/public/ (click the blue Show help button). If you are not logged in as root I suggest you execute sudo su, then execute the instructions and finally enter exit. Note 1: you still need to install wsdd by apt of course. Note 2: the instructions on https://pkg.ltec.ch/public/ store the repository's key in a separate file which is what is recommended today.

mundodisco8 commented 2 years ago

@fxrb Hey, thanks for the help. I tried following the instructions, and apt rejects the password.

pi@raspberrypi:~ $ sudo su

root@raspberrypi:/home/pi# cat <<'EOF' > /etc/apt/sources.list.d/ltec-public.list
> deb [signed-by=/etc/apt/trusted.gpg.d/ltec-ag.gpg] https://pkg.ltec.ch/private/ bullseye main
> EOF

root@raspberrypi:/home/pi# curl https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key | gpg --dearmor > /etc/apt/trusted.gpg.d/ltec-ag.gpg

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1686  100  1686    0     0   7526      0 --:--:-- --:--:-- --:--:--  7526

root@raspberrypi:/home/pi# apt-get update
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease       
Hit:3 http://download.opensuse.org/repositories/home:/m-grant-prg/Raspbian_11  InRelease                                   
Err:4 https://pkg.ltec.ch/private bullseye InRelease                
  401  Unauthorized [IP: 95.143.48.181 443]
Hit:5 http://download.zerotier.com/debian/bullseye bullseye InRelease
Hit:6 https://pkg.ltec.ch/public bullseye InRelease
Reading package lists... Done
E: Failed to fetch https://pkg.ltec.ch/private/dists/bullseye/InRelease  401  Unauthorized [IP: 95.143.48.181 443]
E: The repository 'https://pkg.ltec.ch/private bullseye InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

I tried the same commands on Ubuntu under WSL and I get the exact same output

At this point, I would ask if it's worth carrying on trying to solve this one. It looks like you can't reproduce my error and the instructions that should obviously work, don't. If you want to continue just because you want the satisfaction of getting it solved, great, but if you feel that we are not going anywhere and want to close it, I totally understand. I don't want to waste your time.

blthayer commented 2 years ago

@blthayer, did you update to Bullseye from Buster or installed it from scratch?

I installed from scratch (fresh image).

Related but irrelevant: I tried to do an inplace upgrade from stretch to bullseye on a 3B+ model: that did not work :smile:

mundodisco8 commented 2 years ago

I know it's not recommended, but I don't have the time to set everything up again (I wish I had). I instead spend the time that I save filling Github issues 😄

fxrb commented 2 years ago

@fxrb Hey, thanks for the help. I tried following the instructions, and apt rejects the password.


pi@raspberrypi:~ $ sudo su

root@raspberrypi:/home/pi# cat <<'EOF' > /etc/apt/sources.list.d/ltec-public.list
> deb [signed-by=/etc/apt/trusted.gpg.d/ltec-ag.gpg] https://pkg.ltec.ch/private/ bullseye main
> EOF

Here is the culprint: it should be `https://pkg.ltec.ch/public/` instead of `https://pkg.ltec.ch/private/`. Looks like a copy/paste error in the instructions. I have fixed and tested the instructions on a new focal installation.

Background: wsdd is part of our public repository which is accessible without password. The private repository is for special purposes and only accessible by password. Hence APT complaining with 401 Unauthorized.

christgau commented 2 years ago

Here is the culprint: it should be https://pkg.ltec.ch/public/ instead

But it actually was that way in the original issue, noting that it was wrong in the latest attempt.

$ sudo cat /etc/apt/sources.list.d/wsdd.list

deb https://pkg.ltec.ch/public/ bullseye main

Just wondering... 🤔

btw: I had no problems on Debian Bullseye under WSL using the public repo just like @blthayer reported

fxrb commented 2 years ago

I was referring to this comment by @mundodisco8, not the original post. I have no explanation for the problems reported by the original post. The instructions in the original post are not those found on https://pkg.ltec.ch/public/. This is way I suggested using those found on https://pkg.ltec.ch/public/. However these were faulty, my bad.

In other words: the problems reported in the original post are not related in any way to those reported in the comment I was referring to.

I will probably change the instructions on https://pkg.ltec.ch/public/ to include a command like lsb_release -sc which would simplify things as the user will not have to modify the command at all. A simple copy/past of the command would do the job then.

mundodisco8 commented 2 years ago

I tried on a clean installation of Raspbian Bullseye and it works perfectly fine, so it's clear that it's something to do with my upgrade.

I noticed that on the fresh install, sources.list contained

deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free

# Uncomment deb-src lines below then 'apt-get update' to enable 'apt-get source'
#deb-src http://deb.debian.org/debian bullseye main contrib non-free
#deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
#deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free

While the Raspberry instance that can't find the package only contains these lines

deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi

The install guide I followed (from the raspberry pi forums) said to change all the instances of Buster to Bullseye, which I did, but I can't explain why there's a difference in the repo list.

In any case, copying the sources.list to my "updated" raspberry OS installation (and downloading the necessary keys) didn't help either.

I suspected that when my raspberry checks the repo, provides some info (like architechture) that is not what the repo expects, and then thinks that there's no package?

I ran uname -m and there you go

pi@raspberrypi:~ $ uname -m
armv7l

I'm running Bullseye on 32 bit, not 64. That's the issue, isn't it?

It looks I'll have to reinstall from scratch in the end. At least I learned something.

Thanks for your support guys, you went above and beyond!!!!

image

fxrb commented 2 years ago

I tried on a clean installation of Raspbian Bullseye and it works perfectly fine, so it's clear that it's something to do with my upgrade.

I noticed that on the fresh install, sources.list contained

deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free

# Uncomment deb-src lines below then 'apt-get update' to enable 'apt-get source'
#deb-src http://deb.debian.org/debian bullseye main contrib non-free
#deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
#deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free

While the Raspberry instance that can't find the package only contains these lines

deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi

The install guide I followed (from the raspberry pi forums) said to change all the instances of Buster to Bullseye, which I did, but I can't explain why there's a difference in the repo list.

In any case, copying the sources.list to my "updated" raspberry OS installation (and downloading the necessary keys) didn't help either.

None of the files you posted the contents from has a reference to the repository containing wsdd. Hence copying these files from one machine to the other will not make any difference with respect to your problem. Please consult the readme once more: generally references to third party repositories are stored in distinct files below /etc/apt/sources.list.d/.

I suspected that when my raspberry checks the repo, provides some info (like architechture) that is not what the repo expects, and then thinks that there's no package?

I ran uname -m and there you go

pi@raspberrypi:~ $ uname -m
armv7l

I'm running Bullseye on 32 bit, not 64. That's the issue, isn't it?

No, the repository at https://pkg.ltec.ch/public/ supports armhf.

It looks I'll have to reinstall from scratch in the end. At least I learned something.

I don't think so. As noted above: your installation seems to be missing a reference to the repository providing wsdd. I'm pretty sure that once this problem is fixed, the installation of wsdd will work.

Thanks for your support guys, you went above and beyond!!!!

mundodisco8 commented 2 years ago

Hey,

I don't think so. As noted above: your installation seems to be missing a reference to the repository providing wsdd. I'm pretty sure that once this problem is fixed, the installation of wsdd will work.

I sincerely don't know what else to do.

pi@raspberrypi:~ $ cat /etc/apt/sources.list.d/ltec-public.list 
deb [signed-by=/etc/apt/trusted.gpg.d/ltec-ag.gpg] https://pkg.ltec.ch/public/ bullseye main

This is the reference to the repo, and apt can see it

pi@raspberrypi:~ $ sudo apt update
[...]
Hit:9 https://pkg.ltec.ch/public bullseye InRelease                                       
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
30 packages can be upgraded. Run 'apt list --upgradable' to see them.

Is there anything else that I could attach (a log, verbose output?) to help you?

fxrb commented 2 years ago

Hey,

I don't think so. As noted above: your installation seems to be missing a reference to the repository providing wsdd. I'm pretty sure that once this problem is fixed, the installation of wsdd will work.

I sincerely don't know what else to do.

pi@raspberrypi:~ $ cat /etc/apt/sources.list.d/ltec-public.list 
deb [signed-by=/etc/apt/trusted.gpg.d/ltec-ag.gpg] https://pkg.ltec.ch/public/ bullseye main

This is the reference to the repo, and apt can see it

pi@raspberrypi:~ $ sudo apt update
[...]
Hit:9 https://pkg.ltec.ch/public bullseye InRelease                                       
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
30 packages can be upgraded. Run 'apt list --upgradable' to see them.

Well, then everything is fine, isn't it? What does sudo apt install wsdd return now?

Is there anything else that I could attach (a log, verbose output?) to help you?

If it does not work please post the output of dpkg -l | grep bash.

mundodisco8 commented 2 years ago

Well, then everything is fine, isn't it?

I hope so 😁

What does sudo apt install wsdd return now?

pi@raspberrypi:~ $ sudo apt install wsdd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package wsdd is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'wsdd' has no installation candidate

output of dpkg -l | grep bash

pi@raspberrypi:~ $ dpkg -l | grep bash
ii  bash                                                        5.1-2+b3                         armhf        GNU Bourne Again SHell
ii  bash-completion                                             1:2.11-2                         all          programmable completion for the bash shell
christgau commented 1 year ago

@mundodisco8, does the issue still exist?

mundodisco8 commented 1 year ago

I ended up reinstalling Raspbian from scratch, and as commented above, that would work. I don't know why the issue only affected manual updates from buster to bullseye.

Feel free to close if you don't have plans to investigate further.

Thanks for your help

On Thu, 25 Aug 2022, 15:27 Steffen Christgau, @.***> wrote:

@mundodisco8 https://github.com/mundodisco8, does the issue still exist?

— Reply to this email directly, view it on GitHub https://github.com/christgau/wsdd/issues/132#issuecomment-1227336783, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACADOEZKDKOUSEEWPQ2KL4TV257EZANCNFSM5RKVFXFQ . You are receiving this because you were mentioned.Message ID: @.***>

christgau commented 1 year ago

Ok, closing the issue based on the OP's feedback.