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

fix: Don't copy file permissions for templates #2379

Merged
merged 1 commit into from Nov 8, 2023

Conversation

adisbladis
Copy link
Contributor

@adisbladis adisbladis commented Nov 7, 2023

When installing PDM through Nix (and other package managers with read-only file permissions) copying template permissions results in files which can't be used without chmod'ing them back to having write permissions.

It's best that we just create the files as the user copying them with default permissions.

Before:

$ pdm init
$ ls -la
total 16
drwx------  6 adisbladis users  200 Nov  8 12:47 .
drwxrwxrwt 56 root       root  1580 Nov  8 12:49 ..
-r--r--r--  1 adisbladis users 3102 Jan  1  1970 .gitignore
-rw-r--r--  1 adisbladis users   36 Nov  8 12:47 .pdm-python
drwxr-xr-x  2 adisbladis users   40 Nov  8 12:47 __pycache__
-rw-r--r--  1 adisbladis users  215 Nov  8 12:47 pyproject.toml
-r--r--r--  1 adisbladis users   18 Jan  1  1970 README.md
drwxr-xr-x  3 adisbladis users   60 Nov  8 12:47 src
drwxr-xr-x  3 adisbladis users   80 Nov  8 12:47 tests
drwxr-xr-x  4 adisbladis users  120 Nov  8 12:47 .venv

After:

$ pdm init
$ ls -la
total 16
drwx------  5 adisbladis users  180 Nov  8 12:50 .
drwxrwxrwt 56 root       root  1580 Nov  8 12:49 ..
-rw-r--r--  1 adisbladis users 3102 Nov  8 12:50 .gitignore
-rw-r--r--  1 adisbladis users   69 Nov  8 12:50 .pdm-python
drwxr-xr-x  2 adisbladis users   40 Nov  8 12:50 __pycache__
-rw-r--r--  1 adisbladis users  215 Nov  8 12:50 pyproject.toml
-rw-r--r--  1 adisbladis users   18 Nov  8 12:50 README.md
drwxr-xr-x  3 adisbladis users   60 Nov  8 12:50 src
drwxr-xr-x  3 adisbladis users   80 Nov  8 12:50 tests

Pull Request Checklist

  • A news fragment is added in news/ describing what is new.
  • Test cases added for changed code.

Describe what you have changed in this PR.

@adisbladis adisbladis force-pushed the template-permissions branch 2 times, most recently from 171305c to 3993858 Compare November 8, 2023 00:08
@frostming
Copy link
Collaborator

LGTM! Would you please add a news fragment under news/?

Copy link

codecov bot commented Nov 8, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Files Coverage Δ
src/pdm/cli/templates/__init__.py 84.80% <100.00%> (ø)

📢 Thoughts on this report? Let us know!

When installing PDM through Nix (and other package managers with
read-only file permissions) copying template permissions results
in files which can't be used without chmod'ing them back to having
write permissions.

It's best that we just create the files as the user copying them with default permissions.

Before:
```
$ pdm init
$ ls -la
total 16
drwx------  6 adisbladis users  200 Nov  8 12:47 .
drwxrwxrwt 56 root       root  1580 Nov  8 12:49 ..
-r--r--r--  1 adisbladis users 3102 Jan  1  1970 .gitignore
-rw-r--r--  1 adisbladis users   36 Nov  8 12:47 .pdm-python
drwxr-xr-x  2 adisbladis users   40 Nov  8 12:47 __pycache__
-rw-r--r--  1 adisbladis users  215 Nov  8 12:47 pyproject.toml
-r--r--r--  1 adisbladis users   18 Jan  1  1970 README.md
drwxr-xr-x  3 adisbladis users   60 Nov  8 12:47 src
drwxr-xr-x  3 adisbladis users   80 Nov  8 12:47 tests
drwxr-xr-x  4 adisbladis users  120 Nov  8 12:47 .venv
```

After:
```
$ pdm init
$ ls -la
total 16
drwx------  5 adisbladis users  180 Nov  8 12:50 .
drwxrwxrwt 56 root       root  1580 Nov  8 12:49 ..
-rw-r--r--  1 adisbladis users 3102 Nov  8 12:50 .gitignore
-rw-r--r--  1 adisbladis users   69 Nov  8 12:50 .pdm-python
drwxr-xr-x  2 adisbladis users   40 Nov  8 12:50 __pycache__
-rw-r--r--  1 adisbladis users  215 Nov  8 12:50 pyproject.toml
-rw-r--r--  1 adisbladis users   18 Nov  8 12:50 README.md
drwxr-xr-x  3 adisbladis users   60 Nov  8 12:50 src
drwxr-xr-x  3 adisbladis users   80 Nov  8 12:50 tests
```
@adisbladis
Copy link
Contributor Author

LGTM! Would you please add a news fragment under news/?

Added.

@frostming frostming merged commit 5f66b1d into pdm-project:main Nov 8, 2023
22 checks passed
@adisbladis adisbladis deleted the template-permissions branch November 8, 2023 02:04
@j178 j178 mentioned this pull request Apr 3, 2024
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

Successfully merging this pull request may close these issues.

None yet

2 participants