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.