Bug#683073: unblock: gnunet/0.9.3-3

2012-08-02 Thread Julien Cristau
On Thu, Aug  2, 2012 at 22:38:13 +0200, Bertrand Marc wrote:

> Le 02/08/2012 20:03, Julien Cristau a écrit :
> >>diff -Nru gnunet-0.9.3/debian/changelog gnunet-0.9.3/debian/changelog
> >>--- gnunet-0.9.3/debian/changelog   2012-06-20 23:55:23.0 +0200
> >>+++ gnunet-0.9.3/debian/changelog   2012-08-01 22:10:06.0 +0200
> >>@@ -1,3 +1,21 @@
> >>+gnunet (0.9.3-3) unstable; urgency=low
> >>+
> >>+  * debian/control: update Vcs-* to the new repository in collab-maint.
> >>+  * Install only the generated binaries on Hurd, thanks to Cyril Roelandt
> >>+(Closes: #670794).
> >>+  * Use chmod and chown instead of dpkg-statoverride to set special 
> >>permissions
> >>+and upgrade properly depending on the previous version (Closes: 
> >>#673301).
> >>+  * Rewrite gnunet-server.init based on /etc/init.d/skeleton and make
> >>+gnunet-server depend on lsb-base to use LSB logging.
> >
> >This part makes me extremely nervous.  I don't think now is the time for
> >this kind of change.
> 
> That's why it was not uploaded to unstable, and only to mentors. I
> guess we could select the changes we want to see in wheezy:

Sorry, I meant the init script change.

> - The fix to build on Hurd seems harmless to me.
> - Getting rid of dpkg-statoverride would be nice, since its use was
> quite wrong. In particular, in the current package, there is no way
> to know whether the administrator or the gnunet package set the
> dpkg-statoverrides. It is in Debian only for a few months, and it
> would be nice not to mess up with dpkg-statoverride on Debian/stable
> boxes.

Ack, that's fine.

> - The rewrite of gnunet-server.init is purely cosmetic: the current
> package doesn't use LSB logging, so gnunet is the only line with the
> old look at boot. I also added the status command, making lintian
> happy. Clearly it is the less "urgent" change.
> 
This is the one I would rather see deferred.

> >>+  * Fix "gcc-4.6: [sparc] compiler fails to align stack-allocated
> >>+struct, with array of uint32-values to 32-bit boundary":
> >>+new patch sparc_alignment.patch, taken from upstream:
> >>+https://lists.gnu.org/archive/html/gnunet-svn/2012-07/msg00548.html
> >>+Thanks to Jurij Smakov for the analysis.
> >>+(Closes: #670578)
> >>+
> >>+ -- Bertrand Marc   Wed, 01 Aug 2012 22:09:49 +0200
> >>+
> >>  gnunet (0.9.3-2) unstable; urgency=low
> >>
> >>* Clean properly dpkg-statoverride in gnunet-server.postrm
> >[...]
> >>diff -Nru gnunet-0.9.3/debian/gnunet-server.postinst 
> >>gnunet-0.9.3/debian/gnunet-server.postinst
> >>--- gnunet-0.9.3/debian/gnunet-server.postinst  2012-06-07 
> >>23:13:17.0 +0200
> >>+++ gnunet-0.9.3/debian/gnunet-server.postinst  2012-07-07 
> >>15:50:27.0 +0200
> >>@@ -52,6 +52,24 @@
> >>echo " done."
> >>fi
> >>
> >>+   # this can go away after wheezy
> >>+   if dpkg --compare-versions "$2" le "0.9.3-2"&&  dpkg 
> >>--compare-versions "$2" ge "0.9.2-1"; then
> >>+   for file in /usr/bin/gnunet-helper-exit \
> >>+   /usr/bin/gnunet-helper-fs-publish \
> >>+   /usr/bin/gnunet-helper-nat-client \
> >>+   /usr/bin/gnunet-helper-nat-server \
> >>+   /usr/bin/gnunet-helper-transport-wlan \
> >>+   /usr/bin/gnunet-helper-vpn \
> >>+   /usr/bin/gnunet-helper-dns \
> >>+   /usr/bin/gnunet-service-dns
> >>+   do
> >>+   if dpkg-statoverride --list $file>/dev/null 2>&1
> >>+   then
> >>+   dpkg-statoverride --remove $file
> >>+   fi
> >>+   done
> >>+   fi
> >>+   
> >
> >How does this interact with statoverrides set by the local admin?
> It doesn't. The use of dpkg-statoverride was wrong in the first
> place, so there is no way to know whether the local admin set
> statoverrides or whether the gnunet package did. And since postrm
> removes the gnunet group and user, we need to be sure we remove
> every statoverrides before postrm. Again, it is like this only since
> April or May, and it has not reached Stable, yet.
> 
Why does postrm do that?  Is there any harm in leaving the user and
group around?
See also http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621833

Cheers,
Julien


signature.asc
Description: Digital signature


Bug#683073: unblock: gnunet/0.9.3-3

2012-08-02 Thread Bertrand Marc

Le 02/08/2012 20:03, Julien Cristau a écrit :

diff -Nru gnunet-0.9.3/debian/changelog gnunet-0.9.3/debian/changelog
--- gnunet-0.9.3/debian/changelog   2012-06-20 23:55:23.0 +0200
+++ gnunet-0.9.3/debian/changelog   2012-08-01 22:10:06.0 +0200
@@ -1,3 +1,21 @@
+gnunet (0.9.3-3) unstable; urgency=low
+
+  * debian/control: update Vcs-* to the new repository in collab-maint.
+  * Install only the generated binaries on Hurd, thanks to Cyril Roelandt
+(Closes: #670794).
+  * Use chmod and chown instead of dpkg-statoverride to set special permissions
+and upgrade properly depending on the previous version (Closes: #673301).
+  * Rewrite gnunet-server.init based on /etc/init.d/skeleton and make
+gnunet-server depend on lsb-base to use LSB logging.


This part makes me extremely nervous.  I don't think now is the time for
this kind of change.


That's why it was not uploaded to unstable, and only to mentors. I guess 
we could select the changes we want to see in wheezy:

- The fix to build on Hurd seems harmless to me.
- Getting rid of dpkg-statoverride would be nice, since its use was 
quite wrong. In particular, in the current package, there is no way to 
know whether the administrator or the gnunet package set the 
dpkg-statoverrides. It is in Debian only for a few months, and it would 
be nice not to mess up with dpkg-statoverride on Debian/stable boxes.
- The rewrite of gnunet-server.init is purely cosmetic: the current 
package doesn't use LSB logging, so gnunet is the only line with the old 
look at boot. I also added the status command, making lintian happy. 
Clearly it is the less "urgent" change.



+  * Fix "gcc-4.6: [sparc] compiler fails to align stack-allocated
+struct, with array of uint32-values to 32-bit boundary":
+new patch sparc_alignment.patch, taken from upstream:
+https://lists.gnu.org/archive/html/gnunet-svn/2012-07/msg00548.html
+Thanks to Jurij Smakov for the analysis.
+(Closes: #670578)
+
+ -- Bertrand Marc   Wed, 01 Aug 2012 22:09:49 +0200
+
  gnunet (0.9.3-2) unstable; urgency=low

* Clean properly dpkg-statoverride in gnunet-server.postrm

[...]

diff -Nru gnunet-0.9.3/debian/gnunet-server.postinst 
gnunet-0.9.3/debian/gnunet-server.postinst
--- gnunet-0.9.3/debian/gnunet-server.postinst  2012-06-07 23:13:17.0 
+0200
+++ gnunet-0.9.3/debian/gnunet-server.postinst  2012-07-07 15:50:27.0 
+0200
@@ -52,6 +52,24 @@
echo " done."
fi

+   # this can go away after wheezy
+   if dpkg --compare-versions "$2" le "0.9.3-2"&&  dpkg --compare-versions 
"$2" ge "0.9.2-1"; then
+   for file in /usr/bin/gnunet-helper-exit \
+   /usr/bin/gnunet-helper-fs-publish \
+   /usr/bin/gnunet-helper-nat-client \
+   /usr/bin/gnunet-helper-nat-server \
+   /usr/bin/gnunet-helper-transport-wlan \
+   /usr/bin/gnunet-helper-vpn \
+   /usr/bin/gnunet-helper-dns \
+   /usr/bin/gnunet-service-dns
+   do
+   if dpkg-statoverride --list $file>/dev/null 2>&1
+   then
+   dpkg-statoverride --remove $file
+   fi
+   done
+   fi
+   


How does this interact with statoverrides set by the local admin?
It doesn't. The use of dpkg-statoverride was wrong in the first place, 
so there is no way to know whether the local admin set statoverrides or 
whether the gnunet package did. And since postrm removes the gnunet 
group and user, we need to be sure we remove every statoverrides before 
postrm. Again, it is like this only since April or May, and it has not 
reached Stable, yet.


Cheers,
Bertrand


--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#683073: unblock: gnunet/0.9.3-3

2012-08-02 Thread Julien Cristau
On Thu, Aug  2, 2012 at 19:51:46 +0200, Bertrand Marc wrote:

> Le 01/08/2012 23:17, Julien Cristau a écrit :
> >It's much easier for us if we don't have to go chase patches in other
> >places and stuff is all in the mail.
> 
> Here is the full debdiff between gnunet 0.9.3-2 (in
> testing/unstable) and the new revision I prepared.
> 
Thanks for this.

> diff -Nru gnunet-0.9.3/debian/changelog gnunet-0.9.3/debian/changelog
> --- gnunet-0.9.3/debian/changelog 2012-06-20 23:55:23.0 +0200
> +++ gnunet-0.9.3/debian/changelog 2012-08-01 22:10:06.0 +0200
> @@ -1,3 +1,21 @@
> +gnunet (0.9.3-3) unstable; urgency=low
> +
> +  * debian/control: update Vcs-* to the new repository in collab-maint.
> +  * Install only the generated binaries on Hurd, thanks to Cyril Roelandt
> +(Closes: #670794).
> +  * Use chmod and chown instead of dpkg-statoverride to set special 
> permissions
> +and upgrade properly depending on the previous version (Closes: #673301).
> +  * Rewrite gnunet-server.init based on /etc/init.d/skeleton and make
> +gnunet-server depend on lsb-base to use LSB logging.

This part makes me extremely nervous.  I don't think now is the time for
this kind of change.

> +  * Fix "gcc-4.6: [sparc] compiler fails to align stack-allocated
> +struct, with array of uint32-values to 32-bit boundary":
> +new patch sparc_alignment.patch, taken from upstream:
> +https://lists.gnu.org/archive/html/gnunet-svn/2012-07/msg00548.html
> +Thanks to Jurij Smakov for the analysis.
> +(Closes: #670578)
> +
> + -- Bertrand Marc   Wed, 01 Aug 2012 22:09:49 +0200
> +
>  gnunet (0.9.3-2) unstable; urgency=low
>  
>* Clean properly dpkg-statoverride in gnunet-server.postrm
[...]
> diff -Nru gnunet-0.9.3/debian/gnunet-server.postinst 
> gnunet-0.9.3/debian/gnunet-server.postinst
> --- gnunet-0.9.3/debian/gnunet-server.postinst2012-06-07 
> 23:13:17.0 +0200
> +++ gnunet-0.9.3/debian/gnunet-server.postinst2012-07-07 
> 15:50:27.0 +0200
> @@ -52,6 +52,24 @@
>   echo " done."
>   fi
>  
> + # this can go away after wheezy
> + if dpkg --compare-versions "$2" le "0.9.3-2" && dpkg 
> --compare-versions "$2" ge "0.9.2-1"; then
> + for file in /usr/bin/gnunet-helper-exit \
> + /usr/bin/gnunet-helper-fs-publish \
> + /usr/bin/gnunet-helper-nat-client \
> + /usr/bin/gnunet-helper-nat-server \
> + /usr/bin/gnunet-helper-transport-wlan \
> + /usr/bin/gnunet-helper-vpn \
> + /usr/bin/gnunet-helper-dns \
> + /usr/bin/gnunet-service-dns
> + do
> + if dpkg-statoverride --list $file >/dev/null 
> 2>&1
> + then
> + dpkg-statoverride --remove $file
> + fi
> + done
> + fi
> + 

How does this interact with statoverrides set by the local admin?

>   # Update files and directories permissions.
>   # Assuming default values, this *should* not be changed.
>   echo -n "Updating files and directories permissions:"
[...]

Cheers,
Julien


signature.asc
Description: Digital signature


Bug#683073: unblock: gnunet/0.9.3-3

2012-08-02 Thread Bertrand Marc

Le 01/08/2012 23:17, Julien Cristau a écrit :

It's much easier for us if we don't have to go chase patches in other
places and stuff is all in the mail.


Here is the full debdiff between gnunet 0.9.3-2 (in testing/unstable) 
and the new revision I prepared.


Cheers,
Bertrand

diff -Nru gnunet-0.9.3/debian/changelog gnunet-0.9.3/debian/changelog
--- gnunet-0.9.3/debian/changelog	2012-06-20 23:55:23.0 +0200
+++ gnunet-0.9.3/debian/changelog	2012-08-01 22:10:06.0 +0200
@@ -1,3 +1,21 @@
+gnunet (0.9.3-3) unstable; urgency=low
+
+  * debian/control: update Vcs-* to the new repository in collab-maint.
+  * Install only the generated binaries on Hurd, thanks to Cyril Roelandt
+(Closes: #670794).
+  * Use chmod and chown instead of dpkg-statoverride to set special permissions
+and upgrade properly depending on the previous version (Closes: #673301).
+  * Rewrite gnunet-server.init based on /etc/init.d/skeleton and make
+gnunet-server depend on lsb-base to use LSB logging.
+  * Fix "gcc-4.6: [sparc] compiler fails to align stack-allocated
+struct, with array of uint32-values to 32-bit boundary":
+new patch sparc_alignment.patch, taken from upstream:
+https://lists.gnu.org/archive/html/gnunet-svn/2012-07/msg00548.html
+Thanks to Jurij Smakov for the analysis.
+(Closes: #670578)
+
+ -- Bertrand Marc   Wed, 01 Aug 2012 22:09:49 +0200
+
 gnunet (0.9.3-2) unstable; urgency=low
 
   * Clean properly dpkg-statoverride in gnunet-server.postrm
diff -Nru gnunet-0.9.3/debian/control gnunet-0.9.3/debian/control
--- gnunet-0.9.3/debian/control	2012-06-10 10:29:08.0 +0200
+++ gnunet-0.9.3/debian/control	2012-07-13 20:04:35.0 +0200
@@ -10,8 +10,8 @@
  libsqlite3-dev (>=3.0), libpq-dev (>=8.3), guile-1.8-dev, libglpk-dev (>=4.32)
 Build-Conflicts: autoconf2.13, automake1.4
 Standards-Version: 3.9.3
-Vcs-Git: git://git.debian.org/git/users/bbk-guest/gnunet.git
-Vcs-browser: http://git.debian.org/?p=users/bbk-guest/gnunet.git
+Vcs-Git: git://git.debian.org/git/collab-maint/gnunet.git
+Vcs-browser: http://git.debian.org/?p=collab-maint/gnunet.git
 Homepage: http://www.gnunet.org/
 
 Package: gnunet
@@ -75,7 +75,7 @@
 Pre-Depends: ${misc:Pre-Depends}
 Depends:
  ${misc:Depends}, ${shlibs:Depends}, gnunet-common (= ${binary:Version}),
- adduser, gettext, netbase
+ adduser, gettext, netbase, lsb-base
 Suggests: miniupnpc
 Breaks: gnunet-fuse (<<0.9), gnunet-client (<<0.9)
 Replaces: gnunet-fuse (<<0.9), gnunet-client (<<0.9)
diff -Nru gnunet-0.9.3/debian/gnunet-server.init gnunet-0.9.3/debian/gnunet-server.init
--- gnunet-0.9.3/debian/gnunet-server.init	2012-05-02 21:43:40.0 +0200
+++ gnunet-0.9.3/debian/gnunet-server.init	2012-07-13 20:02:50.0 +0200
@@ -1,64 +1,109 @@
-#!/bin/sh
-
+#! /bin/sh
 ### BEGIN INIT INFO
-# Provides:		gnunet-server
-# Required-Start:	$syslog $network $local_fs $remote_fs
-# Required-Stop:	$syslog $network $local_fs $remote_fs
-# Should-Start:
-# Should-Stop:
-# Default-Start:	2 3 4 5
-# Default-Stop:		0 1 6
-# Short-Description:	Starts the GNUnet server at boot time.
-# Description:		GNUnet is a secure, trust-based peer-to-peer framework.
+# Provides:  gnunet-server
+# Required-Start:$remote_fs $syslog $network
+# Required-Stop: $remote_fs $syslog $network
+# Default-Start: 2 3 4 5
+# Default-Stop:  0 1 6
+# Short-Description: Starts the GNUnet server at boot time.
+# Description:   GNUnet is a secure, trust-based peer-to-peer framework.
 ### END INIT INFO
 
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="GNUnet"
+NAME=gnunet-server
 DAEMON=/usr/bin/gnunet-service-arm
-NAME=gnunet-service-arm
-DESC=GNUnet
 LOGFILE=/var/log/gnunetd/gnunetd.log
+DAEMON_ARGS="-c /etc/gnunet.conf -d -l $LOGFILE"
+SCRIPTNAME=/etc/init.d/$NAME
 
-test -x "${DAEMON}" || exit 0
-
-set -e
-
-# Get configuration
-if [ -f /etc/default/gnunet-server ]
-then
-	. /etc/default/gnunet-server
-fi
-
-if [ "${GNUNET_AUTOSTART}" != "true" ]
-then
-	exit 0
-fi
-
-case "${1}" in
-	start)
-		echo -n "Starting ${DESC}: "
-		start-stop-daemon --start --chuid ${GNUNET_USER} \
-			--oknodo --quiet --exec ${DAEMON} -- -c \
-			/etc/gnunet.conf -d -l $LOGFILE
-		echo "${NAME}."
-		;;
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
 
-	stop)
-		echo -n "Stopping ${DESC}: "
-		start-stop-daemon --stop  --retry 15 \
-			--oknodo --quiet --exec ${DAEMON}
-		echo "${NAME}."
-		;;
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
 
-	restart|force-reload)
-		${0} stop
-		sleep 1
-		${0} start
+[ "${GNUNET_AUTOSTART}" != "true" ] && exit 0
+
+# Define LSB log_* functions.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+	# Return
+	#   0 if daemon has been started
+	#   1 if daemon was already running
+	#   2 if daemon could not be started
+	start-stop-daemon --start --quiet

Bug#683073: unblock: gnunet/0.9.3-3

2012-08-01 Thread Julien Cristau
On Wed, Aug  1, 2012 at 22:43:39 +0200, Bertrand Marc wrote:

> You'll find the diff of the last fix (for the grave bug) here:
> http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=74;filename=670578.diff;att=1;bug=670578
> 
It's much easier for us if we don't have to go chase patches in other
places and stuff is all in the mail.

Thanks,
Julien


signature.asc
Description: Digital signature