You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2018/12/02 01:41:47 UTC

[arrow] branch master updated: ARROW-3924: [Packaging][Plasma] Add support for Plasma deb/rpm packages

This is an automated email from the ASF dual-hosted git repository.

wesm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new 7aae9e9  ARROW-3924: [Packaging][Plasma] Add support for Plasma deb/rpm packages
7aae9e9 is described below

commit 7aae9e9b9d946180512e46fdc17a7dd50c54c932
Author: Kouhei Sutou <ko...@clear-code.com>
AuthorDate: Sat Dec 1 19:41:40 2018 -0600

    ARROW-3924: [Packaging][Plasma] Add support for Plasma deb/rpm packages
    
    Author: Kouhei Sutou <ko...@clear-code.com>
    
    Closes #3068 from kou/linux-packages-plasma and squashes the following commits:
    
    2cb7bad24 <Kouhei Sutou>  Add support for Plasma deb/rpm packages
---
 dev/release/rat_exclude_files.txt                  |  26 ++++-
 .../linux-packages/apt/ubuntu-cosmic/Dockerfile    |   2 +
 .../linux-packages/debian.ubuntu-trusty/control    |  95 +++++++++++++++++-
 .../debian.ubuntu-trusty/gir1.2-plasma-1.0.install |   1 +
 .../debian.ubuntu-trusty/libplasma-dev.install     |   3 +
 .../libplasma-glib-dev.install                     |   5 +
 .../libplasma-glib-doc.doc-base                    |   9 ++
 .../libplasma-glib-doc.install                     |   1 +
 .../debian.ubuntu-trusty/libplasma-glib-doc.links  |   3 +
 .../debian.ubuntu-trusty/libplasma-glib12.install  |   1 +
 .../debian.ubuntu-trusty/libplasma12.install       |   1 +
 .../plasma-store-server.install                    |   1 +
 .../linux-packages/debian.ubuntu-trusty/rules      |   3 +-
 dev/tasks/linux-packages/debian/control            | 110 ++++++++++++++++++---
 .../debian/gir1.2-plasma-1.0.install               |   1 +
 .../linux-packages/debian/libplasma-dev.install    |   3 +
 .../debian/libplasma-glib-dev.install              |   5 +
 .../debian/libplasma-glib-doc.doc-base             |   9 ++
 .../debian/libplasma-glib-doc.install              |   1 +
 .../linux-packages/debian/libplasma-glib-doc.links |   3 +
 .../linux-packages/debian/libplasma-glib12.install |   1 +
 .../linux-packages/debian/libplasma12.install      |   1 +
 .../debian/plasma-store-server.install             |   1 +
 dev/tasks/linux-packages/debian/rules              |   1 +
 dev/tasks/linux-packages/yum/arrow.spec.in         |  99 ++++++++++++++++++-
 dev/tasks/tasks.yml                                |  39 ++++++++
 26 files changed, 403 insertions(+), 22 deletions(-)

diff --git a/dev/release/rat_exclude_files.txt b/dev/release/rat_exclude_files.txt
index 13918d5..edf3b42 100644
--- a/dev/release/rat_exclude_files.txt
+++ b/dev/release/rat_exclude_files.txt
@@ -48,6 +48,7 @@ dev/tasks/linux-packages/debian.ubuntu-trusty/compat
 dev/tasks/linux-packages/debian.ubuntu-trusty/control
 dev/tasks/linux-packages/debian.ubuntu-trusty/gir1.2-arrow-1.0.install
 dev/tasks/linux-packages/debian.ubuntu-trusty/gir1.2-parquet-1.0.install
+dev/tasks/linux-packages/debian.ubuntu-trusty/gir1.2-plasma-1.0.install
 dev/tasks/linux-packages/debian.ubuntu-trusty/libarrow-dev.install
 dev/tasks/linux-packages/debian.ubuntu-trusty/libarrow-glib-dev.install
 dev/tasks/linux-packages/debian.ubuntu-trusty/libarrow-glib-doc.doc-base
@@ -63,7 +64,15 @@ dev/tasks/linux-packages/debian.ubuntu-trusty/libparquet-glib-doc.install
 dev/tasks/linux-packages/debian.ubuntu-trusty/libparquet-glib-doc.links
 dev/tasks/linux-packages/debian.ubuntu-trusty/libparquet-glib12.install
 dev/tasks/linux-packages/debian.ubuntu-trusty/libparquet12.install
+dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-dev.install
+dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-dev.install
+dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.doc-base
+dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.install
+dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.links
+dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib12.install
+dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma12.install
 dev/tasks/linux-packages/debian.ubuntu-trusty/patches/series
+dev/tasks/linux-packages/debian.ubuntu-trusty/plasma-store-server.install
 dev/tasks/linux-packages/debian.ubuntu-trusty/rules
 dev/tasks/linux-packages/debian.ubuntu-trusty/source/format
 dev/tasks/linux-packages/debian.ubuntu-trusty/watch
@@ -72,6 +81,7 @@ dev/tasks/linux-packages/debian/control
 dev/tasks/linux-packages/debian/gir1.2-arrow-1.0.install
 dev/tasks/linux-packages/debian/gir1.2-arrow-gpu-1.0.install
 dev/tasks/linux-packages/debian/gir1.2-parquet-1.0.install
+dev/tasks/linux-packages/debian/gir1.2-plasma-1.0.install
 dev/tasks/linux-packages/debian/libarrow-dev.install
 dev/tasks/linux-packages/debian/libarrow-glib-dev.install
 dev/tasks/linux-packages/debian/libarrow-glib-doc.doc-base
@@ -92,7 +102,15 @@ dev/tasks/linux-packages/debian/libparquet-glib-doc.install
 dev/tasks/linux-packages/debian/libparquet-glib-doc.links
 dev/tasks/linux-packages/debian/libparquet-glib12.install
 dev/tasks/linux-packages/debian/libparquet12.install
+dev/tasks/linux-packages/debian/libplasma-dev.install
+dev/tasks/linux-packages/debian/libplasma-glib-dev.install
+dev/tasks/linux-packages/debian/libplasma-glib-doc.doc-base
+dev/tasks/linux-packages/debian/libplasma-glib-doc.install
+dev/tasks/linux-packages/debian/libplasma-glib-doc.links
+dev/tasks/linux-packages/debian/libplasma-glib12.install
+dev/tasks/linux-packages/debian/libplasma12.install
 dev/tasks/linux-packages/debian/patches/series
+dev/tasks/linux-packages/debian/plasma-store-server.install
 dev/tasks/linux-packages/debian/rules
 dev/tasks/linux-packages/debian/source/format
 dev/tasks/linux-packages/debian/watch
@@ -130,9 +148,15 @@ c_glib/config/ltmain.sh
 c_glib/doc/arrow-glib/arrow-glib.types
 c_glib/doc/arrow-glib/arrow-glib-sections.txt
 c_glib/doc/arrow-glib/arrow-glib-overrides.txt
+c_glib/doc/gandiva-glib/gandiva-glib.types
+c_glib/doc/gandiva-glib/gandiva-glib-sections.txt
+c_glib/doc/gandiva-glib/gandiva-glib-overrides.txt
 c_glib/doc/parquet-glib/parquet-glib.types
 c_glib/doc/parquet-glib/parquet-glib-sections.txt
 c_glib/doc/parquet-glib/parquet-glib-overrides.txt
+c_glib/doc/plasma-glib/plasma-glib.types
+c_glib/doc/plasma-glib/plasma-glib-sections.txt
+c_glib/doc/plasma-glib/plasma-glib-overrides.txt
 c_glib/gtk-doc.make
 csharp/.gitattributes
 csharp/src/Apache.Arrow/Flatbuf/*
@@ -160,4 +184,4 @@ r/README.md
 r/README.Rmd
 r/man/*.Rd
 .gitattributes
-rust/test/data/*.csv
\ No newline at end of file
+rust/test/data/*.csv
diff --git a/dev/tasks/linux-packages/apt/ubuntu-cosmic/Dockerfile b/dev/tasks/linux-packages/apt/ubuntu-cosmic/Dockerfile
index 7840e02..519d058 100644
--- a/dev/tasks/linux-packages/apt/ubuntu-cosmic/Dockerfile
+++ b/dev/tasks/linux-packages/apt/ubuntu-cosmic/Dockerfile
@@ -26,10 +26,12 @@ RUN \
   apt update ${quiet} && \
   apt install -y -V ${quiet} \
     autoconf-archive \
+    bison \
     build-essential \
     cmake \
     debhelper\
     devscripts \
+    flex \
     git \
     gtk-doc-tools \
     libboost-filesystem-dev \
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/control b/dev/tasks/linux-packages/debian.ubuntu-trusty/control
index 696f2c4..eb1f74b 100644
--- a/dev/tasks/linux-packages/debian.ubuntu-trusty/control
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/control
@@ -30,7 +30,7 @@ Depends:
   ${shlibs:Depends}
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides library files.
+ This package provides C++ library files.
 
 Package: libarrow-dev
 Section: libdevel
@@ -41,7 +41,44 @@ Depends:
   libarrow12 (= ${binary:Version})
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides header files.
+ This package provides C++ header files.
+
+Package: libplasma12
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+  ${misc:Depends},
+  ${shlibs:Depends},
+  libarrow12 (= ${binary:Version})
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides C++ library files to connect plasma_store_server.
+
+Package: plasma-store-server
+Section: utils
+Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+  ${misc:Depends},
+  ${shlibs:Depends},
+  libplasma12 (= ${binary:Version})
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides plasma_store_server.
+
+Package: libplasma-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends:
+  ${misc:Depends},
+  libarrow-dev (= ${binary:Version}),
+  libplasma12 (= ${binary:Version})
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides C++ header files.
 
 Package: libparquet12
 Section: libs
@@ -78,7 +115,7 @@ Depends:
   libarrow12 (= ${binary:Version})
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides library files.
+ This package provides GLib based library files.
 
 Package: gir1.2-arrow-1.0
 Section: introspection
@@ -104,7 +141,7 @@ Depends:
 Suggests: libarrow-glib-doc
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides header files.
+ This package provides GLib based header files.
 
 Package: libarrow-glib-doc
 Section: doc
@@ -117,6 +154,56 @@ Description: Apache Arrow is a data processing library for analysis
  .
  This package provides documentations.
 
+Package: libplasma-glib12
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+  ${misc:Depends},
+  ${shlibs:Depends},
+  libarrow-glib12 (= ${binary:Version}),
+  libplasma12 (= ${binary:Version})
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides GLib based library files to connect plasma_store_server.
+
+Package: gir1.2-plasma-1.0
+Section: introspection
+Architecture: any
+Multi-Arch: same
+Depends:
+  ${gir:Depends},
+  ${misc:Depends}
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides GObject Introspection typelib files.
+
+Package: libplasma-glib-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends:
+  ${misc:Depends},
+  libplasma-dev (= ${binary:Version}),
+  libarrow-glib-dev (= ${binary:Version}),
+  libplasma-glib12 (= ${binary:Version}),
+  gir1.2-plasma-1.0 (= ${binary:Version})
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides GLib based header files.
+
+Package: libplasma-glib-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends:
+  ${misc:Depends}
+Recommends: libglib2.0-doc
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides documentations.
+
 Package: libparquet-glib12
 Section: libs
 Architecture: any
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/gir1.2-plasma-1.0.install b/dev/tasks/linux-packages/debian.ubuntu-trusty/gir1.2-plasma-1.0.install
new file mode 100644
index 0000000..4366f4f
--- /dev/null
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/gir1.2-plasma-1.0.install
@@ -0,0 +1 @@
+usr/lib/girepository-1.0/Plasma-1.0.typelib
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-dev.install b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-dev.install
new file mode 100644
index 0000000..d3538d2
--- /dev/null
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-dev.install
@@ -0,0 +1,3 @@
+usr/lib/*/libplasma.a
+usr/lib/*/libplasma.so
+usr/lib/*/pkgconfig/plasma.pc
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-dev.install b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-dev.install
new file mode 100644
index 0000000..f21a9aa
--- /dev/null
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-dev.install
@@ -0,0 +1,5 @@
+usr/include/plasma-glib/
+usr/lib/*/libplasma-glib.a
+usr/lib/*/libplasma-glib.so
+usr/lib/*/pkgconfig/plasma-glib.pc
+usr/share/gir-1.0/Plasma-1.0.gir
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.doc-base b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.doc-base
new file mode 100644
index 0000000..7863d7d
--- /dev/null
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.doc-base
@@ -0,0 +1,9 @@
+Document: plasma-glib
+Title: Plasma GLib Reference Manual
+Author: The Apache Software Foundation
+Abstract: Plasma GLib is an in-memory object store and cache for big data that uses GLib.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/libarrow-glib-doc/plasma-glib/index.html
+Files: /usr/share/doc/libarrow-glib-doc/plasma-glib/*.html
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.install b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.install
new file mode 100644
index 0000000..ef5a63b
--- /dev/null
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.install
@@ -0,0 +1 @@
+usr/share/doc/libarrow-glib-doc/plasma-glib/
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.links b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.links
new file mode 100644
index 0000000..baea0ef
--- /dev/null
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib-doc.links
@@ -0,0 +1,3 @@
+usr/share/doc/libglib2.0-doc/glib usr/share/doc/libplasma-glib-doc/glib
+usr/share/doc/libglib2.0-doc/gobject usr/share/doc/libplasma-glib-doc/gobject
+usr/share/doc/libarrow-glib-doc/plasma-glib usr/share/gtk-doc/html/plasma-glib
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib12.install b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib12.install
new file mode 100644
index 0000000..339bcca
--- /dev/null
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma-glib12.install
@@ -0,0 +1 @@
+usr/lib/*/libplasma-glib.so.*
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma12.install b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma12.install
new file mode 100644
index 0000000..f8a744b
--- /dev/null
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/libplasma12.install
@@ -0,0 +1 @@
+usr/lib/*/libplasma.so.*
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/plasma-store-server.install b/dev/tasks/linux-packages/debian.ubuntu-trusty/plasma-store-server.install
new file mode 100644
index 0000000..9c38179
--- /dev/null
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/plasma-store-server.install
@@ -0,0 +1 @@
+usr/bin/plasma_store_server
diff --git a/dev/tasks/linux-packages/debian.ubuntu-trusty/rules b/dev/tasks/linux-packages/debian.ubuntu-trusty/rules
index 01956fe..6f2ffdc 100755
--- a/dev/tasks/linux-packages/debian.ubuntu-trusty/rules
+++ b/dev/tasks/linux-packages/debian.ubuntu-trusty/rules
@@ -24,7 +24,8 @@ override_dh_auto_configure:
 	  -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
 	  -DARROW_BUILD_TESTS=OFF \
 	  -DARROW_ORC=ON \
-	  -DARROW_PARQUET=ON
+	  -DARROW_PARQUET=ON \
+	  -DARROW_PLASMA=ON
 	dh_auto_configure \
 	  --sourcedirectory=c_glib \
 	  --builddirectory=c_glib_build \
diff --git a/dev/tasks/linux-packages/debian/control b/dev/tasks/linux-packages/debian/control
index d497a31..3c66714 100644
--- a/dev/tasks/linux-packages/debian/control
+++ b/dev/tasks/linux-packages/debian/control
@@ -37,7 +37,7 @@ Depends:
   ${shlibs:Depends}
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides library files.
+ This package provides C++ library files.
 
 Package: libarrow-python12
 Section: libs
@@ -52,7 +52,7 @@ Depends:
   python3-numpy
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides library files for Python support.
+ This package provides C++ library files for Python support.
 
 Package: libarrow-gpu12
 Section: libs
@@ -65,7 +65,7 @@ Depends:
   libarrow12 (= ${binary:Version})
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides library files for GPU support.
+ This package provides C++ library files for GPU support.
 
 Package: libarrow-dev
 Section: libdevel
@@ -76,7 +76,7 @@ Depends:
   libarrow12 (= ${binary:Version})
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides header files.
+ This package provides C++ header files.
 
 Package: libarrow-python-dev
 Section: libdevel
@@ -88,7 +88,7 @@ Depends:
   libarrow-python12 (= ${binary:Version})
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides header files for Python support.
+ This package provides C++ header files for Python support.
 
 Package: libarrow-gpu-dev
 Section: libdevel
@@ -100,7 +100,44 @@ Depends:
   libarrow-gpu12 (= ${binary:Version})
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides header files for GPU support.
+ This package provides C++ header files for GPU support.
+
+Package: libplasma12
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+  ${misc:Depends},
+  ${shlibs:Depends},
+  libarrow-gpu12 (= ${binary:Version})
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides C++ library files to connect plasma_store_server.
+
+Package: plasma-store-server
+Section: utils
+Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+  ${misc:Depends},
+  ${shlibs:Depends},
+  libplasma12 (= ${binary:Version})
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides plasma_store_server.
+
+Package: libplasma-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends:
+  ${misc:Depends},
+  libarrow-gpu-dev (= ${binary:Version}),
+  libplasma12 (= ${binary:Version})
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides C++ header files.
 
 Package: libparquet12
 Section: libs
@@ -137,7 +174,7 @@ Depends:
   libarrow12 (= ${binary:Version})
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides library files.
+ This package provides GLib based library files.
 
 Package: gir1.2-arrow-1.0
 Section: introspection
@@ -163,7 +200,7 @@ Depends:
 Suggests: libarrow-glib-doc
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides header files.
+ This package provides GLib based header files.
 
 Package: libarrow-glib-doc
 Section: doc
@@ -188,7 +225,7 @@ Depends:
   libarrow-gpu12 (= ${binary:Version})
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides library files for GPU support.
+ This package provides GLib based library files for GPU support.
 
 Package: gir1.2-arrow-gpu-1.0
 Section: introspection
@@ -207,14 +244,63 @@ Architecture: any
 Multi-Arch: same
 Depends:
   ${misc:Depends},
-  libarrow-dev (= ${binary:Version}),
-  libarrow-glib-dev (= ${binary:Version}),
   libarrow-gpu-dev (= ${binary:Version}),
+  libarrow-glib-dev (= ${binary:Version}),
   libarrow-gpu-glib12 (= ${binary:Version}),
   gir1.2-arrow-gpu-1.0 (= ${binary:Version})
 Description: Apache Arrow is a data processing library for analysis
  .
- This package provides header files for GPU support.
+ This package provides GLib based header files for GPU support.
+
+Package: libplasma-glib12
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+  ${misc:Depends},
+  ${shlibs:Depends},
+  libarrow-gpu-glib12 (= ${binary:Version}),
+  libplasma12 (= ${binary:Version})
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides GLib based library files to connect plasma_store_server.
+
+Package: gir1.2-plasma-1.0
+Section: introspection
+Architecture: any
+Multi-Arch: same
+Depends:
+  ${gir:Depends},
+  ${misc:Depends}
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides GObject Introspection typelib files.
+
+Package: libplasma-glib-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends:
+  ${misc:Depends},
+  libplasma-dev (= ${binary:Version}),
+  libarrow-gpu-glib-dev (= ${binary:Version}),
+  libplasma-glib12 (= ${binary:Version}),
+  gir1.2-plasma-1.0 (= ${binary:Version})
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides GLib based header files.
+
+Package: libplasma-glib-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends:
+  ${misc:Depends}
+Recommends: libglib2.0-doc
+Description: Plasma is an in-memory object store and cache for big data.
+ .
+ This package provides documentations.
 
 Package: libparquet-glib12
 Section: libs
diff --git a/dev/tasks/linux-packages/debian/gir1.2-plasma-1.0.install b/dev/tasks/linux-packages/debian/gir1.2-plasma-1.0.install
new file mode 100644
index 0000000..7b7ce21
--- /dev/null
+++ b/dev/tasks/linux-packages/debian/gir1.2-plasma-1.0.install
@@ -0,0 +1 @@
+usr/lib/*/girepository-1.0/Plasma-1.0.typelib
diff --git a/dev/tasks/linux-packages/debian/libplasma-dev.install b/dev/tasks/linux-packages/debian/libplasma-dev.install
new file mode 100644
index 0000000..d3538d2
--- /dev/null
+++ b/dev/tasks/linux-packages/debian/libplasma-dev.install
@@ -0,0 +1,3 @@
+usr/lib/*/libplasma.a
+usr/lib/*/libplasma.so
+usr/lib/*/pkgconfig/plasma.pc
diff --git a/dev/tasks/linux-packages/debian/libplasma-glib-dev.install b/dev/tasks/linux-packages/debian/libplasma-glib-dev.install
new file mode 100644
index 0000000..f21a9aa
--- /dev/null
+++ b/dev/tasks/linux-packages/debian/libplasma-glib-dev.install
@@ -0,0 +1,5 @@
+usr/include/plasma-glib/
+usr/lib/*/libplasma-glib.a
+usr/lib/*/libplasma-glib.so
+usr/lib/*/pkgconfig/plasma-glib.pc
+usr/share/gir-1.0/Plasma-1.0.gir
diff --git a/dev/tasks/linux-packages/debian/libplasma-glib-doc.doc-base b/dev/tasks/linux-packages/debian/libplasma-glib-doc.doc-base
new file mode 100644
index 0000000..7863d7d
--- /dev/null
+++ b/dev/tasks/linux-packages/debian/libplasma-glib-doc.doc-base
@@ -0,0 +1,9 @@
+Document: plasma-glib
+Title: Plasma GLib Reference Manual
+Author: The Apache Software Foundation
+Abstract: Plasma GLib is an in-memory object store and cache for big data that uses GLib.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/libarrow-glib-doc/plasma-glib/index.html
+Files: /usr/share/doc/libarrow-glib-doc/plasma-glib/*.html
diff --git a/dev/tasks/linux-packages/debian/libplasma-glib-doc.install b/dev/tasks/linux-packages/debian/libplasma-glib-doc.install
new file mode 100644
index 0000000..ef5a63b
--- /dev/null
+++ b/dev/tasks/linux-packages/debian/libplasma-glib-doc.install
@@ -0,0 +1 @@
+usr/share/doc/libarrow-glib-doc/plasma-glib/
diff --git a/dev/tasks/linux-packages/debian/libplasma-glib-doc.links b/dev/tasks/linux-packages/debian/libplasma-glib-doc.links
new file mode 100644
index 0000000..baea0ef
--- /dev/null
+++ b/dev/tasks/linux-packages/debian/libplasma-glib-doc.links
@@ -0,0 +1,3 @@
+usr/share/doc/libglib2.0-doc/glib usr/share/doc/libplasma-glib-doc/glib
+usr/share/doc/libglib2.0-doc/gobject usr/share/doc/libplasma-glib-doc/gobject
+usr/share/doc/libarrow-glib-doc/plasma-glib usr/share/gtk-doc/html/plasma-glib
diff --git a/dev/tasks/linux-packages/debian/libplasma-glib12.install b/dev/tasks/linux-packages/debian/libplasma-glib12.install
new file mode 100644
index 0000000..339bcca
--- /dev/null
+++ b/dev/tasks/linux-packages/debian/libplasma-glib12.install
@@ -0,0 +1 @@
+usr/lib/*/libplasma-glib.so.*
diff --git a/dev/tasks/linux-packages/debian/libplasma12.install b/dev/tasks/linux-packages/debian/libplasma12.install
new file mode 100644
index 0000000..f8a744b
--- /dev/null
+++ b/dev/tasks/linux-packages/debian/libplasma12.install
@@ -0,0 +1 @@
+usr/lib/*/libplasma.so.*
diff --git a/dev/tasks/linux-packages/debian/plasma-store-server.install b/dev/tasks/linux-packages/debian/plasma-store-server.install
new file mode 100644
index 0000000..9c38179
--- /dev/null
+++ b/dev/tasks/linux-packages/debian/plasma-store-server.install
@@ -0,0 +1 @@
+usr/bin/plasma_store_server
diff --git a/dev/tasks/linux-packages/debian/rules b/dev/tasks/linux-packages/debian/rules
index ce39fde..8cc9fe2 100755
--- a/dev/tasks/linux-packages/debian/rules
+++ b/dev/tasks/linux-packages/debian/rules
@@ -29,6 +29,7 @@ override_dh_auto_configure:
 	  -DARROW_BOOST_USE_SHARED=ON \
 	  -DARROW_ORC=ON \
 	  -DARROW_PARQUET=ON \
+	  -DARROW_PLASMA=ON \
 	  -DPROTOBUF_HOME=/usr \
 	  -DARROW_PROTOBUF_USE_SHARED=ON \
 	  -DPythonInterp_FIND_VERSION=ON \
diff --git a/dev/tasks/linux-packages/yum/arrow.spec.in b/dev/tasks/linux-packages/yum/arrow.spec.in
index 9db9d43..ad60dfb 100644
--- a/dev/tasks/linux-packages/yum/arrow.spec.in
+++ b/dev/tasks/linux-packages/yum/arrow.spec.in
@@ -75,6 +75,7 @@ cd cpp/build
 %if %{use_parquet}
   -DARROW_PARQUET=ON \
 %endif
+  -DARROW_PLASMA=ON \
   -DARROW_BUILD_TESTS=OFF
 make %{?_smp_mflags}
 cd -
@@ -88,8 +89,11 @@ cd c_glib
   --enable-gtk-doc
 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
-LD_LIBRARY_PATH=$PWD/arrow-glib/.libs/:$PWD/parquet-glib/.libs/:$PWD/../cpp/build/$build_type \
-  make %{?_smp_mflags}
+ld_library_path=$PWD/arrow-glib/.libs/
+ld_library_path=$ld_library_path:$PWD/plasma-glib/.libs/
+ld_library_path=$ld_library_path:$PWD/parquet-glib/.libs/
+ld_library_path=$ld_library_path:$PWD/../cpp/build/$build_type
+LD_LIBRARY_PATH=$ld_library_path make %{?_smp_mflags}
 cd -
 %endif
 
@@ -172,6 +176,48 @@ Libraries and header files for Apache Arrow CPython extensions.
 %{_libdir}/pkgconfig/arrow-python.pc
 %endif
 
+%package -n plasma-libs
+Summary:	Runtime libraries for Plasma in-memory object store
+License:	Apache-2.0
+Requires:	%{name}-libs = %{version}-%{release}
+
+%description -n plasma-libs
+This package contains the libraries for Plasma in-memory object store.
+
+%files -n plasma-libs
+%defattr(-,root,root,-)
+%doc README.md LICENSE.txt NOTICE.txt
+%{_libdir}/libplasma.so.*
+
+%package -n plasma-store-server
+Summary:	Server for Plasma in-memory object store
+License:	Apache-2.0
+Requires:	plasma-libs = %{version}-%{release}
+
+%description -n plasma-store-server
+This package contains the server for Plasma in-memory object store.
+
+%files -n plasma-store-server
+%defattr(-,root,root,-)
+%doc README.md LICENSE.txt NOTICE.txt
+%{_bindir}/plasma_store_server
+
+%package -n plasma-devel
+Summary:	Libraries and header files for Plasma in-memory object store
+License:	Apache-2.0
+Requires:	plasma-libs = %{version}-%{release}
+
+%description -n plasma-devel
+Libraries and header files for Plasma in-memory object store.
+
+%files -n plasma-devel
+%defattr(-,root,root,-)
+%doc README.md LICENSE.txt NOTICE.txt
+%{_includedir}/plasma/
+%{_libdir}/libplasma.a
+%{_libdir}/libplasma.so
+%{_libdir}/pkgconfig/plasma*.pc
+
 %if %{use_parquet}
 %package -n parquet-libs
 Summary:	Runtime libraries for Apache Parquet C++
@@ -183,7 +229,7 @@ Requires:	boost-regex
 Requires:	%{name}-libs = %{version}-%{release}
 
 %description -n parquet-libs
-This package contains the libraries for Apache Parquet
+This package contains the libraries for Apache Parquet C++.
 
 %files -n parquet-libs
 %defattr(-,root,root,-)
@@ -197,7 +243,7 @@ Requires:	parquet-libs = %{version}-%{release}
 Requires:	zlib-devel
 
 %description -n parquet-devel
-Libraries and header files for Apache Parquet.
+Libraries and header files for Apache Parquet C++.
 
 %files -n parquet-devel
 %defattr(-,root,root,-)
@@ -257,6 +303,51 @@ Documentation for Apache Arrow GLib.
 %doc README.md LICENSE.txt NOTICE.txt
 %{_docdir}/arrow-glib/
 %{_datadir}/gtk-doc/html/arrow-glib/
+
+%package -n plasma-glib-libs
+Summary:	Runtime libraries for Plasma GLib
+License:	Apache-2.0
+Requires:	plasma-libs = %{version}-%{release}
+Requires:	%{name}-glib-libs = %{version}-%{release}
+
+%description -n plasma-glib-libs
+This package contains the libraries for Plasma GLib.
+
+%files -n plasma-glib-libs
+%defattr(-,root,root,-)
+%doc README.md LICENSE.txt NOTICE.txt
+%{_libdir}/libplasma-glib.so.*
+%{_datadir}/gir-1.0/Plasma-1.0.gir
+
+%package -n plasma-glib-devel
+Summary:	Libraries and header files for Plasma GLib
+License:	Apache-2.0
+Requires:	plasma-devel = %{version}-%{release}
+Requires:	%{name}-glib-devel = %{version}-%{release}
+
+%description -n plasma-glib-devel
+Libraries and header files for Plasma GLib.
+
+%files -n plasma-glib-devel
+%defattr(-,root,root,-)
+%doc README.md LICENSE.txt NOTICE.txt
+%{_includedir}/plasma-glib/
+%{_libdir}/libplasma-glib.a
+%{_libdir}/libplasma-glib.so
+%{_libdir}/pkgconfig/plasma-glib.pc
+%{_libdir}/girepository-1.0/Plasma-1.0.typelib
+
+%package -n plasma-glib-doc
+Summary:	Documentation for Plasma GLib
+License:	Apache-2.0
+
+%description -n plasma-glib-doc
+Documentation for Plasma GLib.
+
+%files -n plasma-glib-doc
+%defattr(-,root,root,-)
+%doc README.md LICENSE.txt NOTICE.txt
+%{_datadir}/gtk-doc/html/plasma-glib/
 %endif
 
 %if %{use_parquet} && %{use_glib}
diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
index 514942d..d5d362a 100644
--- a/dev/tasks/tasks.yml
+++ b/dev/tasks/tasks.yml
@@ -295,6 +295,7 @@ tasks:
       - gir1.2-arrow-1.0_{no_rc_version}-1_amd64.deb
       - gir1.2-arrow-gpu-1.0_{no_rc_version}-1_amd64.deb
       - gir1.2-parquet-1.0_{no_rc_version}-1_amd64.deb
+      - gir1.2-plasma-1.0_{no_rc_version}-1_amd64.deb
       - libarrow-dev_{no_rc_version}-1_amd64.deb
       - libarrow-glib-dev_{no_rc_version}-1_amd64.deb
       - libarrow-glib-doc_{no_rc_version}-1_all.deb
@@ -318,6 +319,13 @@ tasks:
       - libparquet-glib12_{no_rc_version}-1_amd64.deb
       - libparquet12-dbgsym_{no_rc_version}-1_amd64.deb
       - libparquet12_{no_rc_version}-1_amd64.deb
+      - libplasma-dev_{no_rc_version}-1_amd64.deb
+      - libplasma-glib-dev_{no_rc_version}-1_amd64.deb
+      - libplasma-glib-doc_{no_rc_version}-1_all.deb
+      - libplasma-glib12-dbgsym_{no_rc_version}-1_amd64.deb
+      - libplasma-glib12_{no_rc_version}-1_amd64.deb
+      - libplasma12-dbgsym_{no_rc_version}-1_amd64.deb
+      - libplasma12_{no_rc_version}-1_amd64.deb
 
   ubuntu-trusty:
     platform: linux
@@ -335,6 +343,7 @@ tasks:
       - apache-arrow_{no_rc_version}.orig.tar.gz
       - gir1.2-arrow-1.0_{no_rc_version}-1_amd64.deb
       - gir1.2-parquet-1.0_{no_rc_version}-1_amd64.deb
+      - gir1.2-plasma-1.0_{no_rc_version}-1_amd64.deb
       - libarrow-dev_{no_rc_version}-1_amd64.deb
       - libarrow-glib-dev_{no_rc_version}-1_amd64.deb
       - libarrow-glib-doc_{no_rc_version}-1_all.deb
@@ -345,6 +354,11 @@ tasks:
       - libparquet-glib-doc_{no_rc_version}-1_all.deb
       - libparquet-glib12_{no_rc_version}-1_amd64.deb
       - libparquet12_{no_rc_version}-1_amd64.deb
+      - libplasma-dev_{no_rc_version}-1_amd64.deb
+      - libplasma-glib-dev_{no_rc_version}-1_amd64.deb
+      - libplasma-glib-doc_{no_rc_version}-1_all.deb
+      - libplasma-glib12_{no_rc_version}-1_amd64.deb
+      - libplasma12_{no_rc_version}-1_amd64.deb
 
   ubuntu-xenial:
     platform: linux
@@ -363,6 +377,7 @@ tasks:
       - gir1.2-arrow-1.0_{no_rc_version}-1_amd64.deb
       - gir1.2-arrow-gpu-1.0_{no_rc_version}-1_amd64.deb
       - gir1.2-parquet-1.0_{no_rc_version}-1_amd64.deb
+      - gir1.2-plasma-1.0_{no_rc_version}-1_amd64.deb
       - libarrow-dev_{no_rc_version}-1_amd64.deb
       - libarrow-glib-dev_{no_rc_version}-1_amd64.deb
       - libarrow-glib-doc_{no_rc_version}-1_all.deb
@@ -379,6 +394,11 @@ tasks:
       - libparquet-glib-doc_{no_rc_version}-1_all.deb
       - libparquet-glib12_{no_rc_version}-1_amd64.deb
       - libparquet12_{no_rc_version}-1_amd64.deb
+      - libplasma-dev_{no_rc_version}-1_amd64.deb
+      - libplasma-glib-dev_{no_rc_version}-1_amd64.deb
+      - libplasma-glib-doc_{no_rc_version}-1_all.deb
+      - libplasma-glib12_{no_rc_version}-1_amd64.deb
+      - libplasma12_{no_rc_version}-1_amd64.deb
 
   ubuntu-bionic:
     platform: linux
@@ -397,6 +417,7 @@ tasks:
       - gir1.2-arrow-1.0_{no_rc_version}-1_amd64.deb
       - gir1.2-arrow-gpu-1.0_{no_rc_version}-1_amd64.deb
       - gir1.2-parquet-1.0_{no_rc_version}-1_amd64.deb
+      - gir1.2-plasma-1.0_{no_rc_version}-1_amd64.deb
       - libarrow-dev_{no_rc_version}-1_amd64.deb
       - libarrow-glib-dev_{no_rc_version}-1_amd64.deb
       - libarrow-glib-doc_{no_rc_version}-1_all.deb
@@ -413,6 +434,11 @@ tasks:
       - libparquet-glib-doc_{no_rc_version}-1_all.deb
       - libparquet-glib12_{no_rc_version}-1_amd64.deb
       - libparquet12_{no_rc_version}-1_amd64.deb
+      - libplasma-dev_{no_rc_version}-1_amd64.deb
+      - libplasma-glib-dev_{no_rc_version}-1_amd64.deb
+      - libplasma-glib-doc_{no_rc_version}-1_all.deb
+      - libplasma-glib12_{no_rc_version}-1_amd64.deb
+      - libplasma12_{no_rc_version}-1_amd64.deb
 
   ubuntu-cosmic:
     platform: linux
@@ -431,6 +457,7 @@ tasks:
       - gir1.2-arrow-1.0_{no_rc_version}-1_amd64.deb
       - gir1.2-arrow-gpu-1.0_{no_rc_version}-1_amd64.deb
       - gir1.2-parquet-1.0_{no_rc_version}-1_amd64.deb
+      - gir1.2-plasma-1.0_{no_rc_version}-1_amd64.deb
       - libarrow-dev_{no_rc_version}-1_amd64.deb
       - libarrow-glib-dev_{no_rc_version}-1_amd64.deb
       - libarrow-glib-doc_{no_rc_version}-1_all.deb
@@ -447,6 +474,11 @@ tasks:
       - libparquet-glib-doc_{no_rc_version}-1_all.deb
       - libparquet-glib12_{no_rc_version}-1_amd64.deb
       - libparquet12_{no_rc_version}-1_amd64.deb
+      - libplasma-dev_{no_rc_version}-1_amd64.deb
+      - libplasma-glib-dev_{no_rc_version}-1_amd64.deb
+      - libplasma-glib-doc_{no_rc_version}-1_all.deb
+      - libplasma-glib12_{no_rc_version}-1_amd64.deb
+      - libplasma12_{no_rc_version}-1_amd64.deb
 
   centos-6:
     platform: linux
@@ -462,6 +494,8 @@ tasks:
       - arrow-libs-{no_rc_version}-1.el6.x86_64.rpm
       - arrow-python-devel-{no_rc_version}-1.el6.x86_64.rpm
       - arrow-python-libs-{no_rc_version}-1.el6.x86_64.rpm
+      - plasma-devel-{no_rc_version}-1.el6.x86_64.rpm
+      - plasma-libs-{no_rc_version}-1.el6.x86_64.rpm
 
   centos-7:
     platform: linux
@@ -485,6 +519,11 @@ tasks:
       - parquet-glib-doc-{no_rc_version}-1.el7.x86_64.rpm
       - parquet-glib-libs-{no_rc_version}-1.el7.x86_64.rpm
       - parquet-libs-{no_rc_version}-1.el7.x86_64.rpm
+      - plasma-devel-{no_rc_version}-1.el7.x86_64.rpm
+      - plasma-glib-devel-{no_rc_version}-1.el7.x86_64.rpm
+      - plasma-glib-doc-{no_rc_version}-1.el7.x86_64.rpm
+      - plasma-glib-libs-{no_rc_version}-1.el7.x86_64.rpm
+      - plasma-libs-{no_rc_version}-1.el7.x86_64.rpm
 
   ############################## Gandiva Tasks ################################