rpms/tla/devel tla-1.3.5-alignment-hppa-sparc.patch, NONE, 1.1 tla-1.3.5-neon-327111.patch, NONE, 1.1 tla-1.3.5-segfault-ia64.patch, NONE, 1.1 tla-gpg-check.1, NONE, 1.1 tla-1.3.5-neon.patch, 1.1, 1.2 tla.spec, 1.33, 1.34

Debarshi Ray (rishi) fedora-extras-commits at redhat.com
Thu Dec 13 18:55:07 UTC 2007


Author: rishi

Update of /cvs/pkgs/rpms/tla/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24250

Modified Files:
	tla-1.3.5-neon.patch tla.spec 
Added Files:
	tla-1.3.5-alignment-hppa-sparc.patch 
	tla-1.3.5-neon-327111.patch tla-1.3.5-segfault-ia64.patch 
	tla-gpg-check.1 
Log Message:
Updated to 1.3.5-4 in devel.
 
 Modified Files:
 	tla-1.3.5-neon.patch tla.spec 
 Added Files:
 	tla-1.3.5-alignment-hppa-sparc.patch 
 	tla-1.3.5-neon-327111.patch tla-1.3.5-segfault-ia64.patch 
 	tla-gpg-check.1 


tla-1.3.5-alignment-hppa-sparc.patch:

--- NEW FILE tla-1.3.5-alignment-hppa-sparc.patch ---
diff -urNp tla-1.3.5.orig/src/hackerlab/hash/sha1.c tla-1.3.5/src/hackerlab/hash/sha1.c
--- tla-1.3.5.orig/src/hackerlab/hash/sha1.c	2006-07-20 12:04:36.000000000 +0530
+++ tla-1.3.5/src/hackerlab/hash/sha1.c	2007-12-13 22:41:32.000000000 +0530
@@ -39,11 +39,11 @@ struct sha1_context
 
   t_uint32 total[2];
   t_uint32 buflen;
-  t_uchar buffer[128];
+  t_uchar buffer[128] __attribute__ ((aligned(4)));
 };
 
 static void
-sha1_process_blocks (const void *buffer, size_t len, sha1_context_t ctx);
+sha1_process_blocks (const t_uchar *buffer, size_t len, sha1_context_t ctx);
 
 #if MACHINE_IS_BIGENDIAN
 # define NOTSWAP(n) (n)
@@ -124,7 +124,7 @@ sha1_scan (sha1_context_t ctx, const t_u
 {
   /* When we already have some bits in our internal buffer concatenate
      both inputs first.  */
-  if (ctx->buflen != 0)
+  while (len > 0)
     {
       size_t left_over = ctx->buflen;
       size_t add = 128 - left_over > len ? len : 128 - left_over;
@@ -147,14 +147,17 @@ sha1_scan (sha1_context_t ctx, const t_u
     }
 
   /* Process available complete blocks.  */
+  /*
   if (len >= 64)
     {
       sha1_process_blocks (buffer, len & ~63, ctx);
       buffer = (const t_uchar *) buffer + (len & ~63);
       len &= 63;
     }
+  */
 
   /* Move remaining bytes in internal buffer.  */
+  /*
   if (len > 0)
     {
       size_t left_over = ctx->buflen;
@@ -169,6 +172,7 @@ sha1_scan (sha1_context_t ctx, const t_u
 	}
       ctx->buflen = left_over;
     }
+  */
 }
 
 
@@ -191,6 +195,8 @@ sha1_final (t_uchar *result, sha1_contex
   /* Take yet unprocessed bytes into account.  */
   t_uint32 bytes = ctx->buflen;
   size_t pad;
+  /* Temporary array for solving alignment issues */
+  t_uint32 tmp[5];
 
   /* Now count remaining bytes.  */
   ctx->total[0] += bytes;
@@ -208,11 +214,12 @@ sha1_final (t_uchar *result, sha1_contex
   /* Process last bytes.  */
   sha1_process_blocks (ctx->buffer, bytes + pad + 8, ctx);
 
-  ((t_uint32 *) result)[0] = NOTSWAP (ctx->current_sha1.A);
-  ((t_uint32 *) result)[1] = NOTSWAP (ctx->current_sha1.B);
-  ((t_uint32 *) result)[2] = NOTSWAP (ctx->current_sha1.C);
-  ((t_uint32 *) result)[3] = NOTSWAP (ctx->current_sha1.D);
-  ((t_uint32 *) result)[4] = NOTSWAP (ctx->current_sha1.E);
+  tmp[0] = NOTSWAP (ctx->current_sha1.A);
+  tmp[1] = NOTSWAP (ctx->current_sha1.B);
+  tmp[2] = NOTSWAP (ctx->current_sha1.C);
+  tmp[3] = NOTSWAP (ctx->current_sha1.D);
+  tmp[4] = NOTSWAP (ctx->current_sha1.E);                                     
+  mem_cpy (result, tmp, 20);
   
   sha1_context_reset (ctx);
 }
@@ -329,7 +336,7 @@ sha1_from_ascii (sha1_t * out, t_uchar c
    It is assumed that LEN % 64 == 0.
    Most of this code comes from GnuPG's cipher/sha1.c.  */
 static void
-sha1_process_blocks (const void *buffer, size_t len, sha1_context_t ctx)
+sha1_process_blocks (const t_uchar *buffer, size_t len, sha1_context_t ctx)
 {
   const t_uint32 *words = buffer;
   size_t nwords = len / sizeof (t_uint32);

tla-1.3.5-neon-327111.patch:

--- NEW FILE tla-1.3.5-neon-327111.patch ---
diff -urNp tla-1.3.5.orig/src/tla/libarch/pfs-dav.c tla-1.3.5/src/tla/libarch/pfs-dav.c
--- tla-1.3.5.orig/src/tla/libarch/pfs-dav.c	2007-12-13 22:51:47.000000000 +0530
+++ tla-1.3.5/src/tla/libarch/pfs-dav.c	2007-12-13 22:54:36.000000000 +0530
@@ -128,7 +128,7 @@ static t_uchar * abs_path (const t_uchar
                            const t_uchar * path);
 static t_uchar * dirfold (t_uchar *dir);
 static void results (void * userdata,
-                     const char * uri,
+                     const ne_uri * uri,
                      const ne_prop_result_set * set);
 
 
@@ -988,22 +988,23 @@ dirfold (t_uchar *dir)
 
 static void
 results (void * userdata,
-         const char * uri,
+         const ne_uri * uri,
          const ne_prop_result_set * set)
 {
   int n;
-  char * file, * tmp;
+  char * file, * href, * tmp;
   struct ls_data * data = userdata;
 
-  if (str_cmp (data->uri, uri))
+  href = ne_uri_unparse (uri);
+  if (str_cmp (data->uri, href))
     {
-      if (1 == (n = str_length (uri)))
+      if (1 == (n = str_length (href)))
         return;
 
-      if (uri[n - 1] == '/')
+      if (href[n - 1] == '/')
         n--;
 
-      file = str_chr_rindex_n (uri, n, '/') + 1;
+      file = str_chr_rindex_n (href, n, '/') + 1;
 
       n = str_length (file);
       if (file[n - 1] == '/')
@@ -1015,6 +1016,7 @@ results (void * userdata,
 
       data->files = str_realloc_cat_many (0, data->files, tmp, "\r\n", str_end);
       free (tmp);
+      free (href);
     }
 }
 

tla-1.3.5-segfault-ia64.patch:

--- NEW FILE tla-1.3.5-segfault-ia64.patch ---
diff -urNp tla-1.3.5.orig/src/tla/libarch/invent.c tla-1.3.5/src/tla/libarch/invent.c
--- tla-1.3.5.orig/src/tla/libarch/invent.c	2006-07-20 12:04:40.000000000 +0530
+++ tla-1.3.5/src/tla/libarch/invent.c	2007-12-13 23:18:49.000000000 +0530
@@ -16,6 +16,7 @@
 #include "hackerlab/arrays/ar.h"
 #include "hackerlab/fs/file-names.h"
 #include "hackerlab/vu/safe.h"
+#include "tla/libarch/cmdutils.h"
 #include "tla/libarch/inode-sig.h"
 #include "tla/libarch/inv-ids.h"
 #include "tla/libarch/invent.h"


--- NEW FILE tla-gpg-check.1 ---
.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH TLA-GPG-CHECK "1" "2006-07-25" GNU
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
tla-gpg-check \- GNU Arch revision signature checker
.SH SYNOPSIS
.B tla-gpg-check
gpg_command="\fIgpg_command\fR"
.SH DESCRIPTION
Checks whether a revision is correctly signed. This is indended to be
used in tla's signing hooks. It calls \fIgpg_command\fR on the
standard input and makes sure only one signed message is given.
.PP
Here is how to setup a simple automatic tla signature check:
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
.\" respectively.
.nf
mkdir -p -m 700 ~/.arch-params/signing/
echo 'tla-gpg-check gpg_command="gpg --verify-files -"' \\
  > ~/.arch-params/signing/=default.check
echo 'gpg --clearsign --use-agent' > ~/.arch-params/signing/=default
.fi
.SH SEE ALSO
.BR tla (1)
.br
http://www.gnuarch.org/gnuarchwiki/ArchiveSigning
.SH AUTHOR
tla-gpg-check was written by Tom Lord.
.PP
This manual page was written by Sylvain Beucler <beuc at beuc.net>,
for the Debian project (but may be used by others).

tla-1.3.5-neon.patch:

Index: tla-1.3.5-neon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/tla/devel/tla-1.3.5-neon.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- tla-1.3.5-neon.patch	17 Nov 2007 18:07:00 -0000	1.1
+++ tla-1.3.5-neon.patch	13 Dec 2007 18:55:03 -0000	1.2
@@ -1,6 +1,6 @@
 diff -urNp tla-1.3.5.orig/src/tla/libarch/pfs-dav.c tla-1.3.5/src/tla/libarch/pfs-dav.c
 --- tla-1.3.5.orig/src/tla/libarch/pfs-dav.c	2006-07-20 12:04:40.000000000 +0530
-+++ tla-1.3.5/src/tla/libarch/pfs-dav.c	2007-11-10 17:31:15.000000000 +0530
++++ tla-1.3.5/src/tla/libarch/pfs-dav.c	2007-12-13 22:51:47.000000000 +0530
 @@ -21,14 +21,14 @@
  #include "tla/libfsutils/file-contents.h"
  #include "tla/libarch/archives.h"
@@ -24,15 +24,99 @@
  
  
  
+@@ -856,6 +856,74 @@ dav_client_auth (void * userdata,
+   return 0;
+ }
+ 
++/* neon24 path escape */
++/* RFC2396 spake:
++ * "Data must be escaped if it does not have a representation
++ * using an unreserved character".
++ */
++
++/* Lookup table: character classes from 2396. (This is overkill) */
++
++#define SP 0   /* space    = <US-ASCII coded character 20 hexadecimal> */
++#define CO 0   /* control  = <US-ASCII coded characters 00-1F and 7F hexadecimal>  */
++#define DE 0   /* delims   = "<" | ">" | "#" | "%" | <">       */
++#define UW 0   /* unwise   = "{" | "}" | "|" | "\" | "^" | "[" | "]" | "`"       */
++#define MA 1   /* mark     = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"   */
++#define AN 2   /* alphanum = alpha | digit                                        */
++#define RE 2   /* reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," */
++
++static const char uri_chars[128] = {
++/*                +2      +4      +6      +8     +10     +12     +14     */
++/*   0 */ CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO,
++/*  16 */ CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO, CO,
++/*  32 */ SP, MA, DE, DE, RE, DE, RE, MA, MA, MA, MA, RE, RE, MA, MA, RE,
++/*  48 */ AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, RE, RE, DE, RE, DE, RE,
++/*  64 */ RE, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN,
++/*  80 */ AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, UW, UW, UW, UW, MA,
++/*  96 */ UW, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN,
++/* 112 */ AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, AN, UW, UW, UW, MA, CO
++};
++
++#define ESCAPE(ch) (((const signed char)(ch) < 0 || \
++               uri_chars[(unsigned int)(ch)] == 0))
++
++#undef SP
++#undef CO
++#undef DE
++#undef UW
++#undef MA
++#undef AN
++#undef RE
++
++static char *ne24_path_escape(const char *abs_path)
++{
++    const char *pnt;
++    char *ret, *retpos;
++    int count = 0;
++    for (pnt = abs_path; *pnt != '\0'; pnt++) {
++       if (ESCAPE(*pnt)) {
++           count++;
++       }
++    }
++    if (count == 0) {
++       return strdup(abs_path);
++    }
++    /* An escaped character is "%xx", i.e., two MORE
++     * characters than the original string */
++    retpos = ret = malloc(strlen(abs_path) + 2*count + 1);
++    for (pnt = abs_path; *pnt != '\0'; pnt++) {
++       if (ESCAPE(*pnt)) {
++           /* Escape it - %<hex><hex> */
++           sprintf(retpos, "%%%02x", (unsigned char) *pnt);
++           retpos += 3;
++       } else {
++           /* It's cool */
++           *retpos++ = *pnt;
++       }
++    }
++    *retpos = '\0';
++    return ret;
++}
+ 
+ static t_uchar *
+ abs_path (const t_uchar * cwd,
+@@ -874,7 +942,7 @@ abs_path (const t_uchar * cwd,
+ 
+   dirfold (file);
+ 
+-  tmp = ne_path_escape (file);
++  tmp = ne24_path_escape (file);
+   lim_free (0, file);
+   file = str_save (0, tmp);
+   free (tmp);
 diff -urNp tla-1.3.5.orig/src/tla/PLUGIN/REQ tla-1.3.5/src/tla/PLUGIN/REQ
 --- tla-1.3.5.orig/src/tla/PLUGIN/REQ	2006-07-20 12:04:40.000000000 +0530
-+++ tla-1.3.5/src/tla/PLUGIN/REQ	2007-11-10 17:32:39.000000000 +0530
++++ tla-1.3.5/src/tla/PLUGIN/REQ	2007-12-13 22:51:41.000000000 +0530
 @@ -1,2 +1 @@
  hackerlab	tla
 -libneon		tla
 diff -urNp tla-1.3.5.orig/src/tla/tla/Makefile.in tla-1.3.5/src/tla/tla/Makefile.in
 --- tla-1.3.5.orig/src/tla/tla/Makefile.in	2006-07-20 12:04:40.000000000 +0530
-+++ tla-1.3.5/src/tla/tla/Makefile.in	2007-11-10 17:34:17.000000000 +0530
++++ tla-1.3.5/src/tla/tla/Makefile.in	2007-12-13 22:51:41.000000000 +0530
 @@ -3,7 +3,7 @@ libs			:=	../libarch/libarch.a \
  				../libawk/libawk.a \
  				../libdate/libdate.a \


Index: tla.spec
===================================================================
RCS file: /cvs/pkgs/rpms/tla/devel/tla.spec,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- tla.spec	17 Nov 2007 18:07:00 -0000	1.33
+++ tla.spec	13 Dec 2007 18:55:03 -0000	1.34
@@ -1,16 +1,20 @@
 Summary:	A version control system
 Name:		tla
 Version:	1.3.5
-Release:	2%{?dist}
+Release:	4%{?dist}
 License:	GPLv2+
 Group:		Development/Tools
 URL:		http://www.gnu.org/software/gnu-arch/
 Source0:	ftp://ftp.gnu.org/gnu/gnu-arch/%{name}-%{version}.tar.gz
 Source1:	%{name}-generate-manpage.pl
+Source2:	%{name}-gpg-check.1
 
-Patch0:		%{name}-%{version}-neon.patch
-Patch1:		%{name}-%{version}-posix.patch
-Patch2:		%{name}-%{version}-remove-invariant.patch
+Patch0:		%{name}-%{version}-alignment-hppa-sparc.patch
+Patch1:		%{name}-%{version}-neon.patch
+Patch2:		%{name}-%{version}-neon-327111.patch
+Patch3:		%{name}-%{version}-posix.patch
+Patch4:		%{name}-%{version}-remove-invariant.patch
+Patch5:		%{name}-%{version}-segfault-ia64.patch
 
 BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 
@@ -33,7 +37,15 @@
 %setup -q
 %patch0 -p1
 %patch1 -p1
+
+%if 0%{?fc7}
+%else
 %patch2 -p1
+%endif
+
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 # Build against neon-devel.
 rm -rf ./src/libneon
@@ -84,6 +96,7 @@
 
 # man page
 install -p -m644 ./debian/tmp/%{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1
+install -p -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -97,14 +110,24 @@
 %{_bindir}/%{name}
 %{_bindir}/remove-links
 %{_mandir}/man1/%{name}.1.gz
+%{_mandir}/man1/%{name}-gpg-check.1.gz
 
 %changelog
+* Wed Dec 12 2007 Debarshi Ray <rishi at fedoraproject.org> - 1.3.5-4
+- Added online manual page, and patches to fix alignment errors on HP-PA and
+  SPARC and segmentation fault on IA-64 from Debian.
+- Fixed sources to work with neon >= 0.27.2 for all distributions, except
+  Fedora 7. Closes Red Hat Bugzilla bug #327111.
+
+* Sun Nov 18 2007 Debarshi Ray <rishi at fedoraproject.org> - 1.3.5-3
+- Resolved CVS merge conflicts for Fedora 7.
+
 * Fri Nov 16 2007 Debarshi Ray <rishi at fedoraproject.org> - 1.3.5-2
 - Changed value of License to GPLv2+.
 
 * Sat Nov 10 2007 Debarshi Ray <rishi at fedoraproject.org> - 1.3.5-1
 - Initial build. Imported SPEC from Rawhide.
-- Added online manual page generator and patches to build against neon-devel
+- Added online manual page generator and patch to build against neon-devel
   from Debian.
 - Added patch to test-dir-regexps.sh from SuSE.
 - Removed call to invariant to prevent failure on ppc. Closes Red Hat Bugzilla




More information about the fedora-extras-commits mailing list