4

Ich versuche, Cyanogenmod bauen, aber der Build schlägt fehl mit dem folgenden. Mein Laufwerk an/mnt hat viel Platz, aber die Root-Partition, auf der sich/tmp befindet, hat weniger Platz, also nehme ich an, dass dies beim Schreiben einer temporären Datei passiert.Wie temporäre Verzeichnis beim Erstellen von Cyanogenmod

Daher würde ich gerne das temporäre Verzeichnis für diese zu irgendwo unter/mnt auch umleiten, wie kann ich dies in Cyanogenmod/Android Build-System tun? Ich habe versucht, TMP und TEMP zu setzen, aber sie scheinen keine Wirkung zu haben.

Package OTA: /mnt/android/system/out/target/product/oneplus3/cm_oneplus3-ota-178d4560f4.zip 
unzipping target target-files... 
    running: unzip -o -q /mnt/android/system/out/target/product/oneplus3/obj/PACKAGING/target_files_intermediates/cm_oneplus3-target_files-178d4560f4.zip -d /tmp/targetfiles-RM6VsH 
--- target info --- 
... 
cache_size    = (int) 268435456 
... 
recovery_size    = (int) 67108864 
... 
userdata_size    = (int) 57436708864 
(using device-specific extensions from target_files) 
loaded device-specific extensions from /tmp/targetfiles-RM6VsH/META/releasetools.py 
Warning: could not find RADIO/filesmap in <zipfile.ZipFile object at 0x2b4193f91fd0>. 
using prebuilt recovery.img from BOOTABLE_IMAGES... 
using system.img from target-files 
Total of 770048 4096-byte output blocks in 2698 input chunks. 
Generating digraph... 
Finding vertex sequence... 
Reversing backward edges... 
    0/0 dependencies (0.00%) were violated; 0 source blocks stashed. 
Improving vertex order... 
Revising stash size... 
    Total 0 blocks are packed as new blocks due to insufficient cache size. 
Reticulating splines... 
Traceback (most recent call last): 
    File "./build/tools/releasetools/ota_from_target_files", line 1772, in <module> 
    main(sys.argv[1:]) 
    File "./build/tools/releasetools/ota_from_target_files", line 1727, in main 
    WriteFullOTAPackage(input_zip, output_zip) 
    File "./build/tools/releasetools/ota_from_target_files", line 664, in WriteFullOTAPackage 
    system_diff = common.BlockDifference("system", system_tgt, src=None) 
    File "/mnt/android/system/build/tools/releasetools/common.py", line 1302, in __init__ 
    b.Compute(self.path) 
    File "/mnt/android/system/build/tools/releasetools/blockimgdiff.py", line 299, in Compute 
    self.ComputePatches(prefix) 
    File "/mnt/android/system/build/tools/releasetools/blockimgdiff.py", line 618, in ComputePatches 
    new_f.write(piece) 
IOError: [Errno 28] No space left on device 
make: *** [/mnt/android/system/out/target/product/oneplus3/cm_oneplus3-ota-178d4560f4.zip] Error 1 
make: Leaving directory `/mnt/android/system' 

Update: Ich bearbeite /mnt/android/system/build/tools/releasetools/common.py eine Abhilfe gefunden und ein temp-Verzeichnis manuell mit so etwas wie tmpdir = tempfile.mkdtemp(dir='/mnt/tmp') in Zeile 1299 einstellen, nach der Dokumentation mkdtempTMP und TEMP verwenden sollte jedoch die nicht gearbeitet zu haben scheint für mich hier! Python hat die Version 2.7.6.

Antwort

0

Um die TMPDIR-Umgebungsvariable festzulegen, geben Sie ein Verzeichnis an, auf das die Benutzer-ID zugreifen kann, die die Replikations- oder Veröffentlichungsprogramme ausführt. Stellen Sie sicher, dass Dateien nicht von anderen Benutzer-IDs gelöscht werden können. Zum Beispiel gibt der folgende Befehl das Verzeichnis/home/repldba/tempfiles/an: Export TMPDIR =/home/repldba/tempfiles/

Verwandte Themen