[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.