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 |