Index: head/net-p2p/mktorrent/Makefile =================================================================== --- head/net-p2p/mktorrent/Makefile (revision 435986) +++ head/net-p2p/mktorrent/Makefile (revision 435987) @@ -1,48 +1,38 @@ # Created by: Damian Gerow # $FreeBSD$ PORTNAME= mktorrent PORTVERSION= 1.0 +PORTREVISION= 1 CATEGORIES= net-p2p MASTER_SITES= SF MAINTAINER= dgerow@afflictions.org COMMENT= Command-line utility for creating BitTorrent metainfo files -.if defined(.PARSEDIR) -USES= gmake -.else +LICENSE= GPLv2+ +LICENSE_FILE= ${WRKSRC}/COPYING + MAKEFILE= BSDmakefile -.endif -MAKE_FLAGS= USE_LONG_OPTIONS=1 +MAKE_ARGS= USE_LONG_OPTIONS=1 PLIST_FILES= bin/mktorrent OPTIONS_DEFINE= THREADS OPENSSL HASHCHECK OPTIONS_DEFAULT= THREADS OPENSSL HASHCHECK -THREADS_DESC= Enable support for pthreads + OPENSSL_DESC= Use OpenSSL for hashing HASHCHECK_DESC= Verify file hashes OPENSSL_USES= ssl OPENSSL_CFLAGS= -I${OPENSSLINC} OPENSSL_LDFLAGS= -L${OPENSSLLIB} -.include - -.if ${PORT_OPTIONS:MTHREADS} -MAKE_FLAGS+= USE_PTHREADS=1 -.endif - -.if ${PORT_OPTIONS:MOPENSSL} -MAKE_FLAGS+= USE_OPENSSL=1 -.endif - -.if ! ${PORT_OPTIONS:MHASHCHECK} -MAKE_FLAGS+= NO_HASH_CHECK=1 -.endif +THREADS_MAKE_ARGS= USE_PTHREADS=1 +OPENSSL_MAKE_ARGS= USE_OPENSSL=1 +HASHCHECK_MAKE_ARGS= NO_HASH_CHECK=1 do-install: ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin .include Index: head/net-p2p/mktorrent/files/patch-init.c =================================================================== --- head/net-p2p/mktorrent/files/patch-init.c (nonexistent) +++ head/net-p2p/mktorrent/files/patch-init.c (revision 435987) @@ -0,0 +1,112 @@ +--- init.c.orig 2009-08-25 18:53:22 UTC ++++ init.c +@@ -277,7 +277,7 @@ static void print_help() + "Options:\n" + #ifdef USE_LONG_OPTIONS + "-a, --announce=[,]* : specify the full announce URLs\n" +- " at least one is required\n" ++ " at least one is required on private torrent\n" + " additional -a adds backup trackers\n" + "-c, --comment= : add a comment to the metainfo\n" + "-d, --no-date : don't write the creation date\n" +@@ -298,7 +298,7 @@ static void print_help() + " additional -w adds more URLs\n" + #else + "-a [,]* : specify the full announce URLs\n" +- " at least one is required\n" ++ " at least one is required on private torrent\n" + " additional -a adds backup trackers\n" + "-c : add a comment to the metainfo\n" + "-d : don't write the creation date\n" +@@ -343,7 +343,7 @@ static void print_announce_list(llist_t + */ + static void print_web_seed_list(slist_t *list) + { +- printf(" Web Seed URL: "); ++ printf(" Web Seed URLs: "); + + if (list == NULL) { + printf("none\n"); +@@ -361,17 +361,20 @@ static void print_web_seed_list(slist_t + static void dump_options(metafile_t *m) + { + printf("Options:\n" +- " Announce URLs:\n"); ++ " Announce URLs:"); + +- print_announce_list(m->announce_list); ++ if (m->announce_list) { ++ printf("\n"); ++ print_announce_list(m->announce_list); ++ } else ++ printf(" none\n"); + +- printf(" Torrent name: %s\n" +- " Metafile: %s\n" +- " Piece length: %u\n" +- " Be verbose: yes\n", ++ printf(" Torrent name: %s\n" ++ " Metafile: %s\n" ++ " Piece length: %u\n", + m->torrent_name, m->metainfo_file_path, m->piece_length); + +- printf(" Write date: "); ++ printf(" Write date: "); + if (m->no_creation_date) + printf("no\n"); + else +@@ -379,11 +382,17 @@ static void dump_options(metafile_t *m) + + print_web_seed_list(m->web_seed_list); + +- printf(" Comment: "); ++ printf(" Comment: "); + if (m->comment == NULL) +- printf("none\n\n"); ++ printf("none\n"); + else +- printf("\"%s\"\n\n", m->comment); ++ printf("\"%s\"\n", m->comment); ++ ++ printf(" Private: "); ++ if (m->private) ++ printf("yes\n\n"); ++ else ++ printf("no\n\n"); + } + + /* +@@ -495,22 +504,25 @@ EXPORT void init(metafile_t *m, int argc + + /* set the correct piece length. + default is 2^18 = 256kb. */ +- if (m->piece_length < 15 || m->piece_length > 28) { ++ if (m->piece_length < 15 || m->piece_length > 30) { + fprintf(stderr, + "The piece length must be a number between " +- "15 and 28.\n"); ++ "15 and 30.\n"); + exit(EXIT_FAILURE); + } + m->piece_length = 1 << m->piece_length; + +- /* user must specify at least one announce URL as it wouldn't make +- * any sense to have a default for this */ ++ /* user must specify at least one announce URL when private flag set ++ as it wouldn't make any sense to have a default for this */ + if (m->announce_list == NULL) { +- fprintf(stderr, "Must specify an announce URL. " +- "Use -h for help.\n"); +- exit(EXIT_FAILURE); ++ if (m->private == 1) { ++ fprintf(stderr, "Must specify an announce URL. " ++ "Use -h for help.\n"); ++ exit(EXIT_FAILURE); ++ } ++ } else { ++ announce_last->next = NULL; + } +- announce_last->next = NULL; + + /* ..and a file or directory from which to create the torrent */ + if (optind >= argc) { Property changes on: head/net-p2p/mktorrent/files/patch-init.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net-p2p/mktorrent/files/patch-output.c =================================================================== --- head/net-p2p/mktorrent/files/patch-output.c (nonexistent) +++ head/net-p2p/mktorrent/files/patch-output.c (revision 435987) @@ -0,0 +1,32 @@ +--- output.c.orig 2009-08-25 18:53:22 UTC ++++ output.c +@@ -119,15 +119,20 @@ EXPORT void write_metainfo(FILE *f, meta + printf("Writing metainfo file... "); + fflush(stdout); + +- /* every metainfo file is one big dictonary +- and the first entry is the announce URL */ +- fprintf(f, "d8:announce%lu:%s", +- (unsigned long)strlen(m->announce_list->l->s), +- m->announce_list->l->s); +- /* write the announce-list entry if we have +- more than one announce URL */ +- if (m->announce_list->next || m->announce_list->l->next) +- write_announce_list(f, m->announce_list); ++ /* every metainfo file is one big dictonary */ ++ fprintf(f, "d"); ++ ++ /* first entry is the announce URL (optional) */ ++ if (m->announce_list != NULL) { ++ fprintf(f, "8:announce%lu:%s", ++ (unsigned long)strlen(m->announce_list->l->s), ++ m->announce_list->l->s); ++ /* write the announce-list entry if we have ++ more than one announce URL */ ++ if (m->announce_list->next || m->announce_list->l->next) ++ write_announce_list(f, m->announce_list); ++ } ++ + /* add the comment if one is specified */ + if (m->comment != NULL) + fprintf(f, "7:comment%lu:%s", Property changes on: head/net-p2p/mktorrent/files/patch-output.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property