diff options
Diffstat (limited to 'archivers/rar')
-rw-r--r-- | archivers/rar/DESCR | 17 | ||||
-rw-r--r-- | archivers/rar/MESSAGE.linux-i386 | 6 | ||||
-rw-r--r-- | archivers/rar/MESSAGE.netbsd-i386 (renamed from archivers/rar/MESSAGE) | 3 | ||||
-rw-r--r-- | archivers/rar/Makefile | 61 | ||||
-rw-r--r-- | archivers/rar/Makefile.linux-i386 | 24 | ||||
-rw-r--r-- | archivers/rar/Makefile.netbsd-i386 | 55 | ||||
-rw-r--r-- | archivers/rar/PLIST.linux-i386 | 10 | ||||
-rw-r--r-- | archivers/rar/PLIST.netbsd-i386 (renamed from archivers/rar/PLIST) | 2 | ||||
-rw-r--r-- | archivers/rar/distinfo | 5 | ||||
-rw-r--r-- | archivers/rar/files/check-ksyms.sh | 96 |
10 files changed, 222 insertions, 57 deletions
diff --git a/archivers/rar/DESCR b/archivers/rar/DESCR index c1d8f624fa7..5c870933e7b 100644 --- a/archivers/rar/DESCR +++ b/archivers/rar/DESCR @@ -1,6 +1,13 @@ - The rar archiver adds and extracts files to and from an archive. The - archive is usually a regular file, which name has ".rar" suffix in its - end. Archive could be a media like a floppy diskette, tape or any other - storage device. +RAR is a powerful tool allowing you to manage and control archive +files. - *** You will need COMPAT_12 in your kernel for this to work. *** +RAR features include: + +* Highly sophisticated, original compression algorithm +* Special compression algorithms optimized for text, audio, + graphics data, 32 and 64-bit Intel executables +* Better compression than similar tools, using 'solid' archiving +* Authenticity verification (registered version only) +* Self-extracting archives and volumes (SFX) +* Ability to recover physically damaged archives +* Locking, password, file order list, file security & more ... diff --git a/archivers/rar/MESSAGE.linux-i386 b/archivers/rar/MESSAGE.linux-i386 new file mode 100644 index 00000000000..7a488acf078 --- /dev/null +++ b/archivers/rar/MESSAGE.linux-i386 @@ -0,0 +1,6 @@ +=========================================================================== +$NetBSD: MESSAGE.linux-i386,v 1.1 2007/08/22 16:43:33 jlam Exp $ + +For best compression performance, please install +${PREFIX}/share/doc/rar-bin/rarfiles.lst into /etc. +=========================================================================== diff --git a/archivers/rar/MESSAGE b/archivers/rar/MESSAGE.netbsd-i386 index a4e01853f26..f1002db01dd 100644 --- a/archivers/rar/MESSAGE +++ b/archivers/rar/MESSAGE.netbsd-i386 @@ -1,7 +1,6 @@ =========================================================================== -$NetBSD: MESSAGE,v 1.4 2005/05/25 22:51:15 rillig Exp $ +$NetBSD: MESSAGE.netbsd-i386,v 1.1 2007/08/22 16:43:33 jlam Exp $ You must have COMPAT_12, COMPAT_13, COMPAT_43, COMPAT_NOMID and a.out support compiled into your kernel to use this program. - =========================================================================== diff --git a/archivers/rar/Makefile b/archivers/rar/Makefile index 531ba293aea..33ae8e862f3 100644 --- a/archivers/rar/Makefile +++ b/archivers/rar/Makefile @@ -1,64 +1,29 @@ -# $NetBSD: Makefile,v 1.46 2006/06/22 21:38:06 rillig Exp $ +# $NetBSD: Makefile,v 1.47 2007/08/22 16:43:33 jlam Exp $ -DISTNAME= rarbsd -PKGNAME= rar-2.02 +DISTNAME= rar # overridden in Makefile.${EMUL_PLATFORM} CATEGORIES= archivers -MASTER_SITES= ftp://ftp.elf.stuba.sk/pub/pc/pack/ -EXTRACT_SUFX= .sfx +MASTER_SITES= # empty MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= http://www.rarsoft.com/ -COMMENT= File archiver (binary port) +COMMENT= RAR file archiver (binary) -ONLY_FOR_PLATFORM= NetBSD-*-i386 +EMUL_PLATFORMS= linux-i386 netbsd-i386 LICENSE= rar-license RESTRICTED= Only unmodified original package can be distributed NO_BIN_ON_CDROM= ${RESTRICTED} NO_BIN_ON_FTP= ${RESTRICTED} -WRKSRC= ${WRKDIR} -EXTRACT_CMD= exec "$$extract_file" >/dev/null +MESSAGE_SRC= ${PKGDIR}/MESSAGE.${EMUL_PLATFORM} -pre-extract: - ${_PKG_SILENT}${_PKG_DEBUG} set -e; set -u; \ - if [ -z "$${KERNEL-}" ]; then \ - KERNEL=/`env PATH="$${PATH}:/sbin:/usr/sbin" sysctl -n machdep.booted_kernel`; \ - fi; \ - if [ ! -f "$$KERNEL" ]; then \ - ${ECHO} "No kernel image found. Let's try without."; \ - elif (${NM} "$$KERNEL" | ${GREP} -q compat_12 && \ - ${NM} "$$KERNEL" | ${GREP} -q exec_nomid && \ - ${NM} "$$KERNEL" | ${GREP} -q exec_aout); then \ - ${TRUE}; \ - else \ - ${ECHO} "Make can not proceed! In order to extract (and run)"; \ - ${ECHO} "this package, you must have have booted from a kernel"; \ - ${ECHO} "with options COMPAT_NOMID and COMPAT_12 (and EXEC_AOUT, if ELF)."; \ - ${FALSE}; \ - fi - ${TEST} -x ${DISTDIR}/${DISTFILES:Q} \ - || ${CHMOD} a+x ${DISTDIR:Q}/${DISTFILES:Q} +.include "../../mk/bsd.prefs.mk" -do-build: - ${_PKG_SILENT}${_PKG_DEBUG} set -e; set -u; \ - cd ${WRKSRC:Q}; \ - for i in *.Txt *.Lst; do \ - ${TR} -d '\015' < "$$i" > "$$i".tmp; \ - ${MV} "$$i".tmp "$$i"; \ - done - -do-install: - ${INSTALL_DATA_DIR} ${PREFIX:Q}/share/doc/rar ${PREFIX:Q}/share/rar - cd ${WRKSRC:Q} && \ - ${INSTALL_SCRIPT} rar ${PREFIX:Q}/bin/rar && \ - ${INSTALL_MAN} Rar.Txt Rar_FAQ.txt TechNote.Txt \ - License.Txt Internet.Txt ${PREFIX:Q}/share/doc/rar && \ - ${INSTALL_DATA} RarFiles.Lst \ - ${PREFIX:Q}/share/rar/rarfiles.lst && \ - ${INSTALL_DATA} default.sfx \ - ${PREFIX:Q}/share/rar/default.sfx && \ - ${INSTALL_DATA} Dos.SFX \ - ${PREFIX:Q}/share/rar/dos.sfx +.if exists(Makefile.${EMUL_PLATFORM}) +. include "Makefile.${EMUL_PLATFORM}" +.else +NO_BUILD= yes +do-install: # nothing +.endif .include "../../mk/bsd.pkg.mk" diff --git a/archivers/rar/Makefile.linux-i386 b/archivers/rar/Makefile.linux-i386 new file mode 100644 index 00000000000..b0b8c2ac294 --- /dev/null +++ b/archivers/rar/Makefile.linux-i386 @@ -0,0 +1,24 @@ +# $NetBSD: Makefile.linux-i386,v 1.1 2007/08/22 16:43:34 jlam Exp $ + +DISTNAME= rarlinux-3.6.0 +PKGNAME= ${DISTNAME:S/linux//} +MASTER_SITES= http://www.rarsoft.com/rar/ \ + ftp://ftp.rarsoft.com/rar/ + +CONFLICTS= rarlinux-[0-9]* rar-linux-[0-9]* + +EMUL_MODULES.linux= base compat + +WRKSRC= ${WRKDIR}/rar +BUILD_DIRS= # empty + +DATADIR= ${PREFIX}/lib +DOCDIR= ${PREFIX}/share/doc/rar + +INSTALLATION_DIRS= bin lib ${DATADIR} ${DOCDIR} + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC:Q}/rar_static ${PREFIX:Q}/bin/rar + ${INSTALL_DATA} ${WRKSRC:Q}/default.sfx ${DATADIR:Q} + ${INSTALL_DATA} ${WRKSRC}/*.txt ${DOCDIR:Q} + ${INSTALL_DATA} ${WRKSRC}/rarfiles.lst ${DOCDIR:Q} diff --git a/archivers/rar/Makefile.netbsd-i386 b/archivers/rar/Makefile.netbsd-i386 new file mode 100644 index 00000000000..6782c1ab499 --- /dev/null +++ b/archivers/rar/Makefile.netbsd-i386 @@ -0,0 +1,55 @@ +# $NetBSD: Makefile.netbsd-i386,v 1.1 2007/08/22 16:43:34 jlam Exp $ + +DISTNAME= rarbsd +PKGNAME= rar-2.02 +MASTER_SITES= ftp://ftp.elf.stuba.sk/pub/pc/pack/ +EXTRACT_SUFX= .sfx + +NETBSD_VERSION_REQD= 1.2 + +WRKSRC= ${WRKDIR} +EXTRACT_CMD= exec "$$extract_file" >/dev/null + +DATADIR= ${PREFIX}/share/rar +DOCDIR= ${PREFIX}/share/doc/rar + +INSTALLATION_DIRS= ${DATADIR} ${DOCDIR} + +CHECK_KSYMS_CMD= ${SETENV} ECHO=${TOOLS_ECHO:Q} \ + GREP=${TOOLS_GREP:Q} \ + GZIP_CMD=${TOOLS_GZIP_CMD:Q} \ + NM=${NM:Q} RM=${TOOLS_RM:Q} \ + TMPDIR=${WRKDIR:Q} \ + ${SH} ${FILESDIR}/check-ksyms.sh + +pre-extract: + ${RUN} set -e; \ + if ${CHECK_KSYMS_CMD} compat_12 exec_nomid exec_aout; then \ + ${TEST} -x ${DISTDIR}/${DISTFILES:Q} || \ + ${CHMOD} a+x ${DISTDIR:Q}/${DISTFILES:Q}; \ + else \ + ${ECHO} "==========================================================================="; \ + ${ECHO} "In order to extract this package," \ + "you must have have booted from a"; \ + ${ECHO} "kernel with options COMPAT_NOMID and" \ + "COMPAT_12, and EXEC_AOUT if on"; \ + ${ECHO} "an ELF system."; \ + ${ECHO} "==========================================================================="; \ + ${FALSE}; \ + fi + +# DOS to Unix line conversion +do-build: + ${RUN} set -e; set -u; \ + cd ${WRKSRC:Q} && for i in *.Txt *.Lst; do \ + ${TR} -d '\015' < "$$i" > "$$i".tmp; \ + ${MV} -f "$$i".tmp "$$i"; \ + done + +do-install: + ${INSTALL_SCRIPT} ${WRKSRC:Q}/rar ${PREFIX:Q}/bin/rar + ${INSTALL_DATA} ${WRKSRC:Q}/RarFiles.Lst ${DATADIR:Q}/rarfiles.lst + ${INSTALL_DATA} ${WRKSRC:Q}/default.sfx ${DATADIR:Q}/default.sfx + ${INSTALL_DATA} ${WRKSRC:Q}/Dos.SFX ${DATADIR:Q}/dos.sfx + cd ${WRKSRC:Q} && ${INSTALL_MAN} Rar.Txt Rar_FAQ.txt \ + TechNote.Txt License.Txt Internet.Txt ${DOCDIR:Q} diff --git a/archivers/rar/PLIST.linux-i386 b/archivers/rar/PLIST.linux-i386 new file mode 100644 index 00000000000..fea96973ad6 --- /dev/null +++ b/archivers/rar/PLIST.linux-i386 @@ -0,0 +1,10 @@ +@comment $NetBSD: PLIST.linux-i386,v 1.1 2007/08/22 16:43:35 jlam Exp $ +bin/rar-bin +lib/default.sfx +share/doc/rar-bin/license.txt +share/doc/rar-bin/rar.txt +share/doc/rar-bin/rarfiles.lst +share/doc/rar-bin/readme.txt +share/doc/rar-bin/technote.txt +share/doc/rar-bin/whatsnew.txt +@dirrm share/doc/rar-bin diff --git a/archivers/rar/PLIST b/archivers/rar/PLIST.netbsd-i386 index 21c8cf96a9b..5ead2b225d9 100644 --- a/archivers/rar/PLIST +++ b/archivers/rar/PLIST.netbsd-i386 @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.2 2005/09/02 23:15:36 rillig Exp $ +@comment $NetBSD: PLIST.netbsd-i386,v 1.1 2007/08/22 16:43:35 jlam Exp $ bin/rar share/doc/rar/Internet.Txt share/doc/rar/License.Txt diff --git a/archivers/rar/distinfo b/archivers/rar/distinfo index f350fb4729f..4e40273cf46 100644 --- a/archivers/rar/distinfo +++ b/archivers/rar/distinfo @@ -1,5 +1,8 @@ -$NetBSD: distinfo,v 1.3 2005/02/23 14:45:25 agc Exp $ +$NetBSD: distinfo,v 1.4 2007/08/22 16:43:36 jlam Exp $ SHA1 (rarbsd.sfx) = bafd5d6e4956ad10898ab19d601fa506d1681b4a RMD160 (rarbsd.sfx) = 3510af235244162f47d85fb7744468c9b093ffdf Size (rarbsd.sfx) = 246569 bytes +SHA1 (rarlinux-3.6.0.tar.gz) = 4b43766371fd2f117fb3af5826001a7eab7a0f3b +RMD160 (rarlinux-3.6.0.tar.gz) = c0f6d19738f69deb9fd75589e461a7a0ed430d39 +Size (rarlinux-3.6.0.tar.gz) = 752997 bytes diff --git a/archivers/rar/files/check-ksyms.sh b/archivers/rar/files/check-ksyms.sh new file mode 100644 index 00000000000..8e1fb3b569d --- /dev/null +++ b/archivers/rar/files/check-ksyms.sh @@ -0,0 +1,96 @@ +#!/bin/sh +# +# $NetBSD: check-ksyms.sh,v 1.1 2007/08/22 16:43:36 jlam Exp $ +# +# check-ksyms.sh verifies that the given symbols are found in the booted +# kernel file. +# + +: ${ECHO=echo} +: ${GREP=grep} +: ${GZIP_CMD=gzip} +: ${NM=nm} +: ${RM=rm} +: ${TMPDIR=/tmp} + +self="check-ksyms" + +verbose= +while [ $# -gt 0 ]; do + case $1 in + -v) verbose=yes; shift ;; + --) shift; break ;; + -*) ${ECHO} 1>&2 "$self [-v] symbol ..."; exit 2 ;; + *) break ;; + esac +done + +# Locate kernel. +PATH=/sbin:/usr/sbin:${PATH}; export PATH + +booted_kernel= +kernlist="/netbsd /netbsd.gz /onetbsd /onetbsd.gz" +kern=`sysctl -n machdep.booted_kernel 2>/dev/null` +if [ -z "$kern" ]; then + kernlist="$kern $kernlist" +fi +for k in $kernlist; do + if [ -f "$k" ]; then + booted_kernel="$k" + break + fi +done + +if [ -z "$booted_kernel" ]; then + ${ECHO} 1>&2 "$self: could not determine the booted kernel." + exit 2 +fi + +pattern= +for symbol # in command-line arguments +do + if [ -z "$pattern" ]; then + pattern="$symbol" + else + pattern="$pattern\|$symbol" + fi +done + +# If there are no symbols to check, then exit with success. +[ -n "$pattern" ] || exit 0 + +if [ ! -d "${TMPDIR}" ]; then + ${ECHO} 1>&2 "$self: ${TMPDIR} does not exist." + exit 2 +fi + +ksymsfile="${TMPDIR}/ksyms.$self.$$" + +# Clean up when we receive the following signals: INT QUIT ABRT KILL TERM. +trap "${RM} -f \"$ksymsfile\"" 2 3 6 9 15 + +case $booted_kernel in +*.gz) ${GZIP_CMD} -d < "$booted_kernel" | ${NM} > "$ksymsfile" ;; +*) ${NM} "$booted_kernel" > "$ksymsfile" ;; +esac + +# Loop through the symbols and check that each of them are in $ksymsfile. +exitcode=0 +while [ $# -gt 0 ]; do + symbol="$1"; shift + if [ x"$verbose" = xyes ]; then + cmd="${GREP} \"$symbol\" \"$ksymsfile\" 2>/dev/null" + else + cmd="${GREP} \"$symbol\" \"$ksymsfile\" >/dev/null 2>&1" + fi + if eval $cmd; then + : + else + ${ECHO} 1>&2 "$self: symbol $symbol not found in $booted_kernel" + exitcode=1 + break + fi +done + +${RM} -f "$ksymsfile" +exit $exitcode |