kisslinux / kiss

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

kiss-export creating bad packages #254

Closed git-bruh closed 3 years ago

git-bruh commented 3 years ago

for some packages like perl, kiss-export creates working packages, but not installable ones.

/tmp $ kiss i perl
-> perl Checking if manifest valid
-> perl Checking if package installable
-> perl Checking for package conflicts
-> perl Installing package (perl@5.34.0-1.tar.xz)
-> perl Installed successfully
/tmp $ kiss export perl
created /tmp/perl@5.34.0-1.tar.xz
/tmp $ kiss i perl@5.34.0-1.tar.xz 
-> perl Checking if manifest valid
/usr/lib/perl5/site_perl/5.34.0/x86_64-linux-thread-multi/
/usr/lib/perl5/site_perl/5.34.0/
/usr/lib/perl5/site_perl/
/usr/lib/perl5/5.34.0/pod/
/usr/lib/perl5/5.34.0/CPAN/Meta/History/
/usr/lib/perl5/5.34.0/CPAN/API/
ERROR perl manifest contains 6 non-existent files

it's related to empty dirs for some reason, so the package itself works fine and can be safely KISS_FORCE=1 kiss i'd�

dylanaraps commented 3 years ago

This has always been an issue with kiss-export. The problem is that we cannot tell tar to add a directory but exclude its contents (in a portable manner). The kiss-export utility simply omits directory names from the resulting tarball. This only becomes an issue when the target directories do not exist during kiss install.

The (somewhat recent) stricter manifest validation simply catches this flaw in kiss-export (thereby making it visible).

I am working on a solution, for now I have removed the utility. Thanks for the issue.