diff options
author | B. Watson <yalhcru@gmail.com> | 2022-01-12 12:42:59 -0500 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-01-17 09:03:30 +0700 |
commit | 5e97992f28cea88d1052357f07ad8ceb03195ac4 (patch) | |
tree | 469f76ab468b1d34acc61d47f8d83611d6c215cf /system/unshieldv3 | |
parent | c1f52325a29812eedd2b81db58a2be7a6ad3aa3b (diff) |
system/unshieldv3: Added (extract v3 InstallShield files).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/unshieldv3')
-rw-r--r-- | system/unshieldv3/README | 13 | ||||
-rw-r--r-- | system/unshieldv3/git2tarxz.sh | 44 | ||||
-rw-r--r-- | system/unshieldv3/slack-desc | 19 | ||||
-rw-r--r-- | system/unshieldv3/unshieldv3.1 | 109 | ||||
-rw-r--r-- | system/unshieldv3/unshieldv3.SlackBuild | 65 | ||||
-rw-r--r-- | system/unshieldv3/unshieldv3.info | 10 | ||||
-rw-r--r-- | system/unshieldv3/unshieldv3.rst | 86 |
7 files changed, 346 insertions, 0 deletions
diff --git a/system/unshieldv3/README b/system/unshieldv3/README new file mode 100644 index 000000000000..48f15ea193e2 --- /dev/null +++ b/system/unshieldv3/README @@ -0,0 +1,13 @@ +unshieldv3 (extract v3 InstallShield files) + +unshieldv3 is a command line tool to extract the *.Z InstallShield v3 +packages many old windows games were distributed as. + +The files unshieldv3 supports are identified by the file command as +"InstallShield Z archive Data", and begin with a hex signature of +13 5d 65 8c 3a 01 02. + +See also: +- unshield, for other types of InstallShield files. +- isextract, for another v3 extractor. +- cabextract, for cabinet (.cab) files. diff --git a/system/unshieldv3/git2tarxz.sh b/system/unshieldv3/git2tarxz.sh new file mode 100644 index 000000000000..2e18550cd0cd --- /dev/null +++ b/system/unshieldv3/git2tarxz.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +# Create source tarball from git repo, with generated version +# number. + +# Note that this script doesn't need to be run as root. It does +# need to be able to write to the current directory it's run from. + +# Takes one optional argument, which is the commit or tag to create +# a tarball of. With no arg, HEAD is used. + +PRGNAM=unshieldv3 +CLONE_URL=https://github.com/wfr/unshieldv3.git + +set -e + +GITDIR=$( mktemp -dt $PRGNAM.git.XXXXXX ) +rm -rf $GITDIR +git clone $CLONE_URL $GITDIR + +CWD="$( pwd )" +cd $GITDIR + +if [ "$1" != "" ]; then + git reset --hard "$1" || exit 1 +fi + +GIT_SHA=$( git rev-parse --short HEAD ) + +DATE=$( git log --date=format:%Y%m%d --format=%cd | head -1 ) + +VERSION=${DATE}_${GIT_SHA} + +rm -rf .git +find . -name .gitignore -print0 | xargs -0 rm -f + +cd "$CWD" +rm -rf $PRGNAM-$VERSION $PRGNAM-$VERSION.tar.xz +mv $GITDIR $PRGNAM-$VERSION +tar cvfJ $PRGNAM-$VERSION.tar.xz $PRGNAM-$VERSION + +echo +echo "Created tarball: $PRGNAM-$VERSION.tar.xz" +echo "VERSION=$VERSION" diff --git a/system/unshieldv3/slack-desc b/system/unshieldv3/slack-desc new file mode 100644 index 000000000000..e04fce7f2323 --- /dev/null +++ b/system/unshieldv3/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +unshieldv3: unshieldv3 (extract v3 InstallShield files) +unshieldv3: +unshieldv3: unshieldv3 is a command line tool to extract the *.Z InstallShield v3 +unshieldv3: packages many old windows games were distributed as. +unshieldv3: +unshieldv3: The files unshieldv3 supports are identified by the file command as +unshieldv3: "InstallShield Z archive Data", and begin with a hex signature of +unshieldv3: 13 5d 65 8c 3a 01 02. +unshieldv3: +unshieldv3: +unshieldv3: diff --git a/system/unshieldv3/unshieldv3.1 b/system/unshieldv3/unshieldv3.1 new file mode 100644 index 000000000000..51cc0906b6bd --- /dev/null +++ b/system/unshieldv3/unshieldv3.1 @@ -0,0 +1,109 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "UNSHIELDV3" 1 "2022-01-12" "1.30_beta+20190930_0037ff5" "SlackBuilds.org" +.SH NAME +unshieldv3 \- Extract InstallShield v3 archives +.\" RST source for unshieldv3(1) man page. Convert with: +. +.\" rst2man.py unshieldv3.rst > unshieldv3.1 +. +.\" rst2man.py comes from the SBo development/docutils package. +. +.SH SYNOPSIS +.sp +unshieldv3 list \fIfile.z\fP +.sp +unshieldv3 extract \fIfile.z\fP [\fIoutput\-dir\fP] +.SH DESCRIPTION +.sp +\fBunshieldv3\fP is a command line tool to extract the .Z InstallShield v3 +packages many old windows games were distributed as. +.sp +The files \fBunshieldv3\fP supports normally have a \fB\&.Z\fP extension, and can be +identified by the \fBfile\fP(1) command: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +$ file data.Z +data.z: InstallShield Z archive Data +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\&...or by the hex signature at the start of the file: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +$ head \-c6 data.Z | xxd +00000000: 135d 658c 3a01 .]e.:. +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If \fBfile\fP says "compress\(aqd data" or similar, your file isn\(aqt an +InstallShield archive; it\(aqs compressed with the old UNIX compress +command, and can be extracted with \fBuncompress\fP(1) or \fBgzip\fP(1). +.sp +When extracting, \fBunshieldv3\fP preserves the directory structure +inside the archive. This is unlike \fBisextract\fP(1), which writes all +the files in the same directory. +.SH OPTIONS +.sp +Options may not be abbreviated. +.INDENT 0.0 +.TP +.B \fBlist\fP +List contents of archive. +.TP +.B \fBextract\fP +Extract archive. If an \fIoutput\-dir\fP is given, extracted files will be written +there (the \fIoutput\-dir\fP must already exist). Without \fIoutput\-dir\fP, the current +directory is used. +.UNINDENT +.SH COPYRIGHT +.sp +See the file /usr/doc/unshieldv3\-1.30_beta+20190930_0037ff5/LICENSE for license information. +.SH AUTHORS +.sp +unshieldv3 was written by Wolfgang Frisch. +.sp +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. +.SH SEE ALSO +.sp +\fBisextract\fP(1), \fBunshield\fP(1), \fBcabextract\fP(1) +.\" Generated by docutils manpage writer. +. diff --git a/system/unshieldv3/unshieldv3.SlackBuild b/system/unshieldv3/unshieldv3.SlackBuild new file mode 100644 index 000000000000..4e139f0cd5d8 --- /dev/null +++ b/system/unshieldv3/unshieldv3.SlackBuild @@ -0,0 +1,65 @@ +#!/bin/bash + +# Slackware build script for unshieldv3 + +# Written by B. Watson (yalhcru@gmail.com) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=unshieldv3 +VERSION=${VERSION:-20190930_0037ff5} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +# No flags needed, qmake will use the CXXFLAGS qt5 was built with. + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.xz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ + +qmake +make + +mkdir -p $PKG/usr/{bin,man/man1} +install -s -m0755 $PRGNAM $PKG/usr/bin + +# man page written by SlackBuild author. +gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz + +PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKGDOC +cp -a README* LICENSE $PKGDOC +cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/unshieldv3/unshieldv3.info b/system/unshieldv3/unshieldv3.info new file mode 100644 index 000000000000..679c06d2eebc --- /dev/null +++ b/system/unshieldv3/unshieldv3.info @@ -0,0 +1,10 @@ +PRGNAM="unshieldv3" +VERSION="20190930_0037ff5" +HOMEPAGE="https://github.com/wfr/unshieldv3/" +DOWNLOAD="https://slackware.uk/~urchlay/src/unshieldv3-20190930_0037ff5.tar.xz" +MD5SUM="290d7f150ee6cc2bc471ba6b2ccfb271" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" diff --git a/system/unshieldv3/unshieldv3.rst b/system/unshieldv3/unshieldv3.rst new file mode 100644 index 000000000000..401c445ea131 --- /dev/null +++ b/system/unshieldv3/unshieldv3.rst @@ -0,0 +1,86 @@ +.. RST source for unshieldv3(1) man page. Convert with: +.. rst2man.py unshieldv3.rst > unshieldv3.1 +.. rst2man.py comes from the SBo development/docutils package. + +.. |version| replace:: 1.30_beta+20190930_0037ff5 +.. |date| date:: + +========== +unshieldv3 +========== + +--------------------------------- +Extract InstallShield v3 archives +--------------------------------- + +:Manual section: 1 +:Manual group: SlackBuilds.org +:Date: |date| +:Version: |version| + +SYNOPSIS +======== + +unshieldv3 list *file.z* + +unshieldv3 extract *file.z* [*output-dir*] + +DESCRIPTION +=========== + +**unshieldv3** is a command line tool to extract the .Z InstallShield v3 +packages many old windows games were distributed as. + +The files **unshieldv3** supports normally have a **.Z** extension, and can be +identified by the **file**\(1) command: + +:: + + $ file data.Z + data.z: InstallShield Z archive Data + +...or by the hex signature at the start of the file: + +:: + + $ head -c6 data.Z | xxd + 00000000: 135d 658c 3a01 .]e.:. + +If **file** says "compress'd data" or similar, your file isn't an +InstallShield archive; it's compressed with the old UNIX compress +command, and can be extracted with **uncompress**\(1) or **gzip**\(1). + +When extracting, **unshieldv3** preserves the directory structure +inside the archive. This is unlike **isextract**\(1), which writes all +the files in the same directory. + +OPTIONS +======= + +Options may not be abbreviated. + +**list** + List contents of archive. + +**extract** + Extract archive. If an *output-dir* is given, extracted files will be written + there (the *output-dir* must already exist). Without *output-dir*, the current + directory is used. + +COPYRIGHT +========= + +See the file /usr/doc/unshieldv3-|version|/LICENSE for license information. + +AUTHORS +======= + +unshieldv3 was written by Wolfgang Frisch. + +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. + +SEE ALSO +======== + +**isextract**\(1), **unshield**\(1), **cabextract**\(1) |