tools: add dummy scripts for help2man and makeinfo
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 13 Jan 2015 07:48:52 +0000 (07:48 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 13 Jan 2015 07:48:52 +0000 (07:48 +0000)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 43957

tools/Makefile
tools/missing-macros/Makefile
tools/missing-macros/src/bin/help2man [new file with mode: 0755]
tools/missing-macros/src/bin/makeinfo [new file with mode: 0755]

index 07752231f0c8de427da0d70a73631692c83dba75..c50881965e1abdca12b7ce3a9cdd6d1db61a028a 100644 (file)
@@ -44,7 +44,7 @@ tools-$(CONFIG_USE_SPARSE) += sparse
 $(curdir)/bison/compile := $(curdir)/flex/install
 $(curdir)/flex/compile := $(curdir)/libtool/install
 $(curdir)/pkg-config/compile := $(curdir)/sed/install
-$(curdir)/libtool/compile := $(curdir)/sed/install $(curdir)/m4/install $(curdir)/autoconf/install $(curdir)/automake/install
+$(curdir)/libtool/compile := $(curdir)/sed/install $(curdir)/m4/install $(curdir)/autoconf/install $(curdir)/automake/install $(curdir)/missing-macros/install
 $(curdir)/squashfs/compile := $(curdir)/lzma-old/install
 $(curdir)/squashfs4/compile := $(curdir)/xz/install
 $(curdir)/quilt/compile := $(curdir)/sed/install $(curdir)/autoconf/install $(curdir)/findutils/install
@@ -64,7 +64,7 @@ $(curdir)/upslug2/compile := $(curdir)/libtool/install
 $(curdir)/mm-macros/compile := $(curdir)/libtool/install
 $(curdir)/xorg-macros/compile := $(curdir)/libtool/install
 $(curdir)/xfce-macros/compile := $(curdir)/libtool/install
-$(curdir)/missing-macros/compile := $(curdir)/libtool/install
+$(curdir)/missing-macros/compile := $(curdir)/autoconf/install
 $(curdir)/e2fsprogs/compile := $(curdir)/libtool/install
 $(curdir)/libelf/compile := $(curdir)/libtool/install
 $(curdir)/sdcc/compile := $(curdir)/bison/install
index ab50a674682d35be29a81e2d2fc8809ad0f4e882..e4b69b3875c26b25dbc6b8990c36025dc415d3b4 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2010-2011 OpenWrt.org
+# Copyright (C) 2010-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -21,6 +21,8 @@ endef
 define Host/Install
        $(INSTALL_DIR) $(STAGING_DIR_HOST)/share/aclocal
        $(INSTALL_DATA) ./src/m4/*.m4 $(STAGING_DIR_HOST)/share/aclocal/
+       $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin
+       $(INSTALL_BIN) ./src/bin/* $(STAGING_DIR_HOST)/bin/
 endef
 
 $(eval $(call HostBuild))
diff --git a/tools/missing-macros/src/bin/help2man b/tools/missing-macros/src/bin/help2man
new file mode 100755 (executable)
index 0000000..6cbec57
--- /dev/null
@@ -0,0 +1,29 @@
+#!/usr/bin/env perl
+
+use strict;
+use Getopt::Long;
+
+my $output;
+my $version;
+
+Getopt::Long::Configure('pass_through');
+Getopt::Long::GetOptions(
+       'output=s' => \$output,
+       'version'  => \$version
+);
+
+if ($version)
+{
+       printf "OpenWrt help2man 1.40.10\n";
+       exit 0;
+}
+elsif ($output)
+{
+       open O, "> $output" || die "Unable to open $output: $!\n";
+       print O "Dummy man page.\n";
+       close O;
+}
+else
+{
+       print O "Dummy man page.\n";
+}
diff --git a/tools/missing-macros/src/bin/makeinfo b/tools/missing-macros/src/bin/makeinfo
new file mode 100755 (executable)
index 0000000..e163cba
--- /dev/null
@@ -0,0 +1,112 @@
+#!/usr/bin/env perl
+
+use strict;
+use Getopt::Long;
+
+my $output;
+my $version;
+my $docbook;
+my $html;
+my $xml;
+my $plaintext;
+my $no_split;
+my $no_headers;
+
+Getopt::Long::Configure('pass_through');
+Getopt::Long::GetOptions(
+       'output=s'   => \$output,
+       'version'    => \$version,
+       'no-split'   => \$no_split,
+       'no-headers' => \$no_headers,
+       'docbook'    => \$docbook,
+       'html'       => \$html,
+       'xml'        => \$xml,
+       'plaintext'  => \$plaintext
+);
+
+if ($version)
+{
+       print "makeinfo (OpenWrt stub) 4.13\n";
+       exit 0;
+}
+
+
+sub output_filename
+{
+       my $path = shift || return;
+       my $name = $path;
+       my $setfile;
+
+       if (open F, "< $path")
+       {
+               while (defined(my $line = readline F))
+               {
+                       if ($line =~ /\@setfilename\s+(\S+)/)
+                       {
+                               $setfile = $1;
+                               $setfile =~ s!^.+/!!;
+                               last;
+                       }
+               }
+
+               close F;
+       }
+
+       $name =~ s!^.+/!!;
+       $name =~ s!\.[^.]+$!!;
+
+       if ($html)
+       {
+               $setfile =~ s!\.[^.]+$!! if $setfile;
+
+               if ($no_split)
+               {
+                       return $setfile ? "$setfile.html" : "$name.html" unless $output;
+                       return $output;
+               }
+
+               return $setfile ? "$setfile/index.html" : "$name/index.html" unless $output;
+               return "$output/index.html";
+       }
+       elsif ($xml || $docbook)
+       {
+               $setfile =~ s!\.[^.]+$!! if $setfile;
+
+               return $setfile ? "$setfile.xml" : "$name.info" unless $output;
+               return $output;
+       }
+       elsif ($plaintext)
+       {
+               return ($output || "-");        
+       }
+
+       return ($output || $setfile || "$name.info");
+}
+
+foreach my $arg (@ARGV)
+{
+       next unless -f $arg;
+
+       my $out = output_filename($arg);
+       if ($out =~ m!^(.+/)[^/]+$!)
+       {
+               system("mkdir", "-p", $1);
+       }
+
+       my $fd = \*STDOUT;
+       if ($out ne "-" && !$no_headers)
+       {
+               open $fd, "> $out" || die "Can't open $out: $!\n";
+       }
+
+       if ($html || $xml || $docbook)
+       {
+               print $fd "<!-- Dummy output for $arg -->\n";
+       }
+       else
+       {
+               print $fd "Dummy output for $arg\n";    
+       }
+
+       close $fd;
+}