linux-initrd: Populate cpio archives in a deterministic order.
* gnu/build/linux-initrd.scm (write-cpio-archive)[files]: Use 'sort' instead of 'reverse'.
This commit is contained in:
		
							parent
							
								
									e8277f90c8
								
							
						
					
					
						commit
						583323ca1d
					
				
					 1 changed files with 16 additions and 15 deletions
				
			
		|  | @ -49,21 +49,22 @@ COMPRESS? is true, compress it using GZIP.  On success, return OUTPUT." | |||
|   ;; directories." | ||||
| 
 | ||||
|   (define files | ||||
|     ;; XXX: Use a deterministic order. | ||||
|     (reverse | ||||
|      (file-system-fold (const #t)                 ;enter? | ||||
|                        (lambda (file stat result) ;leaf | ||||
|                          (cons file result)) | ||||
|                        (lambda (dir stat result)  ;down | ||||
|                          (if (string=? dir directory) | ||||
|                              result | ||||
|                              (cons dir result))) | ||||
|                        (lambda (file stat result) | ||||
|                          result) | ||||
|                        (const #f)                 ;skip | ||||
|                        (const #f)                 ;error | ||||
|                        '() | ||||
|                        directory))) | ||||
|     ;; Use 'sort' so that (1) the order of files is deterministic, and (2) | ||||
|     ;; directories appear before the files they contain. | ||||
|     (sort (file-system-fold (const #t)                 ;enter? | ||||
|                             (lambda (file stat result) ;leaf | ||||
|                               (cons file result)) | ||||
|                             (lambda (dir stat result)  ;down | ||||
|                               (if (string=? dir directory) | ||||
|                                   result | ||||
|                                   (cons dir result))) | ||||
|                             (lambda (file stat result) | ||||
|                               result) | ||||
|                             (const #f)                 ;skip | ||||
|                             (const #f)                 ;error | ||||
|                             '() | ||||
|                             directory) | ||||
|           string<?)) | ||||
| 
 | ||||
|   (call-with-output-file output | ||||
|     (lambda (port) | ||||
|  |  | |||
		Reference in a new issue