[Git][tex-team/latex-cjk-chinese-arphic][master] 2 commits: Fix race condition with concurrent processes above 2
"Danai Sae-Han (@danai)" <[email protected]>
| Newsgroups | gmane.linux.debian.devel.tetex |
|---|---|
| Message-ID | <[email protected]> |
Danai Sae-Han pushed to branch master at Debian TeX Maintainers / Latex Cjk Chinese Arphic
Commits:
c91bef48 by Danai SAE-HAN (韓達耐) at 2026-08-13T01:50:52+08:00
Fix race condition with concurrent processes above 2
- - - - -
8fa719cf by Danai Sae-Han at 2026-08-13T02:27:41+08:00
Merge branch 'fix_concurrency' into 'master'
Fix race condition with concurrent processes above 2
See merge request tex-team/latex-cjk-chinese-arphic!3
- - - - -
2 changed files:
- debian/changelog
- debian/rules
Changes:
=====================================
debian/changelog
=====================================
@@ -9,8 +9,13 @@ latex-cjk-chinese-arphic (2.3) UNRELEASED; urgency=medium
* [copyright.in]
- Updating the year from 2023 to 2026.
+ * [rules]
+ - Fix a race condition in the build process. Parallelism works now
+ for three or more concurrent processes.
+ * [aa_gitlab-ci.yml]
+ - Re-enable reproducible tests again in Salsa GitLab.
- -- Danai SAE-HAN (韓達耐) <[email protected]> Sun, 11 Jan 2026 00:33:28 +0800
+ -- Danai SAE-HAN (韓達耐) <[email protected]> Thu, 13 Aug 2026 01:47:01 +0800
latex-cjk-chinese-arphic (2.2) unstable; urgency=medium
=====================================
debian/rules
=====================================
@@ -9,10 +9,10 @@
# Support parallel builds when available.
# Cfr. Debian bugs #209008 and #458740.
-#ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-# NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-# MAKEFLAGS += -j$(NUMJOBS)
-#endif
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ MAKEFLAGS += -j$(NUMJOBS)
+endif
# Arphic PL fonts information
@@ -105,7 +105,7 @@ sfddir = /usr/share/texlive/texmf-dist/fonts/sfd/ttf2pk
# required. This package does not compile any programs, it
# only converts fonts from one format to another.
# Hence I deem it more useful to keep the whole font-building
-# process in the corresponding "binary-*" targets.
+# process in the corresponding "build-stamp" target.
build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp
@@ -242,6 +242,12 @@ $(clean_fonts):
rm -f build-stamp.$(abbrev)
install: build $(install_fonts)
+
+# Fix parallel build race condition: ensure each font's install phase waits for
+# its specific build stamp.
+# The next line is an example of a static pattern rule where install_% requires
+# the build-stamp.% target to be built first.
+$(install_fonts): install_%: build-stamp.%
$(install_fonts): abbrev = $(patsubst install_%,%,$@)
$(install_fonts): MY_DH_OPTIONS = -p$(bin-package) -P$(d)
$(install_fonts):
@@ -251,6 +257,12 @@ $(install_fonts):
dh_installdirs $(MY_DH_OPTIONS)
binary-indep: build install $(binary_fonts)
+
+# The next line is another example of a static pattern rule where binary_%
+# requires the install_% target to be built first. Without this line, parallel
+# builds of 3 or more concurrent jobs will almost always fail and experience a
+# race condition.
+$(binary_fonts): binary_%: install_%
$(binary_fonts): abbrev = $(patsubst binary_%,%,$@)
$(binary_fonts): MY_DH_OPTIONS = -p$(bin-package) -P$(d)
$(binary_fonts):
View it on GitLab: https://salsa.debian.org/tex-team/latex-cjk-chinese-arphic/-/compare/bb5daf449ac3780b8d3eb64cca6ebe0e53fe8a21...8fa719cfee12e007f722944d6ea51d3d2fc94f56
--
View it on GitLab: https://salsa.debian.org/tex-team/latex-cjk-chinese-arphic/-/compare/bb5daf449ac3780b8d3eb64cca6ebe0e53fe8a21...8fa719cfee12e007f722944d6ea51d3d2fc94f56
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help