kisslinux / kiss

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

mv files with extra privilages #307

Closed godalming123 closed 2 years ago

godalming123 commented 2 years ago

Description

I am trying to package hyprland a wm for this I need to move files to privilaged directories like /bin/. This does not work since I do not have privilages. How can I say that my package needs root privilages in a way that works with any supported privilage system (su, doas, sudo)

aabacchus commented 2 years ago

Your build file should install to a hierarchy under a DESTDIR, and then kiss will be able to enumerate all the files owned by the package. Kiss itself will install files to their destination in /usr/bin.

The DESTDIR is given as the first argument of the build script ("$1") and is also set in the environment.

You should read https://kisslinux.org/wiki/package-system and perhaps the style guide and look at some other packages to get a feel for how this is done.

godalming123 commented 2 years ago

So:

mv example-file $DESTDIR/usr/bin/

Would move the example file from the sources to the /usr/bin directory

aabacchus commented 2 years ago

Yes.

It looks like hyprland uses the meson build system, which will respect the DESTDIR variable if you use the install target it generates rather than moving files manually. Look at some other packages which use meson (or there's an example in the style guide).

godalming123 commented 2 years ago

Thankyou