diff --git a/.gitignore b/.gitignore index 32c0181..344b6d9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -SOURCES/pg-1.2.3.gem +SOURCES/pg-1.6.3-spec.tar.gz +SOURCES/pg-1.6.3.gem diff --git a/.rubygem-pg.metadata b/.rubygem-pg.metadata index 62b3fc3..70e6914 100644 --- a/.rubygem-pg.metadata +++ b/.rubygem-pg.metadata @@ -1 +1,2 @@ -8d6059a2769035768d7b9f2ac60e12eb3093b6fe SOURCES/pg-1.2.3.gem +3bad12078d71cefba28319b87c20dba70f5e02e7 SOURCES/pg-1.6.3-spec.tar.gz +70350e70f0367b5a9d6e67d0550701fd0ac9ff0b SOURCES/pg-1.6.3.gem diff --git a/SOURCES/rubygem-pg-0.17.1-remove-rpath.patch b/SOURCES/rubygem-pg-0.17.1-remove-rpath.patch deleted file mode 100644 index d947016..0000000 --- a/SOURCES/rubygem-pg-0.17.1-remove-rpath.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/ext/extconf.rb b/ext/extconf.rb ---- a/ext/extconf.rb -+++ b/ext/extconf.rb -@@ -33,13 +33,6 @@ - incdir = `"#{pgconfig}" --includedir`.chomp - libdir = `"#{pgconfig}" --libdir`.chomp - dir_config 'pg', incdir, libdir -- -- # Try to use runtime path linker option, even if RbConfig doesn't know about it. -- # The rpath option is usually set implicit by dir_config(), but so far not -- # on MacOS-X. -- if RbConfig::CONFIG["RPATHFLAG"].to_s.empty? && try_link('int main() {return 0;}', " -Wl,-rpath,#{libdir}") -- $LDFLAGS << " -Wl,-rpath,#{libdir}" -- end - else - $stderr.puts "No pg_config... trying anyway. If building fails, please try again with", - " --with-pg-config=/path/to/pg_config" diff --git a/SOURCES/rubygem-pg-1.3.0-remove-rpath.patch b/SOURCES/rubygem-pg-1.3.0-remove-rpath.patch new file mode 100644 index 0000000..ef0d2b9 --- /dev/null +++ b/SOURCES/rubygem-pg-1.3.0-remove-rpath.patch @@ -0,0 +1,17 @@ +diff --git a/ext/extconf.rb b/ext/extconf.rb +--- a/ext/extconf.rb ++++ b/ext/extconf.rb +@@ -218,13 +218,6 @@ else + dlldir = libdir + end + +- # Try to use runtime path linker option, even if RbConfig doesn't know about it. +- # The rpath option is usually set implicit by dir_config(), but so far not +- # on MacOS-X. +- if dlldir && RbConfig::CONFIG["RPATHFLAG"].to_s.empty? +- append_ldflags "-Wl,-rpath,#{dlldir.quote}" +- end +- + if /mswin/ =~ RUBY_PLATFORM + $libs = append_library($libs, 'ws2_32') + end diff --git a/SPECS/rubygem-pg.spec b/SPECS/rubygem-pg.spec index a8ecb69..91801e2 100644 --- a/SPECS/rubygem-pg.spec +++ b/SPECS/rubygem-pg.spec @@ -2,22 +2,23 @@ %global gem_name pg Name: rubygem-%{gem_name} -Version: 1.2.3 +Version: 1.6.3 Release: 1%{?dist} -Summary: A Ruby interface to the PostgreSQL RDBMS -# Upstream license clarification (https://bitbucket.org/ged/ruby-pg/issue/72/) -# -# The portions of the code that are BSD-licensed are licensed under -# the BSD 3-Clause license; the contents of the BSD file are incorrect. -# -License: (BSD or Ruby) and PostgreSQL +Summary: Pg is the Ruby interface to the PostgreSQL RDBMS +License: (BSD-2-Clause OR Ruby) AND PostgreSQL URL: https://github.com/ged/ruby-pg Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +# git clone --no-checkout https://github.com/ged/ruby-pg.git +# git archive -v -o pg-1.6.3-spec.tar.gz v1.6.3 spec/ +Source1: %{gem_name}-%{version}-spec.tar.gz # Disable RPATH. -# https://bitbucket.org/ged/ruby-pg/issue/183 -Patch0: rubygem-pg-0.17.1-remove-rpath.patch -# Required in ext/pg_text_decoder.c -Requires: rubygem(bigdecimal) +# https://github.com/ged/ruby-pg/issues/183 +Patch0: rubygem-pg-1.3.0-remove-rpath.patch +# lib/pg/text_{de,en}coder.rb +Requires: rubygem(json) +# This is optional dependency now. +# https://github.com/ged/ruby-pg/pull/556 +Suggests: rubygem(bigdecimal) BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby-devel @@ -26,12 +27,14 @@ BuildRequires: ruby-devel BuildRequires: gcc BuildRequires: postgresql-server libpq-devel +# This is optional dependency now. +# https://github.com/ged/ruby-pg/pull/556 BuildRequires: rubygem(bigdecimal) BuildRequires: rubygem(rspec) %description -This is the extension library to access a PostgreSQL database from Ruby. -This library works with PostgreSQL 9.1 and later. +Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL 10 +and later. %package doc @@ -43,9 +46,9 @@ BuildArch: noarch Documentation for %{name}. %prep -%setup -q -n %{gem_name}-%{version} +%setup -q -n %{gem_name}-%{version} -b 1 -%patch0 -p1 +%patch -P 0 -p1 %build # Create the gem as gem install only works on a gem file @@ -66,26 +69,23 @@ cp -a .%{gem_extdir_mri}/{gem.build_complete,*.so} %{buildroot}%{gem_extdir_mri} # Prevent dangling symlink in -debuginfo (rhbz#878863). rm -rf %{buildroot}%{gem_instdir}/ext/ -# Remove useless shebangs. -sed -i -e '/^#!\/usr\/bin\/env/d' %{buildroot}%{gem_instdir}/Rakefile -sed -i -e '/^#!\/usr\/bin\/env/d' %{buildroot}%{gem_instdir}/Rakefile.cross - -# Files under %%{gem_libdir} are not executable. -for file in `find %{buildroot}%{gem_libdir} -type f -name "*.rb"`; do - sed -i '/^#!\/usr\/bin\/env/ d' $file \ - && chmod -v 644 $file -done %check pushd .%{gem_instdir} -# Set --verbose to show detail log by $VERBOSE. -# See https://github.com/ged/ruby-pg/blob/master/spec/helpers.rb $VERBOSE +ln -s %{_builddir}/spec . + # Assign a random port to consider a case of multi builds in parallel in a host. # https://github.com/ged/ruby-pg/pull/39 -if ! PGPORT="$((54321 + ${RANDOM} % 1000))" ruby -S --verbose \ - rspec -I$(dirs +1)%{gem_extdir_mri} -f d spec; then +export PGPORT="$((54321 + ${RANDOM} % 1000))" +# Since RPM 4.20, the build path becomes too long and therefore the +# "Unix-domain socket path" hits the limit. Use some shorter path to prevent +# the issue (/tmp could be also possibility). +export RUBY_PG_TEST_DIR=%{_builddir}/tmp +# Set --verbose to show detail log by $VERBOSE. +# See https://github.com/ged/ruby-pg/blob/master/spec/helpers.rb $VERBOSE +if ! ruby -S --verbose rspec -I$(dirs +1)%{gem_extdir_mri} -f d spec; then echo "==== [setup.log start ] ====" - cat tmp_test_specs/setup.log + cat ${RUBY_PG_TEST_DIR}/tmp_test_specs/setup.log echo "==== [setup.log end ] ====" false fi @@ -94,28 +94,43 @@ popd %files %dir %{gem_instdir} %{gem_extdir_mri} -%exclude %{gem_instdir}/.gemtest %license %{gem_instdir}/BSDL -%license %{gem_instdir}/POSTGRES %license %{gem_instdir}/LICENSE +%license %{gem_instdir}/POSTGRES %{gem_libdir} +%exclude %{gem_instdir}/ports %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} -%doc %{gem_instdir}/ChangeLog +%doc %{gem_instdir}/CHANGELOG.md %doc %{gem_instdir}/Contributors.rdoc -%doc %{gem_instdir}/History.rdoc -%doc %{gem_instdir}/Manifest.txt +%{gem_instdir}/Gemfile %doc %{gem_instdir}/README-OS_X.rdoc %doc %{gem_instdir}/README-Windows.rdoc -%doc %{gem_instdir}/README.ja.rdoc -%doc %{gem_instdir}/README.rdoc -%{gem_instdir}/Rakefile* -%{gem_instdir}/spec +%lang(ja) %doc %{gem_instdir}/README.ja.md +%doc %{gem_instdir}/README.md +%{gem_instdir}/Rakefile +%{gem_instdir}/certs +%{gem_instdir}/misc +%{gem_instdir}/pg.gemspec +%{gem_instdir}/rakelib +%{gem_instdir}/sample %changelog +* Mon Jan 19 2026 Jarek Prokop - 1.6.3-1 +- Upgrade to pg 1.6.3 + Related: RHEL-142278 + +* Fri Jan 19 2024 Jarek Prokop - 1.5.4-1 +- Upgrade to pg 1.5.4. + Related: RHEL-17089 + +* Thu May 26 2022 Jarek Prokop - 1.3.5-1 +- Update to pg 1.3.5 + Related: rhbz#2063773 + * Fri May 29 2020 Jun Aruga - 1.2.3-1 - Update to pg 1.2.3 by merging Fedora master branch (commit: 5db4d26) Resolves: rhbz#1817135