diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..f087b42
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+*.tar.gz filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1534ba5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.rpm
+*.log
+*spec-20*
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..52f7426
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,20 @@
+# Makefile for source rpm: perl-Mojolicious
+NAME := perl-Mojolicious
+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 $$/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/Mojolicious-6.08.untaint.patch b/Mojolicious-6.08.untaint.patch
new file mode 100644
index 0000000..c229ec7
--- /dev/null
+++ b/Mojolicious-6.08.untaint.patch
@@ -0,0 +1,13 @@
+--- Mojolicious-6.08/lib/Mojo/Template.pm.orig 2015-03-15 22:50:25.000000000 -0400
++++ Mojolicious-6.08/lib/Mojo/Template.pm 2015-04-15 13:27:11.000000000 -0400
+@@ -88,7 +88,9 @@
+
+ # Compile with line directive
+ return undef unless defined(my $code = $self->code);
+- my $compiled = eval $self->_wrap($code);
++ # Workaround for use in taint check mode
++ $code =~ /(.*)/s;
++ my $compiled = eval $self->_wrap($1);
+ $self->compiled($compiled) and return undef unless $@;
+
+ # Use local stacktrace for compile exceptions
diff --git a/Mojolicious-6.12.cleanup.patch b/Mojolicious-6.12.cleanup.patch
new file mode 100644
index 0000000..15f07af
--- /dev/null
+++ b/Mojolicious-6.12.cleanup.patch
@@ -0,0 +1,12 @@
+diff -ru work.orig/Mojolicious-6.12/lib/Mojo/UserAgent.pm work/Mojolicious-6.12/lib/Mojo/UserAgent.pm
+--- work.orig/Mojolicious-6.12/lib/Mojo/UserAgent.pm 2015-06-10 10:14:05.000000000 -0400
++++ work/Mojolicious-6.12/lib/Mojo/UserAgent.pm 2015-07-07 15:05:31.000000000 -0400
+@@ -76,7 +76,7 @@
+ $self->_finish($_, 1) for keys %{$self->{connections} || {}};
+
+ # Clean up keep-alive connections
+- my $loop = $self->_loop(0);
++ my $loop = $self->_loop(0) or return;
+ $loop->remove($_->[1]) for @{delete $self->{queue} || []};
+ $loop = $self->_loop(1);
+ $loop->remove($_->[1]) for @{delete $self->{nb_queue} || []};
diff --git a/Mojolicious-6.12.cleanup.patch2 b/Mojolicious-6.12.cleanup.patch2
new file mode 100644
index 0000000..ef3d392
--- /dev/null
+++ b/Mojolicious-6.12.cleanup.patch2
@@ -0,0 +1,21 @@
+diff -ru work.orig/Mojolicious-6.12/lib/Mojo/Server/Daemon.pm work/Mojolicious-6.12/lib/Mojo/Server/Daemon.pm
+--- work.orig/Mojolicious-6.12/lib/Mojo/Server/Daemon.pm 2015-07-07 15:03:05.000000000 -0400
++++ work/Mojolicious-6.12/lib/Mojo/Server/Daemon.pm 2015-07-08 17:00:16.000000000 -0400
+@@ -20,7 +20,7 @@
+ return if Mojo::Util::_global_destruction();
+ my $self = shift;
+ $self->_remove($_) for keys %{$self->{connections} || {}};
+- my $loop = $self->ioloop;
++ my $loop = $self->ioloop or return;
+ $loop->remove($_) for @{$self->acceptors};
+ }
+
+@@ -209,7 +209,7 @@
+
+ sub _remove {
+ my ($self, $id) = @_;
+- $self->ioloop->remove($id);
++ $self->ioloop->remove($id) if $self->ioloop;
+ $self->_close($id);
+ }
+
diff --git a/Mojolicious-6.15.cleanup.patch b/Mojolicious-6.15.cleanup.patch
new file mode 100644
index 0000000..8a244d7
--- /dev/null
+++ b/Mojolicious-6.15.cleanup.patch
@@ -0,0 +1,21 @@
+Only in work.orig/: Mojolicious-6.12
+diff -ru work.orig/Mojolicious-6.15/lib/Mojo/IOLoop.pm work/Mojolicious-6.15/lib/Mojo/IOLoop.pm
+--- work.orig/Mojolicious-6.15/lib/Mojo/IOLoop.pm 2015-08-18 16:15:57.000000000 -0400
++++ work/Mojolicious-6.15/lib/Mojo/IOLoop.pm 2015-08-18 16:53:48.000000000 -0400
+@@ -168,14 +168,14 @@
+ sub _maybe_accepting {
+ my $self = shift;
+ return if $self->{accepting} || $self->_limit;
+- $_->start for values %{$self->{acceptors} || {}};
++ do { $_->start if $_ } for values %{$self->{acceptors} || {}};
+ $self->{accepting} = 1;
+ }
+
+ sub _not_accepting {
+ my $self = shift;
+ return $self unless delete $self->{accepting};
+- $_->stop for values %{$self->{acceptors} || {}};
++ do { $_->stop if $_ } for values %{$self->{acceptors} || {}};
+ return $self;
+ }
+
diff --git a/Mojolicious-6.44.tar.gz b/Mojolicious-6.44.tar.gz
new file mode 100644
index 0000000..025e666
--- /dev/null
+++ b/Mojolicious-6.44.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e092074781e837132971c82246c6a1c5fc6858ed07a03e88d32660192ebf3ecb
+size 660136
diff --git a/README.md b/README.md
index acd1a74..23ab722 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,11 @@
# perl-Mojolicious
-3rd Party (Maintained by Koozali) git repo for perl-Mojolicious smeserver
\ No newline at end of file
+3rd Party (Maintained by Koozali) git repo for perl-Mojolicious smeserver
+
+## Description
+
+
*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
+*Once it has been checked, then this comment will be deleted*
+
+
+Perl-Mojolicious is a full-featured web framework for Perl programming language. It's a real-time web framework, which means it can handle many simultaneous connections with minimal overhead. It provides a friendly DSL (domain-specific language) for creating web applications quickly and easily. It also provides many useful features such as an automatic testing framework, database helpers, and a built-in templating system.
diff --git a/contriborbase b/contriborbase
new file mode 100644
index 0000000..ef36a67
--- /dev/null
+++ b/contriborbase
@@ -0,0 +1 @@
+sme10
diff --git a/perl-Mojolicious.spec b/perl-Mojolicious.spec
new file mode 100644
index 0000000..efa5a41
--- /dev/null
+++ b/perl-Mojolicious.spec
@@ -0,0 +1,311 @@
+Name: perl-Mojolicious
+version: 6.44
+Release: 2%{?dist}
+Summary: A next generation web framework for Perl
+License: Artistic 2.0
+Group: Development/Libraries
+URL: http://mojolicious.org/
+Source0: http://www.cpan.org/authors/id/K/KR/KRAIH/Mojolicious-%{version}.tar.gz
+Patch0: Mojolicious-6.08.untaint.patch
+Patch1: Mojolicious-6.12.cleanup.patch
+Patch2: Mojolicious-6.12.cleanup.patch2
+Patch3: Mojolicious-6.15.cleanup.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildArch: noarch
+BuildRequires: perl >= 0:5.010001
+BuildRequires: perl(ExtUtils::MakeMaker)
+BuildRequires: perl(ExtUtils::ParseXS)
+BuildRequires: perl(ExtUtils::Manifest)
+BuildRequires: perl(Test::Builder)
+BuildRequires: perl(Test::Harness)
+BuildRequires: perl(Test::More)
+BuildRequires: perl(Taint::Util)
+BuildRequires: perl(Pod::Simple) >= 3.09
+BuildRequires: perl(Time::Local) >= 1.2000
+BuildRequires: perl(IO::Socket::IP) >= 0.26
+Requires: perl(IO::Socket::IP) >= 0.26
+BuildRequires: perl(IO::Compress::Gzip)
+BuildRequires: perl(Digest::MD5)
+BuildRequires: perl(Digest::SHA)
+BuildRequires: perl(Time::HiRes)
+BuildRequires: perl(Compress::Raw::Zlib)
+Requires: perl(Taint::Util)
+BuildRequires: perl(Socket) >= 1.97
+BuildRequires: perl(JSON::PP)
+Requires: perl(Socket) >= 1.97
+Requires: perl(IO::Socket::SSL) >= 1.94
+Requires: perl(Net::DNS::Native) >= 0.15
+Requires: perl(Pod::Simple) >= 3.09
+Requires: perl(Time::Local) >= 1.2000
+Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+%define filelist %{pkgname}-%{version}-filelist
+%define NVR %{pkgname}-%{version}-%{release}
+%define maketest 1
+%define custom_find_req %{_tmppath}/%{NVR}-find-requires
+%define _use_internal_dependency_generator 0
+%define __find_requires %{custom_find_req}
+%define __perl_requires %{custom_find_req}
+%define perl_vendorlib /usr/share/perl5/vendor_perl
+
+%description
+Back in the early days of the web there was this wonderful Perl library
+called CGI, many people only learned Perl because of it. It was simple
+enough to get started without knowing much about the language and powerful
+enough to keep you going, learning by doing was much fun. While most of the
+techniques used are outdated now, the idea behind it is not. Mojolicious is
+a new attempt at implementing this idea using state of the art technology.
+
+%prep
+%setup -q -n Mojolicious-%{version} -b 0
+%patch0 -p1
+#%patch1 -p2
+%patch2 -p2
+%patch3 -p2
+
+%build
+%{__perl} Makefile.PL INSTALLDIRS=vendor INSTALLVENDORLIB=/usr/share/perl5/vendor_perl
+make %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+cat < %{custom_find_req}
+#!/bin/sh
+/usr/lib/rpm/find-requires |grep -v -e 'feature' -e 'IO::Epoll' -e 'IO::KQueue' -e 'EV'
+EOF
+chmod 755 %{custom_find_req}
+
+make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
+
+find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \;
+find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
+
+%{_fixperms} $RPM_BUILD_ROOT/*
+
+%check
+make test
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+rm -f %{custom_find_req}
+
+%files
+%defattr(-,root,root,-)
+%doc Changes LICENSE examples
+%{_bindir}/mojo
+%{_bindir}/morbo
+%{_bindir}/hypnotoad
+%{perl_vendorlib}/*
+%{_mandir}/man1/*
+%{_mandir}/man3/*
+
+%changelog
+* Fri Jul 14 2023 BogusDateBot
+- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
+ by assuming the date is correct and changing the weekday.
+ Fri Jun 16 2010 --> Fri Jun 11 2010 or Wed Jun 16 2010 or Fri Jun 18 2010 or ....
+
+* Tue Feb 09 2016 Daniel Berteaud 6.44-2
+- Add perl(JSON::PP) to the BuildReq so it can build on plague
+ [SME: 7819]
+
+* Mon Feb 08 2016 Charlie Brady
+- Upgrade Mojolicious to 6.44.
+
+* Thu Oct 08 2015 Charlie Brady
+- Upgrade Mojolicious to 6.23.
+
+* Mon Sep 21 2015 Charlie Brady
+- Upgrade Mojolicious to 6.20.
+
+* Mon Aug 24 2015 Charlie Brady
+- Upgrade Mojolicious to 6.17.
+
+* Wed Aug 19 2015 Charlie Brady
+- Fix more cleanup warnings.
+- Fix warning in Mojo::Asset::Memory::move_to.
+
+* Tue Aug 18 2015 Charlie Brady 6.15-1
+- Upgrade Mojolicious to 6.15.
+
+* Wed Jul 08 2015 Charlie Brady 6.12-3
+- Fix more cleanup warnings.
+
+* Tue Jul 07 2015 Charlie Brady 6.12-2
+- Fix bug in Mojo::UserAgent cleanup when Net::DNS::Native is
+ installed.
+
+* Tue Jul 07 2015 Charlie Brady 6.12-1
+- Upgrade Mojolicious to 6.12.
+- Add Requires for recent IO::Socket::SSL and Net::DNS::Native
+
+* Tue Jun 23 2015 Charlie Brady 6.11-2
+- Add missing BuildRequires: perl(Socket) >= 1.97.
+
+* Wed Jun 10 2015 Charlie Brady 6.11-1
+- Upgrade Mojolicious to 6.11.
+
+* Wed Apr 15 2015 Charlie Brady 6.08-1
+- Upgrade Mojolicious to 6.08.
+
+* Sat Feb 28 2015 Charlie Brady 6.0-1
+- Upgrade Mojolicious to 6.0.
+- Remove Mojolicious-Plugin-CSRFProtect.
+
+* Thu Oct 16 2014 Charlie Brady - 5.50-1
+- Upgrade Mojolicious to 5.50 (security update). [MN00548037]
+
+* Wed Aug 27 2014 Charlie Brady - 5.33-1
+- Upgrade Mojolicious to 5.33. [MN00540216]
+
+* Thu Jun 12 2014 Charlie Brady - 5.05-2
+- Remove the patch which downgraded the version requirement of
+ IO::Socket::SSL. [MN00522946].
+
+* Mon Jun 09 2014 Charlie Brady - 5.05-1
+- Upgrade Mojolicious to 5.05. [MN00522946]
+
+* Fri Apr 25 2014 Charlie Brady - 4.94-1
+- Upgrade Mojolicious to 4.94. [MN00522946]
+
+* Mon Mar 31 2014 Charlie Brady - 4.91-1
+- Upgrade Mojolicious to 4.91. [MN00522946]
+
+* Fri Oct 25 2013 Charlie Brady - 4.50-2
+- Drop IO::Socket::SSL dependency from 1.75 to 1.44. [MN00504964]
+
+* Fri Oct 25 2013 Charlie Brady - 4.50-1
+- Upgrade Mojolicious to 4.50. [MN00500199]
+
+* Tue Jul 09 2013 Charlie Brady - 4.18-2
+- Add untaint for eval in Mojo::Template. [MN00480041]
+
+* Tue Jul 09 2013 Charlie Brady - 4.18-1
+- Upgrade Mojolicious to 4.18. Not yet taint or SSL friendly. [MN00480041]
+
+* Wed May 01 2013 Charlie Brady - 3.97-3
+- Add untaint for eval in Mojo::Template. [MN00480041]
+
+* Wed May 01 2013 Charlie Brady - 3.97-2
+- Upgrade Mojolicious-Plugin-CSRFProtect to version 0.13. [MN00480041]
+
+* Wed May 01 2013 Charlie Brady - 3.97-1
+- Upgrade Mojolicious to 3.97. Not yet taint or SSL friendly. [MN00480041]
+
+* Wed Sep 26 2012 Martin Gillen - 3.05-6
+- Upgrade Mojolicious-Plugin-CSRFProtect to version 0.12. [MN00390742]
+
+* Thu Aug 23 2012 Charlie Brady - 3.05-5
+- Fix typo in IO::Socket::SSL dependency patch. [MN00443005]
+
+* Mon Aug 20 2012 Charlie Brady - 3.05-4
+- Update CSRF plugin. [MN00441747]
+
+* Tue Aug 14 2012 Charlie Brady - 3.05-3
+- Drop IO::Socket::SSL dependency from 1.75 to 1.44. [MN00443005]
+
+* Tue Aug 14 2012 Charlie Brady - 3.05-2
+- Apply untaint patch.
+
+* Wed Jul 11 2012 Charlie Brady - 3.05-1
+- Upgrade to latest upstream.
+
+* Mon Apr 30 2012 Charlie Brady - 2.91-1
+- Upgrade to latest upstream.
+
+* Mon Apr 30 2012 Charlie Brady - 2.49-2
+- Add CSRFProtect plugin. [MN00396402]
+- Build into /usr/share/perl5/vendor_perl.
+
+* Tue Feb 14 2012 Charlie Brady - 2.49-1
+- Upgrade to latest upstream.
+
+* Wed Feb 08 2012 Charlie Brady - 2.47-1
+- Upgrade to latest upstream.
+
+* Wed Feb 01 2012 Charlie Brady - 2.46-5
+- Update untaint patch to include untaint of template code when
+ running under -T.
+
+* Wed Feb 01 2012 Charlie Brady - 2.46-4
+- Restore use of pre-exising perl-Mojolicious spec file. Re-remove
+ dependency on EV module.
+
+* Mon Jan 30 2012 Charlie Brady - 2.46-3
+- Build into /usr/lib/perl5/vendor_perl.
+
+* Mon Jan 30 2012 Charlie Brady - 2.46-2
+- Apply untaint patch.
+
+* Mon Jan 30 2012 Charlie Brady - 2.46
+- Upgrade to latest upstream.
+
+* Wed Aug 03 2011 Charlie Brady 1.69-3
+- Remove dependency on EV module.
+
+* Wed Aug 03 2011 Charlie Brady 1.69-2
+- Apply patch to permit setuid scripts to run - untaint data.
+
+* Wed Aug 03 2011 Charlie Brady 1.69-1
+- Update to upstream 1.64 - no patches, but do not require
+ IO::Epoll and IO::KQueue modules.
+
+* Wed Aug 03 2011 Charlie Brady 1.64-2
+- Apply patch to permit setuid scripts to run - untaint data.
+
+* Wed Aug 03 2011 Charlie Brady 1.64-1
+- Update to upstream 1.64 - no patches, but do not require
+ IO::Epoll and IO::KQueue modules.
+
+* Fri Jul 15 2011 Charlie Brady 1.48-2
+- Ensure that 'perl(feature)' does not appear in dependency list.
+
+* Mon Jun 27 2011 Charlie Brady 1.48-1
+- Update to upstream 1.48 - no patches
+
+* Thu Apr 21 2011 Charlie Brady 1.21-2
+- Apply patches (taint checking and test fixes.
+
+* Thu Apr 21 2011 Charlie Brady 1.21-1
+- Update to upstream 1.21 - no patches
+
+* Mon Jan 03 2011 Charlie Brady 1.0-2
+- Backport to perl 5.8.5 (mostly test fixes).
+
+* Mon Jan 03 2011 Charlie Brady 1.0-1
+- Latest upstream release.
+
+* Sun Dec 12 2010 Charlie Brady 0.999950-2
+- Latest upstream snapshot, includes exception template
+- https://github.com/kraih/mojo/tree/fba7a4b549d8e247e03f1e3fc6284cd92fafb4a4
+
+* Sun Dec 05 2010 Charlie Brady 0.999950-1
+- Latest upstream release.
+ http://search.cpan.org/src/KRAIH/Mojolicious-0.999950/Changes
+
+* Sun Nov 21 2010 Charlie Brady 0.999941-2
+- Patch around exceptions in taint mode.
+
+* Sun Nov 21 2010 Charlie Brady 0.999941-1
+- Latest upstream release.
+ http://search.cpan.org/src/KRAIH/Mojolicious-0.999941/Changes
+
+* Mon Aug 16 2010 Yanko Kaneti 0.999927-1
+- Latest upstream release.
+ http://search.cpan.org/src/KRAIH/Mojolicious-0.999927/Changes
+
+* Tue Jun 22 2010 Petr Pisar 0.999926-2
+- Rebuild against perl-5.12
+
+* Wed Jun 16 2010 Yanko Kaneti 0.999926-1
+ Fri Jun 16 2010 --> Fri Jun 11 2010 or Wed Jun 16 2010 or Fri Jun 18 2010 or ....
+- Latest upstream release.
+ http://search.cpan.org/src/KRAIH/Mojolicious-0.999926/Changes
+
+* Fri Jun 11 2010 Yanko Kaneti 0.999925-3
+- Actually include the examples.
+
+* Fri Jun 11 2010 Yanko Kaneti 0.999925-2
+- Initial import. Include examples as doc.
+
+* Tue Jun 08 2010 Yanko Kaneti 0.999925-1
+- Specfile mostly autogenerated by cpanspec 1.78.