summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrent s2016-11-02 11:33:53 -0400
committerbrent s2016-11-02 11:38:37 -0400
commitffcfe277897cdc8aa9ae5fa9f9c8cd48e4847772 (patch)
tree6438f043aab8c836fd0f21e7bb800cc0a3ac10f4
parent7e88d519baebab96797212d43bca46bd960dc0f3 (diff)
downloadaur-ffcfe277897cdc8aa9ae5fa9f9c8cd48e4847772.tar.gz
building successfully, untested
-rw-r--r--.SRCINFO36
-rw-r--r--.gitignore1
-rw-r--r--CC0-1.0121
-rw-r--r--CC0-1.0.sigbin0 -> 543 bytes
-rw-r--r--PKGBUILD167
-rw-r--r--nquakesv.install44
-rwxr-xr-xnquakesv.run5
-rw-r--r--nquakesv.run.sigbin0 -> 543 bytes
-rw-r--r--qsw106.zip.sigbin0 -> 543 bytes
-rw-r--r--sv-bin-x64.zip.sigbin0 -> 543 bytes
-rw-r--r--sv-bin-x86.zip.sigbin0 -> 543 bytes
-rw-r--r--sv-gpl.zip.sigbin0 -> 543 bytes
-rw-r--r--sv-non-gpl.zip.sigbin0 -> 543 bytes
13 files changed, 343 insertions, 31 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8c9f487700ea..2244268287ab 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,18 +1,38 @@
# Generated by mksrcinfo v8
-# Tue Nov 1 12:01:54 UTC 2016
+# Wed Nov 2 15:38:37 UTC 2016
pkgbase = nquakesv
pkgdesc = The easiest, quickest, and most popular QuakeWorld server.
pkgver = 1.4
pkgrel = 1
url = http://nquake.com/
- arch = i686
- arch = x86_64
- license = GPL2 custom
+ install = nquakesv.install
+ arch = any
+ license = GPL2
+ license = custom
depends = unzip
- provides = nquakesv
- source = http://nquake.com/
- source = .sig
- sha512sums = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
+ depends = ezquake
+ conflicts = nquake
+ noextract = qsw106.zip
+ noextract = sv-bin-x.zip
+ source = http://fnu.nquake.com/sv-gpl.zip
+ source = http://fnu.nquake.com/sv-non-gpl.zip
+ source = http://fnu.nquake.com/qsw106.zip
+ source = CC0-1.0::https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt
+ source = nquakesv.run
+ source = sv-gpl.zip.sig
+ source = sv-non-gpl.zip.sig
+ source = CC0-1.0.sig
+ source = qsw106.zip.sig
+ source = nquakesv.run.sig
+ sha512sums = 6a07601f56aec5d88b3463c09c4482a2d76e5d7efd8ddc24c1b4e9b662152f62070dbb5409c1a801560872c725b5b8b1d41437b7b99c74bdcc1ae88d2be91121
+ sha512sums = 21e6ef7a58c03e342b501a345fd777472b9d109a95201fa859c99d626845d01cf90d0ce6c42f76f5878795f1bcd549128250b9f8e82fceedb8b1f6534b9a1e32
+ sha512sums = 32df717a4a8f121358243333c30d8d0e5d43ee04f3ee8175a894199b8932e90ebedc6b687c25207c6191dbf25363307f09f8c1dc767b58e254e015c150217384
+ sha512sums = 1eb4436f8d58766cbe99db97e5e8c0db8a706376afd291c337de1ba7a6b066d3791dc85ad034bdd54ea336bed6e6e8e7a037d8b04b2773c9c7517b9d9921d1fa
+ sha512sums = e7dac93556d63c994d37f2361a48408c924426b81395cacb3229acb3020df66dce62e5734686fba44cc7581567e28e5345f6d7a5638c0c97b8effdab78756111
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
sha512sums = SKIP
pkgname = nquakesv
diff --git a/.gitignore b/.gitignore
index e16177da2907..4bf3f1e1d46c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,7 @@ pkg/
*.tbz2
*.zip
*.run
+!nquakesv.run
*.7z
*.rar
*.deb
diff --git a/CC0-1.0 b/CC0-1.0
new file mode 100644
index 000000000000..0e259d42c996
--- /dev/null
+++ b/CC0-1.0
@@ -0,0 +1,121 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+ HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+ i. the right to reproduce, adapt, distribute, perform, display,
+ communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+ likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+ subject to the limitations in paragraph 4(a), below;
+ v. rights protecting the extraction, dissemination, use and reuse of data
+ in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+ European Parliament and of the Council of 11 March 1996 on the legal
+ protection of databases, and under any national implementation
+ thereof, including any amended or successor version of such
+ directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+ world based on applicable law or treaty, and any national
+ implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+ surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+ warranties of any kind concerning the Work, express, implied,
+ statutory or otherwise, including without limitation warranties of
+ title, merchantability, fitness for a particular purpose, non
+ infringement, or the absence of latent or other defects, accuracy, or
+ the present or absence of errors, whether or not discoverable, all to
+ the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+ that may apply to the Work or any use thereof, including without
+ limitation any person's Copyright and Related Rights in the Work.
+ Further, Affirmer disclaims responsibility for obtaining any necessary
+ consents, permissions or other rights required for any use of the
+ Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+ party to this document and has no duty or obligation with respect to
+ this CC0 or use of the Work.
diff --git a/CC0-1.0.sig b/CC0-1.0.sig
new file mode 100644
index 000000000000..348fb004bc3c
--- /dev/null
+++ b/CC0-1.0.sig
Binary files differ
diff --git a/PKGBUILD b/PKGBUILD
index 831be4988377..b116054ad829 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,32 +1,153 @@
# Maintainer: brent s. <bts[at]square-r00t[dot]net>
-validpgpkeys=('748231EBCBD808A14F5E85D28C004C2F93481F6B')
# Bug reports can be filed at https://bugs.square-r00t.net/index.php?project=3
# News updates for packages can be followed at https://devblog.square-r00t.net
-pkgname=nquakesv
+validpgpkeys=('748231EBCBD808A14F5E85D28C004C2F93481F6B')
+
+#TODO: set up permissions (e.g. fortress/{progs,sounds, etc.} to be sticky-bit and writable? that way maybe at least files can be downloaded. create maps dir for all mods too.
+#TODO: change permissions for all .cfg's to 664?
+#TODO: way to force mode/ownership of newly created files? umask per dir?
+# NOTE: as of 2.3-8, with pacman 5 there is crippled support for split-package. so we build one friggin' huge thing.
+# sorry, community- i do hope someday that pacman devs stop making arbitrary changes on a whim.
+
+pkgname=('nquakesv')
pkgver=1.4
pkgrel=1
pkgdesc="The easiest, quickest, and most popular QuakeWorld server."
-arch=('i686' 'x86_64')
url="http://nquake.com/"
-license=('GPL2 custom')
-depends=('unzip')
-optdepends=('')
-makedepends=('')
-_pkgname=nquakesv
-provides=("nquakesv")
-#conflicts=("nquakesv")
-install=
-changelog=
-noextract=()
-source=("http://nquake.com/"
- ".sig")
-sha512sums=('cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'
- 'SKIP')
-build() {
- cd "${srcdir}/${_pkgname}/src"
- make prefix=${pkgdir}/usr
+license=('GPL2' 'custom')
+depends=('unzip' 'ezquake')
+conflicts=('nquake')
+arch=('any')
+install=nquakesv.install
+_pkgname=nquake
+
+_alt_pkgver=$(echo ${pkgver} | sed -e 's/\.//g')
+
+# http://nquake.sourceforge.net/nquake.ini for list of mirrors
+#_nQ_MIRROR="http://quakeservers.nquake.com" # NL
+_nQ_MIRROR="http://fnu.nquake.com" # Uppsala, SE
+#_nQ_MIRROR="http://quake.tdhack.com/nquake" # FR
+#_nQ_MIRROR="http://nquake.quake1.de" # DE
+
+source=("${_nQ_MIRROR}/sv-gpl.zip"
+ "${_nQ_MIRROR}/sv-non-gpl.zip"
+ "${_nQ_MIRROR}/qsw106.zip"
+ "CC0-1.0::https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt"
+ "nquakesv.run"
+ "sv-gpl.zip.sig"
+ "sv-non-gpl.zip.sig"
+ "CC0-1.0.sig"
+ "qsw106.zip.sig"
+ "nquakesv.run.sig")
+
+source_x86_64=("${_nQ_MIRROR}/sv-bin-x64.zip"
+ "sv-bin-x64.zip.sig")
+source_x86=("${_nQ_MIRROR}/sv-bin-x86.zip"
+ "sv-bin-x86.zip.sig")
+
+if [[ "${CARCH}" == 'x86_64' ]];
+then
+ BITNESS='64'
+elif [[ "${CARCH}" == 'i686' ]];
+then
+ BITNESS='86'
+fi
+
+noextract=('qsw106.zip'
+ "sv-bin-x${BITNESS}.zip")
+
+sha512sums=('6a07601f56aec5d88b3463c09c4482a2d76e5d7efd8ddc24c1b4e9b662152f62070dbb5409c1a801560872c725b5b8b1d41437b7b99c74bdcc1ae88d2be91121'
+ '21e6ef7a58c03e342b501a345fd777472b9d109a95201fa859c99d626845d01cf90d0ce6c42f76f5878795f1bcd549128250b9f8e82fceedb8b1f6534b9a1e32'
+ '32df717a4a8f121358243333c30d8d0e5d43ee04f3ee8175a894199b8932e90ebedc6b687c25207c6191dbf25363307f09f8c1dc767b58e254e015c150217384'
+ '1eb4436f8d58766cbe99db97e5e8c0db8a706376afd291c337de1ba7a6b066d3791dc85ad034bdd54ea336bed6e6e8e7a037d8b04b2773c9c7517b9d9921d1fa'
+ 'e7dac93556d63c994d37f2361a48408c924426b81395cacb3229acb3020df66dce62e5734686fba44cc7581567e28e5345f6d7a5638c0c97b8effdab78756111'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
+
+sha512sums_x86_64=('eab8feab5148ef9c3d3a8c644cbc7b621b9132c73e1b25cd62eb28a47e9e0ffd9500b665b22c015c9aca2db10a316a5669e7d8569ddaec0a9610e9c477dc225c'
+ 'SKIP')
+sha512sums_i686=('c4b32e5f409a603adea54206b0ebbebb1b7907d7a56065e7730ca01931de33258e6f859d3d9805ffaf8dff9bcedea26e8455a016fa36b6d08eaf1540b8bbacad'
+ 'SKIP')
+
+prepare () {
+ unzip -j "qsw106.zip" "ID1/PAK0.PAK"
+ unzip -j "qsw106.zip" "LICINFO.TXT"
+ unzip -j "qsw106.zip" "README.TXT"
+ unzip -j "qsw106.zip" "SLICNSE.TXT"
+ # Necessary because bsdtar's absolutely silly and keeps trying to extract the contents of the extracted zip or something. friggin' pacman.
+ unzip sv-bin-x${BITNESS}.zip
}
-package() {
- install -D -m755 ${srcdir}/${_pkgname}/src/${_pkgname} ${pkgdir}/usr/bin/${_pkgname}
- install -D -m644 ${srcdir}/${_pkgname}/docs/README.html.en ${pkgdir}/usr/share/doc/${_pkgname}/README.html
+
+package () {
+echo pkg
+### BASE ##
+ # Most of these files are in gpl.zip
+ install -d -m 0750 ${pkgdir}/opt/quake/{id1,qw}
+ install -d -m 0750 ${pkgdir}/usr/share/nquake
+ install -d -m 0750 ${pkgdir}/usr/share/doc/nquake
+ install -d -m 0750 ${pkgdir}/usr/share/licenses/nquake
+ install -d -m 0755 ${pkgdir}/usr/bin
+ # Fix ezquake packages.
+ install -d -m 0770 ${pkgdir}/opt/quake/ezquake/{sb/cache,temp}
+ # Implement the following in ezQuake
+ #chgrp games ${pkgdir}/usr/bin/ezquake
+ #chmod 0750 ${pkgdir}/usr/bin/ezquake
+
+ # And the Business-End(TM). Do the thing.
+ install -D -m 0775 ${srcdir}/nquakesv.run ${pkgdir}/usr/bin/nquakesv
+ install -D -m 0775 ${srcdir}/mvdsv ${pkgdir}/opt/quake/mvdsv
+ install -D -m 0775 ${srcdir}/qwfwd/qwfwd.bin ${pkgdir}/opt/quake/qwfwd
+ install -D -m 0775 ${srcdir}/qtv/qtv.bin ${pkgdir}/opt/quake/quaketv
+ cp -a ${srcdir}/logs ${pkgdir}/opt/quake/.
+
+## DEMO DATA ##
+ install -D -m 0644 ${srcdir}/PAK0.PAK ${pkgdir}/opt/quake/id1/pak0.pak
+ install -D -m 0644 ${srcdir}/LICINFO.TXT ${pkgdir}/usr/share/doc/nquake/quake_shareware_license_info.txt
+ install -D -m 0644 ${srcdir}/README.TXT ${pkgdir}/usr/share/doc/nquake/quake_shareware_readme.txt
+ install -D -m 0644 ${srcdir}/SLICNSE.TXT ${pkgdir}/usr/share/licenses/nquake/quake_shareware.txt
+
+## NON-FREE ##
+ # Most of these files are in non-gpl.zip
+ install -d -m 0750 ${pkgdir}/opt/quake/qw/{maps}
+ cp -a ${srcdir}/CC0-1.0 ${pkgdir}/usr/share/licenses/${_pkgname}/.
+ # And the Business-End(TM). Do the thing.
+ cp -a ${srcdir}/README ${pkgdir}/usr/share/doc/nquake/readme.txt # nQuake FAQ, credits, etc.
+
+### FORTRESS ##
+# TODO
+# # Most of these files are in addon-fortress.zip
+# install -d -m 0750 ${pkgdir}/opt/quake/
+# install -d -m 0755 ${pkgdir}/usr/share/licenses/${pkgname}
+# cp -a ${srcdir}/CC0-1.0 ${pkgdir}/usr/share/licenses/${pkgname}/.
+# # And the Business-End(TM). Do the thing.
+# cp -a ${srcdir}/fortress ${pkgdir}/opt/quake/. # The entire mod
+#
+### ARENA ##
+# TODO
+# # Most of these files are in addon-clanarena.zip
+# install -d -m 0750 ${pkgdir}/opt/quake/
+# install -d -m 0755 ${pkgdir}/usr/share/licenses/${pkgname}
+# cp -a ${srcdir}/CC0-1.0 ${pkgdir}/usr/share/licenses/${pkgname}/.
+# # And the Business-End(TM). Do the thing.
+# cp -a ${srcdir}/arena ${pkgdir}/opt/quake/. # The entire mod
+# cp -a ${srcdir}/prox ${pkgdir}/opt/quake/. # QuakeProxy, I think?
+## KTX ##
+ # Most of these files are in sv-gpl.zip and sv-non-gpl.zip. some are in sv-bin-x${BITNESS}.zip
+ cp -a ${srcdir}/ktx ${pkgdir}/opt/quake/.
+## QTV ##
+ cp -a ${srcdir}/qtv/qtv ${pkgdir}/opt/quake/.
+ install -D -m 0644 ${srcdir}/qtv/qtv.cfg ${pkgdir}/opt/quake/qtv.cfg
+## QWFWD ##
+ install -D -m 0644 ${srcdir}/qwfwd/qwfwd.cfg ${pkgdir}/opt/quake/qwfwd.cfg
+
+## FINISHING TOUCHES ##
+ # Security is worthless without a modicum of usability. We're kind of stepping on other packagers' toes here, but... c'est la vie.
+ # Remind me to submit a patch to https://aur.archlinux.org/packages/ezquake/ (and incorporate into ezquake-git, which I maintain).
+ # Scratch that, ezquake uses "users" group. Works for me!
+ chgrp -R users ${pkgdir}/opt/quake/
+ chgrp users ${pkgdir}/usr/share/nquake
+
}
diff --git a/nquakesv.install b/nquakesv.install
new file mode 100644
index 000000000000..e92f4d3a5442
--- /dev/null
+++ b/nquakesv.install
@@ -0,0 +1,44 @@
+post_install() {
+ echo
+ echo '!!! NOTE !!!'
+ echo 'It is *strongly* encouraged to add users to the "users" group (usermod -aG users <username>) if they will be running ezQuake/nQuake.
+ Trust me. If you hit a bug and you are using a user not in the users group, you are testing bad and you should feel bad.'
+ echo
+ echo "nQuake Server has been installed. Please copy the retail pak1.pak files (as exactly that filename) to /opt/quake/id1/
+ and do (as root): chmod 0775 /opt/quake/id1/*.pak ; chgrp users /opt/quake/id1/*.pak'
+ If you do not have the retail pak, copy /usr/share/nquake/gpl_maps.pk3 to /opt/quake/id1/
+ and do (as root): chmod 0775 /opt/quake/id1/{*.pak,*.pk3} ; chgrp users /opt/quake/id1/{*.pak,*.pk3)"
+ echo
+
+ if [ -f "/opt/quake/ezquake/pak.lst" ];
+ then
+ if ! egrep -qE '^nquake_ezquake.pk3' /opt/quake/ezquake/pak.lst;
+ then
+ sed -i.no_nquake -e '1s/^/nquake_ezquake.pk3\r\n/' /opt/quake/ezquake/pak.lst
+ cat -n /opt/quake/ezquake/pak.lst | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- > /tmp/ezquake.tmp
+ cat /tmp/ezquake.tmp > /opt/quake/ezquake/pak.lst
+ rm /tmp/ezquake.tmp
+ fi
+ else
+ echo "Whoops. You might be doing something naughty, as I can't inject the nquake-provided ezquake.pk3 into the proper pak.lst."
+ echo "Things *might* or *might not* work quite as expected."
+ fi
+}
+
+post_upgrade() {
+
+ # fix group ownerships...
+ find /opt/quake -group games -exec chgrp users '{}' \;
+
+}
+
+post_remove() {
+ # Undo our stupid clever little hack.
+ if [ -f "/opt/quake/ezquake/pak.lst.no_nquake" ];
+ then
+ mv /opt/quake/ezquake/pak.lst.no_nquake /opt/quake/ezquake/pak.lst
+ else
+ echo "Weird; I can't seem to remove our injected entry from the proper pak.lst."
+ echo "You weren't doing something naughty like arbitrarily deleting files from your filesystem, were you?"
+ fi
+}
diff --git a/nquakesv.run b/nquakesv.run
new file mode 100755
index 000000000000..2ae44bf14ebf
--- /dev/null
+++ b/nquakesv.run
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+cd /opt/quake
+./mvdsv +cfg_use_home 1 +cfg_load "$@"
+exit $?
diff --git a/nquakesv.run.sig b/nquakesv.run.sig
new file mode 100644
index 000000000000..ffc2b21fd090
--- /dev/null
+++ b/nquakesv.run.sig
Binary files differ
diff --git a/qsw106.zip.sig b/qsw106.zip.sig
new file mode 100644
index 000000000000..ddaff37193b5
--- /dev/null
+++ b/qsw106.zip.sig
Binary files differ
diff --git a/sv-bin-x64.zip.sig b/sv-bin-x64.zip.sig
new file mode 100644
index 000000000000..6eac2e8b1550
--- /dev/null
+++ b/sv-bin-x64.zip.sig
Binary files differ
diff --git a/sv-bin-x86.zip.sig b/sv-bin-x86.zip.sig
new file mode 100644
index 000000000000..0b5094abdeee
--- /dev/null
+++ b/sv-bin-x86.zip.sig
Binary files differ
diff --git a/sv-gpl.zip.sig b/sv-gpl.zip.sig
new file mode 100644
index 000000000000..90dc5b7f6589
--- /dev/null
+++ b/sv-gpl.zip.sig
Binary files differ
diff --git a/sv-non-gpl.zip.sig b/sv-non-gpl.zip.sig
new file mode 100644
index 000000000000..0804339ad01d
--- /dev/null
+++ b/sv-non-gpl.zip.sig
Binary files differ