commit ea189da71f1e411260338c13e78299d27d4b3bb7
Author: smeserver <>
Date: Fri Jan 24 03:23:18 2025 +0100
Initial commit
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..a3b625f
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,3 @@
+*.tar.gz filter=lfs diff=lfs merge=lfs -text
+*.tgz filter=lfs diff=lfs merge=lfs -text
+*.tar.xz filter=lfs diff=lfs merge=lfs -text
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..d509cdc
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,19 @@
+NAME := perl-Data-OptList
+SPECFILE = $(firstword $(wildcard *.spec))
+
+define find-makefile-common
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+endef
+
+MAKEFILE_COMMON := $(shell $(find-makefile-common))
+
+ifeq ($(MAKEFILE_COMMON),)
+# attept a checkout
+define checkout-makefile-common
+test -f CVS/Root && { cvs -Q -d $(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
+endef
+
+MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
+endif
+
+include $(MAKEFILE_COMMON)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..adf97f5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,34 @@
+#
perl-Data-OptList
+
+SMEServer Koozali local git repo for perl-Data-OptList
+
+## Documentation
+
https://metacpan.org/pod/perl-Data-OptList
+
+## Bugzilla
+CPAN bug report are [here](https://rt.cpan.org/Public/Dist/Display.html?Name=perl-Data-OptList)
+
+Show list of Koozali outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=perl-Data-OptList&product=SME%20Server%2011.X&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
+
+## Description
+
+Hashes are great for storing named data, but if you want more than one entry
+for a name, you have to use a list of pairs. Even then, this is really boring to write:
+
+$values = [
+ foo => undef,
+ bar => undef,
+ baz => undef,
+ xyz => { ... },
+];
+
+With Data::OptList, you can do this instead:
+
+$values = Data::OptList::mkopt([
+ qw(foo bar baz),
+ xyz => { ... },
+]);
+
+This works by assuming that any defined scalar is a name and any reference following a name is its value.
+
+
diff --git a/perl-Data-OptList.spec b/perl-Data-OptList.spec
new file mode 100644
index 0000000..e1e83c8
--- /dev/null
+++ b/perl-Data-OptList.spec
@@ -0,0 +1,72 @@
+%define name perl-Data-OptList
+%define version 1.0
+%define release 1
+Summary: This is what perl-Data-OptList does.
+Name: %{name}
+Version: %{version}
+Release: %{release}%{?dist}
+Source: %{name}-%{version}.tar.gz
+License: GNU GPL version 2
+Group: SMEserver/addon
+BuildRoot: %{_tmppath}/%{name}-buildroot
+Prefix: %{_prefix}
+BuildArchitectures: noarch
+BuildRequires: smeserver-devtools
+Requires: smeserver-release >= 11.0
+AutoReqProv: no
+
+%description
+Hashes are great for storing named data, but if you want more than one entry
+for a name, you have to use a list of pairs. Even then, this is really boring to write:
+
+$values = [
+ foo => undef,
+ bar => undef,
+ baz => undef,
+ xyz => { ... },
+];
+
+With Data::OptList, you can do this instead:
+
+$values = Data::OptList::mkopt([
+ qw(foo bar baz),
+ xyz => { ... },
+]);
+
+This works by assuming that any defined scalar is a name and any reference following a name is its value.
+
+
+%changelog
+* Day MMMM DD YYYY 1.0-1.sme
+- Initial code - create RPM [SME:99999]
+
+%prep
+
+%setup -q
+
+%build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
+rm -f %{name}-%{version}-filelist
+/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
+> %{name}-%{version}-filelist
+#echo "%doc COPYING" >> %{name}-%{version}-filelist
+#--dir 'attr(755,user,grp)' \
+#--file 'attr(755,root,root)' \
+
+%clean
+cd ..
+rm -rf %{name}-%{version}
+
+%pre
+
+%preun
+
+%post
+
+%postun
+#uninstall
+%files -f %{name}-%{version}-filelist
+%defattr(-,root,root)