diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..165a018
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/libXmu-1.1.2.tar.bz2
diff --git a/.libXmu.metadata b/.libXmu.metadata
new file mode 100644
index 0000000..88b18f7
--- /dev/null
+++ b/.libXmu.metadata
@@ -0,0 +1 @@
+7e6aeef726743d21aa272c424e7d7996e92599eb SOURCES/libXmu-1.1.2.tar.bz2
diff --git a/SOURCES/0001-Convert-tabs-to-spaces-in-StrToWidg.c.patch b/SOURCES/0001-Convert-tabs-to-spaces-in-StrToWidg.c.patch
new file mode 100644
index 0000000..4d4787b
--- /dev/null
+++ b/SOURCES/0001-Convert-tabs-to-spaces-in-StrToWidg.c.patch
@@ -0,0 +1,182 @@
+From bc78541e9a9a95bbd5413d62bfc114ddc9265c36 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat, 5 May 2018 11:26:17 -0700
+Subject: [PATCH 1/2] Convert tabs to spaces in StrToWidg.c
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+ src/StrToWidg.c | 106 ++++++++++++++++++++++++------------------------
+ 1 file changed, 53 insertions(+), 53 deletions(-)
+
+diff --git a/src/StrToWidg.c b/src/StrToWidg.c
+index c22b827..6aace95 100644
+--- a/src/StrToWidg.c
++++ b/src/StrToWidg.c
+@@ -53,7 +53,7 @@ in this Software without prior written authorization from The Open Group.
+ /*ARGSUSED*/
+ void
+ XmuCvtStringToWidget(XrmValuePtr args, Cardinal *num_args,
+-		     XrmValuePtr fromVal, XrmValuePtr toVal)
++                     XrmValuePtr fromVal, XrmValuePtr toVal)
+ {
+     static Widget widget, *widgetP, parent;
+     XrmName name = XrmStringToName(fromVal->addr);
+@@ -61,55 +61,55 @@ XmuCvtStringToWidget(XrmValuePtr args, Cardinal *num_args,
+ 
+     if (*num_args != 1)
+     {
+-	i = 0;
+-	XtErrorMsg("wrongParameters", "cvtStringToWidget", "xtToolkitError",
+-		   "StringToWidget conversion needs parent arg", NULL, &i);
++        i = 0;
++        XtErrorMsg("wrongParameters", "cvtStringToWidget", "xtToolkitError",
++                   "StringToWidget conversion needs parent arg", NULL, &i);
+     }
+ 
+     parent = *(Widget*)args[0].addr;
+     /* try to match names of normal children */
+   if (XtIsComposite(parent))
+     {
+-	i = ((CompositeWidget)parent)->composite.num_children;
+-	for (widgetP = ((CompositeWidget)parent)->composite.children;
+-	   i; i--, widgetP++)
+-	if ((*widgetP)->core.xrm_name == name)
+-	  {
+-		widget = *widgetP;
+-		done(&widget, Widget);
+-	    }
+-	}
++        i = ((CompositeWidget)parent)->composite.num_children;
++        for (widgetP = ((CompositeWidget)parent)->composite.children;
++           i; i--, widgetP++)
++        if ((*widgetP)->core.xrm_name == name)
++          {
++                widget = *widgetP;
++                done(&widget, Widget);
++            }
++        }
+ 
+     /* try to match names of popup children */
+     i = parent->core.num_popups;
+   for (widgetP = parent->core.popup_list; i; i--, widgetP++)
+     if ((*widgetP)->core.xrm_name == name)
+       {
+-	    widget = *widgetP;
+-	    done(&widget, Widget);
+-	}
++            widget = *widgetP;
++            done(&widget, Widget);
++        }
+ 
+     /* try to match classes of normal children */
+   if (XtIsComposite(parent))
+     {
+-	i = ((CompositeWidget)parent)->composite.num_children;
+-	for (widgetP = ((CompositeWidget)parent)->composite.children;
+-	   i; i--, widgetP++)
+-	if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
+-	  {
+-		widget = *widgetP;
+-		done(&widget, Widget);
+-	    }
+-	}
++        i = ((CompositeWidget)parent)->composite.num_children;
++        for (widgetP = ((CompositeWidget)parent)->composite.children;
++           i; i--, widgetP++)
++        if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
++          {
++                widget = *widgetP;
++                done(&widget, Widget);
++            }
++        }
+ 
+     /* try to match classes of popup children */
+     i = parent->core.num_popups;
+   for (widgetP = parent->core.popup_list; i; i--, widgetP++)
+     if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
+       {
+-	    widget = *widgetP;
+-	    done(&widget, Widget);
+-	}
++            widget = *widgetP;
++            done(&widget, Widget);
++        }
+ 
+     XtStringConversionWarning(fromVal->addr, XtRWidget);
+     toVal->addr = NULL;
+@@ -118,47 +118,47 @@ XmuCvtStringToWidget(XrmValuePtr args, Cardinal *num_args,
+ 
+ #undef done
+ 
+-#define	newDone(type, value) \
+-	{							\
+-	    if (toVal->addr != NULL) {				\
+-		if (toVal->size < sizeof(type)) {		\
+-		    toVal->size = sizeof(type);			\
+-		    return False;				\
+-		}						\
+-		*(type*)(toVal->addr) = (value);		\
+-	    }							\
+-	    else {						\
+-		static type static_val;				\
+-		static_val = (value);				\
+-		toVal->addr = (XtPointer)&static_val;		\
+-	    }							\
+-	    toVal->size = sizeof(type);				\
+-	    return True;					\
+-	}
++#define newDone(type, value) \
++        {                                                       \
++            if (toVal->addr != NULL) {                          \
++                if (toVal->size < sizeof(type)) {               \
++                    toVal->size = sizeof(type);                 \
++                    return False;                               \
++                }                                               \
++                *(type*)(toVal->addr) = (value);                \
++            }                                                   \
++            else {                                              \
++                static type static_val;                         \
++                static_val = (value);                           \
++                toVal->addr = (XtPointer)&static_val;           \
++            }                                                   \
++            toVal->size = sizeof(type);                         \
++            return True;                                        \
++        }
+ 
+ 
+ /*ARGSUSED*/
+ Boolean
+ XmuNewCvtStringToWidget(Display *dpy, XrmValue *args, Cardinal *num_args,
+-			XrmValue *fromVal, XrmValue *toVal,
+-			XtPointer *converter_data)
++                        XrmValue *fromVal, XrmValue *toVal,
++                        XtPointer *converter_data)
+ {
+     Widget *widgetP, parent;
+     XrmName name = XrmStringToName(fromVal->addr);
+     int i;
+ 
+     if (*num_args != 1)
+-	XtAppWarningMsg(XtDisplayToApplicationContext(dpy),
+-			"wrongParameters","cvtStringToWidget","xtToolkitError",
+-			"String To Widget conversion needs parent argument",
+-			(String *)NULL, (Cardinal *)NULL);
++        XtAppWarningMsg(XtDisplayToApplicationContext(dpy),
++                        "wrongParameters","cvtStringToWidget","xtToolkitError",
++                        "String To Widget conversion needs parent argument",
++                        (String *)NULL, (Cardinal *)NULL);
+ 
+     parent = *(Widget*)args[0].addr;
+     /* try to match names of normal children */
+   if (XtIsComposite(parent))
+     {
+-	i = ((CompositeWidget)parent)->composite.num_children;
+-	for (widgetP = ((CompositeWidget)parent)->composite.children;
++        i = ((CompositeWidget)parent)->composite.num_children;
++        for (widgetP = ((CompositeWidget)parent)->composite.children;
+ 	   i; i--, widgetP++)
+ 	    if ((*widgetP)->core.xrm_name == name)
+ 		newDone(Widget, *widgetP);
+-- 
+2.17.1
+
diff --git a/SOURCES/0001-ShapeEllipseOrRoundedRectangle-Check-height-AND-widt.patch b/SOURCES/0001-ShapeEllipseOrRoundedRectangle-Check-height-AND-widt.patch
new file mode 100644
index 0000000..8095d4f
--- /dev/null
+++ b/SOURCES/0001-ShapeEllipseOrRoundedRectangle-Check-height-AND-widt.patch
@@ -0,0 +1,33 @@
+From 22d9c590901e121936f50dee97dc60c4f7defb63 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Mon, 2 Dec 2013 13:00:05 -0800
+Subject: [PATCH] ShapeEllipseOrRoundedRectangle: Check height AND width, not
+ width twice
+
+Fixed to match check in ShapeOval()
+https://bugs.freedesktop.org/show_bug.cgi?id=72245
+
+Fixes cppcheck warning:
+[ShapeWidg.c:204]: (style) Same expression on both sides of '||'.
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+ src/ShapeWidg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ShapeWidg.c b/src/ShapeWidg.c
+index 32388ee..3ca7116 100644
+--- a/src/ShapeWidg.c
++++ b/src/ShapeWidg.c
+@@ -201,7 +201,7 @@ ShapeEllipseOrRoundedRectangle(Widget w, Bool ellipse, int ew, int eh)
+     GC gc;
+   unsigned long mask;
+ 
+-  if (width < 3 || width < 3)
++  if (width < 3 || height < 3)
+     return;
+   width += w->core.border_width << 1;
+   height += w->core.border_width << 1;
+-- 
+2.17.1
+
diff --git a/SOURCES/0002-Apply-standard-X.Org-formatting-bracketing-to-StrToW.patch b/SOURCES/0002-Apply-standard-X.Org-formatting-bracketing-to-StrToW.patch
new file mode 100644
index 0000000..41e502e
--- /dev/null
+++ b/SOURCES/0002-Apply-standard-X.Org-formatting-bracketing-to-StrToW.patch
@@ -0,0 +1,241 @@
+From 5bd4eb821bd9e88c3a131de9a8b781f5184e22b1 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat, 5 May 2018 11:32:12 -0700
+Subject: [PATCH 2/2] Apply standard X.Org formatting & bracketing to
+ StrToWidg.c
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Makes code easier for humans to read and gets rid of gcc warning:
+
+StrToWidg.c: In function ‘XmuCvtStringToWidget’:
+StrToWidg.c:107:3: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
+   for (widgetP = parent->core.popup_list; i; i--, widgetP++)
+   ^~~
+StrToWidg.c:114:5: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
+     XtStringConversionWarning(fromVal->addr, XtRWidget);
+     ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+ src/StrToWidg.c | 150 ++++++++++++++++++++++++------------------------
+ 1 file changed, 74 insertions(+), 76 deletions(-)
+
+diff --git a/src/StrToWidg.c b/src/StrToWidg.c
+index 6aace95..b6288d4 100644
+--- a/src/StrToWidg.c
++++ b/src/StrToWidg.c
+@@ -59,57 +59,54 @@ XmuCvtStringToWidget(XrmValuePtr args, Cardinal *num_args,
+     XrmName name = XrmStringToName(fromVal->addr);
+     Cardinal i;
+ 
+-    if (*num_args != 1)
+-    {
++    if (*num_args != 1) {
+         i = 0;
+         XtErrorMsg("wrongParameters", "cvtStringToWidget", "xtToolkitError",
+                    "StringToWidget conversion needs parent arg", NULL, &i);
+     }
+ 
+-    parent = *(Widget*)args[0].addr;
++    parent = *(Widget *) args[0].addr;
+     /* try to match names of normal children */
+-  if (XtIsComposite(parent))
+-    {
+-        i = ((CompositeWidget)parent)->composite.num_children;
+-        for (widgetP = ((CompositeWidget)parent)->composite.children;
+-           i; i--, widgetP++)
+-        if ((*widgetP)->core.xrm_name == name)
+-          {
++    if (XtIsComposite(parent)) {
++        i = ((CompositeWidget) parent)->composite.num_children;
++        for (widgetP = ((CompositeWidget) parent)->composite.children;
++             i; i--, widgetP++) {
++            if ((*widgetP)->core.xrm_name == name) {
+                 widget = *widgetP;
+                 done(&widget, Widget);
+             }
+         }
++    }
+ 
+     /* try to match names of popup children */
+     i = parent->core.num_popups;
+-  for (widgetP = parent->core.popup_list; i; i--, widgetP++)
+-    if ((*widgetP)->core.xrm_name == name)
+-      {
++    for (widgetP = parent->core.popup_list; i; i--, widgetP++) {
++        if ((*widgetP)->core.xrm_name == name) {
+             widget = *widgetP;
+             done(&widget, Widget);
+         }
++    }
+ 
+     /* try to match classes of normal children */
+-  if (XtIsComposite(parent))
+-    {
+-        i = ((CompositeWidget)parent)->composite.num_children;
+-        for (widgetP = ((CompositeWidget)parent)->composite.children;
+-           i; i--, widgetP++)
+-        if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
+-          {
++    if (XtIsComposite(parent)) {
++        i = ((CompositeWidget) parent)->composite.num_children;
++        for (widgetP = ((CompositeWidget) parent)->composite.children;
++             i; i--, widgetP++) {
++            if ((*widgetP)->core.widget_class->core_class.xrm_class == name) {
+                 widget = *widgetP;
+                 done(&widget, Widget);
+             }
+         }
++    }
+ 
+     /* try to match classes of popup children */
+     i = parent->core.num_popups;
+-  for (widgetP = parent->core.popup_list; i; i--, widgetP++)
+-    if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
+-      {
++    for (widgetP = parent->core.popup_list; i; i--, widgetP++) {
++        if ((*widgetP)->core.widget_class->core_class.xrm_class == name) {
+             widget = *widgetP;
+             done(&widget, Widget);
+         }
++    }
+ 
+     XtStringConversionWarning(fromVal->addr, XtRWidget);
+     toVal->addr = NULL;
+@@ -149,77 +146,78 @@ XmuNewCvtStringToWidget(Display *dpy, XrmValue *args, Cardinal *num_args,
+ 
+     if (*num_args != 1)
+         XtAppWarningMsg(XtDisplayToApplicationContext(dpy),
+-                        "wrongParameters","cvtStringToWidget","xtToolkitError",
++                        "wrongParameters", "cvtStringToWidget",
++                        "xtToolkitError",
+                         "String To Widget conversion needs parent argument",
+-                        (String *)NULL, (Cardinal *)NULL);
++                        (String *) NULL, (Cardinal *) NULL);
+ 
+-    parent = *(Widget*)args[0].addr;
++    parent = *(Widget *) args[0].addr;
+     /* try to match names of normal children */
+-  if (XtIsComposite(parent))
+-    {
+-        i = ((CompositeWidget)parent)->composite.num_children;
+-        for (widgetP = ((CompositeWidget)parent)->composite.children;
+-	   i; i--, widgetP++)
+-	    if ((*widgetP)->core.xrm_name == name)
+-		newDone(Widget, *widgetP);
+-	}
++    if (XtIsComposite(parent)) {
++        i = ((CompositeWidget) parent)->composite.num_children;
++        for (widgetP = ((CompositeWidget) parent)->composite.children;
++             i; i--, widgetP++) {
++            if ((*widgetP)->core.xrm_name == name)
++                newDone(Widget, *widgetP);
++        }
++    }
+ 
+     /* try to match names of popup children */
+     i = parent->core.num_popups;
+-  for (widgetP = parent->core.popup_list; i; i--, widgetP++)
+-	if ((*widgetP)->core.xrm_name == name)
+-	    newDone(Widget, *widgetP);
++    for (widgetP = parent->core.popup_list; i; i--, widgetP++) {
++        if ((*widgetP)->core.xrm_name == name)
++            newDone(Widget, *widgetP);
++    }
+ 
+     /* try to match classes of normal children */
+-  if (XtIsComposite(parent))
+-    {
+-	i = ((CompositeWidget)parent)->composite.num_children;
+-	for (widgetP = ((CompositeWidget)parent)->composite.children;
+-	   i; i--, widgetP++)
+-	    if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
+-		newDone(Widget, *widgetP);
+-	}
++    if (XtIsComposite(parent)) {
++        i = ((CompositeWidget) parent)->composite.num_children;
++        for (widgetP = ((CompositeWidget) parent)->composite.children;
++             i; i--, widgetP++) {
++            if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
++                newDone(Widget, *widgetP);
++        }
++    }
+ 
+     /* try to match classes of popup children */
+     i = parent->core.num_popups;
+-  for (widgetP = parent->core.popup_list; i; i--, widgetP++)
+-	if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
+-	    newDone(Widget, *widgetP);
++    for (widgetP = parent->core.popup_list; i; i--, widgetP++) {
++        if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
++            newDone(Widget, *widgetP);
++    }
+ 
+-    XtDisplayStringConversionWarning(dpy, (String)fromVal->addr, XtRWidget);
+-  return (False);
++    XtDisplayStringConversionWarning(dpy, (String) fromVal->addr, XtRWidget);
++    return (False);
+ }
+ 
+ /*ARGSUSED*/
+ Boolean
+ XmuCvtWidgetToString(Display *dpy, XrmValuePtr args, Cardinal *num_args,
+-		     XrmValuePtr fromVal, XrmValuePtr toVal,
+-		     XtPointer *data)
++                     XrmValuePtr fromVal, XrmValuePtr toVal, XtPointer *data)
+ {
+-  static String buffer;
+-  Cardinal size;
+-  Widget widget;
+-
+-  widget = *(Widget *)fromVal->addr;
+-
+-  if (widget)
+-    buffer = XrmQuarkToString(widget->core.xrm_name);
+-  else
+-    buffer = "(null)";
+-
+-  size = strlen(buffer) + 1;
+-  if (toVal->addr != NULL)
+-    {
+-      if (toVal->size < size)
+-	{
+-	  toVal->size = size;
+-	  return (False);
+-	}
+-      strcpy((char *)toVal->addr, buffer);
++    static String buffer;
++    Cardinal size;
++    Widget widget;
++
++    widget = *(Widget *) fromVal->addr;
++
++    if (widget)
++        buffer = XrmQuarkToString(widget->core.xrm_name);
++    else
++        buffer = "(null)";
++
++    size = strlen(buffer) + 1;
++    if (toVal->addr != NULL) {
++        if (toVal->size < size) {
++            toVal->size = size;
++            return (False);
++        }
++        strcpy((char *) toVal->addr, buffer);
++    }
++    else {
++        toVal->addr = (XPointer) buffer;
+     }
+-  else
+-    toVal->addr = (XPointer)buffer;
+-  toVal->size = sizeof(String);
++    toVal->size = sizeof(String);
+ 
+-  return (True);
++    return (True);
+ }
+-- 
+2.17.1
+
diff --git a/SPECS/libXmu.spec b/SPECS/libXmu.spec
new file mode 100644
index 0000000..a75ed33
--- /dev/null
+++ b/SPECS/libXmu.spec
@@ -0,0 +1,150 @@
+# TODO: libXmuu split and/or elf filter emulation
+
+Summary: X.Org X11 libXmu/libXmuu runtime libraries
+Name: libXmu
+Version: 1.1.2
+Release: 12%{?dist}
+License: MIT
+Group: System Environment/Libraries
+URL: http://www.x.org
+
+Source0: https://www.x.org/pub/individual/lib/%{name}-%{version}.tar.bz2
+
+Patch1: 0001-ShapeEllipseOrRoundedRectangle-Check-height-AND-widt.patch
+Patch2: 0001-Convert-tabs-to-spaces-in-StrToWidg.c.patch
+Patch3: 0002-Apply-standard-X.Org-formatting-bracketing-to-StrToW.patch
+
+BuildRequires: autoconf automake libtool
+BuildRequires: xorg-x11-util-macros
+BuildRequires: libX11-devel
+BuildRequires: libXext-devel
+BuildRequires: libXt-devel
+BuildRequires: xmlto
+
+%description
+X.Org X11 libXmu/libXmuu runtime libraries
+
+%package devel
+Summary: X.Org X11 libXmu development package
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+X.Org X11 libXmu development package
+
+%prep
+%setup -q
+%patch1 -p1 -b .width_height_fix
+%patch2 -p1 -b .formatting1
+%patch3 -p1 -b .formatting2
+
+%build
+autoreconf -v --install --force
+%configure --disable-static
+make  %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make install DESTDIR=$RPM_BUILD_ROOT
+
+# We intentionally don't ship *.la files
+rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
+
+# fixup later
+rm -rf $RPM_BUILD_ROOT%{_docdir}
+
+%ldconfig_post
+%ldconfig_postun
+
+%files
+%doc COPYING README ChangeLog
+%{_libdir}/libXmu.so.6
+%{_libdir}/libXmu.so.6.2.0
+%{_libdir}/libXmuu.so.1
+%{_libdir}/libXmuu.so.1.0.0
+
+%files devel
+%dir %{_includedir}/X11/Xmu
+%{_includedir}/X11/Xmu/Atoms.h
+%{_includedir}/X11/Xmu/CharSet.h
+%{_includedir}/X11/Xmu/CloseHook.h
+%{_includedir}/X11/Xmu/Converters.h
+%{_includedir}/X11/Xmu/CurUtil.h
+%{_includedir}/X11/Xmu/CvtCache.h
+%{_includedir}/X11/Xmu/DisplayQue.h
+%{_includedir}/X11/Xmu/Drawing.h
+%{_includedir}/X11/Xmu/Editres.h
+%{_includedir}/X11/Xmu/EditresP.h
+%{_includedir}/X11/Xmu/Error.h
+%{_includedir}/X11/Xmu/ExtAgent.h
+%{_includedir}/X11/Xmu/Initer.h
+%{_includedir}/X11/Xmu/Lookup.h
+%{_includedir}/X11/Xmu/Misc.h
+%{_includedir}/X11/Xmu/StdCmap.h
+%{_includedir}/X11/Xmu/StdSel.h
+%{_includedir}/X11/Xmu/SysUtil.h
+%{_includedir}/X11/Xmu/WhitePoint.h
+%{_includedir}/X11/Xmu/WidgetNode.h
+%{_includedir}/X11/Xmu/WinUtil.h
+%{_includedir}/X11/Xmu/Xct.h
+%{_includedir}/X11/Xmu/Xmu.h
+%{_libdir}/libXmu.so
+%{_libdir}/libXmuu.so
+%{_libdir}/pkgconfig/xmu.pc
+%{_libdir}/pkgconfig/xmuu.pc
+
+%changelog
+* Tue Aug 14 2018 Benjamin Tissoires <benjamin.tissoires@redhat.com> 1.1.2-12
+- Add upstream fixes detected by covscan (rhbz 1607002)
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Thu Jul 05 2018 Adam Jackson <ajax@redhat.com> - 1.1.2-10
+- Drop useless %%defattr
+
+* Fri Jun 29 2018 Adam Jackson <ajax@redhat.com> - 1.1.2-9
+- Use ldconfig scriptlet macros
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Thu Jul 24 2014 Benjamin Tissoires <benjamin.tissoires@redhat.com> 1.1.2-1
+- libXmu 1.1.2
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Thu Mar 07 2013 Peter Hutterer <peter.hutterer@redhat.com> - 1.1.1-4
+- autoreconf for aarch64
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Mar 06 2012 Adam Jackson <ajax@redhat.com> 1.1.1-1
+- libXmu 1.1.1