You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by Christopher <ct...@apache.org> on 2017/03/14 18:35:47 UTC

Request sanity check for thrift's Fedora packaging

Hi,

I'm helping co-maintain the thrift packages in Fedora (taking over a bit
from a less active maintainer), and I'm wondering if any of the thrift
developers familiar with the thrift build system could give us a sanity
check on our RPM thrift.spec file. In particular, the %prep (where tarball
is unpacked and patches are applied), %build (where configure/make are
called to build the project), and %install (where `make install` is called)
sections.

Fedora's packaging specification can be found here:
http://pkgs.fedoraproject.org/cgit/rpms/thrift.git/tree/

Downstream packaging is important, because it helps your software reach new
users, and helps your existing users easily get started using your project,
so I hope somebody will be interested in helping out a bit. And, unlike
commercial vendor packaging (not that there's anything wrong with that),
downstream open source packaging communities like Fedora (and Debian,
Homebrew, etc.) promote open source models of development and
community-building and can reach a new audience of potential contributors
to the upstream projects.

We've had to do a lot of patching of the build to get thrift to build at
all in Fedora, and I'm wondering if maybe there's some things we can do to
simplify our builds a bit. I'm also hoping that what we're doing downstream
can help inform where you should make improvements upstream to your build
system. For example, Fedora will probably always need to patch ant to use
local (RPM-provided) dependencies, but perhaps the patch could be
simplified if Thrift realized this was needed by some downstream packagers?

As you may have seen, I've been opening some JIRA issues already with the
build system:
https://issues.apache.org/jira/browse/THRIFT-4118
https://issues.apache.org/jira/browse/THRIFT-4119
https://issues.apache.org/jira/browse/THRIFT-4120
https://issues.apache.org/jira/browse/THRIFT-4122

I'm willing to continue reporting issues as I find them, but I may have
reached my limit on my ability to understand Thrift's build system (I'm not
that familiar with C/C++ build tooling, and autotools seems daunting to
me). As is, thrift's packaging in Fedora is far more complicated than most.
I'm hoping that can be changed with some assistance from the upstream
developers. Simplification can ensure that thrift will be continued to be
packaged and available to Fedora users for a long time.

Feel free to get involved in the Fedora project (it's also open source) or
contact me directly if you have any questions, or thoughts, or wish to
offer your assistance in any way. I can be reached at ctubbsii@apache.org or
ctubbsii@fedoraproject.org (in addition to following this thread).

Thank you for your time,

Christopher

RE: Request sanity check for thrift's Fedora packaging

Posted by Jim King <Ji...@simplivity.com>.
I'd really like to see something line this become part of Thrift and part of the Travis CI build cycle.
See: https://issues.apache.org/jira/browse/THRIFT-4097

Could we link the issues you have reported to THRIFT-4097 so they can all be bundled together?

- Jim

-----Original Message-----
From: Christopher [mailto:ctubbsii@apache.org] 
Sent: Tuesday, March 14, 2017 2:36 PM
To: dev@thrift.apache.org
Subject: Request sanity check for thrift's Fedora packaging

Hi,

I'm helping co-maintain the thrift packages in Fedora (taking over a bit from a less active maintainer), and I'm wondering if any of the thrift developers familiar with the thrift build system could give us a sanity check on our RPM thrift.spec file. In particular, the %prep (where tarball is unpacked and patches are applied), %build (where configure/make are called to build the project), and %install (where `make install` is called) sections.

Fedora's packaging specification can be found here:
http://pkgs.fedoraproject.org/cgit/rpms/thrift.git/tree/

Downstream packaging is important, because it helps your software reach new users, and helps your existing users easily get started using your project, so I hope somebody will be interested in helping out a bit. And, unlike commercial vendor packaging (not that there's anything wrong with that), downstream open source packaging communities like Fedora (and Debian, Homebrew, etc.) promote open source models of development and community-building and can reach a new audience of potential contributors to the upstream projects.

We've had to do a lot of patching of the build to get thrift to build at all in Fedora, and I'm wondering if maybe there's some things we can do to simplify our builds a bit. I'm also hoping that what we're doing downstream can help inform where you should make improvements upstream to your build system. For example, Fedora will probably always need to patch ant to use local (RPM-provided) dependencies, but perhaps the patch could be simplified if Thrift realized this was needed by some downstream packagers?

As you may have seen, I've been opening some JIRA issues already with the build system:
https://issues.apache.org/jira/browse/THRIFT-4118
https://issues.apache.org/jira/browse/THRIFT-4119
https://issues.apache.org/jira/browse/THRIFT-4120
https://issues.apache.org/jira/browse/THRIFT-4122

I'm willing to continue reporting issues as I find them, but I may have reached my limit on my ability to understand Thrift's build system (I'm not that familiar with C/C++ build tooling, and autotools seems daunting to me). As is, thrift's packaging in Fedora is far more complicated than most.
I'm hoping that can be changed with some assistance from the upstream developers. Simplification can ensure that thrift will be continued to be packaged and available to Fedora users for a long time.

Feel free to get involved in the Fedora project (it's also open source) or contact me directly if you have any questions, or thoughts, or wish to offer your assistance in any way. I can be reached at ctubbsii@apache.org or ctubbsii@fedoraproject.org (in addition to following this thread).

Thank you for your time,

Christopher
---------------------------------------------------------------------------------------
PRIVACY STATEMENT:
This message is a PRIVATE communication.  This message and all attachments are a private communication sent by SimpliVity and are considered to be confidential or protected by privilege. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the information contained in or attached to this message is strictly prohibited.  Please notify the sender of the delivery error by replying to this message, and then delete it from your system.
---------------------------------------------------------------------------------------