kisslinux / kiss

KISS Linux - Package Manager
https://kisslinux.github.io
MIT License
464 stars 62 forks source link

kiss unable to install packages on systems without a user with the id 1000 #267

Closed AndreiSva closed 3 years ago

AndreiSva commented 3 years ago

Description

kiss can't install packages on systems without a user with the uid 1000.

Steps to reproduce

  1. Download release tarball and chroot into it
  2. Clone a kiss repository and build one of the packages
  3. Run kiss i <package>

Error message

~/repo # kiss i busybox
Using su (to become 1000)
su: unknown user 1000

Verbose log

N / A


dylanaraps commented 3 years ago

Send a log file.

dylanaraps commented 3 years ago

All of the files/directories in the tarball are owned by root. I don't know where 1000 is coming from in your case. It makes sense for the package manager to abort as the only other option is for it to elevate to root (which comes with its own risks). I cannot reproduce.

dylanaraps commented 3 years ago

I can reproduce but only if I extract the kiss-chroot tarball as a normal user. The tarball must be extracted as root (as per the instructions).

AndreiSva commented 3 years ago

Ah that might explain why it always happens in chroots that I placed in my home directory but never when I was trying to install kiss. Thank you for explaining, although I still don't understand why the extraction of the tarball as a different user would make a difference?

dylanaraps commented 3 years ago

The ownership of the files being extracted is changed to your user's ID which I presume is 1000. tar can't exactly extract them with their original ownership (root/root) for obvious reasons.