Compare commits

..

No commits in common. 'cs10' and 'c9' have entirely different histories.
cs10 ... c9

2
.gitignore vendored

@ -1 +1 @@
SOURCES/DBD-mysql-5.007.tar.gz
SOURCES/DBD-mysql-4.050.tar.gz

@ -1 +1 @@
5d2bd0ca984cc07a1ca52e6ee2ee5674a12dfcba SOURCES/DBD-mysql-5.007.tar.gz
ff19efb5c5a9add075eafa1ad082cc74c2214f2a SOURCES/DBD-mysql-4.050.tar.gz

@ -0,0 +1,34 @@
From fc754728272e776b48b3a432ada9954335b783b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Fri, 13 Mar 2020 13:41:17 +0100
Subject: [PATCH] Remove a useless shebang from DBD::mysql
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Shebang has only a meaning for an executable script. DBD::mysql Perl
module is not an executable script that someone would run as an
standalone program. Morover, the file would have to have set an
executable bit. It seems the erroneous shebang was added by a mistake
when removing an Emacs configuration line.
This patch removes the shebang.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
lib/DBD/mysql.pm | 2 --
1 file changed, 2 deletions(-)
diff --git a/lib/DBD/mysql.pm b/lib/DBD/mysql.pm
index 2277fbe..5c90f3e 100644
--- a/lib/DBD/mysql.pm
+++ b/lib/DBD/mysql.pm
@@ -1,5 +1,3 @@
-#!/usr/bin/perl
-
use strict;
use warnings;
require 5.008_001; # just as DBI
--
2.21.1

@ -1,16 +0,0 @@
#!/usr/bin/perl
use strict;
use warnings;
use File::Path;
use Test::More tests => 2;
my $MYSQL_DIR = $ENV{'MYSQL_DIR'};
my $MYSQL_UNIX_PORT = $ENV{'MYSQL_UNIX_PORT'};
my $MYSQL_PIDFILE = $ENV{'MYSQL_PIDFILE'};
ok(system("/usr/bin/mysqladmin --user=root --socket=$MYSQL_UNIX_PORT shutdown 2>&1 || [ ! -s \"$MYSQL_PIDFILE\" ] || /bin/kill `cat \"$MYSQL_PIDFILE\"`") == 0);
my $removed_count = rmtree($MYSQL_DIR, 1, 1);
ok($removed_count > 0);

@ -1,14 +0,0 @@
#!/usr/bin/bash
# MariaDB setup
export MYSQL_DIR=$PWD/t/testdb
export MYSQL_UNIX_PORT=$MYSQL_DIR/mysql.sock
export MYSQL_PIDFILE=$MYSQL_DIR/mysql.pid
# DBD::mysql test setup
export DBD_MYSQL_TESTDB=test
export DBD_MYSQL_TESTHOST=localhost
export DBD_MYSQL_TESTSOCKET=$MYSQL_UNIX_PORT
export DBD_MYSQL_TESTUSER=testuserdbd
export DBD_MYSQL_TESTPASSWORD=testpasswordDBD

@ -1,51 +0,0 @@
#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 7;
# MySQL setup
my $MYSQL_DIR = $ENV{'MYSQL_DIR'};
my $MYSQL_UNIX_PORT = $ENV{'MYSQL_UNIX_PORT'};
my $MYSQL_PIDFILE = $ENV{'MYSQL_PIDFILE'};
# DBD::MariaDB test setup
my $DBD_MYSQL_TESTDB = $ENV{'DBD_MYSQL_TESTDB'};
my $DBD_MYSQL_TESTHOST = $ENV{'DBD_MYSQL_TESTHOST'};
my $DBD_MYSQL_TESTSOCKET = $ENV{'DBD_MYSQL_TESTSOCKET'};
my $DBD_MYSQL_TESTUSER = $ENV{'DBD_MYSQL_TESTUSER'};
my $DBD_MYSQL_TESTPASSWORD = $ENV{'DBD_MYSQL_TESTPASSWORD'};
my $MYSQLD = '/usr/sbin/mysqld';
# Initialize MySQL data directory
system("$MYSQLD --no-defaults --initialize-insecure --user=mysql --datadir=$MYSQL_DIR >/dev/null 2>&1");
is($?, 0);
# Starting the server
my $cmd = "$MYSQLD --no-defaults --socket=$MYSQL_UNIX_PORT --datadir=$MYSQL_DIR --pid-file=$MYSQL_PIDFILE --explicit_defaults_for_timestamp --skip-networking >/dev/null 2>&1 &";
system($cmd);
is($?, 0);
my $attempts = 0;
while (system("/usr/bin/mysqladmin --socket=$MYSQL_UNIX_PORT ping >/dev/null 2>&1") != 0) {
sleep 3;
$attempts++;
if ($attempts > 10) {
fail("skipping test, mysql server could not be contacted after 30 seconds\n");
}
}
ok(1);
# Create database
system("mysql -u root --skip-password --execute \"CREATE DATABASE IF NOT EXISTS $DBD_MYSQL_TESTDB CHARACTER SET='utf8mb4';\" 2>&1");
is($?, 0);
# The test user has to have the proper privileges that these tests require
system("mysql -u root --skip-password --execute \"CREATE USER '$DBD_MYSQL_TESTUSER'\@'localhost' IDENTIFIED BY '$DBD_MYSQL_TESTPASSWORD'; \" 2>&1");
is($?, 0);
system("mysql -u root --skip-password --execute \"GRANT ALL PRIVILEGES ON $DBD_MYSQL_TESTDB.* TO '$DBD_MYSQL_TESTUSER'\@'localhost';\" 2>&1");
is($?, 0);
system("/usr/bin/mysqladmin --user=$DBD_MYSQL_TESTUSER --password=$DBD_MYSQL_TESTPASSWORD --socket=$DBD_MYSQL_TESTSOCKET ping >/dev/null 2>&1");
is($?, 0);

@ -1,11 +0,0 @@
seq:
- seq: t/test-setup.t
- seq: t/00base.t
- seq: t/05dbcreate.t
- seq: t/10connect.t
- seq: t/87async.t
- seq: t/rt75353-innodb-lock-timeout.t
- seq: t/rt85919-fetch-lost-connection.t
- par:
- par: **
- seq: t/test-clean.t

@ -1,36 +1,30 @@
%global cpan_name DBD-mysql
# Disable leak tests
%bcond_with perl_DBD_MySQL_enables_leak_test
%global mysqlname mysql
Name: perl-DBD-MySQL
Version: 5.007
Release: 3%{?dist}
Version: 4.050
Release: 13%{?dist}
Summary: A MySQL interface for Perl
License: GPL-1.0-or-later OR Artistic-1.0-Perl
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN/%{cpan_name}-%{version}.tar.gz
Source1: test-setup.t
Source2: test-clean.t
Source3: testrules.yml
Source4: test-env.sh
License: GPL+ or Artistic
URL: https://metacpan.org/release/DBD-mysql
Source0: https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN/DBD-mysql-%{version}.tar.gz
# Remove a useless shebang, bug #1813195,
# <https://github.com/perl5-dbi/DBD-mysql/pull/321>
Patch0: DBD-mysql-4.050-Remove-a-useless-shebang-from-DBD-mysql.patch
BuildRequires: make
BuildRequires: coreutils
BuildRequires: findutils
BuildRequires: gcc
BuildRequires: make
# DBD::mysql v5.x requires MySQL 8.x client libraries for building
BuildRequires: %{mysqlname}-devel
BuildRequires: mariadb-connector-c
BuildRequires: mariadb-connector-c-devel
BuildRequires: openssl-devel
BuildRequires: perl-devel
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl(Carp)
BuildRequires: perl(Config)
BuildRequires: perl(Data::Dumper)
BuildRequires: perl(DBI) >= 1.609
BuildRequires: perl(DBI::DBD)
BuildRequires: perl(Devel::CheckLib) >= 1.09
BuildRequires: perl(DynaLoader)
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76
BuildRequires: perl(File::Basename)
BuildRequires: perl(File::Copy)
@ -41,88 +35,27 @@ BuildRequires: perl(strict)
BuildRequires: perl(utf8)
BuildRequires: perl(warnings)
BuildRequires: zlib-devel
# Run-time
BuildRequires: perl(Carp)
BuildRequires: perl(DBI) >= 1.609
BuildRequires: perl(DBI::Const::GetInfoType)
BuildRequires: perl(DynaLoader)
# Tests
BuildRequires: %{mysqlname}
BuildRequires: %{mysqlname}-server
BuildRequires: perl(B)
BuildRequires: perl(bigint)
# Required to process t/testrules.yml
BuildRequires: perl(CPAN::Meta::YAML)
BuildRequires: perl(Encode)
BuildRequires: perl(lib)
BuildRequires: perl(Test::Deep)
BuildRequires: perl(Test::More)
BuildRequires: perl(Time::HiRes)
BuildRequires: perl(vars)
# Optional tests
%if %{with perl_DBD_MySQL_enables_leak_test}
BuildRequires: perl(Proc::ProcessTable)
BuildRequires: perl(Storable)
%endif
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Provides: perl-DBD-mysql = %{version}-%{release}
%{?perl_default_filter}
# Filter modules bundled for tests
%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir}
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(.*lib.pl\\)
%description
DBD::mysql is the Perl5 Database Interface driver for the MySQL database. In
other words: DBD::mysql is an interface between the Perl programming language
and the MySQL programming API that comes with the MySQL relational database
management system.
%package tests
Summary: Tests for %{name}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: perl-Test-Harness
Requires: coreutils
Requires: shadow-utils
Requires: %{mysqlname}
Requires: %{mysqlname}-server
# Required to process t/testrules.yml
Requires: perl(CPAN::Meta::YAML)
# Optional tests
%if %{with perl_DBD_MariaDB_enables_leak_test}
Requires: perl(Proc::ProcessTable)
Requires: perl(Storable)
%endif
%description tests
Tests from %{name}. Execute them
with "%{_libexecdir}/%{name}/test".
%prep
%autosetup -p1 -n %{cpan_name}-%{version}
%setup -q -n DBD-mysql-%{version}
%patch0 -p1
# Correct file permissions
find . -type f | xargs chmod -x
cp %{SOURCE1} %{SOURCE2} %{SOURCE3} t/
cp %{SOURCE4} .
# Help file to recognise the Perl scripts and normalize shebangs
for F in t/*.t t/*.pl; do
perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*perl\b}{$Config{startperl}}' "$F"
chmod +x "$F"
done
%build
. %{SOURCE4}
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" \
NO_PACKLIST=1 NO_PERLLOCAL=1 \
--testdb=$DBD_MYSQL_TESTDB \
--testuser=$DBD_MYSQL_TESTUSER \
--testpassword=$DBD_MYSQL_TESTPASSWORD \
--testhost=$DBD_MYSQL_TESTHOST \
--testsocket=$DBD_MYSQL_TESTSOCKET
NO_PACKLIST=1 NO_PERLLOCAL=1
%{make_build}
%install
@ -130,120 +63,29 @@ perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" \
find %{buildroot} -type f -name '*.bs' -empty -delete
%{_fixperms} %{buildroot}/*
# Install tests
mkdir -p %{buildroot}%{_libexecdir}/%{name}
cp -a t %{buildroot}%{_libexecdir}/%{name}
cp %{SOURCE4} %{buildroot}%{_libexecdir}/%{name}
# Replace build dir by template
perl -i -pe 's{%{_builddir}/.*mysql.sock}{_TEST_SOCKET_}' %{buildroot}%{_libexecdir}/%{name}/t/mysql.mtest
# Remove release tests
rm %{buildroot}%{_libexecdir}/%{name}/t/manifest.t
rm %{buildroot}%{_libexecdir}/%{name}/t/pod.t
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
#!/usr/bin/bash
set -e
# The tests write to temporary database which is placed in $DIR/t/testdb
DIR=$(mktemp -d)
pushd "$DIR"
cp -a %{_libexecdir}/%{name}/* ./
. $DIR/$(basename %{SOURCE4})
%{!?with_perl_DBD_MySQL_enables_leak_test:unset EXTENDED_TESTING}
perl -i -pe "s{_TEST_SOCKET_}{$DBD_MYSQL_TESTSOCKET}" $DIR/t/mysql.mtest
# Test setup and tests have to be executed by non-root user
if [ `id -u` -ne 0 ]; then
prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
else
getent group $DBD_MYSQL_TESTUSER >/dev/null || \
groupadd -r $DBD_MYSQL_TESTUSER
getent passwd $DBD_MYSQL_TESTUSER >/dev/null || \
useradd -g $DBD_MYSQL_TESTUSER $DBD_MYSQL_TESTUSER
chown -hR $DBD_MYSQL_TESTUSER:$DBD_MYSQL_TESTUSER $DIR
su $DBD_MYSQL_TESTUSER -c "prove -I . -j \"$(getconf _NPROCESSORS_ONLN)\""
chown -hR root:root $DIR
getent passwd $DBD_MYSQL_TESTUSER &>/dev/null && userdel -r $DBD_MYSQL_TESTUSER
getent group $DBD_MYSQL_TESTUSER &>/dev/null && groupdel $DBD_MYSQL_TESTUSER
fi
popd
rm -rf "$DIR"
EOF
chmod +x %{buildroot}%{_libexecdir}/%{name}/test
%check
# Set MySQL and DBD::mysql test environment
. %{SOURCE4}
unset RELEASE_TESTING
make test %{?with_perl_DBD_MySQL_enables_leak_test:EXTENDED_TESTING=1}
# Full test coverage requires a live MySQL database
#make test
%files
%license LICENSE
%doc Changes README.md
%{perl_vendorarch}/Bundle/
%{perl_vendorarch}/DBD/
%{perl_vendorarch}/auto/DBD/
%{_mandir}/man3/DBD::mysql*.3*
%files tests
%{_libexecdir}/%{name}
%{_mandir}/man3/*.3*
%changelog
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 5.007-3
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Thu Aug 08 2024 Troy Dawson <tdawson@redhat.com> - 5.007-2
- Bump release for Aug 2024 java mass rebuild
* Tue Jul 16 2024 Jitka Plesnikova <jplesnik@redhat.com> - 5.007-1
- 5.007 bump
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 5.003-4
- Bump release for June 2024 mass rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.003-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.003-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Dec 01 2023 Jitka Plesnikova <jplesnik@redhat.com> - 5.003-1
- 5.003 bump (rhbz#2252375)
* Tue Oct 24 2023 Jitka Plesnikova <jplesnik@redhat.com> - 5.002-1
- 5.002 bump (rhbz#2245834)
* Thu Oct 19 2023 Jitka Plesnikova <jplesnik@redhat.com> - 5.001-2
- Use community-mysql also for ELN
* Wed Oct 04 2023 Jitka Plesnikova <jplesnik@redhat.com> - 5.001-1
- 5.001 bump (rhbz#2242077)
Since this version, MySQL 8.x has to be used for build
- Package tests
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.050-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 Jitka Plesnikova <jplesnik@redhat.com> - 4.050-17
- Perl 5.38 rebuild
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.050-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.050-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue May 31 2022 Jitka Plesnikova <jplesnik@redhat.com> - 4.050-14
- Perl 5.36 rebuild
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.050-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 4.050-13
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.050-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 4.050-12
- Rebuilt for RHEL 9 BETA for openssl 3.0
Related: rhbz#1971065
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 4.050-11
- Perl 5.34 rebuild
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 4.050-11
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.050-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

Loading…
Cancel
Save