123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #! /usr/bin/env perl
- # Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
- #
- # Licensed under the Apache License 2.0 (the "License"). You may not use
- # this file except in compliance with the License. You can obtain a copy
- # in the file LICENSE in the source distribution or at
- # https://www.openssl.org/source/license.html
- require 5.10.0;
- use warnings;
- use strict;
- use FindBin;
- use lib "$FindBin::Bin/perl";
- use OpenSSL::Util::Pod;
- if ($#ARGV + 1 != 5 || $ARGV[0] !~ /^(un)?install$/) {
- print "Usage: write-man-symlinks [install|uninstall] src-dir build-dir man-page-name target-dir\n";
- exit;
- }
- my $action = $ARGV[0];
- my $srcdir = $ARGV[1];
- my $builddir = $ARGV[2];
- my $manname = $ARGV[3];
- my $targetdir = $ARGV[4];
- $manname =~ m|(.+)\.(.+)|;
- my $mainf = $1;
- my $section = $2;
- die "Bad src file" if !defined $mainf;
- my $podfile = "$srcdir/$mainf.pod";
- #Some pod files are generated and are in the build dir
- unless (-e $podfile) {
- $podfile = "$builddir/$mainf.pod";
- }
- my %podinfo = extract_pod_info($podfile);
- for my $name (@{$podinfo{names}}) {
- next if $name eq $mainf;
- if ($action eq "install") {
- symlink "$manname", "$targetdir/$name.$section";
- } else {
- unlink "$targetdir/$name.$section";
- }
- }
|