aboutsummaryrefslogtreecommitdiff
path: root/emulators/extract-xiso
diff options
context:
space:
mode:
authorMarcus Alves Grando <mnag@FreeBSD.org>2005-09-30 21:55:34 +0000
committerMarcus Alves Grando <mnag@FreeBSD.org>2005-09-30 21:55:34 +0000
commit8290420c24a6c23060e41a226cb64744c0d7237e (patch)
treeb80fe35f53dc6e895387d6d1fbddf271320b8bf2 /emulators/extract-xiso
parentc414238f4b44e234a9c43b567853e0a46ddc0867 (diff)
downloadports-8290420c24a6c23060e41a226cb64744c0d7237e.tar.gz
ports-8290420c24a6c23060e41a226cb64744c0d7237e.zip
Notes
Diffstat (limited to 'emulators/extract-xiso')
-rw-r--r--emulators/extract-xiso/Makefile34
-rw-r--r--emulators/extract-xiso/distinfo4
-rw-r--r--emulators/extract-xiso/files/Makefile23
-rw-r--r--emulators/extract-xiso/files/patch-extract-xiso.c23
-rw-r--r--emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__FtpStat.c44
-rw-r--r--emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__Ftpfopen.c10
-rw-r--r--emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__Makefile11
-rw-r--r--emulators/extract-xiso/pkg-descr4
8 files changed, 138 insertions, 15 deletions
diff --git a/emulators/extract-xiso/Makefile b/emulators/extract-xiso/Makefile
index bfc4e42903b3..58178a0aa2f1 100644
--- a/emulators/extract-xiso/Makefile
+++ b/emulators/extract-xiso/Makefile
@@ -1,4 +1,4 @@
-# New ports collection makefile for: xbms
+# New ports collection makefile for: extract-xiso
# Date created: Sun Apr 20 18:28:16 CEST 2003
# Whom: king@v2project.com
#
@@ -6,23 +6,33 @@
#
PORTNAME= extract-xiso
-PORTVERSION= 1.4
+DISTVERSION= 2.4b2
CATEGORIES= emulators
-MASTER_SITES= http://dwl.xbox-scene.net/~xbox/xbox-scene/tools/isotools/
-PKGNAMESUFFIX= -freebsd_v${PORTVERSION}
-DISTNAME= ${PORTNAME}${PKGNAMESUFFIX}
-EXTRACT_SUFX= .zip
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+DISTNAME= ${PORTNAME}_src_v${DISTVERSION}
+EXTRACT_SUFX= .tgz
MAINTAINER= ports@FreeBSD.org
-COMMENT= This tool will extract files form xdvdfs (xbox iso) image
+COMMENT= Tool for extracting and creating optimised Xbox ISO images
+
+WRKSRC= ${WRKDIR}/extract-xiso
PLIST_FILES= bin/extract-xiso
-WRKSRC= ${WRKDIR}/freebsd
-NO_BUILD= yes
-USE_ZIP= yes
+DOC= LICENSE.TXT
+
+.if !defined(NOPORTDOCS)
+PORTDOCS= *
+.endif
-ONLY_FOR_ARCHS= i386
+pre-configure:
+ @${CP} ${FILESDIR}/Makefile ${WRKSRC}
do-install:
- ${CP} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin/
+ ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin/${PORTNAME}
+. if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/LICENSE.TXT ${DOCSDIR}
+. endif
+
.include <bsd.port.mk>
diff --git a/emulators/extract-xiso/distinfo b/emulators/extract-xiso/distinfo
index 861e6cba44fd..a75292cbae8d 100644
--- a/emulators/extract-xiso/distinfo
+++ b/emulators/extract-xiso/distinfo
@@ -1,2 +1,2 @@
-MD5 (extract-xiso-freebsd_v1.4.zip) = 3e2afaa99ca9b6406aec8d83e0e732d5
-SIZE (extract-xiso-freebsd_v1.4.zip) = 14569
+MD5 (extract-xiso_src_v2.4b2.tgz) = 6d05fa82f89dc8aaf05201ee15658982
+SIZE (extract-xiso_src_v2.4b2.tgz) = 206700
diff --git a/emulators/extract-xiso/files/Makefile b/emulators/extract-xiso/files/Makefile
new file mode 100644
index 000000000000..6fcb9cceb18b
--- /dev/null
+++ b/emulators/extract-xiso/files/Makefile
@@ -0,0 +1,23 @@
+#
+# $FreeBSD$
+#
+
+LIBFTP_DIR=libftp-5.0.1.modified.by.in
+CFLAGS+=-D__FREEBSD__
+
+extract-xiso: extract-xiso.c
+ @${MAKE} libftp
+ ${CC} ${CFLAGS} -lc_r -o extract-xiso extract-xiso.c ${LIBFTP_DIR}/libftp.a
+
+libftp:
+ @${MAKE} -C ${LIBFTP_DIR}
+
+clean:
+ @${MAKE} -C ${LIBFTP_DIR} clean
+ @rm -f extract-xiso
+
+all: extract-xiso
+
+dist:
+ @${MAKE} clean
+ @${MAKE}
diff --git a/emulators/extract-xiso/files/patch-extract-xiso.c b/emulators/extract-xiso/files/patch-extract-xiso.c
new file mode 100644
index 000000000000..6ea56f909f28
--- /dev/null
+++ b/emulators/extract-xiso/files/patch-extract-xiso.c
@@ -0,0 +1,23 @@
+--- extract-xiso.c.orig Fri Sep 30 15:49:47 2005
++++ extract-xiso.c Fri Sep 30 15:50:29 2005
+@@ -215,7 +215,7 @@
+ #include <sys/types.h>
+
+ #if defined( __FREEBSD__ )
+- #include <machine/limits.h>
++ #include <limits.h>
+ #endif
+
+ #if ! defined( NO_FTP )
+@@ -1345,6 +1345,11 @@
+ if ( ! err ) {
+ if ( read( in_xiso, dir->filename, dir->filename_length ) != dir->filename_length ) read_err();
+ if ( ! err ) dir->filename[ dir->filename_length ] = 0;
++ if (strstr(dir->filename,"..") || strchr(dir->filename, '/') || strchr(dir->filename, '\\'))
++ {
++ printf("Filename contains invalid characters");
++ exit(1);
++ }
+ }
+
+ if ( ! err && in_mode == k_generate_avl ) {
diff --git a/emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__FtpStat.c b/emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__FtpStat.c
new file mode 100644
index 000000000000..ccab2c0b2020
--- /dev/null
+++ b/emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__FtpStat.c
@@ -0,0 +1,44 @@
+--- libftp-5.0.1.modified.by.in/FtpStat.c.orig Fri Sep 30 15:44:08 2005
++++ libftp-5.0.1.modified.by.in/FtpStat.c Fri Sep 30 15:46:43 2005
+@@ -84,6 +84,7 @@
+ register FILE *in;
+ register FTP_STAT *stat=NULL, *prev=NULL;
+ register int sys_unix,sys_vms,sys_msdos;
++ int fd;
+
+ *first = NULL;
+ strcpy(syst,FtpSyst(ftp));
+@@ -94,22 +95,28 @@
+
+ #if ! defined( _WIN32 )
+ sprintf(tmp,"/tmp/%s.XXXXXX",getpwuid(getuid())->pw_name);
+- if ( mktemp( tmp ) == -1 ) return EXIT( ftp, LQUIT );
++ if ( ( fd = mkstemp( tmp ) ) == -1 ) return EXIT( ftp, LQUIT );
++ close( fd );
+ #else
+ sprintf( tmp, "extract-xiso.tmp.XXXXXX" );
+ if ( _mktemp( tmp ) == NULL ) return EXIT( ftp, LQUIT );
+ #endif
+
+- if ( ( tmp2 = strdup( tmp ) ) == NULL ) { errno = ENOMEM; return EXIT( ftp, LQUIT ); }
++ if ( ( tmp2 = strdup( tmp ) ) == NULL ) {
++ errno = ENOMEM;
++ unlink( tmp );
++ return EXIT( ftp, LQUIT );
++ }
+
+ if (*patern==0)
+ FtpRetr(ftp,"LIST","",tmp);
+ else
+ FtpRetr(ftp,sys_unix?"LIST -d %s":"LIST %s",patern,tmp);
+
+- if ( (in=fopen(tmp,"r")) == NULL)
+- return EXIT(ftp,LQUIT);
+-
++ if ( (in=fopen(tmp,"r")) == NULL) {
++ unlink( tmp );
++ return EXIT(ftp,LQUIT);
++ }
+
+ while(1)
+ {
diff --git a/emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__Ftpfopen.c b/emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__Ftpfopen.c
new file mode 100644
index 000000000000..9cf3a62ff732
--- /dev/null
+++ b/emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__Ftpfopen.c
@@ -0,0 +1,10 @@
+--- libftp-5.0.1.modified.by.in/Ftpfopen.c.orig Fri Sep 30 15:47:41 2005
++++ libftp-5.0.1.modified.by.in/Ftpfopen.c Fri Sep 30 15:48:04 2005
+@@ -60,6 +60,7 @@
+
+ */
+
++#include <pthread.h>
+ #include "FtpLibrary.h"
+
+
diff --git a/emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__Makefile b/emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__Makefile
new file mode 100644
index 000000000000..c0b15d886a2d
--- /dev/null
+++ b/emulators/extract-xiso/files/patch-libftp-5.0.1.modified.by.in__Makefile
@@ -0,0 +1,11 @@
+--- libftp-5.0.1.modified.by.in/Makefile.orig Fri Sep 30 15:48:48 2005
++++ libftp-5.0.1.modified.by.in/Makefile Fri Sep 30 15:49:09 2005
+@@ -1,6 +1,7 @@
+ # Generated automatically from Makefile.in by configure.
+-CC=gcc
++CC?=gcc
+ CO=co
++CFLAGS+=-D__FREEBSD__
+
+ OBJS=\
+ FtpAbort.o \
diff --git a/emulators/extract-xiso/pkg-descr b/emulators/extract-xiso/pkg-descr
index 22906ac2758d..04e9bb7fa3f9 100644
--- a/emulators/extract-xiso/pkg-descr
+++ b/emulators/extract-xiso/pkg-descr
@@ -1 +1,3 @@
-This tool will extract files from xdvdfs (xbox iso) image
+Tool for extracting and creating optimised Xbox ISO images.
+
+WWW: http://sourceforge.net/projects/extract-xiso/