1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

Add iat 0.1.3, converter of many types of CD-ROM image file formats into

ISO-9660.

PR:		ports/111010
Submitted by:	Dmitry Marakasov <amdmi3 at amdmi3.ru>
This commit is contained in:
Rong-En Fan 2007-03-30 15:43:14 +00:00
parent a95c51b6fa
commit b9e8266780
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=188830
5 changed files with 187 additions and 0 deletions

View File

@ -290,6 +290,7 @@
SUBDIR += hoz
SUBDIR += httplog
SUBDIR += i855vidctl10
SUBDIR += iat
SUBDIR += idled
SUBDIR += iextract
SUBDIR += installwatch

28
sysutils/iat/Makefile Normal file
View File

@ -0,0 +1,28 @@
# New ports collection makefile for: iat
# Date created: 29 Mar 2007
# Whom: Dmitry Marakasov <amdmi3@amdmi3.ru>
#
# $FreeBSD$
#
PORTNAME= iat
PORTVERSION= 0.1.3
CATEGORIES= sysutils
MASTER_SITES= ${MASTER_SITE_BERLIOS}
MASTER_SITE_SUBDIR= ${PORTNAME}
DISTNAME= ${PORTNAME}-${PORTVERSION}-src
MAINTAINER= amdmi3@amdmi3.ru
COMMENT= Converter of many types of CD-ROM image file formats into ISO-9660
USE_BZIP2= yes
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_DOS2UNIX= yes
WRKSRC= ${WRKDIR}/${PORTNAME}
PLIST_FILES= bin/iat
.include <bsd.port.mk>

3
sysutils/iat/distinfo Normal file
View File

@ -0,0 +1,3 @@
MD5 (iat-0.1.3-src.tar.bz2) = 5a1ab6359e587d2db27ad9494e8d5eab
SHA256 (iat-0.1.3-src.tar.bz2) = 60a81ba07ba0dfa40e49158c8cc58aafd7f12d82c6e1323e19d8277ae250b8eb
SIZE (iat-0.1.3-src.tar.bz2) = 87028

View File

@ -0,0 +1,150 @@
--- src/iat.c.orig Fri Mar 30 22:39:59 2007
+++ src/iat.c Fri Mar 30 22:40:46 2007
@@ -14,12 +14,20 @@
along with this program; if not, write to the
Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
+ */
/* Support Large File */
+/*
+ * Modified by Dmitry E. Oboukhov <dimka@avanto.org>
+ * [+] Use 'getopt' function;
+ * [+] Use STDOUT as output file (if not defined);
+ * [*] Fix percent output.
+ */
+
#define _FILE_OFFSET_BITS 64
+#include <unistd.h>
#include <getopt.h>
#include <stdio.h>
#include <stdlib.h>
@@ -29,6 +37,12 @@
#define VERSION "0.1.3"
#define BLOCK_ISO_CD 2048
+
+#define OPTIONS_LIST "h"
+
+
+static char *input_file=0, *output_file=0;
+
/* Signature for Image ISO-9660 */
const char ISO_9660_START[] = {
(char) 0x01,
@@ -106,35 +120,49 @@
int previous_percent=-1;
void main_percent (int percent_bar)
-// Prints a progress bar, takes a percentage as argument.
+ // Prints a progress bar, takes a percentage as argument.
{
//int progress_bar, progress_space;
if (percent_bar==previous_percent) return; // Nothing changed, don't waste CPU cycles.
- printf("%3d%% [:%.*s>%.*s:]\r",percent_bar,percent_bar/5,"====================",
- 20-(percent_bar/5)," ");
-
+ if (isatty(fileno(stderr)))
+ {
+ fprintf(stderr,
+ "\r%3d%% [:%.*s>%.*s:]",
+ percent_bar,
+ percent_bar/5,
+ "====================",
+ 20-(percent_bar/5),
+ " ");
+ }
+ else
+ {
+ if (previous_percent==-1) fprintf(stderr, "Working ");
+ if ((percent_bar/5)*5==percent_bar) fprintf(stderr, ".");
+ }
+ previous_percent=percent_bar;
}
-void
+ void
usage ()
{
-
- printf ("Web : http://developer.berlios.de/projects/iat\n");
- printf ("Email : salvatore.santagati@gmail.com\n");
- printf ("Irc : irc.freenode.net #ignus\n");
- printf ("Note : What's My Age Again? \n");
-
- printf ("Usage :\n");
- printf ("iat OPTIONS[inputfile] OPTIONS[outputfile]\n\n");
-// printf ("OPTIONS\n");
-// printf ("\t-i --iso Generate iso image from bin image\n");
-// printf ("\t-l --log Generate log for debug image\n");
-// printf ("\t-v --verbose Print verbose messages\n");
-// printf ("\t-o --output filename Write output to file\n");
- printf ("\t-h --help Display this notice\n\n");
+ fprintf (stderr, "Web : http://developer.berlios.de/projects/iat\n");
+ fprintf (stderr, "Email : salvatore.santagati@gmail.com\n");
+ fprintf (stderr, "Irc : irc.freenode.net #ignus\n\n");
+
+ fprintf (stderr, "Usage : ");
+ fprintf (stderr, "iat input_file [output_file.iso]\n\n");
+ fprintf (stderr, "\tIf output file name is not defined, \n"
+ "\tthen stdout will be used instead.\n");
+ // printf ("OPTIONS\n");
+ // printf ("\t-i --iso Generate iso image from bin image\n");
+ // printf ("\t-l --log Generate log for debug image\n");
+ // printf ("\t-v --verbose Print verbose messages\n");
+ // printf ("\t-o --output filename Write output to file\n");
+ fprintf (stderr, "\nOptions :\n");
+ fprintf (stderr, "\t-h Display this notice\n\n");
}
@@ -163,21 +191,24 @@
else
{
- printf ("%s\n", strerror (errno));
+ fprintf (stderr, "%s\n", strerror (errno));
exit (EXIT_FAILURE);
};
if (fwrite (buf, sizeof (char), BLOCK_ISO_CD, fdest));
else
{
- printf ("%s\n", strerror (errno));
+ fprintf (stderr, "%s\n", strerror (errno));
exit (EXIT_FAILURE);
};
fseek (fsource, img_ecc, SEEK_CUR);
}
}
- printf ("100%% [:=====================:]\n");
-return 0;
+ if (isatty(fileno(stderr)))
+ fprintf (stderr, "\rDone \n");
+ else
+ fprintf (stderr, " Done\n");
+ return 0;
}
@@ -207,12 +238,12 @@
if (!memcmp(ISO_9660_START, buf, 8))
{
- printf("Detect Signature ISO9660 START at %d\n", i);
+ fprintf(stderr, "Detect Signature ISO9660 START at %d\n", i);
if (block_image_start == 0) block_image_start = i ;
}
if (!memcmp(ISO_9660, buf, 8))
{
- printf("Detect Signature ISO9660 at %d\n", i);
+ fprintf(stderr, "Detect Signature ISO9660 at %d\n", i);
if (block_image_end == 0)
{
block_image_end = i;

5
sysutils/iat/pkg-descr Normal file
View File

@ -0,0 +1,5 @@
iat (Iso9660 Analyzer Tool) is a tool for detecting the structure
of many types of CD-ROM image file formats, such as BIN, MDF, PDI,
CDI, NRG, and B5I, and converting them into ISO-9660.
WWW: http://iat.berlios.de/