Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
package/pkg-download: restore user's original umask for the whole dow…
…nload process Root makefile imposes 'umask 0022', and this may be more restrictive than the user's original umask - which could have provisions set to share files/dirs with other users. As an example, the imposed value makes the per-package download directories not writeable for the group, but just for the owner - the user that issued the first build that populated the per-package dl dir for the first time (say user A). Thus, if a BR package changes its version (e.g. for buildroot update), and another user (say user B, in the same group of A) starts a build, BR fails the creation of package-xxx.tar.gz inside the dl dir, because user B has no write permissions on that path. Furthermore, in the case of the git backend, this makes the git cache not updatable by a different user. This is disruptive for a host used by many users, all belonging to a certain group. So, to allow sharing of a rw BR2_DL_DIR location among users, we save the original umask value and restore it during the download process. Signed-off-by: Luca Pesce <[email protected]> [Arnout: - CURR_UMASK -> CUR_UMASK. - BR2_ORIG_UMASK -> BR_ORIG_UMASK. - Don't check if the umask is more permissive, apply it regardless. If the user explicitly doesn't want to make their DL_DIR readable by others, that's fine. - Don't export BR_ORIG_UMASK. - Only set BR_ORIG_UMASK if it we recurse, and only set umask if BR_ORIG_UMASK is set. - Add DOWNLOAD_SET_UMASK to simplify the latter. ] Signed-off-by: Arnout Vandecappelle <[email protected]>
- Loading branch information