diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-04-28 09:54:45 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-04-28 09:54:45 +0100 |
commit | b7ebc951da8800f711142f69d9d958bde67a112d (patch) | |
tree | e318514216845acb8f2e49fff7a5cba4027e9d91 /app-doc/eclass-manpages | |
parent | dc7cbdfa65fd814b3b9aa3c56257da201109e807 (diff) |
gentoo resync : 28.04.2019
Diffstat (limited to 'app-doc/eclass-manpages')
-rw-r--r-- | app-doc/eclass-manpages/Manifest | 4 | ||||
-rw-r--r-- | app-doc/eclass-manpages/eclass-manpages-20190314.ebuild | 33 | ||||
-rw-r--r-- | app-doc/eclass-manpages/files/eclass-to-manpage.awk | 461 | ||||
-rwxr-xr-x | app-doc/eclass-manpages/files/eclass-to-manpage.sh | 44 |
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} |