Skip to content

Commit

Permalink
alvistack/v3.21.12
Browse files Browse the repository at this point in the history
    git clean -xdf
    git submodule sync --recursive
    git submodule update --init --recursive
    tar zcvf ../protobuf_3.21.12.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp protobuf.spec ../protobuf_3.21.12-1.spec
    mv ../*protobuf*3.21.12*.{gz,xz,spec,dsc} /osc/home\:alvistack/protocolbuffers-protobuf-3.21.12/
    rm -rf ../*proto*3.21.12*.* ../python*-protobuf*4.21.12*.*

See protocolbuffers#5144 (comment)
See https://build.opensuse.org/package/view_file/openSUSE:Factory/protobuf/10355.patch
See protocolbuffers#10403

Signed-off-by: Wong Hoi Sing Edison <[email protected]>
  • Loading branch information
hswong3i committed Dec 15, 2022
1 parent f0dc78d commit ed8aeb7
Show file tree
Hide file tree
Showing 31 changed files with 629 additions and 11 deletions.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -215,3 +215,12 @@ BenchmarkDotNet.Artifacts/
# Clangd uses these common ephemeral files
.cache
compile_commands.json

src/*.a
src/*.so*
src/CMakeCache.txt
src/CMakeFiles/
src/cmake_install.cmake
src/install_manifest.txt
src/lib/
src/protoc-*
1 change: 0 additions & 1 deletion cmake/libprotobuf-lite.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ if(protobuf_BUILD_SHARED_LIBS)
endif()
set_target_properties(libprotobuf-lite PROPERTIES
VERSION ${protobuf_VERSION}
SOVERSION 32
OUTPUT_NAME ${LIB_PREFIX}protobuf-lite
DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}")
add_library(protobuf::libprotobuf-lite ALIAS libprotobuf-lite)
1 change: 0 additions & 1 deletion cmake/libprotobuf.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,6 @@ if(protobuf_BUILD_SHARED_LIBS)
endif()
set_target_properties(libprotobuf PROPERTIES
VERSION ${protobuf_VERSION}
SOVERSION 32
OUTPUT_NAME ${LIB_PREFIX}protobuf
DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}")
add_library(protobuf::libprotobuf ALIAS libprotobuf)
1 change: 0 additions & 1 deletion cmake/libprotoc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@ endif()
set_target_properties(libprotoc PROPERTIES
COMPILE_DEFINITIONS LIBPROTOC_EXPORTS
VERSION ${protobuf_VERSION}
SOVERSION 32
OUTPUT_NAME ${LIB_PREFIX}protoc
DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}")
add_library(protobuf::libprotoc ALIAS libprotoc)
13 changes: 13 additions & 0 deletions debian/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
*.substvars
*debhelper*
.debhelper
autoreconf.*
files
libprotobuf-dev
libprotobuf-lite32
libprotobuf32
libprotoc-dev
libprotoc32
protobuf-compiler
python3-protobuf
tmp
5 changes: 5 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
protobuf (100:3.21.12-1) UNRELEASED; urgency=medium

* https://github.com/protocolbuffers/protobuf/releases/tag/v3.21.12

-- Wong Hoi Sing Edison <[email protected]> Thu, 15 Dec 2022 15:03:10 +0800
107 changes: 107 additions & 0 deletions debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
Source: protobuf
Section: devel
Priority: optional
Standards-Version: 4.5.0
Maintainer: Wong Hoi Sing Edison <[email protected]>
Homepage: https://github.com/protocolbuffers/protobuf/tags
Vcs-Browser: https://github.com/alvistack/protocolbuffers-protobuf
Vcs-Git: https://github.com/alvistack/protocolbuffers-protobuf.git
Build-Depends:
debhelper,
debhelper-compat (= 10),
dh-python,
fdupes,
cmake,
python3-dev,
python3-setuptools,
zlib1g-dev,

Package: libprotobuf32
Architecture: amd64
Section: libs
Description: protocol buffers C++ library
This package contains the runtime library needed for C++ applications.
Depends:
${misc:Depends},
${shlibs:Depends},
Breaks:
cura-engine (<< 1:3.3.0-2.1+b1),
libarcus3 (<< 3.3.0-2),

Package: libprotobuf-lite32
Architecture: amd64
Section: libs
Description: protocol buffers C++ library (lite version)
This package contains the runtime library needed for C++ applications whose
message definitions have the "lite runtime" optimization setting.
Depends:
${misc:Depends},
${shlibs:Depends},

Package: libprotobuf-dev
Architecture: amd64
Section: libdevel
Description: protocol buffers C++ library (development files) and proto files
This package contains the development headers and static libraries needed for
writing C++ applications. Includes well known proto type files.
Depends:
${misc:Depends},
zlib1g-dev,
libprotobuf32 (= ${source:Version}),
libprotobuf-lite32 (= ${source:Version}),
Breaks:
protobuf-compiler (<< ${source:Version}),
protobuf-compiler (>> ${source:Version}),
Provides:
protobuf-api-32-0,

Package: libprotoc32
Architecture: amd64
Multi-Arch: same
Section: libs
Description: protocol buffers compiler library
This package contains the runtime library needed for the protocol buffer
compiler.
Depends:
${shlibs:Depends},
${misc:Depends},

Package: libprotoc-dev
Architecture: amd64
Section: libdevel
Description: protocol buffers compiler library (development files)
This package contains the development headers and static library needed for
writing protobuf compilers.
Depends:
${misc:Depends},
libprotobuf-dev (= ${source:Version}),
libprotoc32 (= ${source:Version}),
Replaces:
libprotobuf-dev (<< 2.1.0),
Breaks:
libprotobuf-dev (<< 2.1.0),

Package: protobuf-compiler
Architecture: amd64
Description: compiler for protocol buffer definition files
This package contains the protocol buffer compiler that is used for
translating from .proto files (containing the definitions) to the language
binding for the supported languages.
Depends:
${shlibs:Depends},
${misc:Depends},
libprotoc32 (= ${binary:Version}),

Package: python3-protobuf
Architecture: amd64
Section: python
Description: Python 3 bindings for protocol buffers
This package contains the Python 3 bindings for the protocol buffers. You will
need the protoc tool (in the protobuf-compiler package) to compile your
definition to Python classes, and then the modules in this package will allow
you to use those classes in your programs.
Depends:
${misc:Depends},
${python3:Depends},
${shlibs:Depends},
python3,
21 changes: 21 additions & 0 deletions debian/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/

Files: debian/*
Copyright: 2022 Wong Hoi Sing Edison <[email protected]>
License: Apache-2.0

License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
The complete text of the Apache version 2.0 license
can be found in "/usr/share/common-licenses/Apache-2.0".
5 changes: 5 additions & 0 deletions debian/libprotobuf-dev.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
usr/include
usr/lib/*/cmake
usr/lib/*/libprotobuf-lite.so
usr/lib/*/libprotobuf.so
usr/lib/*/pkgconfig/*
3 changes: 3 additions & 0 deletions debian/libprotobuf-dev.lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
libprotobuf-dev: copyright-without-copyright-notice
libprotobuf-dev: initial-upload-closes-no-bugs
libprotobuf-dev: zero-byte-file-in-doc-directory
1 change: 1 addition & 0 deletions debian/libprotobuf-lite32.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/lib/*/libprotobuf-lite.so.*
4 changes: 4 additions & 0 deletions debian/libprotobuf-lite32.lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
libprotobuf-lite32: copyright-without-copyright-notice
libprotobuf-lite32: initial-upload-closes-no-bugs
libprotobuf-lite32: package-name-doesnt-match-sonames
libprotobuf-lite32: zero-byte-file-in-doc-directory
1 change: 1 addition & 0 deletions debian/libprotobuf32.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/lib/*/libprotobuf.so.*
4 changes: 4 additions & 0 deletions debian/libprotobuf32.lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
libprotobuf32: copyright-without-copyright-notice
libprotobuf32: initial-upload-closes-no-bugs
libprotobuf32: package-name-doesnt-match-sonames
libprotobuf32: zero-byte-file-in-doc-directory
2 changes: 2 additions & 0 deletions debian/libprotoc-dev.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
usr/include/google/protobuf/compiler
usr/lib/*/libprotoc.so
3 changes: 3 additions & 0 deletions debian/libprotoc-dev.lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
libprotoc-dev: copyright-without-copyright-notice
libprotoc-dev: initial-upload-closes-no-bugs
libprotoc-dev: zero-byte-file-in-doc-directory
1 change: 1 addition & 0 deletions debian/libprotoc32.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/lib/*/libprotoc*.so.*
4 changes: 4 additions & 0 deletions debian/libprotoc32.lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
libprotoc32: copyright-without-copyright-notice
libprotoc32: initial-upload-closes-no-bugs
libprotoc32: package-name-doesnt-match-sonames
libprotoc32: zero-byte-file-in-doc-directory
1 change: 1 addition & 0 deletions debian/protobuf-compiler.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/bin/*
4 changes: 4 additions & 0 deletions debian/protobuf-compiler.lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
protobuf-compiler: copyright-without-copyright-notice
protobuf-compiler: initial-upload-closes-no-bugs
protobuf-compiler: no-manual-page
protobuf-compiler: zero-byte-file-in-doc-directory
1 change: 1 addition & 0 deletions debian/python3-protobuf.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/lib/python*/*-packages/*
4 changes: 4 additions & 0 deletions debian/python3-protobuf.lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
python3-protobuf: copyright-without-copyright-notice
python3-protobuf: initial-upload-closes-no-bugs
python3-protobuf: shared-library-lacks-prerequisites
python3-protobuf: zero-byte-file-in-doc-directory
66 changes: 66 additions & 0 deletions debian/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/usr/bin/make -f

SHELL := /bin/bash

PYTHON3_PROTOBUF_VERSION = 100:4.21.12-1

override_dh_autoreconf:

override_dh_auto_configure:
pushd src && \
cmake \
../cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-Dprotobuf_BUILD_LIBPROTOC=ON \
-Dprotobuf_BUILD_PROTOC_BINARIES=ON \
-Dprotobuf_BUILD_SHARED_LIBS=ON \
-Dprotobuf_BUILD_TESTS=OFF && \
popd

override_dh_auto_build:
pushd src && \
cmake \
--build . \
--parallel 10 \
--config Release && \
popd
mkdir -p src/.libs
pushd src/.libs && \
ln -fs ../*.so* . && \
popd
pushd python && \
python3 setup.py build \
--cpp_implementation && \
popd

override_dh_auto_install:
pushd src && \
export DESTDIR=../debian/tmp && \
cmake \
--install . && \
popd
pushd python && \
python3 setup.py install \
--cpp_implementation \
--no-compile \
--install-layout=deb \
--root=../debian/tmp && \
popd
find debian/tmp/usr/lib/python*/*-packages -type f -name '*.pyc' -exec rm -rf {} \;
fdupes -qnrps debian/tmp/usr/lib/python*/*-packages

override_dh_install:
dh_install
rm -rf debian/libprotobuf-dev/usr/include/google/protobuf/compiler

override_dh_gencontrol:
dh_gencontrol
dh_gencontrol -ppython3-protobuf -- -v$(PYTHON3_PROTOBUF_VERSION)

override_dh_auto_test:

override_dh_auto_clean:

%:
dh $@
1 change: 1 addition & 0 deletions debian/source/format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.0 (quilt)
7 changes: 7 additions & 0 deletions debian/source/lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
protobuf source: configure-generated-file-in-source
protobuf source: dependency-is-not-multi-archified
protobuf source: file-without-copyright-information
protobuf source: no-debian-changes
protobuf source: not-binnmuable-any-depends-any
protobuf source: python3-depends-but-no-python3-helper
protobuf source: weak-library-dev-dependency
Loading

0 comments on commit ed8aeb7

Please sign in to comment.