Files
perl-IO-AIO/perl-IO-AIO.spec

115 lines
4.4 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package perl-IO-AIO
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cpan_name IO-AIO
Name: perl-IO-AIO
Version: 4.810.0
Release: 0
%define cpan_version 4.81
#Upstream: CHECK(Artistic-1.0 or GPL-1.0-or-later)
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Asynchronous/Advanced Input/Output
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/%{cpan_name}-%{cpan_version}.tar.gz
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
Source1: cpanspec.yml
2025-08-12 18:14:47 +02:00
Source100: README.md
BuildRequires: perl
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
BuildRequires: perl-macros
BuildRequires: perl(Canary::Stability) >= 2001
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.52
BuildRequires: perl(common::sense)
Requires: perl(common::sense)
Provides: perl(IO::AIO) = %{version}
%undefine __perllib_provides
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
%{perl_requires}
%description
This module implements asynchronous I/O using whatever means your operating
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
system supports. It is implemented as an interface to 'libeio'
(http://software.schmorp.de/pkg/libeio.html).
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
Asynchronous means that operations that can normally block your program
(e.g. reading from disk) will be done asynchronously: the operation will
still block, but you can do something else in the meantime. This is
extremely useful for programs that need to stay interactive even when doing
heavy I/O (GUI programs, high performance network servers etc.), but can
also be used to easily do operations in parallel that are normally done
sequentially, e.g. stat'ing many files, which is much faster on a RAID
volume or over NFS when you do a number of stat operations concurrently.
While most of this works on all types of file descriptors (for example
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
sockets), using these functions on file descriptors that support
nonblocking operation (again, sockets, pipes etc.) is very inefficient. Use
an event loop for that (such as the EV module): IO::AIO will naturally fit
into such an event loop itself.
In this version, a number of threads are started that execute your requests
and signal their completion. You don't need thread support in perl, and the
threads created by this module will not be visible to perl. In the future,
this module might make use of the native aio functions available on many
operating systems. However, they are often not well-supported or restricted
(GNU/Linux doesn't allow them on normal files currently, for example), and
they would only support aio_read and aio_write, so the remaining
functionality would have to be implemented using threads anyway.
In addition to asynchronous I/O, this module also exports some rather
arcane interfaces, such as 'madvise' or linux's 'splice' system call, which
is why the 'A' in 'AIO' can also mean _advanced_.
Although the module will work in the presence of other (Perl-) threads, it
is currently not reentrant in any way, so use appropriate locking yourself,
always call 'poll_cb' from within the same thread, or never call 'poll_cb'
(or other 'aio_' functions) recursively.
%prep
%autosetup -n %{cpan_name}-%{cpan_version}
find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 644
%build
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
%make_build
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
%check
make test
%install
%perl_make_install
%perl_process_packlist
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
%perl_gen_filelist
Accepting request 640742 from devel:languages:perl:autoupdate - Fix autogenerated changes - updated to 4.6 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: dump config.log when automated testign and configure fails 4.6 - add st_btime, st_btimesec, st_btimensec and st_gen accessors, mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd but only st_gen on openbsd because they compiled their perl without support for birthtimes). - fix madvise and munlock to properly support negative offsets. - allocate fd for the aio_close at boot time, to guarantee it working later, rather than calling abort when it fails. also avoids close-on-exec race issues after module load. - #undef utime on win32, maybe this helps some reports of utime hangs. - minor doc improvements. - minor configure cleanups. - use $Config{perllibs} instead of libs for configure. might help people who didn'T install all perl dependencies (might break things as well). - updated to 4.54 see /usr/share/doc/packages/perl-IO-AIO/Changes 4.54 - include sys/mkdev.h or sys/sysmacros.h if available. - further tweaks to configure invocation for systems requiring --rpath. - no longer rely on custom paths on win32 platforms. - try to work around buggy PAGESIZE macro on solaris. 4.53 - add $Config{libs} to LIBS for configure, to work around systems with broken library dependencies (... openbsd). - updated to 4.52 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.5 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.4 see /usr/share/doc/packages/perl-IO-AIO/Changes - updated to 4.34 see /usr/share/doc/packages/perl-IO-AIO/Changes TODO: lchown OBS-URL: https://build.opensuse.org/request/show/640742 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-AIO?expand=0&rev=7
2018-10-09 07:03:56 +00:00
%files -f %{name}.files
%doc Changes README
%license COPYING
%exclude %{_bindir}/treescan
%package -n treescan-aio
Summary: File Tree Scanner that uses Asynchronous I/O
Group: System/Base
Requires: perl(IO::AIO) = %{version}
BuildArch: noarch
%description -n treescan-aio
Scans a tree of files for changes, using AIO (Asynchronous I/O).
%files -n treescan-aio
%defattr(-,root,root)
%{_bindir}/treescan
%changelog