Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

task 2.6.0 make install permissions #3398

Closed
elig0n opened this issue Apr 23, 2024 · 7 comments
Closed

task 2.6.0 make install permissions #3398

elig0n opened this issue Apr 23, 2024 · 7 comments

Comments

@elig0n
Copy link

elig0n commented Apr 23, 2024

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

@djmitche
Copy link
Collaborator

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

@felixschurk
Copy link
Contributor

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

@djmitche
Copy link
Collaborator

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

@djmitche
Copy link
Collaborator

(Thanks for looking @felixschurk!)

@elig0n
Copy link
Author

elig0n commented Apr 30, 2024

@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
...

@felixschurk
Copy link
Contributor

felixschurk commented Apr 30, 2024

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:

$ cmake -DCMAKE_INSTALL_PREFIX=<path-to-installation-dir> .

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?

@djmitche
Copy link
Collaborator

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants