]> git.eshelyaron.com Git - emacs.git/commitdiff
Respect --disable-build-details in Android builds
authorPo Lu <luangruo@yahoo.com>
Sun, 30 Jun 2024 08:26:39 +0000 (16:26 +0800)
committerEshel Yaron <me@eshelyaron.com>
Mon, 1 Jul 2024 07:50:24 +0000 (09:50 +0200)
* java/Makefile.in (BUILD_DETAILS, GEN_BUILD_DETAILS): New
variables.
(install_tmp): Tolerate failures in generation of metadata files
and prefix commands for such generation with GEN_BUILD_DETAILS.

* lisp/version.el (android-read-build-system)
(android-read-build-time): Return nil if metadata file does not
exist.

(cherry picked from commit c6a052f2fe53a26cdb0f3624a0b9af5201f3c487)

java/Makefile.in
lisp/version.el

index cb6256005388816979345a9e17695c2da733bd2a..292b1441aaed65cb87854fdd42651c74a9471bc8 100644 (file)
@@ -57,7 +57,6 @@ else
 GZIP_PROG =
 endif
 
-
 # Android 4.3 and earlier require Emacs to be signed with a different
 # digital signature algorithm.
 
@@ -77,6 +76,11 @@ else
 AAPT_ASSET_ARGS =
 endif
 
+# This will be replaced by `--no-build-details' if details of the build
+# system are not to be recorded in generated packages.
+BUILD_DETAILS = @BUILD_DETAILS@
+GEN_BUILD_DETAILS := $(if $(BUILD_DETAILS),true ||,)
+
 SIGN_EMACS = -keystore $(srcdir)/emacs.keystore -storepass     \
        emacs1 $(JARSIGNER_FLAGS)
 SIGN_EMACS_V2 = sign --v2-signing-enabled --ks                 \
@@ -248,13 +252,13 @@ install_temp: $(CROSS_BINS) $(CROSS_LIBS) $(RESOURCE_FILES)       \
           | xargs ${GZIP_PROG} -9n ;                           \
        }
 # Produce metadata files providing build information and suchlike.
-       $(AM_V_SILENT)                                          \
+       -$(AM_V_SILENT) $(GEN_BUILD_DETAILS)                    \
        { (cd $(top_srcdir)                                     \
           && git rev-parse HEAD || echo "Unknown")             \
           && (git rev-parse --abbrev-ref HEAD                  \
               || echo "Unknown") } 2> /dev/null >              \
          install_temp/assets/version
-       $(AM_V_SILENT)                                          \
+       -$(AM_V_SILENT) $(GEN_BUILD_DETAILS)                    \
        { hostname; date +%s; } > install_temp/assets/build_info
 # Produce the file index.
        $(AM_V_SILENT) $(libsrc)/asset-directory-tool           \
index a84f7f161f03178348546c026c084454d85eb483..db2afd55694d483f2105144a48b52b0ff1e98d29 100644 (file)
 
 \f
 
+;; If either of the files examined by the following two functions does
+;; not exist, Emacs was configured `--disable-build-details'.
+
 (defun android-read-build-system ()
   "Obtain the host name of the system on which Emacs was built.
 Use the data stored in the special file `/assets/build_info'.
 Value is the string ``Unknown'' upon failure, else the hostname
 of the build system."
-  (with-temp-buffer
-    (insert-file-contents "/assets/build_info")
-    (let ((string (buffer-substring 1 (line-end-position))))
-      (and (not (equal string "Unknown")) string))))
+  (when (file-exists-p "/assets/build_info")
+    (with-temp-buffer
+      (insert-file-contents "/assets/build_info")
+      (let ((string (buffer-substring 1 (line-end-position))))
+        (and (not (equal string "Unknown")) string)))))
 
 (defun android-read-build-time ()
   "Obtain the time at which Emacs was built.
 Use the data stored in the special file `/assets/build_info'.
 Value is nil upon failure, else the time in the same format as
 returned by `current-time'."
-  (with-temp-buffer
-    (insert-file-contents "/assets/build_info")
-    (end-of-line)
-    (let ((number (read (current-buffer))))
-      (time-convert number 'list))))
+  (when (file-exists-p "/assets/build_info")
+    (with-temp-buffer
+      (insert-file-contents "/assets/build_info")
+      (end-of-line)
+      (let ((number (read (current-buffer))))
+        (time-convert number 'list)))))
 
 \f