system/unshieldv3: Added (extract v3 InstallShield files).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2022-01-12 12:42:59 -05:00 committed by Willy Sudiarto Raharjo
parent c1f52325a2
commit 5e97992f28
No known key found for this signature in database
GPG key ID: 3F617144D7238786
7 changed files with 346 additions and 0 deletions

13
system/unshieldv3/README Normal file
View file

@ -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.

View file

@ -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"

View file

@ -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:

View file

@ -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.
.

View file

@ -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}

View file

@ -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"

View file

@ -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)