61 lines
1.6 KiB
Raku
61 lines
1.6 KiB
Raku
#!/usr/bin/perl -p
|
|
|
|
BEGIN {
|
|
$cond = -1;
|
|
}
|
|
|
|
# Initialize the numeric registers we use for conditionals
|
|
if ($cond == -1) {
|
|
$prefix = "";
|
|
$prefix = "$prefix.nr BA \@BAMAN\@\n";
|
|
$prefix = "$prefix.nr LC \@LCMAN\@\n";
|
|
$prefix = "$prefix.nr PS \@PSMAN\@\n";
|
|
$prefix = "$prefix.nr SL \@SEMAN\@\n";
|
|
$_ = "$prefix.\\\"\n$_";
|
|
$cond = 0;
|
|
}
|
|
|
|
# Make SELinux_Spec and Solaris_Priv_Spec conditional
|
|
if (/(.*) SELinux_Spec\? Solaris_Priv_Spec(.*)$/) {
|
|
$_ = "$1\\*(S+$2\n";
|
|
$prefix = "";
|
|
$prefix = "$prefix.ds S+\n";
|
|
$prefix = "$prefix.if \\n(SL .as S+ \" SELinux_Spec?\n";
|
|
$prefix = "$prefix.if \\n(PS .as S+ \" Solaris_Priv_Spec?\n";
|
|
$_ = "$prefix$_";
|
|
} elsif (/^(.*SELinux_Spec ::=)/) {
|
|
$_ = ".if \\n(SL \\{\\\n$_";
|
|
} elsif (/^(.*Solaris_Priv_Spec ::=)/) {
|
|
$_ = "\\}\n.if \\n(PS \\{\\\n$_";
|
|
} elsif (/^(.*Tag_Spec ::=)/) {
|
|
$_ = "\\}\n$_";
|
|
}
|
|
|
|
if (/^\.(Sh|SS|IP|PP)/) {
|
|
$prefix = $cond ? "\\}\n" : "";
|
|
$cond = 0;
|
|
}
|
|
if (/^\.S[Sh] "SELinux_Spec"/) {
|
|
$_ = "$prefix.if \\n(SL \\{\\\n$_";
|
|
$cond = 1;
|
|
} elsif (/^\.IP "(role|type)"/) {
|
|
$_ = "$prefix.if \\n(SL \\{\\\n$_";
|
|
$cond = 1;
|
|
} elsif (/^\.S[Sh] "Solaris_Priv_Spec"/) {
|
|
$_ = "$prefix.if \\n(PS \\{\\\n$_";
|
|
$cond = 1;
|
|
} elsif (/^\.IP "(privs|limitprivs)"/) {
|
|
$_ = "$prefix.if \\n(PS \\{\\\n$_";
|
|
$cond = 1;
|
|
} elsif (/^\.IP "use_loginclass"/) {
|
|
$_ = "$prefix.if \\n(LC \\{\\\n$_";
|
|
$cond = 1;
|
|
} elsif (/^\.(Sh|SS|IP|PP)/) {
|
|
$_ = "$prefix$_";
|
|
}
|
|
|
|
# Fix up broken pod2man formatting of F<@foo@/bar>
|
|
s/\\fI\\f(\(C)?I\@([^\@]*)\\fI\@/\\fI\@$2\@/g;
|
|
s/\\f\(\CW\@([^\@]*)\\fR\@/\@$1\@/g;
|
|
#\f(CW@secure_path\fR@
|