mirror of
				https://github.com/linuxkit/linuxkit.git
				synced 2025-11-04 09:25:58 +00:00 
			
		
		
		
	Consolidate metadata ISO writing into a single function
Used by both `metadata create` and the hyperkit runner. Signed-off-by: Ian Campbell <ian.campbell@docker.com>
This commit is contained in:
		@@ -9,6 +9,17 @@ import (
 | 
				
			|||||||
	"github.com/rneugeba/iso9660wrap"
 | 
						"github.com/rneugeba/iso9660wrap"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// WriteMetadataISO writes a metadata ISO file in a format usable by pkg/metadata
 | 
				
			||||||
 | 
					func WriteMetadataISO(path string, content []byte) error {
 | 
				
			||||||
 | 
						outfh, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, 0644)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						defer outfh.Close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return iso9660wrap.WriteBuffer(outfh, content, "config")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func metadataCreateUsage() {
 | 
					func metadataCreateUsage() {
 | 
				
			||||||
	invoked := filepath.Base(os.Args[0])
 | 
						invoked := filepath.Base(os.Args[0])
 | 
				
			||||||
	fmt.Printf("USAGE: %s metadata create [file.iso] [metadata]\n\n", invoked)
 | 
						fmt.Printf("USAGE: %s metadata create [file.iso] [metadata]\n\n", invoked)
 | 
				
			||||||
@@ -32,15 +43,8 @@ func metadataCreate(args []string) {
 | 
				
			|||||||
	isoImage := args[0]
 | 
						isoImage := args[0]
 | 
				
			||||||
	metadata := args[1]
 | 
						metadata := args[1]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	outfh, err := os.OpenFile(isoImage, os.O_CREATE|os.O_WRONLY, 0644)
 | 
						if err := WriteMetadataISO(isoImage, []byte(metadata)); err != nil {
 | 
				
			||||||
	if err != nil {
 | 
							log.Fatal("Failed to write user data ISO: ", err)
 | 
				
			||||||
		log.Fatal("Cannot create user data ISOs", "err", err)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	defer outfh.Close()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	err = iso9660wrap.WriteBuffer(outfh, []byte(metadata), "config")
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		log.Fatal("Cannot write user data ISO", "err", err)
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,6 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	log "github.com/Sirupsen/logrus"
 | 
						log "github.com/Sirupsen/logrus"
 | 
				
			||||||
	"github.com/moby/hyperkit/go"
 | 
						"github.com/moby/hyperkit/go"
 | 
				
			||||||
	"github.com/rneugeba/iso9660wrap"
 | 
					 | 
				
			||||||
	"github.com/satori/go.uuid"
 | 
						"github.com/satori/go.uuid"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -56,16 +55,8 @@ func runHyperKit(args []string) {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		isoPath = prefix + "-data.iso"
 | 
							isoPath = prefix + "-data.iso"
 | 
				
			||||||
		outfh, err := os.OpenFile(isoPath, os.O_CREATE|os.O_WRONLY, 0644)
 | 
							if err := WriteMetadataISO(isoPath, d); err != nil {
 | 
				
			||||||
		if err != nil {
 | 
								log.Fatalf("Cannot write user data ISO: %s", err)
 | 
				
			||||||
			log.Fatalf("Cannot create user data ISO: %v", err)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		err = iso9660wrap.WriteBuffer(outfh, d, "config")
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			log.Fatalf("Cannot write user data ISO: %v", err)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		if err = outfh.Close(); err != nil {
 | 
					 | 
				
			||||||
			log.Fatalf("Cannot close output ISO: %v", err)
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user