Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Sep 2003 15:31:53 +0200
From:      Stijn Hoop <stijn@win.tue.nl>
To:        Jasminko Mulahusic <jasko@fakat.com>
Cc:        ports@freebsd.org
Subject:   Re: dctc-0.84.1
Message-ID:  <20030917133153.GF10778@pcwin002.win.tue.nl>
In-Reply-To: <3F684D95.7080403@fakat.com>
References:  <3F684D95.7080403@fakat.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--jq0ap7NbKX2Kqbes
Content-Type: multipart/mixed; boundary="tKW2IUtsqtDRztdT"
Content-Disposition: inline


--tKW2IUtsqtDRztdT
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 17, 2003 at 02:03:33PM +0200, Jasminko Mulahusic wrote:
> why don't you upgrade the dctc port, as current one 0.84.1 is not working?

Because someone needs to do some work to get it to run?

Attached are mostly untested patches to update it to 0.85.5, but I've since
become convinced that there are no usable GUIs out there for dctc, so I've
lost interest (can _anyone_ point me to a text ui for dctc that works?!)

I haven't submitted these because a) pkg-plist is likely broken and b) I
haven't really been able to test functionality. Maybe you can correct
the patches and send the update to the FreeBSD bug system?

--Stijn

--=20
"Linux has many different distributions, meaning that you can probably find
one that is exactly what you want (I even found one that looked like a Unix
system)."
		-- Mike Meyer, from a posting at questions@freebsd.org

--tKW2IUtsqtDRztdT
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="dctc-0.85.5.patch"
Content-Transfer-Encoding: quoted-printable

diff -urN --exclude=3DCVS /usr/ports/net/dctc/Makefile dctc/Makefile
--- /usr/ports/net/dctc/Makefile	Tue Aug 19 10:08:14 2003
+++ dctc/Makefile	Sat Sep 13 02:24:57 2003
@@ -6,9 +6,10 @@
 #
=20
 PORTNAME=3D	dctc
-PORTVERSION=3D	0.84.1
+PORTVERSION=3D	0.85.5
 CATEGORIES=3D	net
-MASTER_SITES=3D	http://unixpages.org/distfiles/ \
+MASTER_SITES=3D	http://brainz.servebeer.com/dctc/ \
+		http://unixpages.org/distfiles/ \
 		http://ac2i.tzo.com/dctc/
 DISTNAME=3D	${PORTNAME}-${PORTVERSION}
=20
@@ -30,14 +31,15 @@
 CONFIGURE_ARGS=3D	--enable-manual-db-detect --with-db=3D${LOCALBASE}
 MANCOMPRESSED=3D	no
=20
-MAN1=3D	dctc.1
+MAN1=3D	dctc.1 dctc_cmd.1 dctc_gdl123.1
=20
-DCTC_BINS=3D	dctc dctc_cmd
+DCTC_BINS=3D	dctc dctc_cmd dctc_master dctc_gdl123
 DOC_DIRS=3D	Documentation Documentation/DCextensions
 DOC_FILES=3D	COPYING ChangeLog INSTALL README \
 		KNOWN_BUGS TODO \
 		Documentation/BerkeleyDB \
 		Documentation/BerkeleyDB.nl \
+		Documentation/DCextensions/ed2k_crc \
 		Documentation/DCextensions/p2p_capabilities \
 		Documentation/DCextensions/p2p_capabilities.nl \
 		Documentation/DCextensions/search_by_content \
@@ -54,7 +56,8 @@
 		Documentation/programs.nl \
 		Documentation/programs.pl \
 		Documentation/output.nl \
-		Documentation/output Documentation/programs
+		Documentation/output Documentation/programs \
+		Documentation/core_0.85.4
=20
 .include <bsd.port.pre.mk>
=20
@@ -103,7 +106,10 @@
 	@${MKDIR} ${PREFIX}/share/${PORTNAME}
 	@${INSTALL_SCRIPT} ${WRKSRC}/GDLjoiner \
 		${PREFIX}/share/${PORTNAME}
-	@${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${MANPREFIX}/man/man1
+.for file in ${MAN1}
+	@${INSTALL_MAN} ${WRKSRC}/${file} ${MANPREFIX}/man/man1
+.endfor
+	@${INSTALL_MAN} ${WRKSRC}/hublist.1 ${MANPREFIX}/man/man1/dc_hublist.1
 	@${INSTALL_PROGRAM} ${WRKSRC}/src/hublist ${PREFIX}/bin/dc_hublist
 .for file in ${DCTC_BINS}
 	@${INSTALL_PROGRAM} ${WRKSRC}/src/${file} ${PREFIX}/bin
diff -urN --exclude=3DCVS /usr/ports/net/dctc/distinfo dctc/distinfo
--- /usr/ports/net/dctc/distinfo	Tue Feb  4 16:23:17 2003
+++ dctc/distinfo	Sat Sep 13 01:29:41 2003
@@ -1 +1 @@
-MD5 (dctc-0.84.1.tar.gz) =3D 94bd260453605081d048f733ed089e21
+MD5 (dctc-0.85.5.tar.gz) =3D 8d2823e1054b3bf432ac740a5484b452
diff -urN --exclude=3DCVS /usr/ports/net/dctc/files/patch-src::dc_manage.c =
dctc/files/patch-src::dc_manage.c
--- /usr/ports/net/dctc/files/patch-src::dc_manage.c	Sun Aug  4 20:03:54 20=
02
+++ dctc/files/patch-src::dc_manage.c	Sat Sep 13 02:08:01 2003
@@ -1,6 +1,6 @@
---- src/dc_manage.c.orig	Mon Jul 22 13:20:19 2002
-+++ src/dc_manage.c	Mon Jul 22 18:18:40 2002
-@@ -554,18 +554,6 @@
+--- src/dc_manage.c.orig	Sat Sep 13 02:07:14 2003
++++ src/dc_manage.c	Sat Sep 13 02:07:46 2003
+@@ -587,18 +587,6 @@
 =20
  	unconvert_path(fullpathname);
 =20
@@ -19,7 +19,7 @@
  	if(hide_absolute=3D=3D0)
  	{
  		if(((unsigned char)fullpathname[0])=3D=3D255)
-@@ -580,6 +568,18 @@
+@@ -613,6 +601,18 @@
  		fullpathname[0]=3D'/';
  	}
 =20
@@ -38,7 +38,7 @@
  	/* it is time to verify if a slot is available */
  	LOCK_WRITE(user_info);
  	if((dl_on=3D=3D0)||(virtual!=3D0))
-@@ -743,18 +743,6 @@
+@@ -776,18 +776,6 @@
 =20
  	unconvert_path(fullpathname);
 =20
@@ -57,7 +57,7 @@
  	if(hide_absolute=3D=3D0)
  	{
  		if(((unsigned char)fullpathname[0])=3D=3D255)
-@@ -769,6 +757,17 @@
+@@ -802,6 +790,17 @@
  		fullpathname[0]=3D'/';
  	}
 =20
diff -urN --exclude=3DCVS /usr/ports/net/dctc/files/patch-src::main.c dctc/=
files/patch-src::main.c
--- /usr/ports/net/dctc/files/patch-src::main.c	Sat Oct  5 19:20:14 2002
+++ dctc/files/patch-src::main.c	Sat Sep 13 02:09:04 2003
@@ -1,6 +1,6 @@
---- src/main.c.orig	Sun Sep 29 14:07:48 2002
-+++ src/main.c	Sun Sep 29 14:08:52 2002
-@@ -1269,6 +1269,7 @@
+--- src/main.c.orig	Sat Sep 13 02:08:20 2003
++++ src/main.c	Sat Sep 13 02:08:50 2003
+@@ -1238,6 +1238,7 @@
 =20
  	char *virtual_share_path=3DNULL;
 =20
diff -urN --exclude=3DCVS /usr/ports/net/dctc/files/patch-src::mydb.c dctc/=
files/patch-src::mydb.c
--- /usr/ports/net/dctc/files/patch-src::mydb.c	Sun Aug  4 20:03:54 2002
+++ dctc/files/patch-src::mydb.c	Sat Sep 13 02:10:43 2003
@@ -1,6 +1,6 @@
---- src/mydb.c.orig	Mon Jul 22 13:48:07 2002
-+++ src/mydb.c	Mon Jul 22 19:21:42 2002
-@@ -1141,6 +1141,16 @@
+--- src/mydb.c.orig	Sat Sep 13 02:09:24 2003
++++ src/mydb.c	Sat Sep 13 02:10:20 2003
+@@ -1109,6 +1109,16 @@
  int file_in_db(char *filename, int *virtual)
  {
  	int i;
@@ -13,11 +13,11 @@
 +		else
 +			filename_internal=3Dfilename+1;
 +	} else
-+			filename_internal=3Dfilename;
++		filename_internal=3Dfilename;
 =20
  	G_LOCK(shared_info);
  	if(shared_info!=3DNULL)
-@@ -1151,7 +1161,7 @@
+@@ -1119,7 +1129,7 @@
 =20
  			/* DB_ENTRY to compare */
  			de=3D&(g_array_index(shared_info,DB_ENTRY,i));
diff -urN --exclude=3DCVS /usr/ports/net/dctc/files/patch-src::sema.c dctc/=
files/patch-src::sema.c
--- /usr/ports/net/dctc/files/patch-src::sema.c	Sun Aug  4 20:03:54 2002
+++ dctc/files/patch-src::sema.c	Sat Sep 13 02:21:58 2003
@@ -1,6 +1,6 @@
---- src/sema.c.orig	Sun Jul 21 21:13:59 2002
-+++ src/sema.c	Mon Jul 22 19:30:15 2002
-@@ -22,6 +22,10 @@
+--- src/sema.c.orig	Thu Aug 21 19:03:36 2003
++++ src/sema.c	Sat Sep 13 02:19:44 2003
+@@ -25,6 +25,10 @@
  #  include <config.h>
  #endif
 =20
@@ -11,19 +11,19 @@
  #include <stdio.h>
  #include <stdlib.h>
  #include <unistd.h>
-@@ -57,6 +61,11 @@
- #include "uaddr.h"
- #include "status.h"
+@@ -65,6 +69,11 @@
+ #include "network.h"
+ #include "gdl.h"
 =20
 +/* interval between busy wait tries measured in microseconds */
 +#define MUTEX_BUSY_WAIT_TIME	5000
 +
-+pthread_mutex_t		*semaphore_mutex =3D PTHREAD_MUTEX_INITIALIZER;
++pthread_mutex_t			*semaphore_mutex =3D PTHREAD_MUTEX_INITIALIZER;
 +
  /***********************************************************************/
  /* the following functions manage the bandwidth upload limit           */
  /* The system is build on 2 semaphores and 1 file                      */
-@@ -100,6 +109,8 @@
+@@ -108,6 +117,8 @@
 =20
  	int semid;
 =20
@@ -32,7 +32,7 @@
  	fd=3Dopen(keyfile,O_CREAT|O_WRONLY|O_EXCL,0600);		/* create the file if =
not exists */
  	if(fd=3D=3D-1)
  	{
-@@ -131,7 +142,11 @@
+@@ -139,7 +150,11 @@
  			{
  				close(fd);
  				/* a key exist */
@@ -44,29 +44,29 @@
  				if(semid=3D=3D-1)
  					goto create_new_sema;
  				printf("current sema found.\n");
-@@ -293,8 +308,13 @@
+@@ -285,8 +300,13 @@
  void check_sema_master(int semid)
  {
  	struct sembuf sb=3D{0,-1,IPC_NOWAIT|SEM_UNDO};			/* master sema */
 +	int result;
-+
+=20
+-	if(semop(semid,&sb,1)=3D=3D0)
 +	(void) lp_mutex_lock_(semaphore_mutex);
 +	result =3D semop(semid,&sb,1);
 +	(void) lp_mutex_unlock_(semaphore_mutex);
-=20
--	if(semop(semid,&sb,1)=3D=3D0)
-+	if (result=3D=3D0)
++
++	if(result=3D=3D0)
  	{
- 		/* to get slice, the function checks if the clock thread still runs */
- 		create_sema_master(semid);
-@@ -308,15 +328,29 @@
+ 		/* we have successfully obtain the semaphore */
+ 		/* 1) release it */
+@@ -448,15 +468,29 @@
  /*******************************************/
  void get_slice(int semid, SPD_SEMA semnum)
  {
 +#if !(defined(BSD) && (BSD >=3D 199103))
-+	struct sembuf local=3D{0,-1,0};					/* slave sema */
++	struct sembuf local=3D{0,-1,0};			/* slave sema */
 +#else
-+	struct sembuf local=3D{0,-1,0|IPC_NOWAIT};			/* slave sema */
++	struct sembuf local=3D{0,-1,0|IPC_NOWAIT};	/* slave sema */
 +#endif
 +	local.sem_num=3Dsemnum;
 +
@@ -81,78 +81,18 @@
 -			/* we have what we want */
 -			return;
 +		switch (semop(semid,&local,1)) {
-+			case 0:	(void) lp_mutex_unlock_(semaphore_mutex);
-+						/* we have what we want */
-+						return;
-+						break;
-+			case -1:	switch(errno) {
-+						case EAGAIN:			/* triggers busy wait */
-+						case EINTR:			/* interrupted by system call, try again */
-+									pthread_yield();
-+									usleep(MUTEX_BUSY_WAIT_TIME);	/* busy wait with a small time out=
 */
-+									continue;
-+									break;
-+					}
- 		}
- 	}
- }
-@@ -368,9 +402,26 @@
- /******************************/
- void lock_ul_slot_controler(int semid)
- {
-+#if !(defined(BSD) && (BSD >=3D 199103))
- 	struct sembuf get_ul_ctrl=3D{UL_SLOT_SEMA,-1,SEM_UNDO};
-+#else
-+	struct sembuf get_ul_ctrl=3D{UL_SLOT_SEMA,-1,SEM_UNDO|IPC_NOWAIT};
-+#endif
-+
-+	(void) lp_mutex_lock_(semaphore_mutex);
-+repeat:
- 	/* lock the UL slot controler */
--	semop(semid,&get_ul_ctrl,1);
-+	if (semop(semid,&get_ul_ctrl,1)=3D=3D-1)
-+		switch(errno)
-+		{
-+			case EAGAIN:			/* triggers busy wait */
-+			case EINTR:			/* interrupted by system call, try again */
-+						pthread_yield();
-+						usleep(MUTEX_BUSY_WAIT_TIME);		/* busy wait with a small time out */
-+						goto repeat;
-+						break;
-+		}
-+	(void) lp_mutex_unlock_(semaphore_mutex);
- }
-=20
- /*********************************/
-@@ -526,11 +577,28 @@
- 			perror("free_one_ul_slot");
- 		}
- #else
-+#  if !(defined(BSD) && (BSD >=3D 199103))
- 		struct sembuf free_one_ul_slot_op=3D{UL_SLOT_BUSY_SEMA,-1,SEM_UNDO};
--		if(semop(semid,&free_one_ul_slot_op,1)=3D=3D-1)
--		{
--			perror("free_one_ul_slot");
-+#  else
-+		struct sembuf free_one_ul_slot_op=3D{UL_SLOT_BUSY_SEMA,-1,SEM_UNDO|IPC_=
NOWAIT};
-+#  endif
-+
-+		(void) lp_mutex_lock_(semaphore_mutex);
-+repeat:
-+		if(semop(semid,&free_one_ul_slot_op,1)=3D=3D-1) {
-+			switch(errno) {
-+				case EAGAIN:			/* triggers busy wait */
-+				case EINTR:			/* interrupted by system call, try again */
++			case 0: (void) lp_mutex_unlock_(semaphore_mutex);
++				/* we have what we want */
++				return;
++			case -1: switch(errno) {
++				case EAGAIN:		/* triggers busy wait */
++				case EINTR:		/* interrupted by
++							   syscall, try again */
 +					pthread_yield();
-+					usleep(MUTEX_BUSY_WAIT_TIME);          /* busy wait with a small tim=
e out */
-+					goto repeat;
-+					break;
-+				default:
-+					perror("free_one_ul_slot");
++					usleep(MUTEX_BUSY_WAIT_TIME);
++					continue;
 +					break;
 +			}
  		}
-+		(void) lp_mutex_unlock_(semaphore_mutex);
- #endif
- 		nb_local_ul--;
  	}
+ }
diff -urN --exclude=3DCVS /usr/ports/net/dctc/files/patch-src::sema_master.=
c dctc/files/patch-src::sema_master.c
--- /usr/ports/net/dctc/files/patch-src::sema_master.c	Thu Jan  1 01:00:00 =
1970
+++ dctc/files/patch-src::sema_master.c	Sat Sep 13 01:54:40 2003
@@ -0,0 +1,18 @@
+--- src/sema_master.c.orig	Sat Sep 13 01:54:10 2003
++++ src/sema_master.c	Sat Sep 13 01:54:22 2003
+@@ -44,6 +44,7 @@
+        #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
+        /* union semun is defined by including <sys/sem.h> */
+        #else
++#ifndef __FreeBSD__
+        /* according to X/OPEN we have to define it ourselves */
+        union semun {
+                int val;                    /* value for SETVAL */
+@@ -51,6 +52,7 @@
+                unsigned short int *array;  /* array for GETALL, SETALL */
+                struct seminfo *__buf;      /* buffer for IPC_INFO */
+        };
++#endif
+        #endif
+ #endif
+=20
diff -urN --exclude=3DCVS /usr/ports/net/dctc/files/patch-src::userinfo.c d=
ctc/files/patch-src::userinfo.c
--- /usr/ports/net/dctc/files/patch-src::userinfo.c	Thu Jan  1 01:00:00 1970
+++ dctc/files/patch-src::userinfo.c	Sat Sep 13 01:49:08 2003
@@ -0,0 +1,10 @@
+--- src/userinfo.c.orig	Sat Sep 13 01:48:17 2003
++++ src/userinfo.c	Sat Sep 13 01:48:31 2003
+@@ -28,6 +28,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <glib.h>
+=20
+ #include "userinfo.h"
diff -urN --exclude=3DCVS /usr/ports/net/dctc/pkg-plist dctc/pkg-plist
--- /usr/ports/net/dctc/pkg-plist	Mon Nov 18 01:29:18 2002
+++ dctc/pkg-plist	Sat Sep 13 02:24:00 2003
@@ -1,11 +1,14 @@
 bin/dc_hublist
 bin/dctc
 bin/dctc_cmd
+bin/dctc_gdl123
+bin/dctc_master
 share/dctc/GDLjoiner
 %%PORTDOCS%%share/doc/dctc/COPYING
 %%PORTDOCS%%share/doc/dctc/ChangeLog
 %%PORTDOCS%%share/doc/dctc/Documentation/BerkeleyDB
 %%PORTDOCS%%share/doc/dctc/Documentation/BerkeleyDB.nl
+%%PORTDOCS%%share/doc/dctc/Documentation/DCextensions/ed2k_crc
 %%PORTDOCS%%share/doc/dctc/Documentation/DCextensions/p2p_capabilities
 %%PORTDOCS%%share/doc/dctc/Documentation/DCextensions/p2p_capabilities.nl
 %%PORTDOCS%%share/doc/dctc/Documentation/DCextensions/search_by_content
@@ -22,6 +25,7 @@
 %%PORTDOCS%%share/doc/dctc/Documentation/Vshare.nl
 %%PORTDOCS%%share/doc/dctc/Documentation/commands
 %%PORTDOCS%%share/doc/dctc/Documentation/commands.nl
+%%PORTDOCS%%share/doc/dctc/Documentation/core_0.85.4
 %%PORTDOCS%%share/doc/dctc/Documentation/output
 %%PORTDOCS%%share/doc/dctc/Documentation/output.nl
 %%PORTDOCS%%share/doc/dctc/Documentation/programs

--tKW2IUtsqtDRztdT--

--jq0ap7NbKX2Kqbes
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (FreeBSD)

iD8DBQE/aGJJY3r/tLQmfWcRAiDOAJ9vhAKwhE5b9Q6kfsOHWbxS6RmOygCfb+Bc
fYMjv97YM2MsZ8aXnzqlkNk=
=59s7
-----END PGP SIGNATURE-----

--jq0ap7NbKX2Kqbes--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030917133153.GF10778>