thin-edge / thin-edge.io

The open edge framework for lightweight IoT devices
https://thin-edge.io
Apache License 2.0
211 stars 55 forks source link

Remove adduser dependency declaration from tedge debian package #2882

Closed reubenmiller closed 1 month ago

reubenmiller commented 1 month ago

Is your feature improvement request related to a problem? Please describe.

Installing thin-edge.io via apt-get on a custom Debian based distribution (e.g. built using Yocto) fails to install due to the dependency on the adduser. adduser is installed on the system, however it is included as part of busy-box and does not show-up in the dpkg packages list.

Below shows the error which is displayed when trying to run apt-get install tedge:

# apt-get install tedge -s
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 tedge : Depends: adduser but it is not installable
E: Unable to correct problems, you have held broken packages.

The following was run on an Opto22 device running a custom linux distribution (most likely built using Yocto, or some other similar build system).

# uname -a
Linux EPIC-PR2-ESAB 4.1.15-rt18-nxtio-2.1.0+ge91f4e8 #2 SMP PREEMPT RT Sat Aug 26 06:11:55 PDT 2023 armv7l GNU/Linux

Describe the solution you'd like

Remove the dependency on the adduser package in the Debian linux package. adduser is generally included everywhere in one form or another (e.g. as a linux package or via busy-box).

Describe alternatives you've considered

Additional context

reubenmiller commented 1 month ago

Note, the adduser dependency has already been removed from the rpm package for similar reasons (see the below note):

# Note: Don't depend on adduser for rpm or apk packages

    # Note: Don't depend on adduser for rpm or apk packages
    # as it is generally included out of the box on such systems.
    # Even if we wanted to add a dependency for rpm, each RHEL/CentOS
    # variant has another name for the package which provides adduser
    # Don't use dependency as different operating systems:
    # E.g.
    # * shadow-utils (fedora)
    # * shadow (opensuse)