summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-09-12 13:50:14 (EDT)
committer P. J. McDermott <pjm@nac.net>2012-09-12 13:50:14 (EDT)
commit679eca860879a144b73843dc39d58f762f2ecc8b (patch)
treeb7c2d573f7dffa48e6b67bb8eb1f2811167fab6c
parentee1795e6783c1bdbbb15ae945001922e438122cf (diff)
Implement ob_validate_{source,binary}_name.
-rw-r--r--lib/metadata.sh45
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/metadata.sh b/lib/metadata.sh
new file mode 100644
index 0000000..84aa17e
--- /dev/null
+++ b/lib/metadata.sh
@@ -0,0 +1,45 @@
+# opkbuild
+# lib/metadata
+# Functions for parsing and validating package metadata.
+#
+# Copyright (C) 2012 Patrick "P. J." McDermott
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+[ -n "${_OB_METADATA_SM}" ] && return 0
+_OB_METADATA_SM='true'
+
+_OB_NAME_RE='^[a-z0-9][a-z0-9+.-]+$'
+
+ob_validate_source_name()
+{
+ _ob_local _obvsn_name
+
+ if [ ${#} -eq 1 ]; then
+ _obvsn_name="${1}"
+ else
+ _ob_return 125
+ return ${?}
+ fi
+
+ echo "${_obvsn_name}" | grep -E "${_OB_NAME_RE}"
+
+ _ob_return ${?}
+ return ${?}
+}
+
+ob_validate_binary_name()
+{
+ ob_validate_source_name "${@}"
+}