summaryrefslogtreecommitdiff
path: root/app-doc/eclass-manpages
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-04-28 09:54:45 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-04-28 09:54:45 +0100
commitb7ebc951da8800f711142f69d9d958bde67a112d (patch)
treee318514216845acb8f2e49fff7a5cba4027e9d91 /app-doc/eclass-manpages
parentdc7cbdfa65fd814b3b9aa3c56257da201109e807 (diff)
gentoo resync : 28.04.2019
Diffstat (limited to 'app-doc/eclass-manpages')
-rw-r--r--app-doc/eclass-manpages/Manifest4
-rw-r--r--app-doc/eclass-manpages/eclass-manpages-20190314.ebuild33
-rw-r--r--app-doc/eclass-manpages/files/eclass-to-manpage.awk461
-rwxr-xr-xapp-doc/eclass-manpages/files/eclass-to-manpage.sh44
4 files changed, 0 insertions, 542 deletions
diff --git a/app-doc/eclass-manpages/Manifest b/app-doc/eclass-manpages/Manifest
index 87ee32246000..c18fc20ed39e 100644
--- a/app-doc/eclass-manpages/Manifest
+++ b/app-doc/eclass-manpages/Manifest
@@ -1,8 +1,4 @@
-AUX eclass-to-manpage.awk 11006 BLAKE2B 85303c11796b743fbffdc34004984c1f2278a106730d76400fc333d7fec7c57a676eda2ff4684edfd324ccc2b6b4d759df896c88a3a095fb678f5dd24bba5da1 SHA512 a17ce9bd1233363e5d7899bcc627bdc680a149663d7fc014f5ea989bf1e5da3997d01c55ba42dfaa84e0905e07038168660075b7f5d79973edfc4e964dc2fe9a
-AUX eclass-to-manpage.sh 738 BLAKE2B 719f9ac6a4283e6795f0463073a460f35b65b6d5c020eeb3823527cb559774c2273c374ea1fbf196e4528b55de9feedce6d024c4495e76cc7c4b7cd4079da202 SHA512 9d50ca11215fc69cc6b4ed67891039f24a93d9843103ab0bb8b13f0596fbca7541da0feaa31ab236279a7047cd9fcdd4a8f9d8a249de725d69e45e6c276d49d1
-DIST eclass-manpages-20190314.tar.xz 419576 BLAKE2B baad0d5f9c67b7e4b9646e69e90583a8238590a02bb6bcc200b08f17f56b2ae50a56080526d3398623949ffc91857d944a1035d6b44fba07b17024c2c224b802 SHA512 22f4b32654f459afa8e5057f02c92628cc529f236e48a69f9b346e7bdcf60d12a4cdd71debf96e8d4b3e69b0e497feb9143b385a11d835b43d13c32fa1751d51
DIST eclass-manpages-20190329.tar.xz 428068 BLAKE2B 630f6ba06bef6e4aed7713776b8a0ce737dcba4441309ed326b6eb87a5515f5fbd2f95db4a12385788a1dbf1ff6bc3c09620f4564c0bba201f48f6aa31520b41 SHA512 8088078334c2b7f35301bd75dc2505a366d030cb1d28bf47c387ba0c727cf5a58e1f279708d4a32ecf47ceec543c287ea5ad8c76ce4bbd9c45f039be2924d7ee
-EBUILD eclass-manpages-20190314.ebuild 1084 BLAKE2B c5ba9cd688ec3c21f734e36feb32e5651a06f09f42e7886627dd92d122ff99a797f55a734a00d79c7ca3464f61f473cd003ad5961a37d50e23cc2908cf623362 SHA512 93fae7b743267e0c32b1bc3317d1f2cda10e2b64d22d01986730ccc2d648c848be970c57f319dcd58265a450a68b120a58943e18c01201a9b866a76911b56982
EBUILD eclass-manpages-20190329.ebuild 605 BLAKE2B ceef27f3e43fa279fa6e380ecc4254257f2a64cd643eb3f0da5f0985bc9aa98caa2939e8bd37247c65a01d959439667f9b931f6e1c845bcd9173df1980c06949 SHA512 95e1e5b5c09bc281dc0bdc09bdbd1facc548e4a7c5062ce9ff18725ecc489946e486c883235d570011bf69d792a33a3a45175e15f94a56317f167d2817c69236
EBUILD eclass-manpages-99999999.ebuild 729 BLAKE2B 79cbaab27b22289c66c053232bf900a7ce8afacf48f0d5e750d324732e5c74918403cc271286da0eb005d15deb6f5579e04f6ff2eb5e9dd7372ef842d6ec31ce SHA512 64d4c7078873ac0814c68a02596ef6890949dbca960a452c867d2c7cc16b098b8922e5a915360fec4fee47c922e9bab81f84a04b3a71c92a96e47b6b02cc25e7
MISC metadata.xml 374 BLAKE2B 3f87ce1d875199a067b945d6c9f3b80bde36ec25714d7dd802a55b37895d6c1e9360e003c4e6066ffcf6338a7f04b46a181a8c49f7144866fd9547626a0378bb SHA512 3caedcecef2f388c833b9f7db0af743a71227288bb145ec8a56c2862c7f56571a860f7f961d0ab1565cc98a0d178e87e24a7321cf0b7d4c4d3ab95c120fb0cf9
diff --git a/app-doc/eclass-manpages/eclass-manpages-20190314.ebuild b/app-doc/eclass-manpages/eclass-manpages-20190314.ebuild
deleted file mode 100644
index d0c5185c96f0..000000000000
--- a/app-doc/eclass-manpages/eclass-manpages-20190314.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-DESCRIPTION="Collection of Gentoo eclass manpages"
-HOMEPAGE="https://www.gentoo.org/"
-SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-# Keep the keywords stabled. No need to change to ~arch.
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris"
-
-DEPEND="app-arch/xz-utils"
-
-# How to create a snapshot and upload it to your dev-space:
-#
-# mkdir eclass-manpages-$(date +%Y%m%d)
-# cp "$(portageq get_repo_path / gentoo)"/eclass/*.eclass eclass-manpages-$(date +%Y%m%d)/
-# tar -cf eclass-manpages-$(date +%Y%m%d).tar eclass-manpages-$(date +%Y%m%d)
-# xz -e eclass-manpages-$(date +%Y%m%d).tar
-# scp eclass-manpages-$(date +%Y%m%d).tar.xz dev.gentoo.org:public_html/dist/
-#
-# Then copy the ebuild and update your name in SRC_URI ;-).
-
-src_compile() {
- env ECLASSDIR="${S}" bash "${FILESDIR}"/eclass-to-manpage.sh || die
-}
-
-src_install() {
- doman *.5
-}
diff --git a/app-doc/eclass-manpages/files/eclass-to-manpage.awk b/app-doc/eclass-manpages/files/eclass-to-manpage.awk
deleted file mode 100644
index 53e05973e16d..000000000000
--- a/app-doc/eclass-manpages/files/eclass-to-manpage.awk
+++ /dev/null
@@ -1,461 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# This awk converts the comment documentation found in eclasses
-# into man pages for easier/nicer reading.
-#
-# If you wish to have multiple paragraphs in a description, then
-# create empty comment lines. Paragraph parsing ends when the comment
-# block does.
-
-# The format of the eclass description:
-# @ECLASS: foo.eclass
-# @MAINTAINER:
-# <required; list of contacts, one per line>
-# @AUTHOR:
-# <optional; list of authors, one per line>
-# @BUGREPORTS:
-# <optional; description of how to report bugs;
-# default: tell people to use bugs.gentoo.org>
-# @VCSURL: <optional; url to vcs for this eclass; default: https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/@ECLASS@>
-# @SUPPORTED_EAPIS: <optional; space-separated list of EAPIs>
-# @BLURB: <required; short description>
-# @DESCRIPTION:
-# <optional; long description>
-# @EXAMPLE:
-# <optional; example usage>
-
-# The format of functions:
-# @FUNCTION: foo
-# @USAGE: <required arguments to foo> [optional arguments to foo]
-# @RETURN: <whatever foo returns>
-# @MAINTAINER:
-# <optional; list of contacts, one per line>
-# [@INTERNAL]
-# @DESCRIPTION:
-# <required if no @RETURN; blurb about this function>
-
-# The format of function-specific variables:
-# @VARIABLE: foo
-# [@USER_VARIABLE] (set in make.conf, not ebuilds)
-# [@INTERNAL] (internal eclass use variable)
-# [@DEFAULT_UNSET]
-# [@REQUIRED]
-# @DESCRIPTION:
-# <required; blurb about this variable>
-# foo="<default value>"
-
-# The format of eclass variables:
-# @ECLASS-VARIABLE: foo
-# [@PRE_INHERIT] (the variable must be set before inheriting the eclass)
-# [@USER_VARIABLE] (set in make.conf, not ebuilds)
-# [@OUTPUT_VARIABLE] (set by eclass, to be read in ebuilds)
-# [@INTERNAL] (internal eclass use variable)
-# [@DEFAULT_UNSET]
-# [@REQUIRED]
-# @DESCRIPTION:
-# <required; blurb about this variable>
-# foo="<default value>"
-
-# Disable manpage generation:
-# @DEAD
-
-# Common features:
-# @CODE
-# In multiline paragraphs, you can create chunks of unformatted
-# code by using this marker at the start and end.
-# @CODE
-#
-# @ROFF <some roff macros>
-# If you want a little more manual control over the formatting, you can
-# insert roff macros directly into the output by using the @ROFF escape.
-
-function _stderr_msg(text, type, file, cnt) {
- if (_stderr_header_done != 1) {
- cnt = split(FILENAME, file, /\//)
- print "\n" file[cnt] ":" > "/dev/stderr"
- _stderr_header_done = 1
- }
-
- print " " type ":" NR ": " text > "/dev/stderr"
-}
-function warn(text) {
- _stderr_msg(text, "warning")
-}
-function fail(text) {
- _stderr_msg(text, "error")
- exit(1)
-}
-function xfail(text) {
- _stderr_msg(text, "error (ignoring)")
- exit(77)
-}
-
-function eat_line() {
- ret = $0
- sub(/^# @[^:]+:[[:space:]]*/,"",ret)
- getline
- return ret
-}
-function eat_paragraph() {
- code = 0
- ret = ""
- getline
- while ($0 ~ /^#/) {
- # Only allow certain tokens in the middle of paragraphs
- if ($2 ~ /^@/ && $2 !~ /^@(CODE|ROFF)$/)
- break
-
- sub(/^#[[:space:]]?/, "", $0)
-
- # Escape . at start of line #420153
- if ($0 ~ /^[.]/)
- $0 = "\\&" $0
-
- # Translate @CODE into @ROFF
- if ($1 == "@CODE" && NF == 1) {
- if (code)
- $0 = "@ROFF .fi"
- else
- $0 = "@ROFF .nf"
- code = !code
- }
-
- # Allow people to specify *roff commands directly
- if ($1 == "@ROFF")
- sub(/^@ROFF[[:space:]]*/, "", $0)
-
- ret = ret "\n" $0
-
- # Handle the common case of trailing backslashes in
- # code blocks to cross multiple lines #335702
- if (code && $NF == "\\")
- ret = ret "\\"
- getline
- }
- sub(/^\n/,"",ret)
- return ret
-}
-
-function pre_text(p) {
- return ".nf\n" p "\n.fi"
-}
-
-function man_text(p) {
- return gensub(/-/, "\\-", "g", p)
-}
-
-#
-# Handle an @ECLASS block
-#
-function handle_eclass() {
- eclass = $3
- eclass_maintainer = ""
- eclass_author = ""
- supported_eapis = ""
- blurb = ""
- desc = ""
- example = ""
-
- # Sanity check the eclass name. #537392
- if (eclass !~ /[.]eclass$/)
- fail(eclass ": @ECLASS name is missing a '.eclass' suffix")
-
- # first the man page header
- print ".\\\" -*- coding: utf-8 -*-"
- print ".\\\" ### DO NOT EDIT THIS FILE"
- print ".\\\" ### This man page is autogenerated by eclass-to-manpage.awk"
- print ".\\\" ### based on comments found in " eclass
- print ".\\\""
- print ".\\\" See eclass-to-manpage.awk for documentation on how to get"
- print ".\\\" your eclass nicely documented as well."
- print ".\\\""
- print ".TH \"" toupper(eclass) "\" 5 \"" strftime("%b %Y") "\" \"Portage\" \"portage\""
-
- # now eat the global data
- getline
- if ($2 == "@MAINTAINER:")
- eclass_maintainer = eat_paragraph()
- if ($2 == "@AUTHOR:")
- eclass_author = eat_paragraph()
- if ($2 == "@BUGREPORTS:")
- reporting_bugs = eat_paragraph()
- if ($2 == "@VCSURL:")
- vcs_url = eat_line()
- if ($2 == "@SUPPORTED_EAPIS:")
- supported_eapis = eat_line()
- if ($2 == "@BLURB:")
- blurb = eat_line()
- if ($2 == "@DESCRIPTION:")
- desc = eat_paragraph()
- if ($2 == "@EXAMPLE:")
- example = eat_paragraph()
- # in case they typo-ed the keyword, bail now
- if ($2 ~ /^@/)
- fail(eclass ": unknown keyword " $2)
-
- # finally display it
- print ".SH \"NAME\""
- print eclass " \\- " man_text(blurb)
- if (desc != "") {
- print ".SH \"DESCRIPTION\""
- print man_text(desc)
- }
- if (supported_eapis != "") {
- print ".SH \"SUPPORTED EAPIS\""
- print man_text(supported_eapis)
- }
- if (example != "") {
- print ".SH \"EXAMPLE\""
- print man_text(example)
- }
-
- # sanity checks
- if (blurb == "")
- fail(eclass ": no @BLURB found")
- if (eclass_maintainer == "")
- warn(eclass ": no @MAINTAINER found")
-}
-
-#
-# Handle a @FUNCTION block
-#
-function show_function_header() {
- if (_function_header_done != 1) {
- print ".SH \"FUNCTIONS\""
- _function_header_done = 1
- }
-}
-function handle_function() {
- func_name = $3
- usage = ""
- funcret = ""
- maintainer = ""
- internal = 0
- desc = ""
-
- # make sure people haven't specified this before (copy & paste error)
- if (all_funcs[func_name])
- fail(eclass ": duplicate definition found for function: " func_name)
- all_funcs[func_name] = func_name
-
- # grab the docs
- getline
- if ($2 == "@USAGE:")
- usage = eat_line()
- if ($2 == "@RETURN:")
- funcret = eat_line()
- if ($2 == "@MAINTAINER:")
- maintainer = eat_paragraph()
- if ($2 == "@INTERNAL") {
- internal = 1
- getline
- }
- if ($2 == "@DESCRIPTION:")
- desc = eat_paragraph()
-
- if (internal == 1)
- return
-
- show_function_header()
-
- # now print out the stuff
- print ".TP"
- print "\\fB" func_name "\\fR " man_text(usage)
- if (desc != "")
- print man_text(desc)
- if (funcret != "") {
- if (desc != "")
- print ""
- print "Return value: " funcret
- }
-
- if (blurb == "")
- fail(func_name ": no @BLURB found")
- if (desc == "" && funcret == "")
- fail(func_name ": no @DESCRIPTION found")
-}
-
-#
-# Handle @VARIABLE and @ECLASS-VARIABLE blocks
-#
-function _handle_variable() {
- var_name = $3
- desc = ""
- val = ""
- default_unset = 0
- internal = 0
- required = 0
-
- # additional variable classes
- pre_inherit = 0
- user_variable = 0
- output_variable = 0
-
- # make sure people haven't specified this before (copy & paste error)
- if (all_vars[var_name])
- fail(eclass ": duplicate definition found for variable: " var_name)
- all_vars[var_name] = var_name
-
- # grab the optional attributes
- opts = 1
- while (opts) {
- getline
- if ($2 == "@DEFAULT_UNSET")
- default_unset = 1
- else if ($2 == "@INTERNAL")
- internal = 1
- else if ($2 == "@REQUIRED")
- required = 1
- else if ($2 == "@PRE_INHERIT")
- pre_inherit = 1
- else if ($2 == "@USER_VARIABLE")
- user_variable = 1
- else if ($2 == "@OUTPUT_VARIABLE")
- output_variable = 1
- else
- opts = 0
- }
- if ($2 == "@DESCRIPTION:")
- desc = eat_paragraph()
-
- # extract the default variable value
- # first try var="val"
- op = "="
- regex = "^.*" var_name "=(.*)$"
- val = gensub(regex, "\\1", 1, $0)
- if (val == $0) {
- # next try : ${var:=val}
- op = "?="
- regex = "^[[:space:]]*:[[:space:]]*[$]{" var_name ":?=(.*)}"
- val = gensub(regex, "\\1", 1, $0)
- if (val == $0) {
- if (default_unset + required + internal + output_variable == 0)
- warn(var_name ": unable to extract default variable content: " $0)
- val = ""
- } else if (val !~ /^["']/ && val ~ / /) {
- if (default_unset == 1)
- warn(var_name ": marked as unset, but has value: " val)
- val = "\"" val "\""
- }
- }
- if (length(val))
- val = " " op " \\fI" val "\\fR"
- if (required == 1)
- val = val " (REQUIRED)"
- # TODO: group variables using those classes
- if (pre_inherit == 1)
- val = val " (SET BEFORE INHERIT)"
- if (user_variable == 1)
- val = val " (USER VARIABLE)"
- if (output_variable == 1)
- val = val " (GENERATED BY ECLASS)"
-
- # check for invalid combos
- if (internal + pre_inherit + user_variable + output_variable > 1)
- fail(var_name ": multiple variable classes specified")
-
- if (internal == 1)
- return ""
-
- # now accumulate the stuff
- ret = \
- ".TP" "\n" \
- "\\fB" var_name "\\fR" val "\n" \
- man_text(desc)
-
- if (desc == "")
- fail(var_name ": no @DESCRIPTION found")
-
- return ret
-}
-function handle_variable() {
- show_function_header()
- ret = _handle_variable()
- if (ret == "")
- return
- print ret
-}
-function handle_eclass_variable() {
- ret = _handle_variable()
- if (ret == "")
- return
- if (eclass_variables != "")
- eclass_variables = eclass_variables "\n"
- eclass_variables = eclass_variables ret
-}
-
-#
-# Spit out the common footer of manpage
-#
-function handle_footer() {
- if (eclass_variables != "") {
- print ".SH \"ECLASS VARIABLES\""
- print man_text(eclass_variables)
- }
- if (eclass_author != "") {
- print ".SH \"AUTHORS\""
- print pre_text(man_text(eclass_author))
- }
- if (eclass_maintainer != "") {
- print ".SH \"MAINTAINERS\""
- print pre_text(man_text(eclass_maintainer))
- }
- print ".SH \"REPORTING BUGS\""
- print reporting_bugs
- print ".SH \"FILES\""
- print ".BR " eclass
- print ".SH \"SEE ALSO\""
- print ".BR ebuild (5)"
- print pre_text(gensub("@ECLASS@", eclass, 1, vcs_url))
-}
-
-#
-# Init parser
-#
-BEGIN {
- state = "header"
- reporting_bugs = "Please report bugs via https://bugs.gentoo.org/"
- vcs_url = "https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/@ECLASS@"
-}
-
-#
-# Main parsing routine
-#
-{
- if (state == "header") {
- if ($0 ~ /^# @ECLASS:/) {
- handle_eclass()
- state = "funcvar"
- } else if ($0 == "# @DEAD") {
- eclass = "dead"
- exit(77)
- } else if ($0 == "# @eclass-begin") {
- # White list old eclasses that haven't been updated so we can block
- # new ones from being added to the tree.
- if (eclass == "")
- xfail("java documentation not supported")
- fail("java documentation not supported")
- } else if ($0 ~ /^# @/)
- warn("Unexpected tag in \"" state "\" state: " $0)
- } else if (state == "funcvar") {
- if ($0 ~ /^# @FUNCTION:/)
- handle_function()
- else if ($0 ~ /^# @VARIABLE:/)
- handle_variable()
- else if ($0 ~ /^# @ECLASS-VARIABLE:/)
- handle_eclass_variable()
- else if ($0 ~ /^# @/)
- warn("Unexpected tag in \"" state "\" state: " $0)
- }
-}
-
-#
-# Tail end
-#
-END {
- if (eclass == "")
- xfail("eclass not documented yet (no @ECLASS found)")
- else if (eclass != "dead")
- handle_footer()
-}
diff --git a/app-doc/eclass-manpages/files/eclass-to-manpage.sh b/app-doc/eclass-manpages/files/eclass-to-manpage.sh
deleted file mode 100755
index 55d25aaaf4d3..000000000000
--- a/app-doc/eclass-manpages/files/eclass-to-manpage.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/bash
-
-: ${ECLASSDIR:=${0%/*}/../../../eclass}
-: ${FILESDIR:=${0%/*}}
-
-AWK="gawk"
-while [[ $# -gt 0 ]] ; do
- case $1 in
- -e) ECLASSDIR=$2; shift;;
- -f) FILESDIR=$2; shift;;
- -d) AWK="dgawk";;
- *) break;;
- esac
- shift
-done
-
-if [[ ! -d ${ECLASSDIR} ]] ; then
- echo "Usage: ${0##*/} [-e eclassdir] [-f eclass-to-manpage.awk FILESDIR] [eclasses]" 1>&2
- exit 1
-fi
-
-[[ $# -eq 0 ]] && set -- "${ECLASSDIR}"/*.eclass
-
-ret=0
-for e in "$@" ; do
- set -- \
- ${AWK} \
- -f "${FILESDIR}"/eclass-to-manpage.awk \
- ${e}
- if [[ ${AWK} == "gawk" ]] ; then
- "$@" > ${e##*/}.5
- tret=$?
- if [[ ${tret} -ne 0 ]] ; then
- rm -f ${e##*/}.5
- if [[ ${tret} -ne 77 ]] ; then
- echo "FAIL: ${e}"
- ret=1
- fi
- fi
- else
- "$@"
- fi
-done
-exit ${ret}