bin/rpi
branchrsync
changeset 6 b25f163eaecc
parent 4 c17d14b6ff1f
child 14 efac4db3fa3f
equal deleted inserted replaced
5:8808e0ec543a 6:b25f163eaecc
    19 stdout and its stderr. Everything matching C<$important> patterns will be sent
    19 stdout and its stderr. Everything matching C<$important> patterns will be sent
    20 to either the signer of the changes file, the changer (from the B<Changed-By>
    20 to either the signer of the changes file, the changer (from the B<Changed-By>
    21 field if present) or the maintainer (from the B<Maintainer> field). Depending
    21 field if present) or the maintainer (from the B<Maintainer> field). Depending
    22 on the type of message suggestions for problem resolution may be added. To
    22 on the type of message suggestions for problem resolution may be added. To
    23 enable us to determine which message relates to which .changes file we need a
    23 enable us to determine which message relates to which .changes file we need a
    24 patched B<reprepro>:
    24 patched B<reprepro>: L<https://keller.schlittermann.de/hg/ius/diffs/raw-file/8d32753c0599/reprepro/3.5.2/changes-file-process-messages.patch>.
    25 
    25 
    26   --- incoming.c.orig	2009-06-11 10:48:27.000000000 +0200
       
    27   +++ reprepro-3.5.2/incoming.c	2009-06-11 14:29:28.000000000 +0200
       
    28   @@ -1854,6 +1854,8 @@
       
    29 	  for( j = 0 ; j < i->files.count ; j ++ ) {
       
    30 		  const char *basename = i->files.values[j];
       
    31 		  size_t l = strlen(basename);
       
    32   +		char *fullfilename;
       
    33   +
       
    34    #define C_SUFFIX ".changes"
       
    35    #define C_LEN strlen(C_SUFFIX)
       
    36 		  if( l <= C_LEN || strcmp(basename+(l-C_LEN),C_SUFFIX) != 0 )
       
    37   @@ -1861,7 +1863,16 @@
       
    38 		  if( changesfilename != NULL && strcmp(basename, changesfilename) != 0 )
       
    39 			  continue;
       
    40 		  /* a .changes file, check it */
       
    41   +		fullfilename = calc_dirconcat(i->directory, i->files.values[j]);
       
    42   +		if( fullfilename == NULL ) {
       
    43   +			result = RET_ERROR_OOM;
       
    44   +			continue;
       
    45   +		}
       
    46   +		printf("processing changesfile '%s'\n", fullfilename);
       
    47   +		fprintf(stderr, "processing changesfile '%s'\n", fullfilename);
       
    48 		  r = process_changes(database, dereferenced, i, j);
       
    49   +		printf("changesfile '%s' done\n", fullfilename);
       
    50   +		fprintf(stderr, "changesfile '%s' done\n", fullfilename);
       
    51 		  RET_UPDATE(result, r);
       
    52 	  }
       
    53  
       
    54 To avoid possibly bothering random people we can limit possible recipients with
    26 To avoid possibly bothering random people we can limit possible recipients with
    55 a regular expression in C<$valid_receivers>. Any output matching the
    27 a regular expression in C<$valid_receivers>. Any output matching the
    56 C<$unimportant> regular expression will not be sent to anyone. If we cant
    28 C<$unimportant> regular expression will not be sent to anyone. If we cant
    57 determine anyone to send the notification to we will try to send it to the
    29 determine anyone to send the notification to we will try to send it to the
    58 C<$fallback> address. Anything matching none of the defined patterns will be
    30 C<$fallback> address. Anything matching none of the defined patterns will be