-%package -n protobuf-devel
-Summary: Header files, libraries and development documentation for %{name}
-Group: Development/Libraries
-Requires: protobuf = %{version}-%{release}
+%package -n libprotobuf%{soname}
+Summary: Protocol Buffers - Google's data interchange format
+Group: System/Libraries
+
+%description -n libprotobuf%{soname}
+Protocol Buffers are a way of encoding structured data in an efficient yet
+extensible format. Google uses Protocol Buffers for almost all of its internal
+RPC protocols and file formats.
+
+%package -n libprotoc%{soname}
+Summary: Protocol Buffers - Google's data interchange format
+Group: System/Libraries
+
+%description -n libprotoc%{soname}
+Protocol Buffers are a way of encoding structured data in an efficient yet
+extensible format. Google uses Protocol Buffers for almost all of its internal
+RPC protocols and file formats.
+
+%package -n libprotobuf-lite%{soname}
+Summary: Protocol Buffers - Google's data interchange format
+Group: System/Libraries
+
+%description -n libprotobuf-lite%{soname}
+Protocol Buffers are a way of encoding structured data in an efficient yet
+extensible format. Google uses Protocol Buffers for almost all of its internal
+RPC protocols and file formats.
+
+%package devel
+Summary: Header files, libraries and development documentation for %{name}
+Group: Development/Libraries/C and C++
+Requires: gcc-c++
+Requires: libprotobuf%{soname} = %version
+Requires: libprotobuf-lite%{soname}
+Provides: libprotobuf-devel = %version
+Requires: zlib-devel
+BuildRequires: pkg-config