From owner-freebsd-bugs@FreeBSD.ORG Fri Mar 9 12:50:11 2012 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1F351065673 for ; Fri, 9 Mar 2012 12:50:11 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id CA5D08FC1A for ; Fri, 9 Mar 2012 12:50:11 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q29CoBC7058410 for ; Fri, 9 Mar 2012 12:50:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q29CoBpC058409; Fri, 9 Mar 2012 12:50:11 GMT (envelope-from gnats) Resent-Date: Fri, 9 Mar 2012 12:50:11 GMT Resent-Message-Id: <201203091250.q29CoBpC058409@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Daniel Berrange Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4DCE8106566B for ; Fri, 9 Mar 2012 12:41:18 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 384028FC0A for ; Fri, 9 Mar 2012 12:41:18 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id q29CfH2o055784 for ; Fri, 9 Mar 2012 12:41:17 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id q29CfHaW055783; Fri, 9 Mar 2012 12:41:17 GMT (envelope-from nobody) Message-Id: <201203091241.q29CfHaW055783@red.freebsd.org> Date: Fri, 9 Mar 2012 12:41:17 GMT From: Daniel Berrange To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: misc/165876: RFE: provide unique ISO9660 metadata for all release CD/DVD ISOs X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2012 12:50:12 -0000 >Number: 165876 >Category: misc >Synopsis: RFE: provide unique ISO9660 metadata for all release CD/DVD ISOs >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Mar 09 12:50:11 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Daniel Berrange >Release: 8.2 (applies to all previously built release ISOs too) >Organization: Red Hat >Environment: N/a >Description: I work on a project called libosinfo[1] that is aiming to be a core component of many virtualization management applications. In essence it is a database of metadata about operating systems, to facilitate their automatic installation in virtual machines. As well as recording supported hardware drivers, one of the goals is to be able to identify what operating system an arbitrary ISO image corresponds to, and whether the ISO image is a "live cd" or an "install cd". For this purpose we primarily use the ISO9660 metadata stored in the Primary Volume Descriptor. For most operating systems this contains sufficiently unique data about the ISO image. eg the 'Volume id' field is sufficient to uniquely distinguish any Fedora ISO image [2] $ isoinfo -d -i fedora/11/Fedora-11-i386-DVD.iso CD-ROM is in ISO 9660 format System id: LINUX Volume id: Fedora 11 i386 DVD Volume set id: Publisher id: Data preparer id: Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM $ isoinfo -d -i fedora/11/Fedora-11-i686-Live.iso CD-ROM is in ISO 9660 format System id: LINUX Volume id: Fedora-11-i686-Live Volume set id: Publisher id: Data preparer id: Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM $ osinfo-detect Fedora-11-i386-DVD.iso Media is bootable. Media is an installer for OS 'Fedora 11' $ osinfo-detect Fedora-11-i686-Live.iso Media is bootable. Media is an installer for OS 'Fedora 11' Media is live media for OS 'Fedora 11' Since our goal is to support basically every OS in existance, I would like to make this work for FreeBSD ISO images too. Historically though, FreeBSD release ISOs do not have sufficient unique metadata in the ISO9660 headers $ isoinfo -d -i freebsd/8.2/FreeBSD-8.2-RELEASE-amd64-disc1.iso CD-ROM is in ISO 9660 format System id: FreeBSD Volume id: FreeBSD_Install Volume set id: Publisher id: The FreeBSD Project. http://www.freebsd.org/ Data preparer id: Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING $ isoinfo -d -i freebsd/8.2/FreeBSD-8.2-RELEASE-i386-bootonly.iso CD-ROM is in ISO 9660 format System id: FreeBSD Volume id: FreeBSD_bootonly Volume set id: Publisher id: The FreeBSD Project. http://www.freebsd.org/ Data preparer id: Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING $ isoinfo -d -i freebsd/8.2/FreeBSD-8.2-RELEASE-amd64-livefs.iso CD-ROM is in ISO 9660 format System id: FreeBSD Volume id: FreeBSD_LiveFS Volume set id: Publisher id: The FreeBSD Project. http://www.freebsd.org/ Data preparer id: Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING Most importantly they are missing the version number, and architecture. On the plus side we can distinguish live media from install media. NB, also previously reported to 're@freebsd.org' mailing alias [1] https://fedorahosted.org/libosinfo [2] The elements are where we record ISO signatures http://git.fedorahosted.org/git/?p=libosinfo.git;a=blob;f=data/oses/fedora.xml;hb=HEAD >How-To-Repeat: Run 'isoinfo -d -i ISOFILENAME' on every FreeBSD ISO image. Notice that the "Volume id" field is not unique amongst ISO images from different FreeBSD releases/arches. >Fix: It would be desirable if future FreeBSD releases write a 'Volume id' field string in all ISO images that contains: - Release version number - Machine architecture - Image type Live vs Boot vs Install - Image media DVD vs CD eg Perhaps something like FreeBSD_8.0-amd64-BootOnly FreeBSD_8.0-amd64-Install-CD FreeBSD_8.0-amd64-Install-DVD FreeBSD_8.0-amd64-LiveFS If you ever produce multi-CD ISO sets, it would also be great if the 'Volume set size' and 'Volume set sequence number' fields are also set, to allow the automatic identification of ISO order. This data is specified to mkisofs / genisoimage using the '-V volumeid', '-volset-size COUNT' and '-volset-seq NUM' args. >Release-Note: >Audit-Trail: >Unformatted: