Hello community,
here is the log from the commit of package xorg-x11-fonts for
openSUSE:Leap:15.2 checked in at 2020-06-04 16:01:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/xorg-x11-fonts (Old)
and /work/SRC/openSUSE:Leap:15.2/.xorg-x11-fonts.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xorg-x11-fonts"
Thu Jun 4 16:01:59 2020 rev:16 rq:810943 version:7.6
Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/xorg-x11-fonts/xorg-x11-fonts.changes
2020-01-15 16:31:31.356858198 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.xorg-x11-fonts.new.3606/xorg-x11-fonts.changes
2020-06-04 16:03:32.471493698 +0200
@@ -1,0 +2,37 @@
+Tue May 5 07:48:12 UTC 2020 - Antonio Larrosa <[email protected]>
+
+- Restore the buildrequire for mkfontdir only for SLE and Leap
+
+-------------------------------------------------------------------
+Mon May 4 08:29:42 UTC 2020 - Antonio Larrosa <[email protected]>
+
+- Differentiate also Requires, BuildRequires, Obsoletes and more
+ statements between the two flavors.
+
+-------------------------------------------------------------------
+Thu Apr 30 12:34:54 UTC 2020 - Antonio Larrosa <[email protected]>
+
+- Use multibuild to add a converted flavor subpackage that has
+ Type1 and bitmap fonts converted to truetype/opentype format
+ (boo#1169444)
+
+-------------------------------------------------------------------
+Tue Jun 18 03:52:50 UTC 2019 - Stefan Dirsch <[email protected]>
+
+- encodings 1.0.5
+ * jisx0201.1976-0.enc: Add undefined mapping for 0x7f - 0xa0 range
+ * cns11643-x encodings don't need to alias to themselves
+
+-------------------------------------------------------------------
+Fri Mar 22 13:19:46 UTC 2019 - Stefan Dirsch <[email protected]>
+
+- no longer buildrequire mkfontdir package since mkfontdir program
+ is now included by mkfontscale package
+
+-------------------------------------------------------------------
+Thu Sep 27 19:21:52 UTC 2018 - [email protected]
+
+- make font Provides noarch; it was wrong from the beginning
+ (boo#1110020
+
+-------------------------------------------------------------------
Old:
----
encodings-1.0.4.tar.bz2
New:
----
_multibuild
convertfont.py
encodings-1.0.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-fonts.spec ++++++
--- /var/tmp/diff_new_pack.lp3hgO/_old 2020-06-04 16:03:33.215496187 +0200
+++ /var/tmp/diff_new_pack.lp3hgO/_new 2020-06-04 16:03:33.219496201 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xorg-x11-fonts
#
-# Copyright (c) 2018 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,35 +12,24 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
-Name: xorg-x11-fonts
-BuildRequires: bdftopcf
-BuildRequires: fontpackages-devel
-BuildRequires: mkfontdir
-BuildRequires: mkfontscale
-# ucs2any
-BuildRequires: font-util
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "converted"
+%define pkgflavor -converted
+%else
+%define pkgflavor %{nil}
+%endif
+
+Name: xorg-x11-fonts%{pkgflavor}
BuildRequires: pkgconfig
-Url: http://xorg.freedesktop.org/
+URL: http://xorg.freedesktop.org/
Version: 7.6
Release: 0
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-PreReq: fonts-config
-Requires: %{name}-core
-Provides: xorg-x11-fonts-100dpi
-Provides: xorg-x11-fonts-75dpi
-Provides: xorg-x11-fonts-cyrillic
-Provides: xorg-x11-fonts-scalable
-Provides: xorg-x11-fonts-syriac
-Obsoletes: xorg-x11-fonts-100dpi
-Obsoletes: xorg-x11-fonts-75dpi
-Obsoletes: xorg-x11-fonts-cyrillic
-Obsoletes: xorg-x11-fonts-scalable
-Obsoletes: xorg-x11-fonts-syriac
Summary: X.Org fonts
License: MIT
Group: System/X11/Fonts
@@ -75,22 +64,64 @@
Source29:
http://xorg.freedesktop.org/archive/individual/font/font-sun-misc-1.0.3.tar.bz2
Source30:
http://xorg.freedesktop.org/archive/individual/font/font-winitzki-cyrillic-1.0.3.tar.bz2
Source31:
http://xorg.freedesktop.org/archive/individual/font/font-xfree86-type1-1.0.4.tar.bz2
-Source32:
http://xorg.freedesktop.org/archive/individual/font/encodings-1.0.4.tar.bz2
+Source32:
http://xorg.freedesktop.org/archive/individual/font/encodings-1.0.5.tar.bz2
Source33:
http://xorg.freedesktop.org/archive/individual/font/font-adobe-utopia-100dpi-1.0.4.tar.bz2
Source34:
http://xorg.freedesktop.org/archive/individual/font/font-adobe-utopia-75dpi-1.0.4.tar.bz2
Source35:
http://xorg.freedesktop.org/archive/individual/font/font-adobe-utopia-type1-1.0.4.tar.bz2
Source36:
http://xorg.freedesktop.org/archive/individual/font/font-alias-1.0.3.tar.bz2
+%if "%{flavor}" == "converted"
+Source1000: https://pwu.fedorapeople.org/fonts/convertbitmap/convertfont.py
+BuildRequires: fontpackages-devel
+BuildRequires: fonttosfnt
+BuildRequires: ftdump
+BuildRequires: ttf-converter
+BuildRequires: xorg-x11-fonts
+Requires(post): fonts-config
+Requires(posttrans): fonts-config
+Requires(postun): fonts-config
+%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200
+# In TW and SLE 15 SP2/Leap 15.2 we have pango >= 1.44.0 which
+# doesn't support Type1 fonts (boo#1169444)
+Supplements: (xorg-x11-fonts and libpango-1_0-0)
+%endif
+%else
+# "%%{flavor}" != "converted"
+BuildRequires: bdftopcf
+BuildRequires: fontpackages-devel
+%if 0%{?suse_version} < 1550
+BuildRequires: mkfontdir
+%endif
+BuildRequires: mkfontscale
+# ucs2any
+BuildRequires: font-util
+PreReq: fonts-config
+Requires: %{name}-core
+Provides: xorg-x11-fonts-100dpi
+Provides: xorg-x11-fonts-75dpi
+Provides: xorg-x11-fonts-cyrillic
+Provides: xorg-x11-fonts-scalable
+Provides: xorg-x11-fonts-syriac
+Obsoletes: xorg-x11-fonts-100dpi
+Obsoletes: xorg-x11-fonts-75dpi
+Obsoletes: xorg-x11-fonts-cyrillic
+Obsoletes: xorg-x11-fonts-scalable
+Obsoletes: xorg-x11-fonts-syriac
+%endif
%description
This package contains fonts maintained and shipped with X.Org.
-
+%if "%{flavor}" == "converted"
+This package contains the Type1 (.pfb) fonts from xorg-x11-fonts,
+converted to TrueType format, so they can be used by
+applications that don't support Type1 fonts.
+%endif
%package core
Summary: Core Fonts for X.Org
Group: System/X11/Fonts
PreReq: fonts-config
-Provides: xorg-x11:/usr/X11R6/%{_lib}/X11/fonts/misc/cursor.pcf.gz
+Provides: xorg-x11:/usr/X11R6/lib/X11/fonts/misc/cursor.pcf.gz
%description core
This package contains the 'fixed' and 'cursor' font required for any X
@@ -100,10 +131,13 @@
%prep
%setup -n . -T -D
+%if "%{flavor}" != "converted"
rm -rf $RPM_BUILD_DIR/*
for i in $RPM_SOURCE_DIR/*.tar.bz2; do tar xjf $i; done
+%endif
%build
+%if "%{flavor}" != "converted"
echo -e '#!/bin/sh\nexec /usr/bin/gzip -n -9 "$@"' > ../gzip ; chmod a+x
../gzip ; PATH=`pwd`/..:$PATH
for dir in encodings-* $(ls | grep -v -e encodings -e alias) font-alias-* ; do
pushd $dir
@@ -127,7 +161,23 @@
popd
done
+%else
+# "%%{flavor}" == "converted"
+cp %{S:1000} .
+ttf-converter --input-dir /usr/share/fonts/Type1/ --output-dir generated
+cd generated
+python3 ../convertfont.py /usr/share/fonts/75dpi/*.pcf.gz
/usr/share/fonts/100dpi/*.pcf.gz
+
+# Luxi Mono, Luxi Sans and Luxi Serif are already distributed in ttf format
+rm Luxi*.ttf
+
+# Bitstream-Terminal and DEC-Terminal are not converted correctly so we better
remove them
+rm Bitstream-Terminal*.otb
+rm DEC-Terminal*.otb
+%endif
+
%install
+%if "%{flavor}" != "converted"
for dir in encodings-* $(ls | grep -v -e encodings -e alias) font-alias-* ; do
case $dir in
*misc-cyrillic-*) option='FONT_FILES=koi12x24b koi12x24 koi6x13b
koi7x14b koi8x16b koi8x16 koi9x15b koi9x18b';;
@@ -144,15 +194,33 @@
rm -f $RPM_BUILD_ROOT/fonts.{dir,scale}
rm -f $RPM_BUILD_ROOT/usr/share/fonts/encodings/{,large}/encodings.dir
+%else
+# "%%{flavor}" == "converted"
+cd generated
+mkdir -p %{buildroot}/%{_datadir}/fonts/truetype
+cp *.ttf %{buildroot}/%{_datadir}/fonts/truetype
+
+cp Adobe-Courier*.otb %{buildroot}/%{_datadir}/fonts/truetype
+cp Adobe-Helvetica*.otb %{buildroot}/%{_datadir}/fonts/truetype
+cp Adobe-New-Century-Schoolbook*.otb %{buildroot}/%{_datadir}/fonts/truetype
+cp Adobe-Symbol.otb %{buildroot}/%{_datadir}/fonts/truetype
+cp Adobe-Times*.otb %{buildroot}/%{_datadir}/fonts/truetype
+cp Adobe-Utopia*.otb %{buildroot}/%{_datadir}/fonts/truetype
+cp B\&H-LucidaBright*.otb %{buildroot}/%{_datadir}/fonts/truetype
+cp B\&H-Lucida-Sans*.otb %{buildroot}/%{_datadir}/fonts/truetype
+cp B\&H-LucidaTypewriter-Sans*.otb %{buildroot}/%{_datadir}/fonts/truetype
+cp Bitstream-Charter*.otb %{buildroot}/%{_datadir}/fonts/truetype
+%endif
+
%clean
rm -rf "$RPM_BUILD_ROOT"
# %%post scriptlets
%reconfigure_fonts_scriptlets
+%if "%{flavor}" != "converted"
%reconfigure_fonts_scriptlets -n xorg-x11-fonts-core
-
%files
%defattr(-,root,root)
%dir /usr/share/fonts/100dpi
@@ -206,4 +274,28 @@
/usr/share/fonts/misc/fonts.alias
/usr/share/fonts/misc/*.pcf.gz
+%else
+# "%%{flavor}" == "converted"
+%files
+%defattr(-,root,root)
+%dir %{_datadir}/fonts/truetype
+%{_datadir}/fonts/truetype/CharterBT-*.ttf
+%{_datadir}/fonts/truetype/Courier10PitchBT-*.ttf
+%{_datadir}/fonts/truetype/Courier-*.ttf
+%{_datadir}/fonts/truetype/Courier.ttf
+%{_datadir}/fonts/truetype/Cursor.ttf
+%{_datadir}/fonts/truetype/Utopia-*.ttf
+%{_datadir}/fonts/truetype/B&H-LucidaTypewriter*.otb
+%{_datadir}/fonts/truetype/Adobe-Courier*.otb
+%{_datadir}/fonts/truetype/Adobe-Helvetica*.otb
+%{_datadir}/fonts/truetype/Adobe-New-Century-Schoolbook*.otb
+%{_datadir}/fonts/truetype/Adobe-Symbol.otb
+%{_datadir}/fonts/truetype/Adobe-Times*.otb
+%{_datadir}/fonts/truetype/Adobe-Utopia*.otb
+%{_datadir}/fonts/truetype/B&H-LucidaBright*.otb
+%{_datadir}/fonts/truetype/B&H-Lucida-Sans*.otb
+%{_datadir}/fonts/truetype/B&H-LucidaTypewriter-Sans*.otb
+%{_datadir}/fonts/truetype/Bitstream-Charter*.otb
+%endif
+
%changelog
++++++ _multibuild ++++++
<multibuild>
<package>converted</package>
</multibuild>
++++++ convertfont.py ++++++
#!/usr/bin/python3
# This script is licensed under the GPL-3.0-or-later license.
# Automatically group the font files by family names and style names,
# and assume each bitmap font only contains one font face.
# This tool requires ftdump and fonttosfnt.
# Some changes by Hans Ulrich Niedermann and Antonio Larrosa.
import sys
import subprocess
usage = '''
convertfont.py [BITMAPFONTFILE]...
'''
fontnames = dict()
# get font family name and style name by ftdump
def getfullname(fontname):
output = subprocess.check_output(
'ftdump ' + fontname,
shell = True)
output = output.decode('utf8')
# only contain one font face
assert not 'Face number: 1' in output
result = {}
for row in output.split('\n'):
if ':' in row:
key, value = row.split(': ')
result[key.strip()] = value.strip()
familyname, stylename = result['family'], result['style']
if stylename == 'Regular':
return familyname
else:
return familyname + ' ' + stylename
def generate_fonts():
for fullname, filenames in fontnames.items():
outputfilename = fullname.replace(' ', '-') + '.otb'
argv = 'fonttosfnt -b -c -g 2 -m 2 -o'.split(' ')
argv.append(outputfilename)
argv.extend(filenames)
print(' '.join(argv))
print(subprocess.check_output(argv).decode('utf8'))
if __name__ == '__main__':
for bitmapfontname in sys.argv[1:]:
fullname = getfullname(bitmapfontname)
if fullname in fontnames:
fontnames[fullname].append(bitmapfontname)
else:
fontnames[fullname] = [bitmapfontname]
generate_fonts()
++++++ encodings-1.0.4.tar.bz2 -> encodings-1.0.5.tar.bz2 ++++++
++++ 16132 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/ChangeLog new/encodings-1.0.5/ChangeLog
--- old/encodings-1.0.4/ChangeLog 2010-10-30 05:54:36.000000000 +0200
+++ new/encodings-1.0.5/ChangeLog 2019-06-17 18:44:55.000000000 +0200
@@ -1,3 +1,123 @@
+commit 144b735d4942cf2715ed450fe7207fd7deb64cf7
+Author: Matt Turner <[email protected]>
+Date: Mon Jun 17 12:37:53 2019 -0400
+
+ encodings 1.0.5
+
+ Signed-off-by: Matt Turner <[email protected]>
+
+commit dc033dcae3dd52ff9770f4ab8c0a795cf393b949
+Author: Alan Coopersmith <[email protected]>
+Date: Fri Dec 7 19:26:46 2018 -0800
+
+ Update configure.ac bug URL for gitlab migration
+
+ Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit decbd6ff7ce545d502a9eb6ebf80a1a050d03548
+Author: Alan Coopersmith <[email protected]>
+Date: Sun Nov 18 18:34:21 2018 -0800
+
+ Update README for gitlab migration
+
+ Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit 3d86fb95fff4fda7aec603de26dcc83f17375260
+Author: Mihail Konev <[email protected]>
+Date: Thu Jan 26 14:00:22 2017 +1000
+
+ autogen: add default patch prefix
+
+ Signed-off-by: Mihail Konev <[email protected]>
+
+commit 7318756722850b4bd10809409d15d13f8bdbb989
+Author: Emil Velikov <[email protected]>
+Date: Mon Mar 9 12:00:52 2015 +0000
+
+ autogen.sh: use quoted string variables
+
+ Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
+ fall-outs, when they contain space.
+
+ Signed-off-by: Emil Velikov <[email protected]>
+ Reviewed-by: Peter Hutterer <[email protected]>
+ Signed-off-by: Peter Hutterer <[email protected]>
+
+commit 5f161a3827f75293f1b43bf7d8aeab38241f06ab
+Author: Peter Hutterer <[email protected]>
+Date: Tue Jan 24 10:32:07 2017 +1000
+
+ autogen.sh: use exec instead of waiting for configure to finish
+
+ Syncs the invocation of configure with the one from the server.
+
+ Signed-off-by: Peter Hutterer <[email protected]>
+ Reviewed-by: Emil Velikov <[email protected]>
+
+commit 11ca3cfd76127662eaf693023bbc6893ef9542e4
+Author: Akira TAGOH <[email protected]>
+Date: Thu Oct 23 12:57:43 2014 +0200
+
+ jisx0201.1976-0.enc: Add undefined mapping for 0x7f - 0xa0 range
+
+ The jisx0201 encoding has a hole in it in the 0x7f - 0xa0 range, see:
+ http://en.wikipedia.org/wiki/JIS_X_0201
+
+ The document for the format of the encoding files says:
+ "Codes not listed are assumed to map through the identity (i.e. to the same
+ numerical value). In order to override this default mapping, you may
specify
+ a range of codes to be undefined by using an `UNDEFINE' line"
+
+ jisx0201.1976-0.enc was not doing this, causing all the codes on the range
+ to be mapped 1:1. This specifically is causing problems for ttmkfdir, which
+ checks that a font covers (most of) an encoding before adding a line for
that
+ encoding to fonts.scale, and the hole not properly being undefined causes
+ this check to fail for atleast the Sazanami fonts.
+
+ Cc: Akira TAGOH <[email protected]>
+ BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1009350
+ Signed-off-by: Hans de Goede <[email protected]>
+ Reviewed-by: Alan Coopersmith <[email protected]>
+
+commit 107eb8b9758fbfa4da70473b350d376712981904
+Author: Alan Coopersmith <[email protected]>
+Date: Sat May 31 21:39:32 2014 -0700
+
+ autogen.sh: Honor NOCONFIGURE=1
+
+ See http://people.gnome.org/~walters/docs/build-api.txt
+
+ Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit 5f0046a8d3bc7939c248d0684d38bda4592d263b
+Author: Alan Coopersmith <[email protected]>
+Date: Sat May 31 21:38:41 2014 -0700
+
+ configure: Drop AM_MAINTAINER_MODE
+
+ Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit 510924c747eee7607d8eb15a9e3a2cda6b6d9df2
+Author: Gaetan Nadon <[email protected]>
+Date: Mon Oct 28 08:08:55 2013 -0400
+
+ config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES
+
+ Fix Automake warning: AC_OUTPUT should be used without arguments.
+ www.gnu.org/software/autoconf/manual/autoconf.html#Configuration-Files
+
+ Signed-off-by: Gaetan Nadon <[email protected]>
+
+commit b66fdf4a088593b19cd1d00b6b3faf850edc35c1
+Author: Alan Coopersmith <[email protected]>
+Date: Mon Feb 14 23:29:51 2011 -0800
+
+ cns11643-x encodings don't need to alias to themselves
+
+ Removes duplicate lines in encodings.dir (noticed when sorting
encodings.dir)
+
+ Signed-off-by: Alan Coopersmith <[email protected]>
+
commit 22a939832df60c2c0e9767ab26b4c82433aa1555
Author: Alan Coopersmith <[email protected]>
Date: Fri Oct 29 20:54:06 2010 -0700
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/INSTALL new/encodings-1.0.5/INSTALL
--- old/encodings-1.0.4/INSTALL 2010-10-30 05:54:36.000000000 +0200
+++ new/encodings-1.0.5/INSTALL 2019-06-17 18:44:55.000000000 +0200
@@ -1,11 +1,13 @@
Installation Instructions
*************************
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
- This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
Basic Installation
==================
@@ -13,7 +15,11 @@
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
@@ -42,7 +48,7 @@
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
-The simplest way to compile this package is:
+ The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
@@ -53,12 +59,22 @@
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
- the package.
+ the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
- documentation.
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
- 5. You can remove the program binaries and object files from the
+ 6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
@@ -67,8 +83,15 @@
all sorts of other programs in order to regenerate files that came
with the distribution.
- 6. Often, you can also type `make uninstall' to remove the installed
- files again.
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
Compilers and Options
=====================
@@ -93,7 +116,8 @@
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
@@ -120,7 +144,8 @@
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
@@ -131,15 +156,46 @@
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-Optional Features
-=================
-
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
@@ -152,6 +208,13 @@
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
Particular systems
==================
@@ -159,10 +222,15 @@
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
- ./configure CC="cc -Ae"
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+ HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved. Use GNU `make'
+instead.
+
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
@@ -174,6 +242,16 @@
./configure CC="cc -nodtk"
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
Specifying the System Type
==========================
@@ -189,7 +267,8 @@
where SYSTEM can have one of these forms:
- OS KERNEL-OS
+ OS
+ KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
@@ -277,7 +356,7 @@
`configure' can determine that directory automatically.
`--prefix=DIR'
- Use DIR as the installation prefix. *Note Installation Names::
+ Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/Makefile.am new/encodings-1.0.5/Makefile.am
--- old/encodings-1.0.4/Makefile.am 2010-04-10 02:44:10.000000000 +0200
+++ new/encodings-1.0.5/Makefile.am 2019-06-17 18:44:49.000000000 +0200
@@ -37,7 +37,7 @@
tis620-2.enc \
viscii1.1-1.enc
-EXTRA_DIST = $(ENCODING_FILES)
+EXTRA_DIST = $(ENCODING_FILES) README.md
MAINTAINERCLEANFILES = ChangeLog INSTALL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/README new/encodings-1.0.5/README
--- old/encodings-1.0.4/README 2009-10-16 23:43:43.000000000 +0200
+++ new/encodings-1.0.5/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-
-All questions regarding this software should be directed at the
-Xorg mailing list:
-
- http://lists.freedesktop.org/mailman/listinfo/xorg
-
-Please submit bug reports to the Xorg bugzilla:
-
- https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
-
-The master development code repository can be found at:
-
- git://anongit.freedesktop.org/git/xorg/font/encodings
-
- http://cgit.freedesktop.org/xorg/font/encodings
-
-For patch submission instructions, see:
-
- http://www.x.org/wiki/Development/Documentation/SubmittingPatches
-
-For more information on the git code manager, see:
-
- http://wiki.x.org/wiki/GitPage
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/README.md new/encodings-1.0.5/README.md
--- old/encodings-1.0.4/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/encodings-1.0.5/README.md 2019-06-17 18:44:49.000000000 +0200
@@ -0,0 +1,18 @@
+Font encoding tables for libfontenc
+-----------------------------------
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ https://lists.x.org/mailman/listinfo/xorg
+
+The master development code repository can be found at:
+
+ https://gitlab.freedesktop.org/xorg/font/encodings
+
+Please submit bug reports and requests to merge patches there.
+
+For patch submission instructions, see:
+
+ https://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/compile new/encodings-1.0.5/compile
--- old/encodings-1.0.4/compile 1970-01-01 01:00:00.000000000 +0100
+++ new/encodings-1.0.5/compile 2019-06-17 18:44:52.000000000 +0200
@@ -0,0 +1,348 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2018-03-07.03; # UTC
+
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Written by Tom Tromey <[email protected]>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <[email protected]> or send patches to
+# <[email protected]>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <[email protected]>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/configure.ac new/encodings-1.0.5/configure.ac
--- old/encodings-1.0.4/configure.ac 2010-10-30 05:53:42.000000000 +0200
+++ new/encodings-1.0.5/configure.ac 2019-06-17 18:44:49.000000000 +0200
@@ -1,8 +1,7 @@
AC_PREREQ([2.60])
-AC_INIT([encodings], [1.0.4],
- [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([encodings], [1.0.5],
+ [https://gitlab.freedesktop.org/xorg/font/encodings/issues])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
-AM_MAINTAINER_MODE
# Require xorg-macros: XORG_DEFAULT_OPTIONS
m4_ifndef([XORG_MACROS_VERSION],
@@ -49,4 +48,5 @@
XORG_FONTSUBDIR([ENCODINGSDIR], [encodingsdir], [encodings])
-AC_OUTPUT([Makefile large/Makefile])
+AC_CONFIG_FILES([Makefile large/Makefile])
+AC_OUTPUT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/large/cns11643-1.enc
new/encodings-1.0.5/large/cns11643-1.enc
--- old/encodings-1.0.4/large/cns11643-1.enc 2009-10-16 23:43:43.000000000
+0200
+++ new/encodings-1.0.5/large/cns11643-1.enc 2019-06-17 18:44:49.000000000
+0200
@@ -1,5 +1,4 @@
STARTENCODING cns11643-1
-ALIAS cns11643-1
# calculated FIRSTINDEX 0x20 0x22
# calculated matrix SIZE 0x7E 0x80
SIZE 0x7E 0x80
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/large/cns11643-2.enc
new/encodings-1.0.5/large/cns11643-2.enc
--- old/encodings-1.0.4/large/cns11643-2.enc 2009-10-16 23:43:43.000000000
+0200
+++ new/encodings-1.0.5/large/cns11643-2.enc 2019-06-17 18:44:49.000000000
+0200
@@ -1,5 +1,4 @@
STARTENCODING cns11643-2
-ALIAS cns11643-2
# calculated FIRSTINDEX 0x20 0x22
# calculated matrix SIZE 0x73 0x80
SIZE 0x73 0x80
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/large/cns11643-3.enc
new/encodings-1.0.5/large/cns11643-3.enc
--- old/encodings-1.0.4/large/cns11643-3.enc 2009-10-16 23:43:43.000000000
+0200
+++ new/encodings-1.0.5/large/cns11643-3.enc 2019-06-17 18:44:49.000000000
+0200
@@ -1,5 +1,4 @@
STARTENCODING cns11643-3
-ALIAS cns11643-3
# calculated FIRSTINDEX 0x20 0x22
# calculated matrix SIZE 0x63 0x80
SIZE 0x63 0x80
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/large/jisx0201.1976-0.enc
new/encodings-1.0.5/large/jisx0201.1976-0.enc
--- old/encodings-1.0.4/large/jisx0201.1976-0.enc 2010-10-07
06:06:52.000000000 +0200
+++ new/encodings-1.0.5/large/jisx0201.1976-0.enc 2019-06-17
18:44:49.000000000 +0200
@@ -68,6 +68,7 @@
STARTMAPPING unicode
0x5C 0x00A5 # YEN SIGN
0x7E 0x203E # OVERLINE
+UNDEFINE 0x7F 0xA0
0x00A1 0x00DF 0xFF61
ENDMAPPING
STARTMAPPING cmap 1 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/encodings-1.0.4/missing new/encodings-1.0.5/missing
--- old/encodings-1.0.4/missing 2010-10-30 05:54:30.000000000 +0200
+++ new/encodings-1.0.5/missing 2019-06-17 18:44:52.000000000 +0200
@@ -1,11 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2018-03-07.03; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <[email protected]>, 1996.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <[email protected]>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,7 +17,7 @@
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -26,69 +25,40 @@
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
Send bug reports to <[email protected]>."
exit $?
@@ -100,277 +70,146 @@
;;
-*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- tar*)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p'
${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
- autom4te*)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- tar*)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case $firstarg in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case $firstarg in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
-exit 0
+perl_URL=https://www.perl.org/
+flex_URL=https://github.com/westes/flex
+gnu_software_URL=https://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
+ ;;
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End: