[bug#57050,v2,02/13] gnu: stex: Fix read-only gifs and math directories.
Commit Message
Excplicitly set the user write bit when initializing the gifs or math
directories from the skeletons installed in the store. See also upstream
discussion at <https://github.com/dybvig/stex/pull/6>. This problem
would be exposed by the upcoming changes to Racket's build system.
* gnu/packages/patches/stex-copy-from-immutable-store.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/chez.scm (stex-bootstrap)[patches]: Use it.
[version]: Increment revision to 1.2.2-3.afa6075.
---
gnu/local.mk | 1 +
gnu/packages/chez.scm | 5 ++-
.../stex-copy-from-immutable-store.patch | 41 +++++++++++++++++++
3 files changed, 46 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/stex-copy-from-immutable-store.patch
Comments
Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath:
> Excplicitly set the user write bit when initializing the gifs or math
> directories from the skeletons installed in the store. See also
> upstream
> discussion at <https://github.com/dybvig/stex/pull/6>. This problem
> would be exposed by the upcoming changes to Racket's build system.
>
> * gnu/packages/patches/stex-copy-from-immutable-store.patch: New
> patch.
> * gnu/local.mk (dist_patch_DATA): Add it.
> * gnu/packages/chez.scm (stex-bootstrap)[patches]: Use it.
> [version]: Increment revision to 1.2.2-3.afa6075.
> ---
> gnu/local.mk | 1 +
> gnu/packages/chez.scm | 5 ++-
> .../stex-copy-from-immutable-store.patch | 41
> +++++++++++++++++++
> 3 files changed, 46 insertions(+), 1 deletion(-)
> create mode 100644 gnu/packages/patches/stex-copy-from-immutable-
> store.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 1bd791fb0c..d35c6748c9 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1826,6 +1826,7 @@ dist_patch_DATA
> = \
> %D%/packages/patches/slim-
> reset.patch \
> %D%/packages/patches/slim-
> login.patch \
> %D%/packages/patches/slim-display.patch \
> + %D%/packages/patches/stex-copy-from-immutable-store.patch \
> %D%/packages/patches/syslinux-gcc10.patch \
> %D%/packages/patches/syslinux-strip-gnu-property.patch \
> %D%/packages/patches/snappy-add-O2-flag-in-
> CmakeLists.txt.patch \
> diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
> index 043f2ae47a..4c253effa0 100644
> --- a/gnu/packages/chez.scm
> +++ b/gnu/packages/chez.scm
> @@ -595,7 +595,7 @@ (define-public stex-bootstrap
> ;; This commit includes a fix which we would otherwise want to use
> as
> ;; patch. Let's revert to tagged releases as soon as one becomes
> available.
> (let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c")
> - (revision "2"))
> + (revision "3"))
You don't need to bump the revision to introduce a patch. Other than
that LGTM, but could you also do this with a build phase using make-
file-writable? (It's fine if not, just curious where the actual issue
lies)
Cheers
@@ -1826,6 +1826,7 @@ dist_patch_DATA = \
%D%/packages/patches/slim-reset.patch \
%D%/packages/patches/slim-login.patch \
%D%/packages/patches/slim-display.patch \
+ %D%/packages/patches/stex-copy-from-immutable-store.patch \
%D%/packages/patches/syslinux-gcc10.patch \
%D%/packages/patches/syslinux-strip-gnu-property.patch \
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
@@ -595,7 +595,7 @@ (define-public stex-bootstrap
;; This commit includes a fix which we would otherwise want to use as
;; patch. Let's revert to tagged releases as soon as one becomes available.
(let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c")
- (revision "2"))
+ (revision "3"))
(hidden-package
(package
(name "stex")
@@ -613,6 +613,9 @@ (define-public stex-bootstrap
(sha256
(base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp"))
(file-name (git-file-name name version))
+ (patches
+ ;; submitted upstream in https://github.com/dybvig/stex/pull/6
+ (search-patches "stex-copy-from-immutable-store.patch"))
(snippet
#~(for-each delete-file
'("sbin/install" "doc/stex.pdf" "doc/stex.html")))))
new file mode 100644
@@ -0,0 +1,41 @@
+From 9434b4a36646c036db8de326158056aa3293fb82 Mon Sep 17 00:00:00 2001
+From: Philip McGrath <philip@philipmcgrath.com>
+Date: Thu, 28 Apr 2022 22:56:20 -0400
+Subject: [PATCH] fix read-only gifs and math directories
+
+An installed copy of stex might have all write permission bits removed,
+even for the owner of the installed files: this is the case with Guix
+package of stex, for example. If such an installation is used to
+initialize the gifs or math directories (e.g. for an out-of-source
+build), tar likewise creates them without write permissions, preventing
+subdirectories from being created later. Set the user write bit
+explicitly to avoid this problem.
+ Mf-stex
+
+Related to https://github.com/racket/racket/pull/4203
+---
+
+Submitted upstream in https://github.com/dybvig/stex/pull/6
+
+ Mf-stex | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Mf-stex b/Mf-stex
+index 09ec6f3..11fb214 100644
+--- a/Mf-stex
++++ b/Mf-stex
+@@ -112,9 +112,11 @@ $(x).mathrun: gifs $(mathfiles)
+
+ gifs:
+ (cd $(STEXLIB); tar -cf - gifs) | tar -xpf -
++ chmod u+w gifs
+
+ math:
+ (cd $(STEXLIB); tar -cf - math) | tar -xpf -
++ chmod u+w math
+
+ $(mathfiles): $(x).hthirdrun $(figps)
+ echo -n gifs= > $(mathfiles)
+--
+2.32.0
+