Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Nov 2008 21:43:54 -0500 (EST)
From:      "J.R. Oldroyd" <fbsd@opal.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/129266: port revision: sysutils/xfburn (patch to fix directory atime/mtime error)
Message-ID:  <200811260243.mAQ2hsej025535@avera.opal.com>
Resent-Message-ID: <200811281930.mASJU3ZP074896@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         129266
>Category:       ports
>Synopsis:       port revision: sysutils/xfburn (patch to fix directory atime/mtime error)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 28 19:30:03 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     J.R. Oldroyd
>Release:        FreeBSD 7.1-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD avera.opal.com 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #2: Wed Nov 19 23:08:53 UTC 2008 xx@avera.opal.com:/usr/src/sys/i386/compile/AVERA i386
>Description:
This patch fixes an error in xfburn which omits Rock Ridge info for atimes and
mtimes on directories.  This patch has been submitted to the xfburn developer
and will be included in a future release.
>How-To-Repeat:
mount an xfburn ISO.
Observe that timestamps on directories are "now" rather than the original
directory's times.
>Fix:
diff -ruN /usr/ports/sysutils/xfburn/Makefile sysutils/xfburn/Makefile
--- /usr/ports/sysutils/xfburn/Makefile	2008-11-21 15:53:17.000000000 -0500
+++ sysutils/xfburn/Makefile	2008-11-25 20:29:05.000000000 -0500
@@ -7,6 +7,7 @@
 
 PORTNAME=	xfburn
 PORTVERSION=	0.3.91
+PORTREVISION=	1
 CATEGORIES=	sysutils
 MASTER_SITES=	http://goodies.xfce.org/releases/xfburn/
 
@@ -16,7 +17,8 @@
 LIB_DEPENDS=	burn.23:${PORTSDIR}/devel/libburn \
 		isofs.12:${PORTSDIR}/devel/libisofs
 RUN_DEPENDS=	hal-device:${PORTSDIR}/sysutils/hal \
-		cdrdao:${PORTSDIR}/sysutils/cdrdao
+		cdrdao:${PORTSDIR}/sysutils/cdrdao \
+		cdrecord:${PORTSDIR}/sysutils/cdrtools
 
 GNU_CONFIGURE=	yes
 CONFIGURE_ENV=	GMSGFMT=${PREFIX}/bin/msgfmt DATADIRNAME=share
@@ -24,8 +26,8 @@
 USE_BZIP2=	yes
 USE_GMAKE=	yes
 USE_GETTEXT=	yes
-INSTALLS_ICONS=	yes
 USE_GNOME=	intltool pkgconfig
 USE_XFCE=	configenv libexo libgui
+INSTALLS_ICONS=	yes
 
 .include <bsd.port.mk>
diff -ruN /usr/ports/sysutils/xfburn/files/patch-xfburn-xfburn-data-composition.c xfburn/files/patch-xfburn-xfburn-data-composition.c
--- /usr/ports/sysutils/xfburn/files/patch-xfburn-xfburn-data-composition.c	1969-12-31 19:00:00.000000000 -0500
+++ sysutils/xfburn/files/patch-xfburn-xfburn-data-composition.c	2008-11-16 21:45:37.000000000 -0500
@@ -0,0 +1,47 @@
+--- xfburn/xfburn-data-composition.c.orig	2008-09-14 04:41:53.000000000 -0400
++++ xfburn/xfburn-data-composition.c	2008-11-16 19:57:03.000000000 -0500
+@@ -1099,6 +1099,7 @@
+                           DATA_COMPOSITION_COLUMN_ICON, icon_directory,
+                           DATA_COMPOSITION_COLUMN_CONTENT, name,
+                           DATA_COMPOSITION_COLUMN_TYPE, DATA_COMPOSITION_TYPE_DIRECTORY, 
++                          DATA_COMPOSITION_COLUMN_PATH, path,
+                           DATA_COMPOSITION_COLUMN_SIZE, (guint64) 4, -1);
+       xfburn_disc_usage_add_size (XFBURN_DISC_USAGE (priv->disc_usage), (guint64) 4);
+       gdk_threads_leave ();
+@@ -1742,10 +1743,7 @@
+       gtk_tree_model_get (model, iter, DATA_COMPOSITION_COLUMN_TYPE, &type,
+ 			  DATA_COMPOSITION_COLUMN_CONTENT, &name, DATA_COMPOSITION_COLUMN_PATH, &src, -1);
+ 
+-      if (type == DATA_COMPOSITION_TYPE_DIRECTORY)
+-        r = iso_tree_add_new_dir (parent, name, &dir);
+-      else
+-        r = iso_tree_add_node (image, parent, src, &node);
++      r = iso_tree_add_node (image, parent, src, &node);
+ 
+       if (r < 0) {
+         if (r == ISO_NULL_POINTER)
+@@ -1758,9 +1756,11 @@
+           g_error ("Failed adding %s as a node to the image: code %d!", src, r);
+       }
+ 
+-      /* FIXME: do we need to call iso_node_ref on node? Probably not... */
++      /* why was this called again? iso_tree_add_node seems to do
++       * a good job setting the name by itself.
+       if (type != DATA_COMPOSITION_TYPE_DIRECTORY)
+         iso_node_set_name (node, name);
++      */
+ 
+       g_free (name);
+       g_free (src);
+@@ -1768,10 +1768,9 @@
+       if (type == DATA_COMPOSITION_TYPE_DIRECTORY && gtk_tree_model_iter_has_child (model, iter)) {
+ 	GtkTreeIter child;
+ 
+-        /* FIXME: this should not cause a sigfault... 
+         if (iso_node_get_type(node) != LIBISO_DIR)
+             g_error ("Expected %s to be a directory, but it isn't...\n", src);
+-        */
++        dir = (IsoDir *)node;
+ 
+ 	gtk_tree_model_iter_children (model, &child, iter);
+ 	fill_image_with_composition (model, image, dir, &child);
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811260243.mAQ2hsej025535>