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)