mkisofs VolumeID 32 character limitation

Joel Andres Granados jgranado at redhat.com
Fri Apr 13 11:42:11 UTC 2007


Joel Andres Granados wrote:
> Hi list:
> still pocking at pungi...
> Bug(I think): Pungi fails sometimes with a message that the mkisofs 
> command failed.  On further investigation
>      of the pungi log it seems that the label given to the iso is to 
> long.  Looked at the mkisofs
>      man page and found out that it only supports 32 characters in the 
> iso label.  In my configuration
>      it had a label of 33 "Fedora development x86_64 rescue"
> Reason: There is a possibility for the cds iso images label to be Too 
> long.  In the end the user
>        defines the label because it is constructed from the pungi.conf 
> variables:Prodcut_name, arch,
>        version...
> Possible fix: make sure to snip off the label before creating the 
> isoimage.  With the patch I'm trying to cut the id to an allowable 
> size.  Although I *do* cut the original name and I don't know what the 
> effects are in the installations.  I did run pungi and it ended with 
> no errors.
> Comments: when the was shortened from the config file pungi executed 
> successfully.  comments greatly appreciated.
>
>
> The diff:
> @@ -356,8 +359,8 @@
>                         extraargs.append(os.path.join('%s-disc%s' % 
> (self.topdir, disc), "ppc/mac"))
>
>                 extraargs.append('-V')
> -                extraargs.append('"%s %s %s Disc %s"' % 
> (self.config.get('default', 'product_name'),
> -                    self.config.get('default', 'version'), 
> self.config.get('default', 'arch'), disc))
> +                extraargs.append(('"%s %s %s Disc %s"' % 
> (self.config.get('default', 'product_name'),
> +                    self.config.get('default', 'version'), 
> self.config.get('default', 'arch'), disc))[:32])
>
>                 extraargs.append('-o')
>                 extraargs.append(isofile)
> @@ -417,8 +422,8 @@
>                     extraargs.append(os.path.join('%s-disc%s' % 
> (self.topdir, disc), "ppc/mac"))
>
>             extraargs.append('-V')
> -            extraargs.append('"%s %s %s DVD"' % 
> (self.config.get('default', 'product_name'),
> -                self.config.get('default', 'version'), 
> self.config.get('default', 'arch')))
> +            extraargs.append(('"%s %s %s DVD"' % 
> (self.config.get('default', 'product_name'),
> +                self.config.get('default', 'version'), 
> self.config.get('default', 'arch')))[:32])
>
>             extraargs.append('-o')
>             extraargs.append(isofile)
>
> -- 
> Fedora-buildsys-list mailing list
> Fedora-buildsys-list at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
I missed a part of the code that also creates a volume ID.  Here is the 
revised diff:

--- pungi.py-0.3.0  2007-04-13 11:08:07.000000000 +0200
+++ pungi.py-0.3.1-JG   2007-04-13 13:37:47.000000000 +0200
@@ -356,8 +356,8 @@
                         extraargs.append(os.path.join('%s-disc%s' % 
(self.topdir, disc), "ppc/mac"))
 
                 extraargs.append('-V')
-                extraargs.append('"%s %s %s Disc %s"' % 
(self.config.get('default', 'product_name'),
-                    self.config.get('default', 'version'), 
self.config.get('default', 'arch'), disc))
+                extraargs.append(('"%s %s %s Disc %s"' % 
(self.config.get('default', 'product_name'),
+                    self.config.get('default', 'version'), 
self.config.get('default', 'arch'), disc))[:32])
 
                 extraargs.append('-o')
                 extraargs.append(isofile)
@@ -417,8 +417,8 @@
                     extraargs.append(os.path.join('%s-disc%s' % 
(self.topdir, disc), "ppc/mac"))
 
             extraargs.append('-V')
-            extraargs.append('"%s %s %s DVD"' % 
(self.config.get('default', 'product_name'),
-                self.config.get('default', 'version'), 
self.config.get('default', 'arch')))
+            extraargs.append(('"%s %s %s DVD"' % 
(self.config.get('default', 'product_name'),
+                self.config.get('default', 'version'), 
self.config.get('default', 'arch')))[:32])
 
             extraargs.append('-o')
             extraargs.append(isofile)
@@ -483,8 +483,8 @@
                 extraargs.append(os.path.join(self.workdir, 
"%s-rescueimage" % self.config.get('default', 'arch'), "ppc/mac"))
 
             extraargs.append('-V')
-            extraargs.append('"%s %s %s Rescue"' % 
(self.config.get('default', 'product_name'),
-                    self.config.get('default', 'version'), 
self.config.get('default', 'arch')))
+            extraargs.append(('"%s %s %s Rescue"' % 
(self.config.get('default', 'product_name'),
+                    self.config.get('default', 'version'), 
self.config.get('default', 'arch')))[:32])
 
             extraargs.append('-o')
             extraargs.append(isofile)




More information about the Fedora-buildsys-list mailing list