Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
man-pages-supplement
find_manpage_gaps.sh
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File find_manpage_gaps.sh of Package man-pages-supplement
#!/bin/bash # # Script to find binaries without associated man-page # Copyright (C) 2008 SUSE Linux Products GmbH # Author: Matthias G. Eckermann <mge@novell.com> # # This library is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or (at # your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, # USA. # BASEPATH=/mnt TMPPATH=/var/tmp/man # RPM="rpm --nosignature " RPMPATH=$BASEPATH/suse ARCHIVES=$BASEPATH/ARCHIVES.gz MANARCH=$TMPPATH/MANARCHIVES MANPAGES="$RPMPATH/noarch/man-pages*.rpm" function create_man_page_pod() { BinaryName=$1 PackageName=$2 PackageSummary=$( $RPM -qp --queryformat="%{Summary}" $RR ) PackageLicense=$( $RPM -qp --queryformat="%{LICENSE}" $RR ) PackageDescription=$( $RPM -qp --queryformat="%{DESCRIPTION}" $RR ) PackageURL=$( $RPM -qp --queryformat="%{URL}" $RR ) if [ "$PackageURL"=="(none)" ]; then echo $PackageName | grep -i kde > /dev/null if [ $? == 0 ]; then PackageURL="http://www.kde.org/" else echo $PackageName | grep -i gnome > /dev/null if [ $? == 0 ]; then PackageURL="http://www.gnome.org/" else PackageURL="" fi fi fi cat > $TMPPATH/pod/$BinaryName.1.pod <<EOF =head1 NAME $BinaryName =head1 SYNOPSIS This executable is part of the package '$PackageName': $PackageSummary Documentation for SUSE Linux Enterprise is available online at: L<http://www.novell.com/documentation/> and also installed on the system at F</usr/share/doc/manual/> Additional documentation for a specific package may be available at F</usr/share/doc/packages/$PackageName/> L<$PackageURL/> =head1 DESCRIPTION $PackageDescription =head1 LICENSE $PackageLicense =cut EOF } function convert_pod2man() { BinaryName=$1 PackageName=$2 PackagePath=$3 sed -i -e "s/Authors:/=head1 AUTHORS\\n/g" $TMPPATH/pod/$BinaryName.1.pod sed -i -e "s/--------//g" $TMPPATH/pod/$BinaryName.1.pod if [ "$PackagePath" == "/sbin/" ]; then PackageGroup=8 pod2man --section=$PackageGroup --name=$BinaryName --center=$PackageName $TMPPATH/pod/$BinaryName.1.pod $TMPPATH/usr/share/man/man8/$BinaryName.$PackageGroup else PackageGroup=1 pod2man --section=$PackageGroup --name=$BinaryName --center=$PackageName $TMPPATH/pod/$BinaryName.1.pod $TMPPATH/usr/share/man/man1/$BinaryName.$PackageGroup fi } mkdir -p $TMPPATH/pod mkdir -p $TMPPATH/usr/share/man/man1 mkdir -p $TMPPATH/usr/share/man/man8 zgrep /usr/share/man/ $ARCHIVES > $MANARCH ALLPACKS=0 FOUND=0 NOTFOUND=0 for RR in $( find $RPMPATH -iname "*.rpm" ); do RESVAL=0 FOUNDIN=0 RRR=$( basename $RR | cut -d- -f1 ) PACKNAME=$( $RPM -qp --queryformat="%{NAME}" $RR ) for SUBPATH in /bin/ /sbin/; do for BB in $( $RPM -qlp $RR | grep $SUBPATH ); do a=$(( ALLPACKS++ )) FOUNDIN="package" BBB=$( basename $BB ) RESSTR=$( $RPM -qlp $RR | grep /usr/share/man/ | grep "/$BBB\." ) RESVAL=$? if [ $RESVAL -eq 1 ]; then FOUNDIN="docpack" RRDOC=$( find $RPMPATH -iname "$RRR*-doc*.rpm" ) if [ ".$RRDOC"=="." ] ; then RESVAL=1 else RESSTR=$( $RPM -qlp $RRDOC | grep /usr/share/man/ | grep "/$BBB\." ) RESVAL=$? fi if [ $RESVAL -eq 1 ]; then FOUNDIN="archive" RESSTR=$( grep /usr/share/man/ $MANARCH | grep "/$BBB\." ) RESVAL=$? fi fi if [ $RESVAL -eq 1 ] ; then a=$(( NOTFOUND++ )) echo "- Binary=$BBB Package=$PACKNAME" create_man_page_pod $BBB $PACKNAME convert_pod2man $BBB $PACKNAME $SUBPATH else a=$(( FOUND++ )) echo "+ $FOUNDIN Binary=$BBB Package=$PACKNAME" fi done done done rm -f $MANARCH echo -e "\nResult:\nAll=$ALLPACKS Found=$FOUND Notfound=$NOTFOUND\n"
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor