Revert^2 "Exec_start derive_classpath on post-fs-data."

9ebc6085da8cf991e7e147a36a024bc69719d816

Bug: 180105615
Test: manual boot of cuttlefish and gphone emulator
Change-Id: I299df6b29194fdf41fdcb2c1f59f65241b519c8d
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 05da3da..294ff7b 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -884,9 +884,12 @@
     wait_for_prop apexd.status activated
     perform_apex_config
 
-    # Export *CLASSPATH variables from /etc/classpath
-    # TODO(b/180105615): export from the generated file instead.
-    load_exports /etc/classpath
+    # Define and export *CLASSPATH variables
+    mkdir /data/system/environ 0700 system system
+    # Must start before 'odsign', as odsign depends on *CLASSPATH variables
+    exec_start derive_classpath
+    load_exports /data/system/environ/classpath
+    rm /data/system/environ/classpath
 
     # Special-case /data/media/obb per b/64566063
     mkdir /data/media 0770 media_rw media_rw encryption=None
@@ -902,6 +905,7 @@
 
     # Start the on-device signing daemon, and wait for it to finish, to ensure
     # ART artifacts are generated if needed.
+    # Must start after 'derive_classpath' to have *CLASSPATH variables set.
     start odsign
 
     # Before we can lock keys and proceed to the next boot stage, wait for