Skip to content

Commit

Permalink
packages fedora-32: add
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed May 20, 2020
1 parent 05f3e42 commit 0d6f002
Show file tree
Hide file tree
Showing 11 changed files with 174 additions and 40 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
/packages/*/yum/env.sh
/packages/*/yum/repositories/
/packages/*/yum/tmp/
!/packages/pgroonga/yum/*.spec.in
/packages/apt/repositories/
/packages/source/
/packages/yum/repositories/
Expand Down
9 changes: 9 additions & 0 deletions helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,15 @@ def detect_version(package)
end
end

def detect_release_time
release_time_env = ENV["RELEASE_TIME"] || ENV["NEW_RELEASE_DATE"]
if release_time_env
Time.parse(release_time_env).utc
else
Time.now.utc
end
end

def detect_latest_groonga_version
URI("https://packages.groonga.org/source/groonga/").open do |groonga_sources|
versions = groonga_sources.read.scan(/<a href="groonga-([\d.]+).zip">/)
Expand Down
68 changes: 33 additions & 35 deletions packages/pgroonga-package-task.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,16 @@
end
require "#{groonga_repository}/packages/packages-groonga-org-package-task"

class PGroongaPackageTask < PackagesGroongaOrgPackageTask
def initialize(postgresql_version)
@postgresql_version = postgresql_version
@postgresql_package_version = postgresql_version.gsub(".", "")
super("postgresql-#{@postgresql_version}-pgroonga",
class GenericPGroongaPackageTask < PackagesGroongaOrgPackageTask
def initialize(package_name)
super(package_name,
Helper.detect_version("pgroonga"),
detect_release_time)
Helper.detect_release_time)
@original_archive_base_name = "pgroonga-#{@version}"
@original_archive_name = "#{@original_archive_base_name}.tar.gz"
@rpm_package = "postgresql#{@postgresql_package_version}-pgroonga"
end

def define
super
define_debian_control_task
define_yum_spec_in_task
end

private
def detect_release_time
release_time_env = ENV["RELEASE_TIME"] || ENV["NEW_RELEASE_DATE"]
if release_time_env
Time.parse(release_time_env).utc
else
Time.now.utc
end
end

def latest_groonga_version
@latest_groonga_version ||= Helper.detect_latest_groonga_version
end
Expand Down Expand Up @@ -83,6 +65,35 @@ def apt_expand_variable(key)
end
end

def yum_expand_variable(key)
case key
when "PG_VERSION"
@postgresql_version
when "PG_PACKAGE_VERSION"
@postgresql_package_version
when "GROONGA_VERSION"
latest_groonga_version
else
super
end
end
end

class VersionedPGroongaPackageTask < GenericPGroongaPackageTask
def initialize(postgresql_version)
@postgresql_version = postgresql_version
@postgresql_package_version = postgresql_version.gsub(".", "")
super("postgresql-#{@postgresql_version}-pgroonga")
@rpm_package = "postgresql#{@postgresql_package_version}-pgroonga"
end

def define
super
define_debian_control_task
define_yum_spec_in_task
end

private
def define_debian_control_task
control_paths = []
debian_directory = package_directory + "debian"
Expand Down Expand Up @@ -120,19 +131,6 @@ def define_debian_control_task
end
end

def yum_expand_variable(key)
case key
when "PG_VERSION"
@postgresql_version
when "PG_PACKAGE_VERSION"
@postgresql_package_version
when "GROONGA_VERSION"
latest_groonga_version
else
super
end
end

def source_yum_spec_in_path
packages_directory + "yum" + "postgresql-pgroonga.spec.in"
end
Expand Down
26 changes: 26 additions & 0 deletions packages/pgroonga/Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
require_relative "../pgroonga-package-task"

class PGroongaPackageTask < GenericPGroongaPackageTask
def initialize
super("pgroonga")
end

def apt_targets_default
[
]
end

def ubuntu_targets_default
[
]
end

def yum_targets_default
[
"fedora-32",
]
end
end

task = PGroongaPackageTask.new
task.define
23 changes: 23 additions & 0 deletions packages/pgroonga/yum/fedora-32/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
FROM fedora:32

ARG DEBUG

RUN \
quiet=$([ "${DEBUG}" = "yes" ] || echo "--quiet") && \
dnf install -y ${quiet} \
fedora-packager \
rpmdevtools && \
dnf install -y ${quiet} \
ccache \
clang \
gcc \
groonga-devel \
libpq-devel \
llvm-devel \
make \
msgpack-devel \
postgresql-server-devel && \
dnf clean -y ${quiet} all

# TODO: Remove this: 17 == $(( 0x0001|0x0010 ))
ENV QA_RPATHS=17
77 changes: 77 additions & 0 deletions packages/pgroonga/yum/pgroonga.spec.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# -*- rpm -*-

# TODO: Remove this
%define debug_package %{nil}

Name: @PACKAGE@
Version: @VERSION@
Release: 1%{?dist}
Summary: Fast full-text search plugin for PostgreSQL based on Groonga

Group: Applications/Text
License: PostgreSQL
URL: https://pgroonga.github.io/
Source0: https://packages.groonga.org/source/pgroonga/pgroonga-%{version}.tar.gz

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n)
BuildRequires: ccache
BuildRequires: clang
BuildRequires: gcc
BuildRequires: groonga-devel
BuildRequires: libpq-devel
BuildRequires: llvm-devel
BuildRequires: make
BuildRequires: msgpack-devel
BuildRequires: postgresql-server-devel
Requires: groonga-libs >= @GROONGA_VERSION@
Requires: logrotate
Requires: msgpack
Requires: postgresql-server

%description
This package provides a fast full-text search plugin for PostgreSQL.
It is based on Groonga.

%prep
%setup -q -n pgroonga-%{version}


%build
make \
HAVE_MSGPACK=1 \
enable_rpath=no \
%{?_smp_mflags}

%install
PATH="%{pg_bindir}:$PATH" \
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"

mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
cat > $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/@PACKAGE@ <<EOF
/var/lib/pgsql/*/data/pgroonga.log {
weekly
missingok
rotate 10
compress
delaycompress
notifempty
su postgres postgres
}
EOF

strip $RPM_BUILD_ROOT%{_libdir}/pgsql/*.so

rm -rf $RPM_BUILD_ROOT%{_includedir}

%files
%doc README.md COPYING
%config(noreplace) %{_sysconfdir}/logrotate.d/@PACKAGE@
%{_libdir}/pgsql/*.so
%{_libdir}/pgsql/bitcode/pgroonga*.index.bc
%{_libdir}/pgsql/bitcode/pgroonga*/
%{_datadir}/pgsql/extension/*.control
%{_datadir}/pgsql/extension/*.sql

%changelog
* Wed May 06 2020 Horimoto Yasuhiro <horimoto@clear-code.com> - 2.2.5-1
- initial packaging for Fedora.
2 changes: 1 addition & 1 deletion packages/postgresql-10-pgroonga/Rakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require_relative "../pgroonga-package-task"

class PostgreSQL10PGroongaPackageTask < PGroongaPackageTask
class PostgreSQL10PGroongaPackageTask < VersionedPGroongaPackageTask
def initialize
super("10")
end
Expand Down
2 changes: 1 addition & 1 deletion packages/postgresql-11-pgroonga/Rakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require_relative "../pgroonga-package-task"

class PostgreSQL11PGroongaPackageTask < PGroongaPackageTask
class PostgreSQL11PGroongaPackageTask < VersionedPGroongaPackageTask
def initialize
super("11")
end
Expand Down
2 changes: 1 addition & 1 deletion packages/postgresql-12-pgroonga/Rakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require_relative "../pgroonga-package-task"

class PostgreSQL12PGroongaPackageTask < PGroongaPackageTask
class PostgreSQL12PGroongaPackageTask < VersionedPGroongaPackageTask
def initialize
super("12")
end
Expand Down
2 changes: 1 addition & 1 deletion packages/postgresql-9.5-pgroonga/Rakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require_relative "../pgroonga-package-task"

class PostgreSQL95PGroongaPackageTask < PGroongaPackageTask
class PostgreSQL95PGroongaPackageTask < VersionedPGroongaPackageTask
def initialize
super("9.5")
end
Expand Down
2 changes: 1 addition & 1 deletion packages/postgresql-9.6-pgroonga/Rakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require_relative "../pgroonga-package-task"

class PostgreSQL96PGroongaPackageTask < PGroongaPackageTask
class PostgreSQL96PGroongaPackageTask < VersionedPGroongaPackageTask
def initialize
super("9.6")
end
Expand Down

0 comments on commit 0d6f002

Please sign in to comment.