Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-28 Thread Steve Langasek
On Sat, May 27, 2006 at 06:02:07PM -0700, Tyler MacDonald wrote:
 Steve Langasek [EMAIL PROTECTED] wrote:
  You're missing the point that sonames track *ABI* changes, and -dev package
  names should track *API* changes.  Typically, upstreams make API changes on
  new major releases; ABI changes can happen much more often than this. 
  Tracking sonames in your -dev package names is therefore wrong and
  (inevitably, eventually) causes gratuitous churn for any packages
  build-depending on yours.

   OK, so it sounds like this is what you are saying:

   Since this is the first public API *and* ABI, both counters should
 start at zero.

   - When the API becomes incompatible (which would implicitly make the
 ABI incompatible), both the -dev and library package should increment their
 numbers.

   - When the ABI becomes incompatible without affecting the API, only
 the library package should increment it's number.

   Is that right?

With changing the package name on API changes being optional as well, since
API changes generally affect build-dependencies only, not dependencies, are
thus largely invisible to users, and in the general case don't tend to
happen in a way that justifies updates to all packages that would
build-depend on it.

But if you think you'll be making sufficient backwards-incompatible changes
to the library API to warrant such package name changes, yes, the above is
the right way to go about it.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


signature.asc
Description: Digital signature


Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-28 Thread Tyler MacDonald
Steve Langasek [EMAIL PROTECTED] wrote:
  - When the API becomes incompatible (which would implicitly make the
  ABI incompatible), both the -dev and library package should increment their
  numbers.
 
  - When the ABI becomes incompatible without affecting the API, only
  the library package should increment it's number.
 
  Is that right?
 
 With changing the package name on API changes being optional as well, since
 API changes generally affect build-dependencies only, not dependencies, are
 thus largely invisible to users, and in the general case don't tend to
 happen in a way that justifies updates to all packages that would
 build-depend on it.

Makes sense...

 But if you think you'll be making sufficient backwards-incompatible changes
 to the library API to warrant such package name changes, yes, the above is
 the right way to go about it.

I do. I can easily see thread safety and abstracting database
interaction causing API changes in the future. Thanks!

- Tyler


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-27 Thread Mike Hommey
On Fri, May 26, 2006 at 07:32:06PM -0700, Tyler MacDonald [EMAIL PROTECTED] 
wrote:
 Ondrej Sury [EMAIL PROTECTED] wrote:
  On Fri, 2006-05-26 at 08:07 -0700, Tyler MacDonald wrote:
   * Package name: mod-bt
  
  I suggest to name your package (you can name just binary package, but it
  since you are building just one binary package, it's easier to rename
  source package as well) as libapache-mod-bt to follow common practice
  when packaging apache modules.
 
   Ondrej,
   The source package is named mod-bt. It produces the
 following .deb's:
 
 libbttracker0-dev_0.0.16-1_i386.deb
 libbtutil0-dev_0.0.16-1_i386.deb

There's no reason to have the so version in the -dev package name.

Mike


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-27 Thread Tyler MacDonald
Mike Hommey [EMAIL PROTECTED] wrote:
  Ondrej,
  The source package is named mod-bt. It produces the
  following .deb's:
  
  libbttracker0-dev_0.0.16-1_i386.deb
  libbtutil0-dev_0.0.16-1_i386.deb
 There's no reason to have the so version in the -dev package name.

Odd, because my package depends on libapr0-dev (probably going to be
libapr0-dev | libapr1-dev soon), and an apt-cache search for 0-dev on my
system turns this up:

guile-gnome0-dev - Guile GObject binding support library, development files
libabz0-dev - Development files for the abz library
libadasockets0-dev - bindings for socket services in Ada
libannodex0-dev - annotated and indexed media library (develoment files)
libapr0-dev - development headers for libapr
libapr1.0-dev - The Apache Portable Runtime Library - Development Headers
libaprutil1.0-dev - The Apache Portable Runtime Utility Library - Development 
Headers
libaqbanking0-dev - library for online banking applications
libart-2.0-dev - Library of functions for 2D graphics - development files
libartsc0-dev - development files for the aRts sound system C support library
libassa3.4-0-dev - object-oriented C++ networking library
libatk1.0-dev - Development files for the ATK accessibility toolkit
libbelpic0-dev - belgian eID PKCS11 library, development files
libber0-dev - Development files for the BER library
libcairomm-1.0-dev - C++ wrappers for Cairo (development files)
libcamelbones0-dev - the development files for the CamelBones framework
libcapi20-dev - libraries for CAPI support
libcdparanoia0-dev - Shared libraries for cdparanoia (development files)
libcharles0-dev - Data structure library for Ada95 modelled on the C++ STL
libcherokee-base0-dev - extremely fast and flexible web server - development 
files
libcherokee-client0-dev - extremely fast and flexible web server - development 
files
libcherokee-server0-dev - extremely fast and flexible web server - development 
files
libclutils0-dev - Development files needed to compile programs that use clutils.
libcoin20-dev - high-level 3D graphics kit - development
libcoin40-dev - high-level 3D graphics devkit with Open Inventor and VRML97 
support
libconfig0-dev - Development files for the config library
libcteco5000-dev - Orga Eco 5000 smartcard reader CT-API development files
libdancer-xml0-dev - simplistic and non-comformant xml parser library
libdbaudiolib0-dev - Communicate to the DBMix audio system (development files)
libdbh1.0-dev - Development files for libdbh1.0
libdbi0-dev - Database Independent Abstraction Layer for C (dev files)
libdc0-dev - Development libraries for Valknut
libdebug0-dev - Development files for the debug library
libdisplaymigration0-dev - display migration support for GTK [development]
libdlisp0-dev - Simplistic lisp type file parser (development)
libdm0-dev - Data Management API static libraries and headers
libdmsocket-0.32.5-0-dev - socket utility library -- development files.
libdnas-application-0.32.5-0-dev - DNAS application libs -- development files.
libdnas-core-0.32.5-0-dev - DNAS core networking library -- development files.
libdvdplay0-dev - development files for libdvdplay0
libeid0-dev - library to read identity information from the Belgian eID card - 
development files
libelfg0-dev - an ELF object file access library: development files
libelfsh0-dev - The ELF shell library
libelk0-dev - development files for libelk0
libesd0-dev - Enlightened Sound Daemon - Development files
libfoundation1.0-dev - Development files for libfoundation
libg2c0-dev - GNU Fortran 77 library development
libgenders0-dev - development files for parsing and querying a genders database
libgfortran0-dev - GNU Fortran library development
libggigcp0-dev - GGI Color and Palette Manager extension development package
libggiwmh0-dev - GGI Window Manager Hints extension development package
libgii0-dev - General Input Interface development package
libgimp2.0-dev - Headers and other files for compiling plugins for The GIMP
libgksuui1.0-dev - a graphical fronted to su library (development files)
libglade-bonobo0-dev - Development files for libglade (Bonobo controls support)
libglade-gnome0-dev - Development files for libglade (Gnome widgets support)
libglade0-dev - Development files for libglade
libglib2.0-dev - Development files for the GLib library
libgnetwork1.0-dev - networking wrapper library using Glib/GObject (development 
files)
libgnomecups1.0-dev - GNOME library for CUPS interaction (headers)
libgnomecupsui1.0-dev - UI extensions to libgnomecups (headers)
libgnuift0-dev - libgnuift development files
libgnuradio-core0-dev - Software Defined Radio
libgnustep-gui0.10-dev - GNUstep Gui header files and static libraries
libgpepimc0-dev - category management for GPE applications [development]
libgpevtype0-dev - data interchange library for GPE applications [development]
libgpib0-dev - C bindings for GPIB (IEEE 488) kernel driver -- headers
libgsl0-dev - GNU Scientific Library (GSL) -- development package

Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-27 Thread Sune Vuorela
On 2006-05-27, Tyler MacDonald [EMAIL PROTECTED] wrote:
   Odd, because my package depends on libapr0-dev (probably going to be
 libapr0-dev | libapr1-dev soon), and an apt-cache search for 0-dev on my

The versionings is when stuff change to incompatible APIs, so probably
depending on (libfoo0-dev | libfoo1-dev) should not be possible.

If there is no change in APIs, there is no need for versioning of the
-dev package.
You can alwayls add a versioning number on api-change.

/Sune


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-27 Thread Tyler MacDonald
Sune Vuorela [EMAIL PROTECTED] wrote:
  Odd, because my package depends on libapr0-dev (probably going to be
  libapr0-dev | libapr1-dev soon), and an apt-cache search for 0-dev on my
 
 The versionings is when stuff change to incompatible APIs, so probably
 depending on (libfoo0-dev | libfoo1-dev) should not be possible.
 
 If there is no change in APIs, there is no need for versioning of the
 -dev package.
 You can alwayls add a versioning number on api-change.

In APR's case, there are some small incompatibilities in the APIs
between version 0 and version 1, but many packages can still compile
successfully against either.

And yeah, in libbttracker, etc.'s case, I don't plan on changing the
soname until there's an incompatibility.

Cheers,
Tyler


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-27 Thread Steve Langasek
On Sat, May 27, 2006 at 11:14:44AM -0700, Tyler MacDonald wrote:
 Sune Vuorela [EMAIL PROTECTED] wrote:
 Odd, because my package depends on libapr0-dev (probably going to be
   libapr0-dev | libapr1-dev soon), and an apt-cache search for 0-dev on my

  The versionings is when stuff change to incompatible APIs, so probably
  depending on (libfoo0-dev | libfoo1-dev) should not be possible.

  If there is no change in APIs, there is no need for versioning of the
  -dev package.
  You can alwayls add a versioning number on api-change.

   In APR's case, there are some small incompatibilities in the APIs
 between version 0 and version 1, but many packages can still compile
 successfully against either.

   And yeah, in libbttracker, etc.'s case, I don't plan on changing the
 soname until there's an incompatibility.

You're missing the point that sonames track *ABI* changes, and -dev package
names should track *API* changes.  Typically, upstreams make API changes on
new major releases; ABI changes can happen much more often than this. 
Tracking sonames in your -dev package names is therefore wrong and
(inevitably, eventually) causes gratuitous churn for any packages
build-depending on yours.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


signature.asc
Description: Digital signature


Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-27 Thread Hendrik Sattler
Am Sonntag, 28. Mai 2006 00:00 schrieb Steve Langasek:
 and -dev package
 names should track *API* changes

To be more precise: incompatible API changes. If the current API is simply 
extended by some new function, the -dev package keeps its numbered name.

HS


pgpwQExhAEWsj.pgp
Description: PGP signature


Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-27 Thread Tyler MacDonald
Steve Langasek [EMAIL PROTECTED] wrote:
 You're missing the point that sonames track *ABI* changes, and -dev package
 names should track *API* changes.  Typically, upstreams make API changes on
 new major releases; ABI changes can happen much more often than this. 
 Tracking sonames in your -dev package names is therefore wrong and
 (inevitably, eventually) causes gratuitous churn for any packages
 build-depending on yours.

OK, so it sounds like this is what you are saying:

Since this is the first public API *and* ABI, both counters should
start at zero.

- When the API becomes incompatible (which would implicitly make the
ABI incompatible), both the -dev and library package should increment their
numbers.

- When the ABI becomes incompatible without affecting the API, only
the library package should increment it's number.

Is that right?

Thanks,
Tyler



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-26 Thread Ondrej Sury
On Fri, 2006-05-26 at 08:07 -0700, Tyler MacDonald wrote:
 * Package name: mod-bt

I suggest to name your package (you can name just binary package, but it
since you are building just one binary package, it's easier to rename
source package as well) as libapache-mod-bt to follow common practice
when packaging apache modules.

Ondrej.
-- 
Ondrej Sury [EMAIL PROTECTED]


signature.asc
Description: This is a digitally signed message part


Re: Bug#368985: ITP: mod-bt -- BitTorrent tracker for the Apache2 web server

2006-05-26 Thread Tyler MacDonald
Ondrej Sury [EMAIL PROTECTED] wrote:
 On Fri, 2006-05-26 at 08:07 -0700, Tyler MacDonald wrote:
  * Package name: mod-bt
 
 I suggest to name your package (you can name just binary package, but it
 since you are building just one binary package, it's easier to rename
 source package as well) as libapache-mod-bt to follow common practice
 when packaging apache modules.

Ondrej,
The source package is named mod-bt. It produces the
following .deb's:

libapache2-mod-bt-dev_0.0.16-1_i386.deb
libapache2-mod-bt_0.0.16-1_i386.deb
libapache2-modbt-perl_0.0.16-1_i386.deb
libbttracker-utils_0.0.16-1_i386.deb
libbttracker0-dev_0.0.16-1_i386.deb
libbttracker0_0.0.16-1_i386.deb
libbtutil-utils_0.0.16-1_i386.deb
libbtutil0-dev_0.0.16-1_i386.deb
libbtutil0_0.0.16-1_i386.deb
libnet-bittorrent-libbt-tracker-perl_0.0.16-1_i386.deb
php5-apache2-mod-bt_0.0.16-1_i386.deb

Cheers,
Tyler


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]