Accepting request 562640 from home:avindra

@jengelh all of your patches are upstream now :)


One minor difference with your "nolimit" fix, the upstream has chosen to emit a warning instead of an error:

f8b1336bbc (diff-737f0ad7650b480ebdf2807f16ae18ca)


- update to 5.1.1
  * Fixed: texture name array: the maximum possible string size is
    now supported.
  * Fixed: some warnings and errors with old versions of pkg-config
    and gcc 
  * Fixed: Aliasing errors (caused crashes on some architectures,
    such as sparc64)
  * Can now build WADs with an arbitrary number of lumps. A warning
    is emitted when more than 4046 are included (vanilla Doom limit).
- remove 0001-increase-array-size-for-char-tname-variable-51.patch
  * upstreamed in 7024dd74a33780ef2dbdf614f4e52526cc3ab457
- remove 0001-Fix-strict-aliasing-violations.patch
  * upstreamed in 85d821dd3c145be1a998ca2a704930caaad73030
- remove deutex-proto.diff
  * upstreamed in 07bd0a5083fc15db20bee9056511bd3e10dd1362
- remove deutex-nolimit.diff
  * fixed in f8b1336bbcb7bc387d3e856cc7c9f75697cd0f0b
- remove deprecated BuildRoot option

OBS-URL: https://build.opensuse.org/request/show/562640
OBS-URL: https://build.opensuse.org/package/show/games:tools/deutex?expand=0&rev=6
This commit is contained in:
Jan Engelhardt 2018-01-09 00:32:02 +00:00 committed by Git OBS Bridge
parent 173630e629
commit f03b9ea909
10 changed files with 42 additions and 218 deletions

View File

@ -1,98 +0,0 @@
From e954d4e296383f6b48fac9f8bf7b413aa70b4cc1 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 1 Jan 2018 20:18:38 +0100
Subject: [PATCH] Fix strict aliasing violations
Type-punning causes unaligned pointers, and those cause crashes on
some processors, e.g. sparc64.
deutex.c: In function 'COMhelp':
deutex.c:1130:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
width1 = *((short *) &d->exec) + OPTINDENT;
deutex.c:1131:13: warning:
width2 = *((short *) &d->use);
deutex.c: In function 'opt_widths':
deutex.c:1236:17: warning:
*((short *) &current_section->com) = (short) width2r;
deutex.c:1237:17: warning:
if (*((short *) &current_section->com) != width2r)
deutex.c:1239:21: warning:
*((short *) &current_section->com) = SHRT_MAX;
deutex.c:1241:17: warning:
*((short *) &current_section->exec) = (short) width1t;
deutex.c:1242:17: warning:
if (*((short *) &current_section->exec) != width1t)
deutex.c:1244:21: warning:
*((short *) &current_section->exec) = SHRT_MAX;
deutex.c:1246:17: warning:
*((short *) &current_section->use) = (short) width2t;
deutex.c:1247:17: warning:
if (*((short *) &current_section->use) != width2t)
deutex.c:1249:21: warning:
*((short *) &current_section->use) = SHRT_MAX;
---
src/deutex.c | 31 ++++++++++++++++++-------------
1 file changed, 18 insertions(+), 13 deletions(-)
diff --git a/src/deutex.c b/src/deutex.c
index 15ff8c3..f14dc82 100644
--- a/src/deutex.c
+++ b/src/deutex.c
@@ -1124,11 +1124,14 @@ void COMhelp(int argc, const char *argv[])
/* Do a first pass on all the options for this section. Find out how
wide the left and right columns need to be. */
if (d->type == SEC) {
+ uint16_t tmp;
if (section++)
putchar('\n');
printf("%s:\n", d->help);
- width1 = *((short *) &d->exec) + OPTINDENT;
- width2 = *((short *) &d->use);
+ memcpy(&tmp, d->exec, sizeof(tmp));
+ width1 = tmp + OPTINDENT;
+ memcpy(&tmp, d->use, sizeof(tmp));
+ width2 = tmp;
if (width1 + 1 + width2 > TTYCOL)
width1 = TTYCOL - width2 - COLSPACING;
}
@@ -1229,24 +1232,26 @@ static void opt_widths()
- exec = maximum text width of the first column,
- use = maximum text width of second column. */
if (current_section != NULL) {
+ uint16_t tmp;
current_section->argc = (char) width1r;
if (current_section->argc != width1r)
current_section->argc = CHAR_MAX; /* Can't happen */
- *((short *) &current_section->com) = (short) width2r;
- if (*((short *) &current_section->com) != width2r)
+ tmp = width2r;
+ if (tmp != width2r)
/* Can't happen */
- *((short *) &current_section->com) = SHRT_MAX;
+ tmp = SHRT_MAX;
+ memcpy(current_section->com, &tmp, sizeof(tmp));
- *((short *) &current_section->exec) = (short) width1t;
- if (*((short *) &current_section->exec) != width1t)
- /* Can't happen */
- *((short *) &current_section->exec) = SHRT_MAX;
+ tmp = width1t;
+ if (tmp != width1t)
+ tmp = SHRT_MAX;
+ memcpy(current_section->exec, &tmp, sizeof(tmp));
- *((short *) &current_section->use) = (short) width2t;
- if (*((short *) &current_section->use) != width2t)
- /* Can't happen */
- *((short *) &current_section->use) = SHRT_MAX;
+ tmp = width2t;
+ if (tmp != width2t)
+ tmp = SHRT_MAX;
+ memcpy(current_section->use, &tmp, sizeof(tmp));
}
}
--
2.15.1

View File

@ -1,30 +0,0 @@
From 7024dd74a33780ef2dbdf614f4e52526cc3ab457 Mon Sep 17 00:00:00 2001
From: Fabian Greffrath <fabian@greffrath.com>
Date: Mon, 18 Dec 2017 02:12:37 +0100
Subject: [PATCH] increase array size for char "tname" variable (#51)
In src/texture.c:466 the "t" variable is of type signed short, so the
theoretically lowest possible value is -32768, which takes 6 digits.
The "TEX" string literal takes another 3 digits, so together with the
'\0' string delimiter byte we need an array size of 10 bytes for the
"tname" variable to be able to store the full maximum length string.
---
src/texture.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/texture.c b/src/texture.c
index 86c2396..3771c24 100644
--- a/src/texture.c
+++ b/src/texture.c
@@ -393,7 +393,7 @@ void TXUreadTEXTURE(const char *texture1_name, const char *Data,
int16_t Xofs, Yofs, Pindex; /* x,y coordinate in texture space */
/* patch name index in PNAMES table */
int32_t MaxPindex;
- static char tname[8]; /*texture name */
+ static char tname[10]; /*texture name */
static char pname[8]; /*patch name */
size_t header_size = 0;
size_t item_size = 0;
--
2.15.1

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1de33b25aa9f2e5f56007b6a20059f2a3721d93a31fc8636dcd042e30a89343
size 163292

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEmUWc4ncAN/9VZutLhkmzdgeggEIFAlmNchYACgkQhkmzdgeg
gELN3w/8CJ9xsiB8jST7j9Y7EDKClYwtaxwFrs5sKul/y44ti1/a5cjrK6TM11bu
F9Yql93kb5dgEfxOzriDVeif03Jj9Gsp4YTGMqv70nrKQ8MV+FHSgw8aKqm5eFfE
GWvGLkoTv0gnAof/fx3xrWmWQC+k7rJDmd2snUaXMpmzl5LfPIbbViQL1Gc8pTtu
JZEN+F1KIOf0eSI6nq5wEbvUkSMmacm8SxSq8zD1MmeXtlRY7v9e0d72ISGnHvhB
//55ZwQSuxtbgyAfz7UkY3keScwDpQIn29uhbERcwtiKdziyVBpZfD4AQARnK2v/
jjyoXTIUH6Fal1xi7fWR2sS0+HxQ9YQm1NBsqErpNWnGG5WKBBfuvGoGGtWTGdad
bQOnZfgaUHHuehC+0DuttHYg2K2p7qZ0lCteK1b5XeETCF38PN6NU4mOdH762KhI
v6CFcSGNKPPxhWPuaWnnawWr3V0Q6W6zYG/Ud7tZaUvfyU6KdbHiQGjlnMz3k4uB
MgbOpf0zaHeyJ80ZBBVw6L1mBdwOS4QGt7IfVwkMTLzp0IF6W2Oa0znyJuxpFjIW
u3Ti8uwCydMDFndH/A53S7ofZiiribb0I6x0+mqg7SPJ+O7wLXLe91ZIcl1enrRQ
uIkom6dU3Cr9HbobEhCNA24SXfxyvTaDfO/wYTgA0JXbrlBQO1w=
=NWOV
-----END PGP SIGNATURE-----

3
deutex-5.1.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:92034232cb8911e7e1d53aa9f1236cc44995664f86f5d33cf2bfcd1ac7a21f7b
size 163584

16
deutex-5.1.1.tar.xz.sig Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEmUWc4ncAN/9VZutLhkmzdgeggEIFAlpS9mwACgkQhkmzdgeg
gEKweQ//dqMrjsxDs0NMDh5AUXZDP9bgSeQTYuFJTVfbm6ndhjibiVdY9DVXvPcc
xrYELmfykoBb5IU1hwn9WtVS06OaBfHQ9uNaucdFNJ/5SlNJqnDnyTgeJtdUf0bq
eOaol3CVwghFGUVT0EEi8mLkoqndXTaTETbFaIxICuSmrCbeUr8z+wkN27+opFoI
y3Cci1qSRqVm/HReOJUZcr1kBkGQYgyGU2Me03SbUrgsECBSdRWq64SgquSAkzC3
cy7Ct35ARxs+Wc4pVVtwjgw2W2e1u7f08d7jzNit/nD5zLo9jXPao73q4K8lNCbT
F1OcWrb5czBorv1xnV6pGV1tXfgpznT3pfl7sHZA+CDR1DJHtqbcoRjo3nmCR9MT
nSYj436Pi0mr/tyeBgWZrlhm1Twal+5WEzUi/9t78QPKSH1vLGxA3XC7dmSmGno8
i9zCd46C/Vx9I/6pQLOQOcdLIvdZosrQ46v9SiM+2C6zFUTkjxeYO20CcnORZsXB
Nx0vBzVOTnHNwJJeYCwtqMmuu+a4zozEASrJvcFTkTFArJ+Sa1sgOA+u5cH3qcce
J0yfVk7eNMILwADBG8/XKOiBNtnjP2+6aAc2Ad/fDjDN76Qtaq6AsTaEaQvZdQuH
P97gQvkLBRk/yPpBRsovxz3vpiMJnvLdpvSe4JGxh2yqUPIrVhE=
=zUkY
-----END PGP SIGNATURE-----

View File

@ -1,25 +0,0 @@
From 4a59997a18cb1c5269b05ef3f7a2fcd3ba2f7552 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 1 Jan 2018 19:34:40 +0100
Subject: [PATCH] Drop limit of 4096 lumps
---
src/mkwad.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/mkwad.c b/src/mkwad.c
index 45db4cd..3ad607b 100644
--- a/src/mkwad.c
+++ b/src/mkwad.c
@@ -105,8 +105,6 @@ void WADRopenR(struct WADINFO *info, const char *wadin)
ntry = WADRreadLong(info);
if (ntry <= 0)
ProgError("WR09", "%s: zero entries", fname(wadin));
- if (ntry >= 0x2000)
- ProgError("WR11", "%s: too many entries", fname(wadin));
info->dirpos = dirpos = WADRreadLong(info);
if ((dirpos < 0) || (dirpos > 0x10000000L))
ProgError("WR13", "%s: invalid directory offset %08lX",
--
2.15.1

View File

@ -1,39 +0,0 @@
From acd96b8c80a584d877845646ceac388feda46748 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 1 Jan 2018 19:28:24 +0100
Subject: [PATCH] build: fix gcc warnings abuot old K&R style function
declarations
Older gcc complain about the K&R-style prototype. Fix 'em.
(Forward ported from a deutex 4.4.x patch.)
src/deutex.c:108:1: warning: function declaration is not a prototype
src/deutex.c:1611:13: warning: function declaration is not a prototype
---
src/deutex.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/deutex.c b/src/deutex.c
index 15ff8c3..505a352 100644
--- a/src/deutex.c
+++ b/src/deutex.c
@@ -76,7 +76,7 @@ const char *palette_lump = "PLAYPAL";
static char anon[1] = { '\0' };
typedef void (*comfun_t) (int argc, const char *argv[]);
-static void opt_widths();
+static void opt_widths(void);
static int is_prefix(const char *s1, const char *s2);
static void call_opt(comfun_t func, ...);
@@ -1212,7 +1212,7 @@ void COMformat(int argc, const char *argv[])
/*
* opt_widths - make a pass through Com and compute widths per section
*/
-static void opt_widths()
+static void opt_widths(void)
{
comdef_t *d;
comdef_t *current_section = NULL;
--
2.15.1

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Tue Jan 9 00:09:12 UTC 2018 - avindra@opensuse.org
- update to 5.1.1
* Fixed: texture name array: the maximum possible string size is
now supported.
* Fixed: some warnings and errors with old versions of pkg-config
and gcc
* Fixed: Aliasing errors (caused crashes on some architectures,
such as sparc64)
* Can now build WADs with an arbitrary number of lumps. A warning
is emitted when more than 4046 are included (vanilla Doom limit).
- remove 0001-increase-array-size-for-char-tname-variable-51.patch
* upstreamed in 7024dd74a33780ef2dbdf614f4e52526cc3ab457
- remove 0001-Fix-strict-aliasing-violations.patch
* upstreamed in 85d821dd3c145be1a998ca2a704930caaad73030
- remove deutex-proto.diff
* upstreamed in 07bd0a5083fc15db20bee9056511bd3e10dd1362
- remove deutex-nolimit.diff
* fixed in f8b1336bbcb7bc387d3e856cc7c9f75697cd0f0b
- remove deprecated BuildRoot option
-------------------------------------------------------------------
Mon Jan 1 18:18:37 UTC 2018 - jengelh@inai.de

View File

@ -17,7 +17,7 @@
Name: deutex
Version: 5.1.0
Version: 5.1.1
Release: 0
Summary: WAD composer for Doom and related games
License: GPL-2.0+
@ -27,11 +27,6 @@ URL: https://github.com/Doom-Utils/deutex
Source: https://github.com/Doom-Utils/deutex/releases/download/v%version/%name-%version.tar.xz
Source2: https://github.com/Doom-Utils/deutex/releases/download/v%version/%name-%version.tar.xz.sig
Patch1: 0001-increase-array-size-for-char-tname-variable-51.patch
Patch2: 0001-Fix-strict-aliasing-violations.patch
Patch3: deutex-proto.diff
Patch4: deutex-nolimit.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: asciidoc
BuildRequires: automake
BuildRequires: pkgconfig
@ -49,7 +44,6 @@ functions such as merging WADs.
%prep
%setup -q
%patch -P 1 -P 2 -P 3 -P 4 -p1
%build
autoreconf -fiv