[OE-core] [PATCH 1/4] scripts/postinst-intercepts: add update_info_dir

Hongxu Jia hongxu.jia at windriver.com
Sat Oct 11 02:45:21 UTC 2014


On 10/11/2014 10:40 AM, Hongxu Jia wrote:
> On 09/25/2014 02:31 PM, Hongxu Jia wrote:
>> We need to run it after all packages have been installed. Here is 
>> details:
>>
>> NAME
>>    update_info_dir - update or create index file from all installed
>>    info files in directory
>>
>> SYNOPSIS
>>    update_info_dir [options] [directory]
>>
>> DESCRIPTION
>>    Update, or create, the index file dir of available documentation
>>    in $D/${infodir} (the default) or in given DIRECTORY. The index
>>    file info is the directory is usually presented by info browsers
>>    on startup.
>>
>> OPTIONS
>>    -h,--help
>>      Display help and exit.
>>
>> SEE ALSO
>>    emacs(1) info(1) install-info(1)
>>
>> AUTHOR
>>    This manual page was written by Norbert Preining <preining at logic.at>,
>>    for the Debian GNU/Linux system (but may be used by others). This
>>    manual page was written for the Debian GNU/Linux distribution because
>>    the original script was designed  for  Debian  packaging system.
>>
>> Signed-off-by: Norbert Preining <preining at logic.at>
>>
>> Backport update-info-dir from ubuntu 1404, and add xz/bz2 compression 
>> support
>>
>> [YOCTO #6751]
>>
>> Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
>> ---
>>   scripts/postinst-intercepts/update_info_dir | 77 
>> +++++++++++++++++++++++++++++
>>   1 file changed, 77 insertions(+)
>>   create mode 100644 scripts/postinst-intercepts/update_info_dir
>>
>> diff --git a/scripts/postinst-intercepts/update_info_dir 
>> b/scripts/postinst-intercepts/update_info_dir
>> new file mode 100644
>> index 0000000..5ddbc39
>> --- /dev/null
>> +++ b/scripts/postinst-intercepts/update_info_dir
>> @@ -0,0 +1,77 @@
>> +#!/bin/bash
>> +# update-info-dir
>> +# create a dir file from all installed info files
>> +# Copyright 2009 Norbert Preining
>> +# GPLv2
>> +
>> +INFODIR=$D${infodir}
>> +
>> +set -e
>> +
>> +#
>> +# since user's environment is taken over into root account when 
>> sudo-ing
>> +# we don't want that one's user LANGUAGE setting changes the 
>> messages in
>> +# the dir file. Force it to C. See bug #536476
>> +LANGUAGE="C"
>> +LANG="C"
>> +
>> +Help ()
>> +{
>> +    echo "\
>> +SYNOPSIS: update-info-dir [-h,--help] [info-directory]
>> +
>> +(re-)creates the index of available documentation in info format
>> +(the file /usr/share/info/dir) which is usually presented by info 
>> browsers
>> +on startup."
>> +
>> +    exit 0
>> +}
>> +
>> +
>> +if [ "$1" = "-h" ] || [ "$1" == "--help" ]; then
>> +    Help
>> +fi
>> +
>> +if [ -n "$1" ] ; then
>> +  INFODIR="$1"
>> +fi
>> +
>> +if [ ! -d "$INFODIR" ] ; then
>> +  echo "Not a directory: $INFODIR."
>> +  exit 0
>> +fi
>> +
>> +if [ -r "$INFODIR/dir" ] ; then
>> +  rm -f "$INFODIR/dir.old"
>> +  cp $INFODIR/dir $INFODIR/dir.old
>> +fi
>> +
>> +# we have to remove the dir file not make ginstall-info being surprised
>> +rm -f "$INFODIR/dir"
>> +
>> +errors=0
>> +find "$INFODIR" -type f | while read file ; do
>> +  case $file in
>> +    */dir|*/dir.old| \
>> +    *-[0-9]|*-[0-9].gz|*-[0-9].xz|*-[0-9].bz2| \
>> + *-[1-9][0-9]|*-[1-9][0-9].gz|*-[1-9][0-9].xz|*-[1-9][0-9].bz2| \
>> +    *.png)
>> +      # these files are ignored
>> +      continue
>> +      ;;
>> +    *)
>> +      ${STAGING_BINDIR_NATIVE}/install-info "$file" "$INFODIR/dir" || {
>> +        errors=$[errors+1]
>
> It is bashism, I will improve it in V4
>

s/V4/V5/

//Hongxu

> //Hongxu
>
>
>> +      }
>> +      ;;
>> +  esac
>> +done
>> +
>> +if [ $errors -gt 0 ] ; then
>> +  echo "Updating the index of info documentation produced $errors 
>> errors."
>> +  exit 1
>> +fi
>> +
>> +exit 0
>> +
>> +# vim:set expandtab tabstop=2: #
>




More information about the Openembedded-core mailing list