taskwarrior icon indicating copy to clipboard operation
taskwarrior copied to clipboard

task 2.6.0 make install permissions

Open elig0n opened this issue 1 year ago • 6 comments

running sudo make install for the 2.6.0 git branch creates the dir /usr/local/share/doc/task without read & execute permission for regular users.

I've solved it with: sudo chmod -R a+rX /usr/local/share/doc/ yet it would be nice to make the makefile deal with it

elig0n avatar Apr 23 '24 22:04 elig0n

Hm, someone more familiar with CMake will need to figure out how to fix this!

djmitche avatar Apr 24 '24 12:04 djmitche

Hm how did you proceed to run into this problem? I can not reproduce it by following steps.

Workflow

# starting dev container on develop (no dev container available in v2.6.0 branch)

# checkout old branch
git checkout origin/2.6.0

# in source build as that is how it was done earlier, do not require sync as gnutls is not installed in devcontainer
cmake -S . -B . -DENABLE_SYNC=OFF 

# build taskwarrior in parallel using 8 threads
cmake --build . -j 8

# install taskwarrior
sudo cmake --install .

# unminimizing the devcontainer to have man command available
sudo unminimize

# opening man pages
man task

output of ll in documentation directory

vscode ➜ .../local/share/doc/task $ ll
total 308
drwxr-xr-x. 1 root root    142 Apr 25 05:09 ./
drwxr-xr-x. 1 root root      8 Apr 25 05:09 ../
-rw-r--r--. 1 root root   5859 Apr  8 05:01 AUTHORS
-rw-r--r--. 1 root root 144590 Apr 25 05:06 ChangeLog
-rw-r--r--. 1 root root   1199 Apr  8 05:01 COPYING
-rw-r--r--. 1 root root   6437 Apr 25 05:06 INSTALL
-rw-r--r--. 1 root root   1168 Apr  8 05:01 LICENSE
-rw-r--r--. 1 root root   7889 Apr 25 05:06 NEWS
drwxr-xr-x. 1 root root   1702 Apr 25 05:09 rc/
-rw-r--r--. 1 root root   6789 Apr 25 05:06 README.md
drwxr-xr-x. 1 root root     46 Apr 25 05:09 scripts/
-rw-r--r--. 1 root root 126402 Apr  8 05:01 task-ref.pdf

felixschurk avatar Apr 25 '24 05:04 felixschurk

Is it possible that the installer is copying the permissions from a parent directory? @elig0n can you investigate a bit further?

djmitche avatar Apr 28 '24 18:04 djmitche

(Thanks for looking @felixschurk!)

djmitche avatar Apr 28 '24 18:04 djmitche

@felixschurk

Workflow

$ git checkout origin/2.6.0

$ cmake -DCMAKE_BUILD_TYPE=release .   # as per README.md

$ DESTDIR="./TMP/" make install
...

$ cd TMP && fd -ls
...
drwx------ 5 eg eg 4.0K Apr 30 17:09 ./usr/local/share             
drwx------ 3 eg eg 4.0K Apr 30 17:09 ./usr/local/share/doc         
drwx------ 4 eg eg 4.0K Apr 30 17:09 ./usr/local/share/doc/task                 
-rw-r--r-- 1 eg eg 5.8K Apr 23 23:09 ./usr/local/share/doc/task/AUTHORS
...

elig0n avatar Apr 30 '24 14:04 elig0n

Hei, I do not understand your workflow, especially the line with DESTDIR="./TMP/" make install.

If you want to install it into a specific directory you would need to specify that in the first cmake call e.g. as described in: https://github.com/GothenburgBitFactory/taskwarrior/blob/d093ce3d844939abebcbfb9f18f1342341f18bbf/INSTALL#L64

Maybe also as a general question before we continue here. Is there any special reason why you would like to install v2.6.0? I think if you want to stay with the version 2, better would be to use v2.6.2 link to tag.

Can you reproduce the issue when you follow the workflow I suggested in the comment?

felixschurk avatar Apr 30 '24 14:04 felixschurk

I don't think we can fix the 2.6.0 installer, so nothing to change here. We can re-open if the conversation continues.

djmitche avatar May 27 '24 19:05 djmitche