!21 update to 7.0.2
From: @zhouwenpei Reviewed-by: @t_feng, @yanan-rock Signed-off-by: @t_feng, @yanan-rock
This commit is contained in:
commit
6f1df62c08
316
fix-info-dir
Normal file
316
fix-info-dir
Normal file
@ -0,0 +1,316 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#fix-info-dir (GNU texinfo)
|
||||||
|
VERSION=1.1
|
||||||
|
#Copyright (C) 1998, 2003 Free Software Foundation, Inc.
|
||||||
|
#fix-info-dir comes with NO WARRANTY, to the extent permitted by law.
|
||||||
|
#You may redistribute copies of fix-info-dir
|
||||||
|
#under the terms of the GNU General Public License.
|
||||||
|
#For more information about these matters, see the files named COPYING."
|
||||||
|
#fix-info-dir was derived from update-info and gen-dir-node
|
||||||
|
# The skeleton file contains info topic names in the
|
||||||
|
# order they should appear in the output. There are three special
|
||||||
|
# lines that alter the behavior: a line consisting of just "--" causes
|
||||||
|
# the next line to be echoed verbatim to the output. A line
|
||||||
|
# containing just "%%" causes all the remaining filenames (wildcards
|
||||||
|
# allowed) in the rest of the file to be ignored. A line containing
|
||||||
|
# just "!!" exits the script when reached (unless preceded by a line
|
||||||
|
# containing just "--").
|
||||||
|
#Author: Richard L. Hawes, rhawes@dmapub.dma.org.
|
||||||
|
|
||||||
|
# ###SECTION 1### Constants
|
||||||
|
set -h 2>/dev/null
|
||||||
|
# ENVIRONMENT
|
||||||
|
if test -z "$TMPDIR"; then
|
||||||
|
TMPDIR="/usr/tmp"
|
||||||
|
fi
|
||||||
|
if test -z "$LINENO"; then
|
||||||
|
LINENO="0"
|
||||||
|
fi
|
||||||
|
|
||||||
|
MENU_BEGIN='^\*\([ ]\)\{1,\}Menu:'
|
||||||
|
MENU_FILTER1='s/^\*\([ ]\)\{1,\}/* /'
|
||||||
|
MENU_FILTER2='s/\([ ]\)\{1,\}$//g'
|
||||||
|
|
||||||
|
TMP_FILE1="${TMPDIR}/fx${$}.info"
|
||||||
|
TMP_FILE2="${TMPDIR}/fy${$}.info"
|
||||||
|
TMP_FILE_LIST="$TMP_FILE1 $TMP_FILE2"
|
||||||
|
|
||||||
|
TRY_HELP_MSG="Try --help for more information"
|
||||||
|
|
||||||
|
# ###SECTION 100### main program
|
||||||
|
#variables set by options
|
||||||
|
CREATE_NODE=""
|
||||||
|
DEBUG=":"
|
||||||
|
MODE=""
|
||||||
|
#
|
||||||
|
Total="0"
|
||||||
|
Changed=""
|
||||||
|
|
||||||
|
while test "$*"; do
|
||||||
|
case "$1" in
|
||||||
|
-c|--create) CREATE_NODE="y";;
|
||||||
|
--debug) set -eux; DEBUG="set>&2";;
|
||||||
|
-d|--delete) MODE="Detect_Invalid";;
|
||||||
|
+d);;
|
||||||
|
--version)
|
||||||
|
cat<<VersionEOF
|
||||||
|
fix-info-dir (GNU Texinfo) $VERSION
|
||||||
|
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||||
|
fix-info-dir comes with NO WARRANTY, to the extent permitted by law.
|
||||||
|
You may redistribute copies of fix-info-dir
|
||||||
|
under the terms of the GNU General Public License.
|
||||||
|
For more information about these matters, see the files named COPYING.
|
||||||
|
Author: Richard L. Hawes
|
||||||
|
VersionEOF
|
||||||
|
exit;;
|
||||||
|
|
||||||
|
--help)
|
||||||
|
cat<<HelpEndOfFile
|
||||||
|
Usage: fix-info-dir [OPTION]... [INFO_DIR/[DIR_FILE]] [SKELETON]
|
||||||
|
|
||||||
|
It detects and inserts missing menu items into the info dir file.
|
||||||
|
The info dir must be the current directory.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-c, --create create a new info node
|
||||||
|
-d, --delete delete invalid menu items (ignore missing menu items)
|
||||||
|
--debug print debug information to standard error path
|
||||||
|
--help print this help message and exit
|
||||||
|
--version print current version and exit
|
||||||
|
Backup of the info node has a '.old' suffix added. This is a shell script.
|
||||||
|
Environment Variables: TMPDIR
|
||||||
|
Email bug reports to bug-texinfo@gnu.org.
|
||||||
|
HelpEndOfFile
|
||||||
|
exit;;
|
||||||
|
|
||||||
|
[-+]*) echo "$0:$LINENO: \"$1\" is not a valid option">&2
|
||||||
|
echo "$TRY_HELP_MSG">&2
|
||||||
|
exit 2;;
|
||||||
|
*) break;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
ORIGINAL_DIR=`pwd`
|
||||||
|
|
||||||
|
if test "$#" -gt "0"; then
|
||||||
|
INFO_DIR="$1"
|
||||||
|
shift
|
||||||
|
else
|
||||||
|
INFO_DIR=$DEFAULT_INFO_DIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test ! -d "${INFO_DIR}"; then
|
||||||
|
DIR_FILE=`basename ${INFO_DIR}`;
|
||||||
|
INFO_DIR=`dirname ${INFO_DIR}`;
|
||||||
|
else
|
||||||
|
DIR_FILE="dir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$INFO_DIR"||exit
|
||||||
|
|
||||||
|
|
||||||
|
if test "$CREATE_NODE"; then
|
||||||
|
if test "$#" -gt "0"; then
|
||||||
|
if test `expr $1 : /` = '1'; then
|
||||||
|
SKELETON="$1"
|
||||||
|
else
|
||||||
|
SKELETON="$ORIGINAL_DIR/$1"
|
||||||
|
fi
|
||||||
|
if test ! -r "$SKELETON" && test -f "$SKELETON"; then
|
||||||
|
echo "$0:$LINENO: $SKELETON is not readable">&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
else
|
||||||
|
SKELETON=/dev/null
|
||||||
|
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if test ! -f "$DIR_FILE"; then
|
||||||
|
echo "$0:$LINENO: $DIR_FILE is irregular or nonexistant">&2
|
||||||
|
exit 2
|
||||||
|
elif test ! -r "$DIR_FILE"; then
|
||||||
|
echo "$0:$LINENO: $DIR_FILE is not readable">&2
|
||||||
|
exit 2
|
||||||
|
elif test ! -w "$DIR_FILE"; then
|
||||||
|
echo "$0:$LINENO: $DIR_FILE is not writeable">&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$#" -gt "0"; then
|
||||||
|
echo "$0:$LINENO: Too many parameters">&2
|
||||||
|
echo "$TRY_HELP_MSG">&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -f "$DIR_FILE"; then
|
||||||
|
cp "$DIR_FILE" "$DIR_FILE.old"
|
||||||
|
echo "Backed up $DIR_FILE to $DIR_FILE.old."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$CREATE_NODE"; then
|
||||||
|
if test "$MODE"; then
|
||||||
|
echo "$0:$LINENO: ERROR: Illogical option combination: -d -c">&2
|
||||||
|
echo "$TRY_HELP_MSG">&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
echo "Creating new Info Node: `pwd`/$DIR_FILE"
|
||||||
|
Changed="y"
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
### output the dir header
|
||||||
|
echo "-*- Text -*-"
|
||||||
|
echo "This file was generated automatically by $0."
|
||||||
|
echo "This version was generated on `date`"
|
||||||
|
echo "by `whoami`@`hostname` for `pwd`"
|
||||||
|
|
||||||
|
cat<<DIR_FILE_END_OF_FILE
|
||||||
|
This is the file .../info/$DIR_FILE, which contains the topmost node of the
|
||||||
|
Info hierarchy. The first time you invoke Info you start off
|
||||||
|
looking at that node, which is ($DIR_FILE)Top.
|
||||||
|
|
||||||
|
|
||||||
|
File: $DIR_FILE Node: Top This is the top of the INFO tree
|
||||||
|
|
||||||
|
This (the Directory node) gives a menu of major topics.
|
||||||
|
Typing "q" exits, "?" lists all Info commands, "d" returns here,
|
||||||
|
"h" gives a primer for first-timers,
|
||||||
|
"mEmacs<Return>" visits the Emacs topic, etc.
|
||||||
|
|
||||||
|
In Emacs, you can click mouse button 2 on a menu item or cross reference
|
||||||
|
to select it.
|
||||||
|
|
||||||
|
* Menu: The list of major topics begins on the next line.
|
||||||
|
|
||||||
|
DIR_FILE_END_OF_FILE
|
||||||
|
|
||||||
|
### go through the list of files in the skeleton. If an info file
|
||||||
|
### exists, grab the ENTRY information from it. If an entry exists
|
||||||
|
### use it, otherwise create a minimal $DIR_FILE entry.
|
||||||
|
|
||||||
|
# Read one line from the file. This is so that we can echo lines with
|
||||||
|
# whitespace and quoted characters in them.
|
||||||
|
while read fileline; do
|
||||||
|
# flag fancy features
|
||||||
|
if test ! -z "$echoline"; then # echo line
|
||||||
|
echo "$fileline"
|
||||||
|
echoline=""
|
||||||
|
continue
|
||||||
|
elif test "${fileline}" = "--"; then
|
||||||
|
# echo the next line
|
||||||
|
echoline="1"
|
||||||
|
continue
|
||||||
|
elif test "${fileline}" = "%%"; then
|
||||||
|
# skip remaining files listed in skeleton file
|
||||||
|
skip="1"
|
||||||
|
continue
|
||||||
|
elif test "${fileline}" = "!!"; then
|
||||||
|
# quit now
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
# handle files if they exist
|
||||||
|
for file in $fileline""; do
|
||||||
|
fname=
|
||||||
|
if test -z "$file"; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
# Find the file to operate upon.
|
||||||
|
if test -r "$file"; then
|
||||||
|
fname="$file"
|
||||||
|
elif test -r "${file}.info"; then
|
||||||
|
fname="${file}.info"
|
||||||
|
elif test -r "${file}.gz"; then
|
||||||
|
fname="${file}.gz"
|
||||||
|
elif test -r "${file}.info.gz"; then
|
||||||
|
fname="${file}.info.gz"
|
||||||
|
else
|
||||||
|
echo "$0:$LINENO: can't find info file for ${file}?">&2
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if we found something and aren't skipping, do the entry
|
||||||
|
if test "$skip"; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
infoname=`echo $file|sed -e 's/.info$//'`
|
||||||
|
entry=`zcat -f $fname|\
|
||||||
|
sed -e '1,/START-INFO-DIR-ENTRY/d'\
|
||||||
|
-e '/END-INFO-DIR-ENTRY/,$d'`
|
||||||
|
if [ ! -z "${entry}" ]; then
|
||||||
|
echo "${entry}"
|
||||||
|
else
|
||||||
|
echo "* ${infoname}: (${infoname})."
|
||||||
|
fi
|
||||||
|
Total=`expr "$Total" + "1"`
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}>$DIR_FILE<$SKELETON
|
||||||
|
fi
|
||||||
|
|
||||||
|
trap ' eval "$DEBUG"; rm -f $TMP_FILE_LIST; exit ' 0
|
||||||
|
trap ' rm -f $TMP_FILE_LIST
|
||||||
|
exit ' 1
|
||||||
|
trap ' rm -f $TMP_FILE_LIST
|
||||||
|
echo "$0:$LINENO: received INT signal.">&2
|
||||||
|
exit ' 2
|
||||||
|
trap ' rm -f $TMP_FILE_LIST
|
||||||
|
echo "$0:$LINENO: received QUIT signal.">&2
|
||||||
|
exit ' 3
|
||||||
|
|
||||||
|
sed -e "1,/$MENU_BEGIN/d" -e "$MENU_FILTER1" -e "$MENU_FILTER2"<$DIR_FILE\
|
||||||
|
|sed -n -e '/\* /{
|
||||||
|
s/).*$//g
|
||||||
|
s/\.gz$//
|
||||||
|
s/\.info$//
|
||||||
|
s/^.*(//p
|
||||||
|
}'|sort -u>$TMP_FILE1
|
||||||
|
ls -F|sed -e '/\/$/d' -e '/[-.][0-9]/d'\
|
||||||
|
-e "/^$DIR_FILE\$/d" -e "/^$DIR_FILE.old\$/d"\
|
||||||
|
-e 's/[*@]$//' -e 's/\.gz$//' -e 's/\.info$//'|sort>$TMP_FILE2
|
||||||
|
|
||||||
|
if test -z "$MODE"; then
|
||||||
|
#Detect Missing
|
||||||
|
DONE_MSG="total menu item(s) were inserted into `pwd`/$DIR_FILE"
|
||||||
|
for Info_Name in `comm -13 $TMP_FILE1 $TMP_FILE2`; do
|
||||||
|
if test -r "$Info_Name"; then
|
||||||
|
Info_File="$Info_Name"
|
||||||
|
elif test -r "${Info_Name}.info"; then
|
||||||
|
Info_File="${Info_Name}.info"
|
||||||
|
elif test -r "${Info_Name}.gz"; then
|
||||||
|
Info_File="${Info_Name}.gz"
|
||||||
|
elif test -r "${Info_Name}.info.gz"; then
|
||||||
|
Info_File="${Info_Name}.info.gz"
|
||||||
|
else
|
||||||
|
echo "$0:$LINENO: can't find info file for ${Info_Name}?">&2
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
Changed="y"
|
||||||
|
if install-info $Info_File $DIR_FILE; then
|
||||||
|
Total=`expr "$Total" + "1"`
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
# Detect Invalid
|
||||||
|
DONE_MSG="total invalid menu item(s) were removed from `pwd`/$DIR_FILE"
|
||||||
|
for Info_Name in `comm -23 $TMP_FILE1 $TMP_FILE2`; do
|
||||||
|
Changed="y"
|
||||||
|
if install-info --remove $Info_Name $DIR_FILE; then
|
||||||
|
Total=`expr "$Total" + "1"`
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# print summary
|
||||||
|
if test "$Changed"; then
|
||||||
|
echo "$Total $DONE_MSG"
|
||||||
|
else
|
||||||
|
echo "Nothing to do"
|
||||||
|
fi
|
||||||
|
rm -f $TMP_FILE_LIST
|
||||||
|
eval "$DEBUG"
|
||||||
|
exit 0
|
||||||
@ -1,25 +0,0 @@
|
|||||||
diff -up texinfo-6.5.92/install-info/tests/Makefile.in.orig texinfo-6.5.92/install-info/tests/Makefile.in
|
|
||||||
--- texinfo-6.5.92/install-info/tests/Makefile.in.orig 2019-02-01 16:16:49.000000000 +0100
|
|
||||||
+++ texinfo-6.5.92/install-info/tests/Makefile.in 2019-02-18 10:33:52.078877104 +0100
|
|
||||||
@@ -1229,8 +1229,8 @@ ii-0021-test ii-0022-test ii-0023-test i
|
|
||||||
ii-0026-test ii-0027-test ii-0028-test ii-0029-test ii-0030-test \
|
|
||||||
ii-0031-test ii-0032-test ii-0033-test ii-0034-test ii-0035-test \
|
|
||||||
ii-0036-test ii-0037-test ii-0038-test ii-0039-test ii-0040-test \
|
|
||||||
-ii-0041-test ii-0042-test ii-0043-test ii-0044-test ii-0045-test \
|
|
||||||
-ii-0046-test ii-0047-test ii-0048-test ii-0049-test ii-0050-test \
|
|
||||||
+ii-0042-test ii-0043-test ii-0044-test ii-0045-test \
|
|
||||||
+ii-0046-test ii-0047-test ii-0048-test ii-0049-test \
|
|
||||||
ii-0051-test ii-0052-test ii-0053-test ii-0054-test ii-0055-test \
|
|
||||||
ii-0056-test ii-0057-test
|
|
||||||
|
|
||||||
diff -up texinfo-6.5.92/tp/tests/Makefile.in.orig texinfo-6.5.92/tp/tests/Makefile.in
|
|
||||||
--- texinfo-6.5.92/tp/tests/Makefile.in.orig 2019-02-01 16:16:50.000000000 +0100
|
|
||||||
+++ texinfo-6.5.92/tp/tests/Makefile.in 2019-02-18 10:33:13.774827269 +0100
|
|
||||||
@@ -1374,7 +1374,6 @@ one_test_files_generated_list = \
|
|
||||||
test_scripts/layout_formatting_html32.sh \
|
|
||||||
test_scripts/layout_formatting_regions.sh \
|
|
||||||
test_scripts/layout_formatting_exotic.sh \
|
|
||||||
- test_scripts/layout_formatting_fr_icons.sh \
|
|
||||||
test_scripts/layout_formatting_chm.sh \
|
|
||||||
test_scripts/layout_formatting_nodes.sh \
|
|
||||||
test_scripts/layout_formatting.sh \
|
|
||||||
@ -1,182 +0,0 @@
|
|||||||
diff -up texinfo-6.8/gnulib/lib/cdefs.h.orig texinfo-6.8/gnulib/lib/cdefs.h
|
|
||||||
--- texinfo-6.8/gnulib/lib/cdefs.h.orig 2021-03-11 19:57:53.000000000 +0100
|
|
||||||
+++ texinfo-6.8/gnulib/lib/cdefs.h 2021-07-19 12:26:46.985176475 +0200
|
|
||||||
@@ -321,15 +321,15 @@
|
|
||||||
|
|
||||||
/* The nonnull function attribute marks pointer parameters that
|
|
||||||
must not be NULL. */
|
|
||||||
-#ifndef __attribute_nonnull__
|
|
||||||
+#ifndef __nonnull
|
|
||||||
# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__)
|
|
||||||
-# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params))
|
|
||||||
+# define __nonnull(params) __attribute__ ((__nonnull__ params))
|
|
||||||
# else
|
|
||||||
-# define __attribute_nonnull__(params)
|
|
||||||
+# define __nonnull(params)
|
|
||||||
# endif
|
|
||||||
-#endif
|
|
||||||
-#ifndef __nonnull
|
|
||||||
-# define __nonnull(params) __attribute_nonnull__ (params)
|
|
||||||
+#elif !defined __GLIBC__
|
|
||||||
+# undef __nonnull
|
|
||||||
+# define __nonnull(params) _GL_ATTRIBUTE_NONNULL (params)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* If fortification mode, we warn about unused results of certain
|
|
||||||
diff -up texinfo-6.8/gnulib/lib/libc-config.h.orig texinfo-6.8/gnulib/lib/libc-config.h
|
|
||||||
--- texinfo-6.8/gnulib/lib/libc-config.h.orig 2021-03-11 19:57:54.000000000 +0100
|
|
||||||
+++ texinfo-6.8/gnulib/lib/libc-config.h 2021-07-19 12:27:58.810590975 +0200
|
|
||||||
@@ -33,9 +33,9 @@
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
/* On glibc this includes <features.h> and <sys/cdefs.h> and #defines
|
|
||||||
- _FEATURES_H, __WORDSIZE, and __set_errno. On FreeBSD 11 and
|
|
||||||
- DragonFlyBSD 5.9 it includes <sys/cdefs.h> which defines __nonnull.
|
|
||||||
- Elsewhere it is harmless. */
|
|
||||||
+ _FEATURES_H, __WORDSIZE, and __set_errno. On FreeBSD 11 it
|
|
||||||
+ includes <sys/cdefs.h> which defines __nonnull. Elsewhere it
|
|
||||||
+ is harmless. */
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
/* From glibc <errno.h>. */
|
|
||||||
diff -up texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c.orig texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c
|
|
||||||
--- texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c.orig 2021-03-11 19:57:54.000000000 +0100
|
|
||||||
+++ texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c 2021-07-19 12:24:46.878419397 +0200
|
|
||||||
@@ -192,7 +192,7 @@ DYNARRAY_NAME (free__array__) (struct DY
|
|
||||||
|
|
||||||
/* Initialize a dynamic array object. This must be called before any
|
|
||||||
use of the object. */
|
|
||||||
-__attribute_nonnull__ ((1))
|
|
||||||
+__nonnull ((1))
|
|
||||||
static void
|
|
||||||
DYNARRAY_NAME (init) (struct DYNARRAY_STRUCT *list)
|
|
||||||
{
|
|
||||||
@@ -202,7 +202,7 @@ DYNARRAY_NAME (init) (struct DYNARRAY_ST
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Deallocate the dynamic array and its elements. */
|
|
||||||
-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
|
|
||||||
+__attribute_maybe_unused__ __nonnull ((1))
|
|
||||||
static void
|
|
||||||
DYNARRAY_FREE (struct DYNARRAY_STRUCT *list)
|
|
||||||
{
|
|
||||||
@@ -213,7 +213,7 @@ DYNARRAY_FREE (struct DYNARRAY_STRUCT *l
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return true if the dynamic array is in an error state. */
|
|
||||||
-__attribute_nonnull__ ((1))
|
|
||||||
+__nonnull ((1))
|
|
||||||
static inline bool
|
|
||||||
DYNARRAY_NAME (has_failed) (const struct DYNARRAY_STRUCT *list)
|
|
||||||
{
|
|
||||||
@@ -222,7 +222,7 @@ DYNARRAY_NAME (has_failed) (const struct
|
|
||||||
|
|
||||||
/* Mark the dynamic array as failed. All elements are deallocated as
|
|
||||||
a side effect. */
|
|
||||||
-__attribute_nonnull__ ((1))
|
|
||||||
+__nonnull ((1))
|
|
||||||
static void
|
|
||||||
DYNARRAY_NAME (mark_failed) (struct DYNARRAY_STRUCT *list)
|
|
||||||
{
|
|
||||||
@@ -236,7 +236,7 @@ DYNARRAY_NAME (mark_failed) (struct DYNA
|
|
||||||
|
|
||||||
/* Return the number of elements which have been added to the dynamic
|
|
||||||
array. */
|
|
||||||
-__attribute_nonnull__ ((1))
|
|
||||||
+__nonnull ((1))
|
|
||||||
static inline size_t
|
|
||||||
DYNARRAY_NAME (size) (const struct DYNARRAY_STRUCT *list)
|
|
||||||
{
|
|
||||||
@@ -245,7 +245,7 @@ DYNARRAY_NAME (size) (const struct DYNAR
|
|
||||||
|
|
||||||
/* Return a pointer to the array element at INDEX. Terminate the
|
|
||||||
process if INDEX is out of bounds. */
|
|
||||||
-__attribute_nonnull__ ((1))
|
|
||||||
+__nonnull ((1))
|
|
||||||
static inline DYNARRAY_ELEMENT *
|
|
||||||
DYNARRAY_NAME (at) (struct DYNARRAY_STRUCT *list, size_t index)
|
|
||||||
{
|
|
||||||
@@ -257,7 +257,7 @@ DYNARRAY_NAME (at) (struct DYNARRAY_STRU
|
|
||||||
/* Return a pointer to the first array element, if any. For a
|
|
||||||
zero-length array, the pointer can be NULL even though the dynamic
|
|
||||||
array has not entered the failure state. */
|
|
||||||
-__attribute_nonnull__ ((1))
|
|
||||||
+__nonnull ((1))
|
|
||||||
static inline DYNARRAY_ELEMENT *
|
|
||||||
DYNARRAY_NAME (begin) (struct DYNARRAY_STRUCT *list)
|
|
||||||
{
|
|
||||||
@@ -267,7 +267,7 @@ DYNARRAY_NAME (begin) (struct DYNARRAY_S
|
|
||||||
/* Return a pointer one element past the last array element. For a
|
|
||||||
zero-length array, the pointer can be NULL even though the dynamic
|
|
||||||
array has not entered the failure state. */
|
|
||||||
-__attribute_nonnull__ ((1))
|
|
||||||
+__nonnull ((1))
|
|
||||||
static inline DYNARRAY_ELEMENT *
|
|
||||||
DYNARRAY_NAME (end) (struct DYNARRAY_STRUCT *list)
|
|
||||||
{
|
|
||||||
@@ -294,7 +294,7 @@ DYNARRAY_NAME (add__) (struct DYNARRAY_S
|
|
||||||
/* Add ITEM at the end of the array, enlarging it by one element.
|
|
||||||
Mark *LIST as failed if the dynamic array allocation size cannot be
|
|
||||||
increased. */
|
|
||||||
-__attribute_nonnull__ ((1))
|
|
||||||
+__nonnull ((1))
|
|
||||||
static inline void
|
|
||||||
DYNARRAY_NAME (add) (struct DYNARRAY_STRUCT *list, DYNARRAY_ELEMENT item)
|
|
||||||
{
|
|
||||||
@@ -348,8 +348,7 @@ DYNARRAY_NAME (emplace__) (struct DYNARR
|
|
||||||
/* Allocate a place for a new element in *LIST and return a pointer to
|
|
||||||
it. The pointer can be NULL if the dynamic array cannot be
|
|
||||||
enlarged due to a memory allocation failure. */
|
|
||||||
-__attribute_maybe_unused__ __attribute_warn_unused_result__
|
|
||||||
-__attribute_nonnull__ ((1))
|
|
||||||
+__attribute_maybe_unused__ __attribute_warn_unused_result__ __nonnull ((1))
|
|
||||||
static
|
|
||||||
/* Avoid inlining with the larger initialization code. */
|
|
||||||
#if !(defined (DYNARRAY_ELEMENT_INIT) || defined (DYNARRAY_ELEMENT_FREE))
|
|
||||||
@@ -373,7 +372,7 @@ DYNARRAY_NAME (emplace) (struct DYNARRAY
|
|
||||||
existing size, new elements are added (which can be initialized).
|
|
||||||
Otherwise, the list is truncated, and elements are freed. Return
|
|
||||||
false on memory allocation failure (and mark *LIST as failed). */
|
|
||||||
-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
|
|
||||||
+__attribute_maybe_unused__ __nonnull ((1))
|
|
||||||
static bool
|
|
||||||
DYNARRAY_NAME (resize) (struct DYNARRAY_STRUCT *list, size_t size)
|
|
||||||
{
|
|
||||||
@@ -418,7 +417,7 @@ DYNARRAY_NAME (resize) (struct DYNARRAY_
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Remove the last element of LIST if it is present. */
|
|
||||||
-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
|
|
||||||
+__attribute_maybe_unused__ __nonnull ((1))
|
|
||||||
static void
|
|
||||||
DYNARRAY_NAME (remove_last) (struct DYNARRAY_STRUCT *list)
|
|
||||||
{
|
|
||||||
@@ -435,7 +434,7 @@ DYNARRAY_NAME (remove_last) (struct DYNA
|
|
||||||
|
|
||||||
/* Remove all elements from the list. The elements are freed, but the
|
|
||||||
list itself is not. */
|
|
||||||
-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
|
|
||||||
+__attribute_maybe_unused__ __nonnull ((1))
|
|
||||||
static void
|
|
||||||
DYNARRAY_NAME (clear) (struct DYNARRAY_STRUCT *list)
|
|
||||||
{
|
|
||||||
@@ -453,8 +452,7 @@ DYNARRAY_NAME (clear) (struct DYNARRAY_S
|
|
||||||
stored in *RESULT if LIST refers to an empty list. On success, the
|
|
||||||
pointer in *RESULT is heap-allocated and must be deallocated using
|
|
||||||
free. */
|
|
||||||
-__attribute_maybe_unused__ __attribute_warn_unused_result__
|
|
||||||
-__attribute_nonnull__ ((1, 2))
|
|
||||||
+__attribute_maybe_unused__ __attribute_warn_unused_result__ __nonnull ((1, 2))
|
|
||||||
static bool
|
|
||||||
DYNARRAY_NAME (finalize) (struct DYNARRAY_STRUCT *list,
|
|
||||||
DYNARRAY_FINAL_TYPE *result)
|
|
||||||
@@ -485,8 +483,7 @@ DYNARRAY_NAME (finalize) (struct DYNARRA
|
|
||||||
have a sentinel at the end). If LENGTHP is not NULL, the array
|
|
||||||
length is written to *LENGTHP. *LIST is re-initialized and can be
|
|
||||||
reused. */
|
|
||||||
-__attribute_maybe_unused__ __attribute_warn_unused_result__
|
|
||||||
-__attribute_nonnull__ ((1))
|
|
||||||
+__attribute_maybe_unused__ __attribute_warn_unused_result__ __nonnull ((1))
|
|
||||||
static DYNARRAY_ELEMENT *
|
|
||||||
DYNARRAY_NAME (finalize) (struct DYNARRAY_STRUCT *list, size_t *lengthp)
|
|
||||||
{
|
|
||||||
Binary file not shown.
@ -1,8 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iI8EABEIADcWIQTq9mmzHjHh3svRFRPdvFedqzf7qQUCYOBI7hkcZ2F2aW5zbWl0
|
|
||||||
aDAxMjNAZ21haWwuY29tAAoJEN28V52rN/upvZEA/R2uZA180mjPpl2kesisoFr7
|
|
||||||
FgWLsI5pBkoW9zkQgHLFAP4+A356Y3n3KGzrJaekeDZaeyn+BxXxVWrzNEIP6Tvq
|
|
||||||
WA==
|
|
||||||
=xAUQ
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
BIN
texinfo-7.0.2.tar.xz
Normal file
BIN
texinfo-7.0.2.tar.xz
Normal file
Binary file not shown.
8
texinfo-7.0.2.tar.xz.sig
Normal file
8
texinfo-7.0.2.tar.xz.sig
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iI8EABEIADcWIQTq9mmzHjHh3svRFRPdvFedqzf7qQUCY80lIhkcZ2F2aW5zbWl0
|
||||||
|
aDAxMjNAZ21haWwuY29tAAoJEN28V52rN/up+Y4BAMYgWy5ZHwh2qCwiP/vSyKWR
|
||||||
|
Xn9MOfEudt9W0vXg+7c5APwIdUNBkDQUfImlbXaAJ+oEWhPZmtegjkKUPAFUXV7S
|
||||||
|
zA==
|
||||||
|
=MLzb
|
||||||
|
-----END PGP SIGNATURE-----
|
||||||
25
texinfo.spec
25
texinfo.spec
@ -3,20 +3,19 @@
|
|||||||
%global __requires_exclude ^perl\\(.*Texinfo.*\\)$
|
%global __requires_exclude ^perl\\(.*Texinfo.*\\)$
|
||||||
|
|
||||||
Name: texinfo
|
Name: texinfo
|
||||||
Version: 6.8
|
Version: 7.0.2
|
||||||
Release: 4
|
Release: 1
|
||||||
Summary: The GNU Documentation System
|
Summary: The GNU Documentation System
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Url: http://www.gnu.org/software/texinfo/
|
Url: http://www.gnu.org/software/texinfo/
|
||||||
Source0: https://ftp.gnu.org/gnu/texinfo/texinfo-%{version}.tar.xz
|
Source0: https://ftp.gnu.org/gnu/texinfo/texinfo-%{version}.tar.xz
|
||||||
Source1: https://ftp.gnu.org/gnu/texinfo/texinfo-%{version}.tar.xz.sig
|
Source1: https://ftp.gnu.org/gnu/texinfo/texinfo-%{version}.tar.xz.sig
|
||||||
|
Source2: fix-info-dir
|
||||||
|
|
||||||
Patch0001: texinfo-6.0-disable-failing-info-test.patch
|
Patch0001: texinfo-6.1-install-info-use-create-tmp-then-rename-pattern.patch
|
||||||
Patch0002: texinfo-6.1-install-info-use-create-tmp-then-rename-pattern.patch
|
Patch0002: info-6.5-sync-fix-info-dir.patch
|
||||||
Patch0003: info-6.5-sync-fix-info-dir.patch
|
Patch0003: texinfo-6.5-fix-info-dir.patch
|
||||||
Patch0004: texinfo-6.5-fix-info-dir.patch
|
Patch0004: texinfo-6.5-covscan-fixes.patch
|
||||||
Patch0005: texinfo-6.5-covscan-fixes.patch
|
|
||||||
Patch0006: texinfo-6.8-undo-gnulib-nonnul.patch
|
|
||||||
|
|
||||||
BuildRequires: gcc perl-generators zlib-devel ncurses-devel help2man
|
BuildRequires: gcc perl-generators zlib-devel ncurses-devel help2man
|
||||||
BuildRequires: perl(Data::Dumper) perl(Locale::Messages) perl(Unicode::EastAsianWidth) perl(Text::Unidecode) perl(Storable) perl(Unicode::Normalize)
|
BuildRequires: perl(Data::Dumper) perl(Locale::Messages) perl(Unicode::EastAsianWidth) perl(Text::Unidecode) perl(Storable) perl(Unicode::Normalize)
|
||||||
@ -59,7 +58,10 @@ Summary: Documentation for texinfo
|
|||||||
This package contains help documentation for texinfo.
|
This package contains help documentation for texinfo.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1
|
%setup -q
|
||||||
|
mkdir contrib
|
||||||
|
install -Dpm0755 -t contrib %{SOURCE2}
|
||||||
|
%autopatch -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --with-external-Text-Unidecode --with-external-libintl-perl --with-external-Unicode-EastAsianWidth --disable-perl-xs
|
%configure --with-external-Text-Unidecode --with-external-libintl-perl --with-external-Unicode-EastAsianWidth --disable-perl-xs
|
||||||
@ -124,6 +126,8 @@ export ALL_TESTS=yes
|
|||||||
%license COPYING
|
%license COPYING
|
||||||
%{_infodir}/info-stnd.info*
|
%{_infodir}/info-stnd.info*
|
||||||
%{_infodir}/texinfo*
|
%{_infodir}/texinfo*
|
||||||
|
%{_infodir}/texi2any_api.info.gz
|
||||||
|
%{_infodir}/texi2any_internals.info.gz
|
||||||
%{_mandir}/man1/makeinfo.1*
|
%{_mandir}/man1/makeinfo.1*
|
||||||
%{_mandir}/man1/pdftexi2dvi.1*
|
%{_mandir}/man1/pdftexi2dvi.1*
|
||||||
%{_mandir}/man1/pod2texi.1*
|
%{_mandir}/man1/pod2texi.1*
|
||||||
@ -137,6 +141,9 @@ export ALL_TESTS=yes
|
|||||||
%{_mandir}/man5/texinfo.5*
|
%{_mandir}/man5/texinfo.5*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 07 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 7.0.2-1
|
||||||
|
- update to 7.0.2
|
||||||
|
|
||||||
* Wed Oct 26 2022 misaka00251 <liuxin@iscas.ac.cn> - 6.8-4
|
* Wed Oct 26 2022 misaka00251 <liuxin@iscas.ac.cn> - 6.8-4
|
||||||
- Upgrade texlive version to 2021
|
- Upgrade texlive version to 2021
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user