[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libcommoncpp2-dev library transition proposal (Fwd: Bug#402009: Multiple API-incompatible changes in Common C++ 1.5.3)



debian-release,

I'm proposing a library transition for libcommoncpp2, the last upload 
contained a hidden backward-incompatible ABI change which has only come to 
light.

I have patched upstream to bump the soname to 1.5.3 and this will generate a 
debian package of libcommoncpp2-1.5.3-0, which should then be able to go 
through a normal library transition.

As for rdepends, the only package outside pkg-voip-maintainers control is 
glcpu who have been CC:ed on this package.

If the transition goes ahead would the release team like us to manually upload 
the rdepends packages, or would binNMU's be more suitable/ quicker?

Mark



----------  Forwarded Message  ----------

Subject: Bug#402009: Multiple API-incompatible changes in Common C++ 1.5.3
Date: Thursday 07 December 2006 14:49
From: Mikael Magnusson <mikma@users.sourceforge.net>
To: 402009@bugs.debian.org

As described in the Common C++ changelog, the new version contains
multiple API changes, resulting in backward-incompatible ABI changes in
the shared library.

   From Common C++ 1.5.2 to 1.5.3
   - some code cleanup of operators and const members

I'm including a diff which contains all changes of header files from
1.5.1 to 1.5.3.

/Mikael

-------------------------------------------------------
--- commoncpp2-1.5.1/include/cc++/address.h	2006-10-01 14:07:12.000000000 +0200
+++ commoncpp2-1.5.3/include/cc++/address.h	2006-11-21 14:40:05.000000000 +0100
@@ -167,7 +167,7 @@
 protected:
 	struct in_addr netmask, network;
 
-	unsigned getMask(const char *cp);
+	unsigned getMask(const char *cp) const;
 public:
 	/**
 	 * Get network address associated with this cidr.
@@ -225,7 +225,7 @@
 	 * @param saddr pointer to test.
 	 * @return true if member of cidr.
 	 */
-	bool isMember(struct sockaddr *saddr);
+	bool isMember(const struct sockaddr *saddr) const;
 
 	/**
 	 * See if a low level address object is a member of this cidr's net.
@@ -233,14 +233,14 @@
 	 * @param inaddr object to test.
 	 * @return true if member of cidr.
 	 */
-	bool isMember(struct in_addr &inaddr);
-};
+	bool isMember(const struct in_addr &inaddr) const;
 
-inline bool operator==(struct sockaddr *sa, IPV4Cidr &cidr)
-	{return cidr.isMember(sa);};
+	inline bool operator==(const struct sockaddr *a) const
+		{return isMember(a);};
 
-inline bool operator==(struct in_addr &a, IPV4Cidr &cidr)
-	{return cidr.isMember(a);};
+	inline bool operator==(const struct in_addr &a) const
+		{return isMember(a);};
+};
 
 #ifdef	CCXX_IPV6
 /**
@@ -255,7 +255,7 @@
 protected:
 	struct in6_addr netmask, network;
 
-	unsigned getMask(const char *cp);
+	unsigned getMask(const char *cp) const;
 public:
 	/**
 	 * Get network address associated with this cidr.
@@ -313,7 +313,7 @@
 	 * @param saddr pointer to test.
 	 * @return true if member of cidr.
 	 */
-	bool isMember(struct sockaddr *saddr);
+	bool isMember(const struct sockaddr *saddr) const;
 
 	/**
 	 * See if a low level address object is a member of this cidr's net.
@@ -321,14 +321,14 @@
 	 * @param inaddr object to test.
 	 * @return true if member of cidr.
 	 */
-	bool isMember(struct in6_addr &inaddr);
-};
+	bool isMember(const struct in6_addr &inaddr) const;
 
-inline bool operator==(struct sockaddr *sa, IPV6Cidr &cidr)
-	{return cidr.isMember(sa);};
+	inline bool operator==(const struct sockaddr *sa) const
+		{return isMember(sa);};
 
-inline bool operator==(struct in6_addr &a, IPV6Cidr &cidr)
-	{return cidr.isMember(a);};
+	inline bool operator==(const struct in6_addr &a) const
+		{return isMember(a);};
+};
 
 #endif
 
--- commoncpp2-1.5.1/include/cc++/misc.h	2006-09-30 18:52:17.000000000 +0200
+++ commoncpp2-1.5.3/include/cc++/misc.h	2006-11-21 15:55:26.000000000 +0100
@@ -695,7 +695,7 @@
 	virtual void *getMemory(size_t size) = 0;
 
 public:
-	void *getPointer(const char *id);
+	void *getPointer(const char *id) const;
 	void setPointer(const char *id, void *data);
 };
 
--- commoncpp2-1.5.1/include/cc++/thread.h	2006-04-27 21:16:53.000000000 +0200
+++ commoncpp2-1.5.3/include/cc++/thread.h	2006-11-21 14:37:09.000000000 +0100
@@ -1410,14 +1410,14 @@
 	 * 
 	 * @return true if the thread is still executing.
 	 */
-	bool isRunning(void);
+	bool isRunning(void) const;
 
 	/**
 	 * Check if this thread is detached.
 	 *
 	 * @return true if the thread is detached.
 	 */
-	bool isDetached(void);
+	bool isDetached(void) const;
 
         /**
 	 * Blocking call which unlocks when thread terminates.
@@ -1430,7 +1430,7 @@
 	 * 
 	 * @return true if the current context is this object.
 	 */
-	bool isThread(void);
+	bool isThread(void) const;
 
 	/**
 	 * Get system thread numeric identifier.
@@ -1445,7 +1445,7 @@
 	 *
 	 * @return debug name.
 	 */
-	const char *getName(void)
+	const char *getName(void) const
 		{return _name;};
 
 	/**
@@ -1475,7 +1475,7 @@
 		{if (th._start) th._start->wait();};
 
 #ifdef WIN32
-	bool isCancelled();
+	bool isCancelled() const;
 
 	static DWORD waitThread(HANDLE hRef, timeout_t timeout);
 #endif

Reply to: