|
Packit |
bbb0ff |
#!/usr/bin/perl
|
|
Packit |
bbb0ff |
|
|
Packit |
bbb0ff |
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material
|
|
Packit |
bbb0ff |
# is made available to anyone wishing to use, modify, copy, or
|
|
Packit |
bbb0ff |
# redistribute it subject to the terms and conditions of the GNU General
|
|
Packit |
bbb0ff |
# Public License v.2.
|
|
Packit |
bbb0ff |
#
|
|
Packit |
bbb0ff |
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
Packit |
bbb0ff |
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
Packit |
bbb0ff |
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
Packit |
bbb0ff |
#
|
|
Packit |
bbb0ff |
# You should have received a copy of the GNU General Public License
|
|
Packit |
bbb0ff |
# along with this program; if not, write to the Free Software
|
|
Packit |
bbb0ff |
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
Packit |
bbb0ff |
#
|
|
Packit |
bbb0ff |
# Author: Petr Splichal <psplicha@redhat.com>
|
|
Packit |
bbb0ff |
|
|
Packit |
bbb0ff |
# This perl script takes all supplied files or stdin and extracts
|
|
Packit |
bbb0ff |
# every =pod section that does not include =head1 headings except
|
|
Packit |
bbb0ff |
# those which contain beakerlib-manual-{header,footer} directives.
|
|
Packit |
bbb0ff |
#
|
|
Packit |
bbb0ff |
# Finally it spits out parsed =pod sections in the following order:
|
|
Packit |
bbb0ff |
# beakerlib-manual-header
|
|
Packit |
bbb0ff |
# beakerlib-manual-include (all non-=head1 sections included here)
|
|
Packit |
bbb0ff |
# beakerlib-manual-footer
|
|
Packit |
bbb0ff |
|
|
Packit |
bbb0ff |
my $pod = 0;
|
|
Packit |
bbb0ff |
my $type = '';
|
|
Packit |
bbb0ff |
my %text = (include => '=head1 FUNCTIONS');
|
|
Packit |
bbb0ff |
|
|
Packit |
bbb0ff |
while (<>) {
|
|
Packit |
bbb0ff |
# end of =pod section
|
|
Packit |
bbb0ff |
if (m/^=cut/) {
|
|
Packit |
bbb0ff |
$pod = 0;
|
|
Packit |
bbb0ff |
}
|
|
Packit |
bbb0ff |
|
|
Packit |
bbb0ff |
# recognize header/footer and trash =head1's
|
|
Packit |
bbb0ff |
$type = 'header' if m/beakerlib-manual-header/;
|
|
Packit |
bbb0ff |
$type = 'footer' if /beakerlib-manual-footer/;
|
|
Packit |
bbb0ff |
$type = 'trash' if /^=head1/ && ! ($type =~ m/header|footer/);
|
|
Packit |
bbb0ff |
|
|
Packit |
bbb0ff |
# add to corresponding place
|
|
Packit |
bbb0ff |
$text{$type} .= $_ if $pod;
|
|
Packit |
bbb0ff |
|
|
Packit |
bbb0ff |
# start of =pod section
|
|
Packit |
bbb0ff |
if (m/^=pod/) {
|
|
Packit |
bbb0ff |
$pod = 1;
|
|
Packit |
bbb0ff |
$type = 'include';
|
|
Packit |
bbb0ff |
}
|
|
Packit |
bbb0ff |
}
|
|
Packit |
bbb0ff |
|
|
Packit |
bbb0ff |
print $text{header};
|
|
Packit |
bbb0ff |
print $text{include};
|
|
Packit |
bbb0ff |
print $text{footer};
|