DPDK patches and discussions
 help / color / mirror / Atom feed
From: Neil Horman <nhorman@tuxdriver.com>
To: Thomas Monjalon <thomas.monjalon@6wind.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH 03/16] pkg: add recipe for RPM
Date: Wed, 2 Apr 2014 07:29:27 -0400	[thread overview]
Message-ID: <20140402112927.GC6974@neilslaptop.think-freely.org> (raw)
In-Reply-To: <2489854.B9BgBzrlJE@xps13>

On Wed, Apr 02, 2014 at 11:53:51AM +0200, Thomas Monjalon wrote:
> Hello,
> 
> Sorry for the long delay.
> 
> 2014-02-26 14:07, Thomas Graf:
> > On 02/04/2014 04:54 PM, Thomas Monjalon wrote:
> > > +Version: 1.5.2r1
> > > +Release: 1
> > 
> > What kind of upgrade strategy do you have in mind?
> > 
> > I'm raising this because Fedora and other distributions will require
> > a unique package name for every version of the package that is not
> > backwards compatible.
> > 
> > Typically libraries provide backwards compatible within a major release,
> > i.e. all 1.x.x releases would be compatible. I realize that this might
> > not be applicable yet but maybe 1.5.x?
> > 
> > Depending on the versioning schema the name would be dpdk15, dpdk16, ...
> > or dpdk152, dpdk153, ...
> 
> We are working on this but at the moment there is no restriction on API/ABI 
> breakage. So I think it's too early to define such rule.
>  
Now that you have DSO builds in place, theres no reason not to take the extra
step of versioning your API's, making backwards compatibility fairly
straightforward.  Monolithic builds are still somewhat problematic regarding API
stability, but you could certainly offer stability in the DSOs.

> > > +BuildRequires: kernel-devel, kernel-headers, doxygen
> > 
> > Is a python environment required as well?
> 
> Python is only needed to run some tools on the target. But is is optional.
> Do you think it should be written somewhere?
> 
> > > +%description
> > > +Dummy main package. Make only subpackages.
> > 
> > I would just call the main package "libdpdk152" so you don't have to
> > repeat the encoding versioning in all the subpackages.
> > 
> > > +
> > > +%package core-runtime
> > 
> > What about calling it just "libdpdk"?
> 
The version name should be left out of the library name, whatever you do.
Packaging can be responsible for versioning.

> In this case, it should be libdpdk-core in order to distinguish it from dpdk 
> extensions. But the name of the project is dpdk so it seems simpler to call it 
> dpdk-core.
> Is the "lib" prefix mandatory for libraries?
> 
Not strictly, but IIRC if you don't add the lib, the linker won't find it with
the -l option, so you'll want to add it.

> > > +%files core-runtime
> > > +%dir %{datadir}
> > > +%{datadir}/config
> > > +%{datadir}/tools
> > > +%{moddir}/*
> > > +%{_sbindir}/*
> > > +%{_bindir}/*
> > > +%{_libdir}/*.so
> > 
> > This brings up the question of multiple parallel DPDK installations.
> > A specific application linking to library version X will also require
> > tools of version X, right? A second application linking against version
> > Y will require tools version Y. Right now, these could not be installed
> > in parallel. Any chance we can make the runtime version independent?
> 
> Are you thinking about installing different major versions? In my 
> understanding, we cannot install 2 different minor versions of a package.
> As long as there is no stable API, there is no major versions defined.
> So don't you think we should speak about it later?
> 
If the versioning is done properly (i.e shared libraries get version ids
attached to the library files properly), you can install as many library
versions as you like.  You can only install a single -devel package, since it
links lib<name>.so to a specific version.

> > Same applies to header files. A good option here would be to install
> > them to /usr/include/libdpdk{version}/ and have a dpdk-1.5.2.pc which
> > provides Cflags: -I${includedir}/libdpdk${version}
> 
> Yes same applies :)
> I agree that a .pc file would be a good idea. But we also must allow to build 
> with the DPDK framework.
> 
> > You'll also need for all packages and subpackages installing shared
> > libraries:
> > 
> > %post -p /sbin/ldconfig
> > %postun -p /sbin/ldconfig
> 
> OK
> 
> Thanks for the review
> -- 
> Thomas
> 

  parent reply	other threads:[~2014-04-02 11:28 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-04 15:54 [dpdk-dev] [PATCH 00/16] recipes for RPM packages Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [PATCH 01/16] tools: rename pci_unbind script Thomas Monjalon
2014-02-24 16:03   ` Chris Wright
2014-03-20 17:06     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [PATCH 02/16] virtio: rename library Thomas Monjalon
2014-02-24 16:05   ` Chris Wright
2014-03-20 17:06     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [PATCH 03/16] pkg: add recipe for RPM Thomas Monjalon
2014-02-24 16:29   ` Chris Wright
2014-02-24 16:52   ` Chris Wright
2014-04-02  9:01     ` Thomas Monjalon
2014-04-02 11:11       ` Thomas Graf
2014-02-26 13:07   ` Thomas Graf
2014-02-26 16:19     ` Chris Wright
2014-04-02  9:53     ` Thomas Monjalon
2014-04-02 11:04       ` Thomas Graf
2014-04-02 11:29       ` Neil Horman [this message]
2014-02-04 15:54 ` [dpdk-dev] [vmxnet3-usermap PATCH 04/16] pmd: add make help Thomas Monjalon
2014-02-24 18:17   ` Chris Wright
2014-03-26 21:59     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [vmxnet3-usermap PATCH 05/16] pmd: allow to build outside of the source directory Thomas Monjalon
2014-02-24 18:13   ` Chris Wright
2014-03-26 21:59     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [vmxnet3-usermap PATCH 06/16] pmd: allow to install lib and doc Thomas Monjalon
2014-03-26 22:00   ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [vmxnet3-usermap PATCH 07/16] pkg: add recipe for RPM Thomas Monjalon
2014-02-26 13:22   ` Thomas Graf
2014-04-02 10:08     ` Thomas Monjalon
2014-04-02 11:07       ` Thomas Graf
2014-02-04 15:54 ` [dpdk-dev] [virtio-net-pmd PATCH 08/16] pmd: fix initialization of Tx queue header Thomas Monjalon
2014-03-27  8:23   ` Olivier MATZ
2014-03-27  9:34     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [virtio-net-pmd PATCH 09/16] mk: minor fixes Thomas Monjalon
2014-03-27  8:26   ` Olivier MATZ
2014-03-27  9:35     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [virtio-net-pmd PATCH 10/16] mk: allow to build outside of the source directory Thomas Monjalon
2014-03-27  8:31   ` Olivier MATZ
2014-03-27  9:35     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [virtio-net-pmd PATCH 11/16] mk: allow to install lib and doc Thomas Monjalon
2014-03-27  8:32   ` Olivier MATZ
2014-03-27  9:35     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [virtio-net-pmd PATCH 12/16] pkg: add recipe for RPM Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [memnic PATCH 13/16] pmd: rename doc when installing Thomas Monjalon
2014-03-27  8:36   ` Olivier MATZ
2014-03-27 10:29     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [memnic PATCH 14/16] pmd: fix doc uninstalling Thomas Monjalon
2014-03-27  8:45   ` Olivier MATZ
2014-03-27 10:30     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [memnic PATCH 15/16] pmd: remove useless makefile variables Thomas Monjalon
2014-03-27  8:45   ` Olivier MATZ
2014-03-27 10:30     ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [memnic PATCH 16/16] pkg: add recipe for RPM Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140402112927.GC6974@neilslaptop.think-freely.org \
    --to=nhorman@tuxdriver.com \
    --cc=dev@dpdk.org \
    --cc=thomas.monjalon@6wind.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).