<86>Nov 22 01:41:17 userdel[865577]: delete user 'rooter' <86>Nov 22 01:41:17 userdel[865577]: removed group 'rooter' owned by 'rooter' <86>Nov 22 01:41:17 userdel[865577]: removed shadow group 'rooter' owned by 'rooter' <86>Nov 22 01:41:17 groupadd[865589]: group added to /etc/group: name=rooter, GID=1877 <86>Nov 22 01:41:17 groupadd[865589]: group added to /etc/gshadow: name=rooter <86>Nov 22 01:41:17 groupadd[865589]: new group: name=rooter, GID=1877 <86>Nov 22 01:41:17 useradd[865600]: new user: name=rooter, UID=1877, GID=1877, home=/root, shell=/bin/bash, from=none <86>Nov 22 01:41:17 userdel[865618]: delete user 'builder' <86>Nov 22 01:41:17 userdel[865618]: removed group 'builder' owned by 'builder' <86>Nov 22 01:41:17 userdel[865618]: removed shadow group 'builder' owned by 'builder' <86>Nov 22 01:41:17 groupadd[865639]: group added to /etc/group: name=builder, GID=1878 <86>Nov 22 01:41:17 groupadd[865639]: group added to /etc/gshadow: name=builder <86>Nov 22 01:41:17 groupadd[865639]: new group: name=builder, GID=1878 <86>Nov 22 01:41:17 useradd[865656]: new user: name=builder, UID=1878, GID=1878, home=/usr/src, shell=/bin/bash, from=none /usr/src/in/srpm/perl-IO-Socket-Multicast-1.12-alt3.2.src.rpm: The use of such a license name is ambiguous: GPL /usr/src/in/srpm/perl-IO-Socket-Multicast-1.12-alt3.2.src.rpm: The use of such a license name is ambiguous: Artistic warning: user igor does not exist - using root warning: group igor does not exist - using root warning: user igor does not exist - using root warning: group igor does not exist - using root <13>Nov 22 01:41:20 rpmi: libgdbm-1.8.3-alt10 sisyphus+346222.200.3.2 1716468404 installed <13>Nov 22 01:41:20 rpmi: libgdbm-devel-1.8.3-alt10 sisyphus+346222.200.3.2 1716468404 installed <13>Nov 22 01:41:20 rpmi: perl-devel-1:5.38.2-alt0.2 sisyphus+344512.40.2.1 1712358015 installed Building target platforms: x86_64 Building for target x86_64 Wrote: /usr/src/in/nosrpm/perl-IO-Socket-Multicast-1.12-alt3.2.nosrc.rpm (w1.gzdio) Installing perl-IO-Socket-Multicast-1.12-alt3.2.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.97576 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf IO-Socket-Multicast-1.12 + echo 'Source #0 (IO-Socket-Multicast-1.12.tar.gz):' Source #0 (IO-Socket-Multicast-1.12.tar.gz): + /usr/bin/gzip -dc /usr/src/RPM/SOURCES/IO-Socket-Multicast-1.12.tar.gz + /bin/tar -xf - + cd IO-Socket-Multicast-1.12 + /bin/chmod -c -Rf u+rwX,go-w . + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.97576 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd IO-Socket-Multicast-1.12 + perl_vendor_build + export PERL_EXTUTILS_AUTOINSTALL=--skip + PERL_EXTUTILS_AUTOINSTALL=--skip + export XSUBPP_STATIC_XS=1 + XSUBPP_STATIC_XS=1 + _perl_vendor_fixin + find . -type f -print0 + xargs -r0 /usr/bin/subst -p '1s,^#![[:space:]]*\([^[:space:]]*/\)\?perl\([^/[:alpha:][:space:]][^/[:space:]]*\)\?\([[:space:]]\|$\),#!/usr/bin/perl\3,' + /usr/bin/grep -qs -Ew '((dist|module)_name|Build_PL|Module::Build)' Build.PL + _perl_vendor_MM_build + : looking for PREREQ dependencies + /usr/bin/perl Makefile.PL PRINT_PREREQ=1 + tee .perl.req perl(IO::Interface)>=0.94 + : writing Makefile + /usr/bin/perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor Warning: prerequisite IO::Interface 0.94 not found. Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for IO::Socket::Multicast + : running make + make -j16 'OPTIMIZE=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' 'CP=/bin/cp -p' make: Entering directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' Running Mkbootstrap for Multicast () chmod 644 "Multicast.bs" make: Leaving directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' make: Entering directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Multicast.bs blib/arch/auto/IO/Socket/Multicast/Multicast.bs 644 make: Leaving directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' make: Entering directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' cp lib/IO/Socket/Multicast.pm blib/lib/IO/Socket/Multicast.pm make: Leaving directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' make: Entering directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' "/usr/bin/perl" "/usr/share/perl5/ExtUtils/xsubpp" -typemap '/usr/share/perl5/ExtUtils/typemap' Multicast.xs > Multicast.xsc mv Multicast.xsc Multicast.c make: Leaving directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' make: Entering directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' gcc -c -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -DVERSION=\"1.12\" -DXS_VERSION=\"1.12\" -fPIC "-I/usr/lib64/perl5/CORE" Multicast.c Multicast.xs: In function 'XS_IO__Socket__Multicast_mcast_loopback': Multicast.xs:229:72: warning: pointer targets in passing argument 5 of 'getsockopt' differ in signedness [-Wpointer-sign] 229 | if (getsockopt(fd,IPPROTO_IP,IP_MULTICAST_LOOP,(void*)&previous,&len) < 0) | ^~~~ | | | int * In file included from /usr/include/netinet/in.h:23, from /usr/lib64/perl5/CORE/perl.h:1781, from Multicast.xs:6: /usr/include/sys/socket.h:257:46: note: expected 'socklen_t * restrict' {aka 'unsigned int * restrict'} but argument is of type 'int *' 257 | socklen_t *__restrict __optlen) __THROW; | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ Multicast.xs: In function 'XS_IO__Socket__Multicast_mcast_ttl': Multicast.xs:255:71: warning: pointer targets in passing argument 5 of 'getsockopt' differ in signedness [-Wpointer-sign] 255 | if (getsockopt(fd,IPPROTO_IP,IP_MULTICAST_TTL,(void*)&previous,&len) < 0) | ^~~~ | | | int * /usr/include/sys/socket.h:257:46: note: expected 'socklen_t * restrict' {aka 'unsigned int * restrict'} but argument is of type 'int *' 257 | socklen_t *__restrict __optlen) __THROW; | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ Multicast.xs: In function 'XS_IO__Socket__Multicast__mcast_if': Multicast.xs:297:69: warning: pointer targets in passing argument 5 of 'getsockopt' differ in signedness [-Wpointer-sign] 297 | if (getsockopt(fd,IPPROTO_IP,IP_MULTICAST_IF,(void*) &mreq,&len) != 0) | ^~~~ | | | int * /usr/include/sys/socket.h:257:46: note: expected 'socklen_t * restrict' {aka 'unsigned int * restrict'} but argument is of type 'int *' 257 | socklen_t *__restrict __optlen) __THROW; | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ Multicast.xs: At top level: Multicast.xs:26:1: warning: 'not_here' defined but not used [-Wunused-function] 26 | not_here(char *s) | ^~~~~~~~ make: Leaving directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' make: Entering directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' rm -f blib/arch/auto/IO/Socket/Multicast/Multicast.so gcc -shared -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -L/usr/local/lib -fstack-protector-strong Multicast.o -o blib/arch/auto/IO/Socket/Multicast/Multicast.so \ \ -L/usr/lib64/perl5/CORE -lperl -lpthread chmod 755 blib/arch/auto/IO/Socket/Multicast/Multicast.so make: Leaving directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' + : running tests + LD_BIND_NOW=1 + PERL_DL_NONLAZY=1 + /usr/bin/make test 'CP=/bin/cp -p' make: Entering directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Multicast.bs blib/arch/auto/IO/Socket/Multicast/Multicast.bs 644 PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01_use.t ........ ok t/03_multicast.t .. ok t/04_send.t ....... skipped: Developer testing only All tests successful. Files=3, Tests=15, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.12 cusr 0.03 csys = 0.18 CPU) Result: PASS make: Leaving directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.97576 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/perl-IO-Socket-Multicast-buildroot + : + /bin/rm -rf -- /usr/src/tmp/perl-IO-Socket-Multicast-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games + cd IO-Socket-Multicast-1.12 + perl_vendor_install + /usr/bin/grep -qs -Ew Build_PL Build.PL + /usr/bin/grep -qs -Ew '(dist|module)_name' Build.PL + _perl_vendor_MM_install + : installing + make 'INSTALL=/usr/libexec/rpm-build/install -p' 'CP=/bin/cp -p' DESTDIR=/usr/src/tmp/perl-IO-Socket-Multicast-buildroot PREFIX=/usr INSTALLDIRS=vendor pure_install make: Entering directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Multicast.bs blib/arch/auto/IO/Socket/Multicast/Multicast.bs 644 Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /usr/src/tmp/perl-IO-Socket-Multicast-buildroot/usr/lib64/perl5/auto/IO/Socket/Multicast/Multicast.so Installing /usr/src/tmp/perl-IO-Socket-Multicast-buildroot/usr/lib64/perl5/IO/Socket/Multicast.pm make: Leaving directory '/usr/src/RPM/BUILD/IO-Socket-Multicast-1.12' + _perl_vendor_check_buildroot + : prompting for files that contain /usr/local + find /usr/src/tmp/perl-IO-Socket-Multicast-buildroot -type f -exec /usr/bin/grep -FH /usr/local '{}' ';' + : prompting for files that contain /tmp + find /usr/src/tmp/perl-IO-Socket-Multicast-buildroot -type f -not -name .packlist -exec /usr/bin/grep -FH /tmp '{}' ';' + _perl_vendor_save_prereq + /usr/bin/grep -F 'perl(' .perl.req perl(IO::Interface)>=0.94 + /usr/bin/grep -F 'perl(' .perl.req + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/perl-IO-Socket-Multicast-buildroot (auto) removed './usr/lib64/perl5/auto/IO/Socket/Multicast/.packlist' mode of './usr/lib64/perl5/auto/IO/Socket/Multicast/Multicast.so' changed from 0755 (rwxr-xr-x) to 0644 (rw-r--r--) Verifying and fixing files in /usr/src/tmp/perl-IO-Socket-Multicast-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/perl-IO-Socket-Multicast-buildroot/ (default) Compressing files in /usr/src/tmp/perl-IO-Socket-Multicast-buildroot (auto) Adjusting library links in /usr/src/tmp/perl-IO-Socket-Multicast-buildroot ./usr/lib64: (from :0) Verifying ELF objects in /usr/src/tmp/perl-IO-Socket-Multicast-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Splitting links to aliased files under /{,s}bin in /usr/src/tmp/perl-IO-Socket-Multicast-buildroot Processing files: perl-IO-Socket-Multicast-1.12-alt3.2 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.73922 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd IO-Socket-Multicast-1.12 + DOCDIR=/usr/src/tmp/perl-IO-Socket-Multicast-buildroot/usr/share/doc/perl-IO-Socket-Multicast-1.12 + export DOCDIR + rm -rf /usr/src/tmp/perl-IO-Socket-Multicast-buildroot/usr/share/doc/perl-IO-Socket-Multicast-1.12 + /bin/mkdir -p /usr/src/tmp/perl-IO-Socket-Multicast-buildroot/usr/share/doc/perl-IO-Socket-Multicast-1.12 + cp -prL Changes README examples /usr/src/tmp/perl-IO-Socket-Multicast-buildroot/usr/share/doc/perl-IO-Socket-Multicast-1.12 + chmod -R go-w /usr/src/tmp/perl-IO-Socket-Multicast-buildroot/usr/share/doc/perl-IO-Socket-Multicast-1.12 + chmod -R a+rX /usr/src/tmp/perl-IO-Socket-Multicast-buildroot/usr/share/doc/perl-IO-Socket-Multicast-1.12 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.DW044Y find-provides: running scripts (debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.vmbTtq find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) /usr/src/tmp/perl-IO-Socket-Multicast-buildroot/usr/lib64/perl5/IO/Socket/Multicast.pm syntax OK Provides: perl(IO/Socket/Multicast.pm) = 1.120 Requires: /usr/lib64/perl5, ld-linux-x86-64.so.2()(64bit) >= set:jiids, ld-linux-x86-64.so.2(GLIBC_2.3)(64bit), libc.so.6(GLIBC_2.2.5)(64bit), libc.so.6(GLIBC_2.4)(64bit), libperl-5.38.so()(64bit) >= set:okjB3Szi7acWy25X2nCVZc8PVocnVgMykERd81XkZ8BeETAOd0, perl(DynaLoader.pm), perl(IO/Socket.pm), rtld(GNU_HASH) Requires(rpmlib): rpmlib(SetVersions) Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.bKgo6f Creating perl-IO-Socket-Multicast-debuginfo package Processing files: perl-IO-Socket-Multicast-debuginfo-1.12-alt3.2 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.uiLSVO find-provides: running scripts (debuginfo) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.LqVrj0 find-requires: running scripts (debuginfo) Requires: perl-IO-Socket-Multicast = 1.12-alt3.2, debug64(ld-linux-x86-64.so.2), debug64(libc.so.6), debug64(libperl-5.38.so) Adding to perl-IO-Socket-Multicast-debuginfo a strict dependency on perl-IO-Socket-Multicast Wrote: /usr/src/RPM/RPMS/x86_64/perl-IO-Socket-Multicast-1.12-alt3.2.x86_64.rpm (w2.lzdio) Wrote: /usr/src/RPM/RPMS/x86_64/perl-IO-Socket-Multicast-debuginfo-1.12-alt3.2.x86_64.rpm (w2.lzdio) 1.08user 1.29system 0:06.37elapsed 37%CPU (0avgtext+0avgdata 79212maxresident)k 0inputs+0outputs (0major+237204minor)pagefaults 0swaps /.out/perl-IO-Socket-Multicast-1.12-alt3.2.x86_64.rpm: The use of such a license name is ambiguous: GPL /.out/perl-IO-Socket-Multicast-1.12-alt3.2.x86_64.rpm: The use of such a license name is ambiguous: Artistic /.out/perl-IO-Socket-Multicast-debuginfo-1.12-alt3.2.x86_64.rpm: The use of such a license name is ambiguous: GPL /.out/perl-IO-Socket-Multicast-debuginfo-1.12-alt3.2.x86_64.rpm: The use of such a license name is ambiguous: Artistic 3.21user 2.62system 0:15.71elapsed 37%CPU (0avgtext+0avgdata 137780maxresident)k 0inputs+0outputs (0major+209076minor)pagefaults 0swaps --- perl-IO-Socket-Multicast-1.12-alt3.2.x86_64.rpm.repo 2023-11-28 10:48:39.000000000 +0000 +++ perl-IO-Socket-Multicast-1.12-alt3.2.x86_64.rpm.hasher 2024-11-22 01:41:29.442296273 +0000 @@ -32,3 +32,3 @@ File: /usr/lib64/perl5/auto/IO/Socket/Multicast 40755 root:root -File: /usr/lib64/perl5/auto/IO/Socket/Multicast/Multicast.so 100644 root:root ab989760fc0e596583ea11b1b523a665 +File: /usr/lib64/perl5/auto/IO/Socket/Multicast/Multicast.so 100644 root:root dad327917ea0779843059fc74f2b8eca File: /usr/share/doc/perl-IO-Socket-Multicast-1.12 40755 root:root @@ -39,2 +39,2 @@ File: /usr/share/doc/perl-IO-Socket-Multicast-1.12/examples/server.pl 100755 root:root c321f94acf26411722dd16095ffa2865 -RPMIdentity: 3ac5452ba740a119ef53392967f2b0cb797e40be67669627f483305c2b210035be0a960e243f950c55eb1b4428577a9f58974fb0f1404c2d03eab35e9fb60c91 +RPMIdentity: 646d53fcb1527631c19226421943d918e39d3f2248852454301fedb5d6cc6c88718660dd805d4faaf51d3a5cb82397b18c015cbe28943c0985f21bec89bd26e7 --- perl-IO-Socket-Multicast-debuginfo-1.12-alt3.2.x86_64.rpm.repo 2023-11-28 10:48:39.000000000 +0000 +++ perl-IO-Socket-Multicast-debuginfo-1.12-alt3.2.x86_64.rpm.hasher 2024-11-22 01:41:29.519297582 +0000 @@ -1,4 +1,4 @@ -/usr/lib/debug/.build-id/ad 40755 root:root -/usr/lib/debug/.build-id/ad/0b2ae88d4c40fc6d3b1431646e53ee68511da5 120777 root:root ../../../../lib64/perl5/auto/IO/Socket/Multicast/Multicast.so -/usr/lib/debug/.build-id/ad/0b2ae88d4c40fc6d3b1431646e53ee68511da5.debug 120777 root:root ../../usr/lib64/perl5/auto/IO/Socket/Multicast/Multicast.so.debug +/usr/lib/debug/.build-id/41 40755 root:root +/usr/lib/debug/.build-id/41/226d11fe152365485ea4e3584d7f844e27b3df 120777 root:root ../../../../lib64/perl5/auto/IO/Socket/Multicast/Multicast.so +/usr/lib/debug/.build-id/41/226d11fe152365485ea4e3584d7f844e27b3df.debug 120777 root:root ../../usr/lib64/perl5/auto/IO/Socket/Multicast/Multicast.so.debug /usr/lib/debug/usr/lib64/perl5 40755 root:root @@ -18,5 +18,5 @@ Provides: perl-IO-Socket-Multicast-debuginfo = 1.12-alt3.2:sisyphus+335067.45500.2.2 -File: /usr/lib/debug/.build-id/ad 40755 root:root -File: /usr/lib/debug/.build-id/ad/0b2ae88d4c40fc6d3b1431646e53ee68511da5 120777 root:root ../../../../lib64/perl5/auto/IO/Socket/Multicast/Multicast.so -File: /usr/lib/debug/.build-id/ad/0b2ae88d4c40fc6d3b1431646e53ee68511da5.debug 120777 root:root ../../usr/lib64/perl5/auto/IO/Socket/Multicast/Multicast.so.debug +File: /usr/lib/debug/.build-id/41 40755 root:root +File: /usr/lib/debug/.build-id/41/226d11fe152365485ea4e3584d7f844e27b3df 120777 root:root ../../../../lib64/perl5/auto/IO/Socket/Multicast/Multicast.so +File: /usr/lib/debug/.build-id/41/226d11fe152365485ea4e3584d7f844e27b3df.debug 120777 root:root ../../usr/lib64/perl5/auto/IO/Socket/Multicast/Multicast.so.debug File: /usr/lib/debug/usr/lib64/perl5 40755 root:root @@ -26,3 +26,3 @@ File: /usr/lib/debug/usr/lib64/perl5/auto/IO/Socket/Multicast 40755 root:root -File: /usr/lib/debug/usr/lib64/perl5/auto/IO/Socket/Multicast/Multicast.so.debug 100644 root:root 70319fa729ea64f14df12b728fbb6584 +File: /usr/lib/debug/usr/lib64/perl5/auto/IO/Socket/Multicast/Multicast.so.debug 100644 root:root de74e3fadd98f1a646d8d159dc7eed81 File: /usr/src/debug/IO-Socket-Multicast-1.12 40755 root:root @@ -30,2 +30,2 @@ File: /usr/src/debug/IO-Socket-Multicast-1.12/Multicast.xs 100644 root:root 81d9f1eac46459c9eec681b8360827ff -RPMIdentity: 268dbc33a83b83271c5f2287bdde132c68302c0d54a3037c72fdb1e362fa436a00710c9413fb45afffc72bef72aecd8364123b4e8bb2f1be878c3aa14cc4aaa9 +RPMIdentity: 7c701c8ce988a8bbcd13bc5ae920a2c556587eee713d1a780bba16a49dc8a3a1256e45d3f779e0f76d5f7cbb038f8bc285f950f4df2af715366b4d06dbbdb45a