commit 44014339246302509270656acbcce35f7503ec8a Author: CentOS Sources Date: Tue May 7 03:04:39 2019 -0400 import xorg-x11-server-utils-7.7-27.el8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3cb76ae --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +SOURCES/iceauth-1.0.8.tar.bz2 +SOURCES/rgb-1.0.6.tar.bz2 +SOURCES/sessreg-1.1.0.tar.bz2 +SOURCES/xgamma-1.0.6.tar.bz2 +SOURCES/xhost-1.0.7.tar.bz2 +SOURCES/xinput-1.6.2.tar.bz2 +SOURCES/xkill-1.0.5.tar.bz2 +SOURCES/xmodmap-1.0.9.tar.bz2 +SOURCES/xrandr-1.5.0.tar.bz2 +SOURCES/xrdb-1.1.1.tar.bz2 +SOURCES/xrefresh-1.0.6.tar.bz2 +SOURCES/xset-1.2.4.tar.bz2 +SOURCES/xsetpointer-1.0.1.tar.bz2 +SOURCES/xsetroot-1.1.2.tar.bz2 +SOURCES/xstdcmap-1.0.3.tar.bz2 diff --git a/.xorg-x11-server-utils.metadata b/.xorg-x11-server-utils.metadata new file mode 100644 index 0000000..2ff85fd --- /dev/null +++ b/.xorg-x11-server-utils.metadata @@ -0,0 +1,15 @@ +2ce23c40a17d98badeb8ce70d26e81a5ac0e178c SOURCES/iceauth-1.0.8.tar.bz2 +542fade81a74f8a6beaea8cb517bdf1033fc6b71 SOURCES/rgb-1.0.6.tar.bz2 +a27a476f7f39ae30a16dfa25ca07c12378cff7f0 SOURCES/sessreg-1.1.0.tar.bz2 +af1484d0d70bc71dc9d3b7b95645881b7165c41b SOURCES/xgamma-1.0.6.tar.bz2 +8abfb0554e14a074f0dbfdda4919880e088545cb SOURCES/xhost-1.0.7.tar.bz2 +68367ae6cb4753eeb5fd209afe033d7c4a817748 SOURCES/xinput-1.6.2.tar.bz2 +c5ee06b33adb252a41e4f737be6bd47651ff582a SOURCES/xkill-1.0.5.tar.bz2 +fe735c8bbba68d7eb50f82d4e092fdcadf161314 SOURCES/xmodmap-1.0.9.tar.bz2 +f402b2ed85817c2e111afafd6f5d0657328be2fa SOURCES/xrandr-1.5.0.tar.bz2 +0d6b1cae357574d565d6e6bc10f6ccf073e1b9dd SOURCES/xrdb-1.1.1.tar.bz2 +11eb5b3f905631281d2cedd86a0b666bab0d9bdc SOURCES/xrefresh-1.0.6.tar.bz2 +41a857f30ff5bb0dfbda1549bb703984344ea228 SOURCES/xset-1.2.4.tar.bz2 +a8b01c6f27625a6f6943f9be17b1e5511f69d710 SOURCES/xsetpointer-1.0.1.tar.bz2 +42ab81761823b44974feab86477007c49dbace50 SOURCES/xsetroot-1.1.2.tar.bz2 +b7fcc50ae6100d2ba91d6847969fd9d2b6784a90 SOURCES/xstdcmap-1.0.3.tar.bz2 diff --git a/SOURCES/0001-sessreg-Replace-strncpy-calls-with-a-sane-version-that-alway.patch b/SOURCES/0001-sessreg-Replace-strncpy-calls-with-a-sane-version-that-alway.patch new file mode 100644 index 0000000..cb5215d --- /dev/null +++ b/SOURCES/0001-sessreg-Replace-strncpy-calls-with-a-sane-version-that-alway.patch @@ -0,0 +1,104 @@ +From eb22398e59ae2d17bfc444400cb688c82448cb92 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Wed, 12 Sep 2018 14:46:05 +1000 +Subject: [PATCH app/sessreg] Replace strncpy calls with a sane version that + always terminates + +Fixes coverity complaints about potentially unterminated strings +--- + sessreg.c | 26 +++++++++++++++++--------- + 1 file changed, 17 insertions(+), 9 deletions(-) + +diff --git a/sessreg.c b/sessreg.c +index 0a8fdb2..53b30b0 100644 +--- a/sessreg.c ++++ b/sessreg.c +@@ -192,6 +192,14 @@ sysnerr (int x, const char *s) + return x; + } + ++static void ++safe_strncpy(char *dest, const char *src, size_t n) ++{ ++ (void)strncpy(dest, src, n); ++ if (n > 0) ++ dest[n - 1] = '\0'; ++} ++ + int + main (int argc, char **argv) + { +@@ -406,9 +414,9 @@ main (int argc, char **argv) + memset(&ll, 0, sizeof(ll)); + ll.ll_time = current_time; + if (line) +- (void) strncpy (ll.ll_line, line, sizeof (ll.ll_line)); ++ safe_strncpy (ll.ll_line, line, sizeof (ll.ll_line)); + if (host_name) +- (void) strncpy (ll.ll_host, host_name, sizeof (ll.ll_host)); ++ safe_strncpy (ll.ll_host, host_name, sizeof (ll.ll_host)); + + sysnerr (write (llog, (char *) &ll, sizeof (ll)) + == sizeof (ll), "write lastlog entry"); +@@ -429,11 +437,11 @@ set_utmp (struct utmp *u, char *line, char *user, char *host, time_t date, int a + { + memset (u, 0, sizeof (*u)); + if (line) +- (void) strncpy (u->ut_line, line, sizeof (u->ut_line)); ++ safe_strncpy (u->ut_line, line, sizeof (u->ut_line)); + else + memset (u->ut_line, 0, sizeof (u->ut_line)); + if (addp && user) +- (void) strncpy (u->ut_name, user, sizeof (u->ut_name)); ++ safe_strncpy (u->ut_name, user, sizeof (u->ut_name)); + else + memset (u->ut_name, 0, sizeof (u->ut_name)); + #ifdef HAVE_STRUCT_UTMP_UT_ID +@@ -451,7 +459,7 @@ set_utmp (struct utmp *u, char *line, char *user, char *host, time_t date, int a + i -= sizeof (u->ut_id); + else + i = 0; +- (void) strncpy (u->ut_id, line + i, sizeof (u->ut_id)); ++ safe_strncpy (u->ut_id, line + i, sizeof (u->ut_id)); + } else + memset (u->ut_id, 0, sizeof (u->ut_id)); + #endif +@@ -469,7 +477,7 @@ set_utmp (struct utmp *u, char *line, char *user, char *host, time_t date, int a + #endif + #ifdef HAVE_STRUCT_UTMP_UT_HOST + if (addp && host) +- (void) strncpy (u->ut_host, host, sizeof (u->ut_host)); ++ safe_strncpy (u->ut_host, host, sizeof (u->ut_host)); + else + memset (u->ut_host, 0, sizeof (u->ut_host)); + #endif +@@ -513,7 +521,7 @@ set_utmpx (struct utmpx *u, const char *line, const char *user, + if(strcmp(line, ":0") == 0) + (void) strcpy(u->ut_line, "console"); + else +- (void) strncpy (u->ut_line, line, sizeof (u->ut_line)); ++ safe_strncpy (u->ut_line, line, sizeof (u->ut_line)); + + strncpy(u->ut_host, line, sizeof(u->ut_host)); + #ifdef HAVE_STRUCT_UTMPX_UT_SYSLEN +@@ -523,7 +531,7 @@ set_utmpx (struct utmpx *u, const char *line, const char *user, + else + memset (u->ut_line, 0, sizeof (u->ut_line)); + if (addp && user) +- (void) strncpy (u->ut_user, user, sizeof (u->ut_user)); ++ safe_strncpy (u->ut_user, user, sizeof (u->ut_user)); + else + memset (u->ut_user, 0, sizeof (u->ut_user)); + +@@ -541,7 +549,7 @@ set_utmpx (struct utmpx *u, const char *line, const char *user, + i -= sizeof (u->ut_id); + else + i = 0; +- (void) strncpy (u->ut_id, line + i, sizeof (u->ut_id)); ++ safe_strncpy (u->ut_id, line + i, sizeof (u->ut_id)); + + /* make sure there is no entry using identical ut_id */ + if (!UtmpxIdOpen(u->ut_id) && addp) { +-- +2.17.1 + diff --git a/SOURCES/0001-xinput-property-plug-a-memory-leak.patch b/SOURCES/0001-xinput-property-plug-a-memory-leak.patch new file mode 100644 index 0000000..6f071aa --- /dev/null +++ b/SOURCES/0001-xinput-property-plug-a-memory-leak.patch @@ -0,0 +1,116 @@ +From 3ea8f02027b18cf06774c8f26a719e321e9a78f2 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Wed, 12 Sep 2018 14:49:21 +1000 +Subject: [PATCH xinput] property: plug a memory leak + +Not that it matters since we'll exit after this call anyway, but coverity is +unhappy and that makes us all unhappy, doesn't it? + +Signed-off-by: Peter Hutterer +--- + src/property.c | 27 +++++++++++++++------------ + 1 file changed, 15 insertions(+), 12 deletions(-) + +diff --git a/src/property.c b/src/property.c +index e4a46f8..071f80f 100644 +--- a/src/property.c ++++ b/src/property.c +@@ -610,19 +610,20 @@ do_set_prop_xi2(Display *dpy, Atom type, int format, int argc, char **argv, char + unsigned char *c; + int16_t *s; + int32_t *l; +- } data; ++ } data = { NULL }; ++ int rc = EXIT_FAILURE; + + if (argc < 3) + { + fprintf(stderr, "Usage: xinput %s %s\n", n, desc); +- return EXIT_FAILURE; ++ goto out; + } + + info = xi2_find_device_info(dpy, argv[0]); + if (!info) + { + fprintf(stderr, "unable to find device %s\n", argv[0]); +- return EXIT_FAILURE; ++ goto out; + } + + name = argv[1]; +@@ -631,7 +632,7 @@ do_set_prop_xi2(Display *dpy, Atom type, int format, int argc, char **argv, char + + if (prop == None) { + fprintf(stderr, "invalid property '%s'\n", name); +- return EXIT_FAILURE; ++ goto out; + } + + float_atom = XInternAtom(dpy, "FLOAT", False); +@@ -643,7 +644,7 @@ do_set_prop_xi2(Display *dpy, Atom type, int format, int argc, char **argv, char + &bytes_after, &data.c) != Success) { + fprintf(stderr, "failed to get property type and format for '%s'\n", + name); +- return EXIT_FAILURE; ++ goto out; + } else { + if (type == None) + type = old_type; +@@ -657,7 +658,7 @@ do_set_prop_xi2(Display *dpy, Atom type, int format, int argc, char **argv, char + if (type == None) { + fprintf(stderr, "property '%s' doesn't exist, you need to specify " + "its type and format\n", name); +- return EXIT_FAILURE; ++ goto out; + } + + data.c = calloc(nelements, sizeof(int32_t)); +@@ -678,36 +679,38 @@ do_set_prop_xi2(Display *dpy, Atom type, int format, int argc, char **argv, char + break; + default: + fprintf(stderr, "unexpected size for property %s", name); +- return EXIT_FAILURE; ++ goto out; + } + } else if (type == float_atom) { + if (format != 32) { + fprintf(stderr, "unexpected format %d for property '%s'\n", + format, name); +- return EXIT_FAILURE; ++ goto out; + } + *(float *)(data.l + i) = strtod(argv[2 + i], &endptr); + if (endptr == argv[2 + i]) { + fprintf(stderr, "argument %s could not be parsed\n", argv[2 + i]); +- return EXIT_FAILURE; ++ goto out; + } + } else if (type == XA_ATOM) { + if (format != 32) { + fprintf(stderr, "unexpected format %d for property '%s'\n", + format, name); +- return EXIT_FAILURE; ++ goto out; + } + data.l[i] = parse_atom(dpy, argv[2 + i]); + } else { + fprintf(stderr, "unexpected type for property '%s'\n", name); +- return EXIT_FAILURE; ++ goto out; + } + } + + XIChangeProperty(dpy, info->deviceid, prop, type, format, PropModeReplace, + data.c, nelements); ++ rc = EXIT_SUCCESS; ++out: + free(data.c); +- return EXIT_SUCCESS; ++ return rc; + } + #endif + +-- +2.17.1 + diff --git a/SOURCES/0001-xrandr-init-the-name-to-0.patch b/SOURCES/0001-xrandr-init-the-name-to-0.patch new file mode 100644 index 0000000..55aad1c --- /dev/null +++ b/SOURCES/0001-xrandr-init-the-name-to-0.patch @@ -0,0 +1,41 @@ +From a2134406ab0aef44e7b710e1e2a2a40965e96692 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Thu, 13 Sep 2018 09:44:16 +1000 +Subject: [PATCH app/xrandr] init the name to 0 + +There are a few conditions where coverity finds a use of an uninitialized +field of the name_t struct. These are rather messy combinations of conditions, +so let's go with the simple solution here and just init everything to 0. +This may still have side-effects but at least they'll be more obvious than the +previous "use whatever memory is leftover from breakfast". + +This patch also adds a missing init_name(), much for the same reason. + +Signed-off-by: Peter Hutterer +--- + xrandr.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/xrandr.c b/xrandr.c +index 7f1e867..ce3cd91 100644 +--- a/xrandr.c ++++ b/xrandr.c +@@ -637,6 +637,7 @@ print_verbose_mode (const XRRModeInfo *mode, Bool current, Bool preferred) + static void + init_name (name_t *name) + { ++ memset(name, 0, sizeof(*name)); + name->kind = name_none; + } + +@@ -1822,6 +1823,7 @@ get_outputs (void) + output_t *output; + name_t output_name; + if (!output_info) fatal ("could not get output 0x%lx information\n", res->outputs[o]); ++ init_name(&output_name); + set_name_xid (&output_name, res->outputs[o]); + set_name_index (&output_name, o); + set_name_string (&output_name, output_info->name); +-- +2.17.1 + diff --git a/SOURCES/0001-xrandr-suppress-misleading-indentation-warning.patch b/SOURCES/0001-xrandr-suppress-misleading-indentation-warning.patch new file mode 100644 index 0000000..114baad --- /dev/null +++ b/SOURCES/0001-xrandr-suppress-misleading-indentation-warning.patch @@ -0,0 +1,47 @@ +From 215a01f1513f918e7295a8a477d4674f7b8085f0 Mon Sep 17 00:00:00 2001 +From: Giuseppe Bilotta +Date: Wed, 18 Jan 2017 08:52:23 +0100 +Subject: [PATCH app/xrandr] xrandr: suppress misleading indentation warning + +When printing out rotations, we print a space before any item other than +the first, and set `first = False` in each block where we print. +However, this is done in the same line as the conditional that checks if +first is set, which may give the impression that the assignment is also +under the conditional. This is not the case, and recent GCC warns about +this. + +Move the assignment to after we print the value we want to print, which +(1) doesn't mislead about the indentation, and +(2) makes logical sense as the _next_ entry is what won't be the first. + +Signed-off-by: Giuseppe Bilotta +--- + xrandr.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/xrandr.c b/xrandr.c +index dcfdde0..2aad946 100644 +--- a/xrandr.c ++++ b/xrandr.c +@@ -3703,14 +3703,16 @@ main (int argc, char **argv) + printf (" ("); + for (i = 0; i < 4; i ++) { + if ((rotations >> i) & 1) { +- if (!first) printf (" "); first = False; ++ if (!first) printf (" "); + printf("%s", direction[i]); ++ first = False; + } + } + if (rotations & RR_Reflect_X) + { +- if (!first) printf (" "); first = False; ++ if (!first) printf (" "); + printf ("x axis"); ++ first = False; + } + if (rotations & RR_Reflect_Y) + { +-- +2.17.1 + diff --git a/SOURCES/sessreg-1.1.0-get-rid-of-sed.patch b/SOURCES/sessreg-1.1.0-get-rid-of-sed.patch new file mode 100644 index 0000000..a9f299f --- /dev/null +++ b/SOURCES/sessreg-1.1.0-get-rid-of-sed.patch @@ -0,0 +1,168 @@ +diff -Naur sessreg-1.1.0.old/man/filenames.sed.c sessreg-1.1.0/man/filenames.sed.c +--- sessreg-1.1.0.old/man/filenames.sed.c 2015-04-30 13:58:47.780569645 +0200 ++++ sessreg-1.1.0/man/filenames.sed.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,36 +0,0 @@ +-#include "sessreg.h" +- +-#ifdef UTMPX_FILE +-# define UTF UTMPX_FILE +-# define UTM utmpx +-/* delete utmp-only content */ +-/__BEGIN_UTMP_ONLY__/,/__END_UTMP_ONLY__/ d +-#else +-# define UTF UTMP_FILE +-# define UTM utmp +-/* delete utmpx-only content */ +-/__BEGIN_UTMPX_ONLY__/,/__END_UTMPX_ONLY__/ d +-#endif +- +-#ifdef WTMPX_FILE +-# define WTF WTMPX_FILE +-# define WTM wtmpx +-#else +-# define WTF WTMP_FILE +-# define WTM wtmp +-#endif +- +-#ifndef TTYS_FILE +-# define TTYS_FILE "/etc/ttys" +-#endif +- +-#ifndef LLOG_FILE +-# define LLOG_FILE "/var/log/lastlog" +-#endif +- +-s|__utmp_manpage__|UTM|g +-s|__utmp_file__|UTF|g +-s|__wtmp_manpage__|WTM|g +-s|__wtmp_file__|WTF|g +-s|__ttys_file__|TTYS_FILE|g +-s|__lastlog_file__|LLOG_FILE|g +diff -Naur sessreg-1.1.0.old/man/Makefile.am sessreg-1.1.0/man/Makefile.am +--- sessreg-1.1.0.old/man/Makefile.am 2015-04-30 13:58:47.780569645 +0200 ++++ sessreg-1.1.0/man/Makefile.am 2015-04-30 14:10:41.420249238 +0200 +@@ -3,20 +3,11 @@ + appman_PRE = sessreg.man + appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX)) + +-EXTRA_DIST = $(appman_PRE) filenames.sed.c +-CLEANFILES = $(appman_DATA) filenames.sed ++EXTRA_DIST = $(appman_PRE) ++CLEANFILES = $(appman_DATA) + SUFFIXES = .$(APP_MAN_SUFFIX) .man + + AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) +-filenames.sed: filenames.sed.c +- $(AM_V_GEN)$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ +- $(AM_CPPFLAGS) $(CPPFLAGS) $(srcdir)/filenames.sed.c | \ +- $(SED) -n -e '/s|__/ p' -e '/^\/__/ p' > $@ +- +-# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure +-MAN_SUBSTS += -f filenames.sed +- +-sessreg.$(APP_MAN_SUFFIX): filenames.sed + + .man.$(APP_MAN_SUFFIX): + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +diff -Naur sessreg-1.1.0.old/man/sessreg.man sessreg-1.1.0/man/sessreg.man +--- sessreg-1.1.0.old/man/sessreg.man 2015-04-30 13:58:47.780569645 +0200 ++++ sessreg-1.1.0/man/sessreg.man 2015-04-30 14:11:47.134127555 +0200 +@@ -24,11 +24,11 @@ + .\" + .TH SESSREG __appmansuffix__ __xorgversion__ + .SH NAME +-sessreg \- manage __utmp_manpage__/__wtmp_manpage__ entries for non-init clients ++sessreg \- manage utmp (__filemansuffix__)/wtmp (__filemansuffix__) entries for non-init clients + .SH SYNOPSIS + .B sessreg +-[-w \fI__wtmp_manpage__-file\fP] +-[-u \fI__utmp_manpage__-file\fP] ++[-w \fIwtmp (__filemansuffix__)-file\fP] ++[-u \fIutmp (__filemansuffix__)-file\fP] + [-L \fIlastlog-file\fP] + [-l \fIline-name\fP] + [-h \fIhost-name\fP] +@@ -41,25 +41,25 @@ + \fIuser-name\fP + .SH DESCRIPTION + .PP +-\fISessreg\fP is a simple program for managing __utmp_manpage__/__wtmp_manpage__ and lastlog ++\fISessreg\fP is a simple program for managing utmp (__filemansuffix__)/wtmp (__filemansuffix__) and lastlog + entries for xdm sessions. + .\" __BEGIN_UTMP_ONLY__ + .PP + System V has a better interface to utmp than BSD; it + dynamically allocates entries in the file, instead of writing them at fixed + positions indexed by position in +-.BR __ttys_file__ . ++.BR /etc/ttys . + .PP + To manage BSD-style utmp files, \fIsessreg\fP has two strategies. In + conjunction with xdm, the -x option counts the number of lines in +-.B __ttys_file__ ++.B /etc/ttys + and then adds to that the number of the line in the Xservers file which + specifies the display. The display name must be specified as the + "line-name" using the -l option. This sum is used as the "slot-number" in + the utmp file that this entry will be written at. In the more general case, + the -s option specifies the slot-number directly. If for some strange reason + your system uses a file other than +-.B __ttys_file__ ++.B /etc/ttys + to manage init, the -t option can direct + \fIsessreg\fP to look elsewhere for a count of terminal sessions. + .PP +@@ -95,17 +95,17 @@ + sessreg -d -l $DISPLAY -x /etc/X11/xdm/Xservers $USER + .fi + .SH OPTIONS +-.IP "\fB-w\fP \fI__wtmp_manpage__-file\fP" +-This specifies an alternate __wtmp_manpage__ file, instead of +-.BR __wtmp_file__ . +-The special name "none" disables writing records to the __wtmp_manpage__ file. +-.IP "\fB-u\fP \fI__utmp_manpage__-file\fP" +-This specifies an alternate __utmp_manpage__ file, instead of +-.BR __utmp_file__ . +-The special name "none" disables writing records to the __utmp_manpage__ file. ++.IP "\fB-w\fP \fIwtmp (__filemansuffix__)-file\fP" ++This specifies an alternate wtmp (__filemansuffix__) file, instead of ++.BR /var/log/wtmp . ++The special name "none" disables writing records to the wtmp (__filemansuffix__) file. ++.IP "\fB-u\fP \fIutmp (__filemansuffix__)-file\fP" ++This specifies an alternate utmp (__filemansuffix__) file, instead of ++.BR /var/run/utmp . ++The special name "none" disables writing records to the utmp (__filemansuffix__) file. + .IP "\fB-L\fP \fIlastlog-file\fP" + This specifies an alternate lastlog file, instead of +-.BR __lastlog_file__ , ++.BR /var/log/lastlog , + if the platform supports lastlog files. + The special name "none" disables writing records to the lastlog file. + .IP "\fB-l\fP \fIline-name\fP" +@@ -122,7 +122,7 @@ + .\" __BEGIN_UTMP_ONLY__ + Each potential session has a unique slot number in BSD systems, most are + identified by the position of the \fIline-name\fP in the +-.BR __ttys_file__ file. ++.BR /etc/ttys file. + This option overrides the default position determined with ttyslot(__libmansuffix__). + This option is inappropriate for use with xdm, the -x option is more useful. + .\" __END_UTMP_ONLY__ +@@ -153,13 +153,13 @@ + .IP "\fB-V\fP" + This option causes the command to print its version and exit. + .IP "\fB-a\fP" +-This session should be added to __utmp_manpage__/__wtmp_manpage__. ++This session should be added to utmp/wtmp. + .IP "\fB-d\fP" +-This session should be deleted from __utmp_manpage__/__wtmp_manpage__. One of -a/-d must ++This session should be deleted from utmp/wtmp. One of -a/-d must + be specified. + .SH "SEE ALSO" + .BR xdm (__appmansuffix__), +-.BR __utmp_manpage__ (__filemansuffix__), +-.BR __wtmp_manpage__ (__filemansuffix__) ++.BR utmp (__filemansuffix__), ++.BR wtmp (__filemansuffix__) + .SH AUTHOR + Keith Packard, MIT X Consortium diff --git a/SPECS/xorg-x11-server-utils.spec b/SPECS/xorg-x11-server-utils.spec new file mode 100644 index 0000000..003ca07 --- /dev/null +++ b/SPECS/xorg-x11-server-utils.spec @@ -0,0 +1,331 @@ +# doesn't work yet, needs more nickle bindings +%global with_xkeystone 0 + +# Component versions +%global iceauth 1.0.8 +%global rgb 1.0.6 +%global sessreg 1.1.0 +%global xgamma 1.0.6 +%global xhost 1.0.7 +%global xinput 1.6.2 +%global xkill 1.0.5 +%global xmodmap 1.0.9 +%global xrandr 1.5.0 +%global xrdb 1.1.1 +%global xrefresh 1.0.6 +%global xset 1.2.4 +%global xsetpointer 1.0.1 +%global xsetroot 1.1.2 +%global xstdcmap 1.0.3 + +Summary: X.Org X11 X server utilities +Name: xorg-x11-server-utils +Version: 7.7 +Release: 27%{?dist} +License: MIT +URL: http://www.x.org + +Source0: https://www.x.org/pub/individual/app/iceauth-%{iceauth}.tar.bz2 +Source1: https://www.x.org/pub/individual/app/rgb-%{rgb}.tar.bz2 +Source2: https://www.x.org/pub/individual/app/sessreg-%{sessreg}.tar.bz2 +Source3: https://www.x.org/pub/individual/app/xgamma-%{xgamma}.tar.bz2 +Source4: https://www.x.org/pub/individual/app/xhost-%{xhost}.tar.bz2 +Source5: https://www.x.org/pub/individual/app/xinput-%{xinput}.tar.bz2 +Source6: https://www.x.org/pub/individual/app/xkill-%{xkill}.tar.bz2 +Source7: https://www.x.org/pub/individual/app/xmodmap-%{xmodmap}.tar.bz2 +Source8: https://www.x.org/pub/individual/app/xrandr-%{xrandr}.tar.bz2 +Source9: https://www.x.org/pub/individual/app/xrdb-%{xrdb}.tar.bz2 +Source10: https://www.x.org/pub/individual/app/xrefresh-%{xrefresh}.tar.bz2 +Source11: https://www.x.org/pub/individual/app/xset-%{xset}.tar.bz2 +Source13: https://www.x.org/pub/individual/app/xsetpointer-%{xsetpointer}.tar.bz2 +Source14: https://www.x.org/pub/individual/app/xsetroot-%{xsetroot}.tar.bz2 +Source15: https://www.x.org/pub/individual/app/xstdcmap-%{xstdcmap}.tar.bz2 + +Patch0: sessreg-1.1.0-get-rid-of-sed.patch +Patch1: 0001-xinput-property-plug-a-memory-leak.patch +Patch2: 0001-sessreg-Replace-strncpy-calls-with-a-sane-version-that-alway.patch +Patch3: 0001-xrandr-suppress-misleading-indentation-warning.patch +Patch4: 0001-xrandr-init-the-name-to-0.patch + +BuildRequires: xorg-x11-util-macros + +BuildRequires: pkgconfig(xbitmaps) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xinerama) +BuildRequires: pkgconfig(xmu) +BuildRequires: pkgconfig(xpm) +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(xtrans) +BuildRequires: pkgconfig(xxf86misc) +BuildRequires: pkgconfig(xxf86vm) + +BuildRequires: libtool + +# xrdb, sigh +Requires: mcpp + +Provides: iceauth = %{iceauth} +Provides: rgb = %{rgb} +Provides: sessreg = %{sessreg} +Provides: xgamma = %{xgamma} +Provides: xhost = %{xhost} +Provides: xinput = %{xinput} +Provides: xkill = %{xkill} +Provides: xmodmap = %{xmodmap} +Provides: xrandr = %{xrandr} +Provides: xrdb = %{xrdb} +Provides: xrefresh = %{xrefresh} +Provides: xset = %{xset} +Provides: xsetpointer = %{xsetpointer} +Provides: xsetroot = %{xsetroot} +Provides: xstdcmap = %{xstdcmap} + +%description +A collection of utilities used to tweak and query the runtime configuration of +the X server. + +%if %{with_xkeystone} +%package -n xkeystone +Summary: X display keystone correction +Requires: nickle + +%description -n xkeystone +Utility to perform keystone adjustments on X screens. +%endif + +%prep +%setup -q -c %{name}-%{version} -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a13 -a14 -a15 +%patch0 +pushd xinput-%{xinput} +%patch1 -p1 +popd +pushd sessreg-%{sessreg} +%patch2 -p1 +popd +pushd xrandr-%{xrandr} +%patch3 -p1 +%patch4 -p1 +popd + +%build + +# Build all apps +{ + for app in * ; do + pushd $app + case $app in + xrdb-*) + autoreconf -vif + %configure --disable-silent-rules --with-cpp=%{_bindir}/mcpp + ;; + *) + autoreconf -vif + %configure --disable-silent-rules + ;; + esac + + make %{?_smp_mflags} + popd + done +} + +%install +# Install all apps +{ + for app in * ; do + pushd $app + case $app in + *) + %make_install + ;; + esac + popd + done +} +%if !%{with_xkeystone} +rm -f $RPM_BUILD_ROOT%{_bindir}/xkeystone +%endif + +%files +%doc +%{_bindir}/iceauth +%{_bindir}/sessreg +%{_bindir}/showrgb +%{_bindir}/xgamma +%{_bindir}/xhost +%{_bindir}/xinput +%{_bindir}/xkill +%{_bindir}/xmodmap +%{_bindir}/xrandr +%{_bindir}/xrdb +%{_bindir}/xrefresh +%{_bindir}/xset +%{_bindir}/xsetpointer +%{_bindir}/xsetroot +%{_bindir}/xstdcmap +%{_datadir}/X11/rgb.txt +%{_mandir}/man1/iceauth.1* +%{_mandir}/man1/sessreg.1* +%{_mandir}/man1/showrgb.1* +%{_mandir}/man1/xgamma.1* +%{_mandir}/man1/xhost.1* +%{_mandir}/man1/xinput.1* +%{_mandir}/man1/xkill.1* +%{_mandir}/man1/xmodmap.1* +%{_mandir}/man1/xrandr.1* +%{_mandir}/man1/xrdb.1* +%{_mandir}/man1/xrefresh.1* +%{_mandir}/man1/xset.1* +%{_mandir}/man1/xsetpointer.1* +%{_mandir}/man1/xsetroot.1* +%{_mandir}/man1/xstdcmap.1* + +%if %{with_xkeystone} +%files -n xkeystone +%{_bindir}/xkeystone +%endif + +%changelog +* Wed Sep 12 2018 Peter Hutterer 7.7-27 +- Fix a bunch of coverity warnings (#1607032) +- disable silent rules + +* Sat Jul 14 2018 Fedora Release Engineering - 7.7-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Mar 12 2018 Adam Jackson - 7.7-25 +- iceauth 1.0.8 +- xkill 1.0.5 +- xrdb 1.1.1 +- xrefresh 1.0.6 +- xset 1.2.4 +- xsetroot 1.1.2 +- HTTPS URLs + +* Fri Feb 09 2018 Fedora Release Engineering - 7.7-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 7.7-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 7.7-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 7.7-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Oct 26 2016 Peter Hutterer 7.7-20 +- Drop xsetmode. It's been broken for years + +* Tue Feb 23 2016 Simone Caronni - 7.7-19 +- xrandr 1.5.0 + +* Fri Feb 05 2016 Fedora Release Engineering - 7.7-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 20 2016 Peter Hutterer +- s/define/global/ + +* Tue Oct 20 2015 Peter Hutterer 7.7-17 +- xinput 1.6.2 + +* Fri Jun 19 2015 Fedora Release Engineering - 7.7-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri May 01 2015 Simone Caronni - 7.7-15 +- xgamma 1.0.6 +- xhost 1.0.7 + +* Thu Apr 30 2015 Simone Caronni - 7.7-14 +- xmodmap 1.0.9 +- Fix FTBFS Fedora 22 on sessreg. + +* Sat Feb 21 2015 Till Maas - 7.7-13 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Tue Jan 20 2015 Simone Caronni - 7.7-12 +- Update sessreg to 1.1.0. + +* Sat Jan 17 2015 Simone Caronni - 7.7-11 +- Update iceauth to 1.0.7. + +* Mon Nov 10 2014 Simone Caronni - 7.7-10 +- rgb 1.0.6 + +* Thu Oct 23 2014 Simone Caronni - 7.7-9 +- Clean up SPEC file, fix rpmlint warnings. + +* Wed Oct 01 2014 Adam Jackson 7.7-8 +- xrandr 1.4.3 + +* Mon Aug 18 2014 Fedora Release Engineering - 7.7-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Thu Jun 12 2014 Simone Caronni 7.7-6 +- iceauth 1.0.6 +- xhost 1.0.6 +- xrandr 1.4.2 +- xrefresh 1.0.5 +- xset 1.2.3 + +* Sun Jun 08 2014 Fedora Release Engineering - 7.7-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Sep 16 2013 Peter Hutterer 7.7-4 +- xinput 1.6.1 + +* Mon Sep 09 2013 Peter Hutterer 7.7-3 +- xmodmap 1.0.8 +- xkill 1.0.4 +- xrdb 1.1.0 + +* Sun Aug 04 2013 Fedora Release Engineering - 7.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Mar 27 2013 Adam Jackson 7.7-1 +- rgb 1.0.5 +- xsessreg 1.0.8 +- xgamma 1.0.5 +- xhost 1.0.5 +- xmodmap 1.0.7 +- xsetroot 1.1.1 +- xstdcmap 1.0.3 + +* Thu Mar 07 2013 Dave Airlie 7.5-17 +- autoconf for aarch64 + +* Wed Feb 13 2013 Benjamin Tissoires 7.5-16 +- xrandr 1.4.0 + +* Wed Jan 30 2013 Adam Jackson 7.5-15 +- Print primary output in xrandr + +* Wed Nov 14 2012 Adam Jackson 7.5-14 +- xinput 1.6.0 + +* Sun Jul 22 2012 Fedora Release Engineering - 7.5-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Apr 17 2012 Peter Hutterer 7.5-12 +- Add libXinerama-devel requires for new xinput + +* Tue Apr 17 2012 Peter Hutterer 7.5-11 +- xinput 1.5.99.901 + +* Sat Jan 14 2012 Fedora Release Engineering - 7.5-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Dec 22 2011 Peter Hutterer 7.5-9 +- xinput 1.5.4 + +* Thu Nov 10 2011 Adam Jackson 7.5-8 +- Move xinput and xkill here from xorg-x11-apps + +* Mon Oct 10 2011 Matěj Cepl - 7.5-7 +- Fix BuildRequires ... xbitmaps-devel does not exist anymore (RHBZ #744751) +- Upgrade to the latest upstream iceauth, rgb, sessreg, and xrandr