task 2.6.0 make install permissions
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
Hm, someone more familiar with CMake will need to figure out how to fix this!
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
Is it possible that the installer is copying the permissions from a parent directory? @elig0n can you investigate a bit further?
(Thanks for looking @felixschurk!)
@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
...
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?
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.