<86>Dec  2 00:05:18 userdel[1779928]: delete user 'rooter'
<86>Dec  2 00:05:18 userdel[1779928]: removed group 'rooter' owned by 'rooter'
<86>Dec  2 00:05:18 userdel[1779928]: removed shadow group 'rooter' owned by 'rooter'
<86>Dec  2 00:05:18 groupadd[1779941]: group added to /etc/group: name=rooter, GID=927
<86>Dec  2 00:05:18 groupadd[1779941]: group added to /etc/gshadow: name=rooter
<86>Dec  2 00:05:18 groupadd[1779941]: new group: name=rooter, GID=927
<86>Dec  2 00:05:18 useradd[1779951]: new user: name=rooter, UID=927, GID=927, home=/root, shell=/bin/bash
<86>Dec  2 00:05:18 userdel[1779966]: delete user 'builder'
<86>Dec  2 00:05:18 userdel[1779966]: removed group 'builder' owned by 'builder'
<86>Dec  2 00:05:18 userdel[1779966]: removed shadow group 'builder' owned by 'builder'
<86>Dec  2 00:05:18 groupadd[1779975]: group added to /etc/group: name=builder, GID=928
<86>Dec  2 00:05:18 groupadd[1779975]: group added to /etc/gshadow: name=builder
<86>Dec  2 00:05:18 groupadd[1779975]: new group: name=builder, GID=928
<86>Dec  2 00:05:18 useradd[1779983]: new user: name=builder, UID=928, GID=928, home=/usr/src, shell=/bin/bash
/usr/src/in/srpm/recoverdm-0.19-alt0.1.src.rpm: The use of such a license name is ambiguous: GPL
warning: user lav does not exist - using root
warning: user lav does not exist - using root
Building target platforms: x86_64
Building for target x86_64
Wrote: /usr/src/in/nosrpm/recoverdm-0.19-alt0.1.nosrc.rpm (w1.gzdio)
Installing recoverdm-0.19-alt0.1.src.rpm
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.88603
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf recoverdm-0.19
+ echo 'Source #0 (recoverdm-0.19.tar.bz2):'
Source #0 (recoverdm-0.19.tar.bz2):
+ /bin/bzip2 -dc /usr/src/RPM/SOURCES/recoverdm-0.19.tar.bz2
+ /bin/tar -xf -
+ cd recoverdm-0.19
+ /bin/chmod -c -Rf u+rwX,go-w .
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.88603
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd recoverdm-0.19
+ make -j16
make: Entering directory '/usr/src/RPM/BUILD/recoverdm-0.19'
cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.19\"   -c -o error.o error.c
make: Leaving directory '/usr/src/RPM/BUILD/recoverdm-0.19'
make: Entering directory '/usr/src/RPM/BUILD/recoverdm-0.19'
cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.19\"   -c -o utils.o utils.c
utils.c: In function 'mymalloc':
utils.c:21:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   21 |                 error_exit("failed to allocate %d bytes for %s\n", size, what);
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from utils.c:15:
error.h:1:23: note: expected 'char *' but argument is of type 'const char *'
    1 | void error_exit(char *format, ...);
      |                 ~~~~~~^~~~~~
utils.c: In function 'myrealloc':
utils.c:30:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   30 |                 error_exit("failed to reallocate to %d bytes for %s\n", newsize, what);
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error.h:1:23: note: expected 'char *' but argument is of type 'const char *'
    1 | void error_exit(char *format, ...);
      |                 ~~~~~~^~~~~~
utils.c: In function 'get_filesize':
utils.c:40:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   40 |                 error_exit("Failed to retrieve length of file %s: %s (%d)\n", filename, strerror(errno), errno);
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error.h:1:23: note: expected 'char *' but argument is of type 'const char *'
    1 | void error_exit(char *format, ...);
      |                 ~~~~~~^~~~~~
In file included from utils.c:13:
utils.c: In function 'copy_block':
gen.h:1:25: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'off64_t' {aka 'long int'} may change the sign of the result [-Wsign-conversion]
    1 | #define min(x, y)       ((x)<(y)?(x):(y))
      |                         ^
utils.c:51:38: note: in expansion of macro 'min'
   51 |                 size_t sector_size = min(block_size, 512);
      |                                      ^~~
utils.c:56:58: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]
   56 |                         fprintf(stderr, "Failed to read %d bytes from inputfile: %s (%d)\n", sector_size, strerror(errno), errno);
      |                                                         ~^                                   ~~~~~~~~~~~
      |                                                          |                                   |
      |                                                          int                                 size_t {aka long unsigned int}
      |                                                         %ld
utils.c:68:28: warning: conversion to 'long unsigned int' from 'off64_t' {aka 'long int'} may change the sign of the result [-Wsign-conversion]
   68 |                 block_size -= sector_size;
      |                            ^~
utils.c:68:31: warning: conversion to 'off64_t' {aka 'long int'} from 'long unsigned int' may change the sign of the result [-Wsign-conversion]
   68 |                 block_size -= sector_size;
      |                               ^~~~~~~~~~~
utils.c: In function 'myseek':
utils.c:78:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   78 |                 error_exit("Failed to seek in file to offset %lld: %s (%d)\n", offset, strerror(errno), errno);
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error.h:1:23: note: expected 'char *' but argument is of type 'const char *'
    1 | void error_exit(char *format, ...);
      |                 ~~~~~~^~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/recoverdm-0.19'
make: Entering directory '/usr/src/RPM/BUILD/recoverdm-0.19'
cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.19\"   -c -o dev.o dev.c
dev.c: In function 'read_raw_cd':
dev.c:174:9: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration]
  174 |         memcpy(whereto, &pframe[12 + 4], 2048);
      |         ^~~~~~
dev.c:23:1: note: include '<string.h>' or provide a declaration of 'memcpy'
   22 | #include "dev.h"
  +++ |+#include <string.h>
   23 | 
dev.c:174:9: warning: incompatible implicit declaration of built-in function 'memcpy' [-Wbuiltin-declaration-mismatch]
  174 |         memcpy(whereto, &pframe[12 + 4], 2048);
      |         ^~~~~~
dev.c:174:9: note: include '<string.h>' or provide a declaration of 'memcpy'
make: Leaving directory '/usr/src/RPM/BUILD/recoverdm-0.19'
make: Entering directory '/usr/src/RPM/BUILD/recoverdm-0.19'
cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.19\"   -c -o io.o io.c
io.c: In function 'READ':
io.c:30:52: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   30 |                                         error_exit("unexpected error while reading: %s (%d)\n", strerror(errno), errno);
      |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from io.c:12:
error.h:1:23: note: expected 'char *' but argument is of type 'const char *'
    1 | void error_exit(char *format, ...);
      |                 ~~~~~~^~~~~~
io.c:42:29: warning: conversion to 'long unsigned int' from 'ssize_t' {aka 'long int'} may change the sign of the result [-Wsign-conversion]
   42 |                         len -= rc;
      |                             ^~
io.c: In function 'WRITE':
io.c:75:29: warning: conversion to 'long unsigned int' from 'ssize_t' {aka 'long int'} may change the sign of the result [-Wsign-conversion]
   75 |                         len -= rc;
      |                             ^~
io.c: In function 'phantom_write':
io.c:126:35: warning: conversion from 'ssize_t' {aka 'long int'} to 'int' may change value [-Wconversion]
  126 |                         if ((rc = WRITE(fd, in, move_a_little)) <= 0)
      |                                   ^~~~~
io.c:132:39: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  132 |                         move_a_little -= rc;
      |                                       ^~
io.c:163:43: warning: conversion from 'ssize_t' {aka 'long int'} to 'int' may change value [-Wconversion]
  163 |                                 if ((rc = WRITE(fd, in, 512)) <= 0)
      |                                           ^~~~~
io.c:172:35: warning: conversion from 'ssize_t' {aka 'long int'} to 'int' may change value [-Wconversion]
  172 |                         if ((rc = WRITE(fd, in, nbytes)) <= 0)
      |                                   ^~~~~
io.c:181:24: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  181 |                 nbytes -= rc;
      |                        ^~
make: Leaving directory '/usr/src/RPM/BUILD/recoverdm-0.19'
make: Entering directory '/usr/src/RPM/BUILD/recoverdm-0.19'
cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.19\"   -c -o recoverdm.o recoverdm.c
recoverdm.c: In function 'lba_to_msf':
recoverdm.c:53:27: warning: conversion from 'off64_t' {aka 'long int'} to 'unsigned char' may change value [-Wconversion]
   53 |                 *minute = (lba + 150) / (60 * 75);
      |                           ^
recoverdm.c:55:27: warning: conversion from 'off64_t' {aka 'long int'} to 'unsigned char' may change value [-Wconversion]
   55 |                 *second = (lba + 150) / 75;
      |                           ^
recoverdm.c:57:26: warning: conversion from 'off64_t' {aka 'long int'} to 'unsigned char' may change value [-Wconversion]
   57 |                 *frame = (lba + 150);
      |                          ^
recoverdm.c:61:27: warning: conversion from 'off64_t' {aka 'long int'} to 'unsigned char' may change value [-Wconversion]
   61 |                 *minute = (lba + 450150) / (60 * 75);
      |                           ^
recoverdm.c:63:27: warning: conversion from 'off64_t' {aka 'long int'} to 'unsigned char' may change value [-Wconversion]
   63 |                 *second = (lba + 450150) / 75;
      |                           ^
recoverdm.c:65:26: warning: conversion from 'off64_t' {aka 'long int'} to 'unsigned char' may change value [-Wconversion]
   65 |                 *frame = (lba + 450150);
      |                          ^
recoverdm.c: In function 'create_sector':
recoverdm.c:73:57: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   73 |         char *sector_out = (char *)mymalloc(block_size, "sector");
      |                                                         ^~~~~~~~
In file included from recoverdm.c:13:
utils.h:1:36: note: expected 'char *' but argument is of type 'const char *'
    1 | void * mymalloc(size_t size, char *what);
      |                              ~~~~~~^~~~
recoverdm.c:105:53: warning: conversion from 'int' to 'short int' may change value [-Wconversion]
  105 |                                 chosen_byte_count = count[loop2];
      |                                                     ^~~~~
recoverdm.c:106:47: warning: conversion from 'int' to 'short int' may change value [-Wconversion]
  106 |                                 chosen_byte = loop2;
      |                                               ^~~~~
recoverdm.c:124:44: warning: conversion from 'short int' to 'char' may change value [-Wconversion]
  124 |                         sector_out[loop] = chosen_byte;
      |                                            ^~~~~~~~~~~
recoverdm.c:147:44: warning: conversion to 'char' from 'unsigned char' may change the sign of the result [-Wsign-conversion]
  147 |                         sector_out[loop] = sectors[max_n_ok_index][loop];
      |                                            ^~~~~~~
recoverdm.c: In function 'get_raw_cd':
recoverdm.c:167:71: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  167 |                 char **sector_list = (char **)mymalloc(sizeof(char *) * n_raw_retries, "sectorlist");
      |                                                                       ^
recoverdm.c:167:88: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  167 |                 char **sector_list = (char **)mymalloc(sizeof(char *) * n_raw_retries, "sectorlist");
      |                                                                                        ^~~~~~~~~~~~
utils.h:1:36: note: expected 'char *' but argument is of type 'const char *'
    1 | void * mymalloc(size_t size, char *what);
      |                              ~~~~~~^~~~
recoverdm.c:172:74: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  172 |                         sector_list[loop] = (char *)mymalloc(block_size, "sector");
      |                                                                          ^~~~~~~~
utils.h:1:36: note: expected 'char *' but argument is of type 'const char *'
    1 | void * mymalloc(size_t size, char *what);
      |                              ~~~~~~^~~~
recoverdm.c:182:43: warning: passing argument 1 of 'create_sector' from incompatible pointer type [-Wincompatible-pointer-types]
  182 |                         if (create_sector(sector_list, n_raw_retries, block_size, &dummy) == -1)
      |                                           ^~~~~~~~~~~
      |                                           |
      |                                           char **
recoverdm.c:69:35: note: expected 'unsigned char **' but argument is of type 'char **'
   69 | int create_sector(unsigned char **sectors, int n_sectors, size_t block_size, char **psector_out)
      |                   ~~~~~~~~~~~~~~~~^~~~~~~
recoverdm.c: In function 'main':
recoverdm.c:232:36: warning: conversion from 'int' to 'char' may change value [-Wconversion]
  232 |                         dev_type = atoi(optarg);
      |                                    ^~~~
recoverdm.c:253:37: warning: conversion from 'int' to 'char' may change value [-Wconversion]
  253 |                         n_retries = atoi(optarg);
      |                                     ^~~~
recoverdm.c:256:36: warning: conversion from 'int' to 'char' may change value [-Wconversion]
  256 |                         cd_speed = atoi(optarg);
      |                                    ^~~~
recoverdm.c:259:44: warning: conversion from 'int' to 'char' may change value [-Wconversion]
  259 |                         n_raw_cd_retries = atoi(optarg);
      |                                            ^~~~
recoverdm.c:295:47: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  295 |         buffer = (char *)mymalloc(block_size, "sectorbuffer");
      |                                               ^~~~~~~~~~~~~~
utils.h:1:36: note: expected 'char *' but argument is of type 'const char *'
    1 | void * mymalloc(size_t size, char *what);
      |                              ~~~~~~^~~~
recoverdm.c:296:48: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  296 |         buffer2 = (char *)mymalloc(block_size, "sectorbuffer for retries");
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
utils.h:1:36: note: expected 'char *' but argument is of type 'const char *'
    1 | void * mymalloc(size_t size, char *what);
      |                              ~~~~~~^~~~
recoverdm.c:349:28: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'off64_t' {aka 'long int'} [-Wformat=]
  349 |                 printf("%lld\r", curpos);
      |                         ~~~^     ~~~~~~
      |                            |     |
      |                            |     off64_t {aka long int}
      |                            long long int
      |                         %ld
recoverdm.c:376:45: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'off64_t' {aka 'long int'} [-Wformat=]
  376 |                         printf("error at %lld bytes, retrying: %d\n", curpos, n);
      |                                          ~~~^                         ~~~~~~
      |                                             |                         |
      |                                             long long int             off64_t {aka long int}
      |                                          %ld
recoverdm.c:433:63: warning: format '%lld' expects argument of type 'long long int', but argument 3 has type 'off64_t' {aka 'long int'} [-Wformat=]
  433 |                                         fprintf(dsecfile, "%lld %ld\n", curpos, block_size);
      |                                                            ~~~^         ~~~~~~
      |                                                               |         |
      |                                                               |         off64_t {aka long int}
      |                                                               long long int
      |                                                            %ld
recoverdm.c:428:38: warning: variable 'ok' set but not used [-Wunused-but-set-variable]
  428 |                                 char ok = 1;
      |                                      ^~
make: Leaving directory '/usr/src/RPM/BUILD/recoverdm-0.19'
make: Entering directory '/usr/src/RPM/BUILD/recoverdm-0.19'
cc -Wall -W recoverdm.o dev.o io.o utils.o error.o  -o recoverdm
strip recoverdm
echo

echo Oh, blatant plug: http://keetweej.vanheusden.com/wishlist.html
Oh, blatant plug: http://keetweej.vanheusden.com/wishlist.html
make: Leaving directory '/usr/src/RPM/BUILD/recoverdm-0.19'
make: Entering directory '/usr/src/RPM/BUILD/recoverdm-0.19'
cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.19\"   -c -o mergebad.o mergebad.c
mergebad.c: In function 'find_image_without_badblock':
mergebad.c:45:64: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'off64_t' {aka 'long int'} [-Wformat=]
   45 |                 printf("> find_image_without_badblock(%p %d %lld)\n", imgs, n_imgs, offset);
      |                                                             ~~~^                    ~~~~~~
      |                                                                |                    |
      |                                                                long long int        off64_t {aka long int}
      |                                                             %ld
mergebad.c:59:53: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'off64_t' {aka 'long int'} [-Wformat=]
   59 |                                 printf("= %d/%d, %lld - %lld\n", img_index, badblock_index, cur_offset, cur_bb_end);
      |                                                  ~~~^                                       ~~~~~~~~~~
      |                                                     |                                       |
      |                                                     long long int                           off64_t {aka long int}
      |                                                  %ld
mergebad.c:59:60: warning: format '%lld' expects argument of type 'long long int', but argument 5 has type 'off64_t' {aka 'long int'} [-Wformat=]
   59 |                                 printf("= %d/%d, %lld - %lld\n", img_index, badblock_index, cur_offset, cur_bb_end);
      |                                                         ~~~^                                            ~~~~~~~~~~
      |                                                            |                                            |
      |                                                            long long int                                off64_t {aka long int}
      |                                                         %ld
mergebad.c: In function 'find_smallest_current_badblock':
mergebad.c:103:67: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'off64_t' {aka 'long int'} [-Wformat=]
  103 |                 printf("> find_smallest_current_badblock(%p %d %lld %p %p)\n", imgs, n_imgs, offset, selected_image, selected_badblock);
      |                                                                ~~~^                          ~~~~~~
      |                                                                   |                          |
      |                                                                   long long int              off64_t {aka long int}
      |                                                                %ld
mergebad.c:118:53: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'off64_t' {aka 'long int'} [-Wformat=]
  118 |                                 printf("= %d/%d, %lld - %lld\n", img_index, badblock_index, cur_offset, cur_bb_end);
      |                                                  ~~~^                                       ~~~~~~~~~~
      |                                                     |                                       |
      |                                                     long long int                           off64_t {aka long int}
      |                                                  %ld
mergebad.c:118:60: warning: format '%lld' expects argument of type 'long long int', but argument 5 has type 'off64_t' {aka 'long int'} [-Wformat=]
  118 |                                 printf("= %d/%d, %lld - %lld\n", img_index, badblock_index, cur_offset, cur_bb_end);
      |                                                         ~~~^                                            ~~~~~~~~~~
      |                                                            |                                            |
      |                                                            long long int                                off64_t {aka long int}
      |                                                         %ld
mergebad.c:130:68: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'off64_t' {aka 'long int'} [-Wformat=]
  130 |                                         printf("= # bytes left: %lld\n", block_size_left);
      |                                                                 ~~~^     ~~~~~~~~~~~~~~~
      |                                                                    |     |
      |                                                                    |     off64_t {aka long int}
      |                                                                    long long int
      |                                                                 %ld
mergebad.c:148:69: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'off64_t' {aka 'long int'} [-Wformat=]
  148 |                 printf("> find_smallest_current_badblock: %d %d (%lld)\n", *selected_image, *selected_badblock, smallest_block_size);
      |                                                                  ~~~^                                           ~~~~~~~~~~~~~~~~~~~
      |                                                                     |                                           |
      |                                                                     long long int                               off64_t {aka long int}
      |                                                                  %ld
mergebad.c: In function 'read_mapfile':
mergebad.c:189:32: warning: format '%lld' expects argument of type 'long long int *', but argument 3 has type 'off64_t *' {aka 'long int *'} [-Wformat=]
  189 |                 fscanf(fh, "%lld %d", &offset, &block_size);
      |                             ~~~^      ~~~~~~~
      |                                |      |
      |                                |      off64_t * {aka long int *}
      |                                long long int *
      |                             %ld
mergebad.c:191:67: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  191 |                 bbs = (badblock *)myrealloc(bbs, sizeof(badblock) * (n_bb + 1), "badblocks list");
      |                                                                   ^
mergebad.c:191:81: warning: passing argument 3 of 'myrealloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  191 |                 bbs = (badblock *)myrealloc(bbs, sizeof(badblock) * (n_bb + 1), "badblocks list");
      |                                                                                 ^~~~~~~~~~~~~~~~
In file included from mergebad.c:14:
utils.h:2:52: note: expected 'char *' but argument is of type 'const char *'
    2 | void * myrealloc(void *oldp, size_t newsize, char *what);
      |                                              ~~~~~~^~~~
mergebad.c:196:40: warning: format '%lld' expects argument of type 'long long int', but argument 3 has type 'off64_t' {aka 'long int'} [-Wformat=]
  196 |                         printf("%d] %lld %lld\n", n_bb, offset, block_size);
      |                                     ~~~^                ~~~~~~
      |                                        |                |
      |                                        long long int    off64_t {aka long int}
      |                                     %ld
mergebad.c:196:45: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'int' [-Wformat=]
  196 |                         printf("%d] %lld %lld\n", n_bb, offset, block_size);
      |                                          ~~~^                   ~~~~~~~~~~
      |                                             |                   |
      |                                             long long int       int
      |                                          %d
mergebad.c: In function 'select_most_occuring_byte':
mergebad.c:228:41: warning: conversion from 'int' to 'char' may change value [-Wconversion]
  228 |                         selected_byte = loop;
      |                                         ^~~~
mergebad.c:235:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  235 |                 error_exit("Internal error: no byte found!");
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from mergebad.c:15:
error.h:1:23: note: expected 'char *' but argument is of type 'const char *'
    1 | void error_exit(char *format, ...);
      |                 ~~~~~~^~~~~~
mergebad.c: In function 'main':
mergebad.c:269:62: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  269 |                         imgs = myrealloc(imgs, sizeof(image) * (n_imgs + 1), "image structure");
      |                                                              ^
mergebad.c:269:78: warning: passing argument 3 of 'myrealloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  269 |                         imgs = myrealloc(imgs, sizeof(image) * (n_imgs + 1), "image structure");
      |                                                                              ^~~~~~~~~~~~~~~~~
utils.h:2:52: note: expected 'char *' but argument is of type 'const char *'
    2 | void * myrealloc(void *oldp, size_t newsize, char *what);
      |                                              ~~~~~~^~~~
mergebad.c:290:61: warning: format '%lld' expects argument of type 'long long int', but argument 3 has type 'off64_t' {aka 'long int'} [-Wformat=]
  290 |                                 printf("Adding image: %s/%lld number of badblocks: %d\n", imgs[n_imgs].filename, imgs[n_imgs].size, imgs[n_imgs].bb_list_size);
      |                                                          ~~~^                                                    ~~~~~~~~~~~~~~~~~
      |                                                             |                                                                |
      |                                                             long long int                                                    off64_t {aka long int}
      |                                                          %ld
mergebad.c:318:57: warning: format '%d' expects argument of type 'int', but argument 2 has type 'off64_t' {aka 'long int'} [-Wformat=]
  318 |                                 printf("Length set to: %d\n", length);
      |                                                        ~^     ~~~~~~
      |                                                         |     |
      |                                                         int   off64_t {aka long int}
      |                                                        %ld
mergebad.c:357:74: warning: format '%lld' expects argument of type 'long long int', but argument 3 has type 'off64_t' {aka 'long int'} [-Wformat=]
  357 |                 printf("No filelength given, using length of file %s: %lld\n", imgs[0].filename, (length = get_filesize(imgs[0].filename)));
      |                                                                       ~~~^                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                          |                               |
      |                                                                          long long int                   off64_t {aka long int}
      |                                                                       %ld
mergebad.c:365:52: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'off64_t' {aka 'long int'} [-Wformat=]
  365 |                         printf("Current offset: %lld\n", offset);
      |                                                 ~~~^     ~~~~~~
      |                                                    |     |
      |                                                    |     off64_t {aka long int}
      |                                                    long long int
      |                                                 %ld
mergebad.c:388:54: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'off64_t' {aka 'long int'} [-Wformat=]
  388 |                                 printf("Will copy %lld bytes from file %s\n", n_bytes_to_copy, imgs[img_index].filename);
      |                                                   ~~~^                        ~~~~~~~~~~~~~~~
      |                                                      |                        |
      |                                                      long long int            off64_t {aka long int}
      |                                                   %ld
mergebad.c:396:81: warning: format '%lld' expects argument of type 'long long int', but argument 3 has type 'off64_t' {aka 'long int'} [-Wformat=]
  396 |                                 fprintf(stderr, "There was a problem copying %lld bytes of data from file %s to the outputfile: %s (%d)\n", n_bytes_to_copy, imgs[img_index].filename, strerror(errno), errno);
      |                                                                              ~~~^                                                           ~~~~~~~~~~~~~~~
      |                                                                                 |                                                           |
      |                                                                                 long long int                                               off64_t {aka long int}
      |                                                                              %ld
mergebad.c:411:91: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'off64_t' {aka 'long int'} [-Wformat=]
  411 |                                 printf("No image without badblocks for current offset (%lld) found: \"guessing\" one or more bytes.\n", offset);
      |                                                                                        ~~~^                                             ~~~~~~
      |                                                                                           |                                             |
      |                                                                                           long long int                                 off64_t {aka long int}
      |                                                                                        %ld
mergebad.c:413:65: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  413 |                         guess_bytes = (unsigned char *)mymalloc(n_imgs, "temp buffer for bytes from each image to select from");
      |                                                                 ^~~~~~
mergebad.c:413:73: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  413 |                         guess_bytes = (unsigned char *)mymalloc(n_imgs, "temp buffer for bytes from each image to select from");
      |                                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utils.h:1:36: note: expected 'char *' but argument is of type 'const char *'
    1 | void * mymalloc(size_t size, char *what);
      |                              ~~~~~~^~~~
mergebad.c:419:44: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  419 |                                 error_exit("Internal error: could not find the badblock \"we're in\".\n");
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error.h:1:23: note: expected 'char *' but argument is of type 'const char *'
    1 | void error_exit(char *format, ...);
      |                 ~~~~~~^~~~~~
mergebad.c:431:58: warning: format '%lld' expects argument of type 'long long int', but argument 3 has type 'off64_t' {aka 'long int'} [-Wformat=]
  431 |                                 fprintf(fh_map_file, "%lld %lld\n", offset, n_to_guess);
      |                                                       ~~~^          ~~~~~~
      |                                                          |          |
      |                                                          |          off64_t {aka long int}
      |                                                          long long int
      |                                                       %ld
mergebad.c:431:63: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'off64_t' {aka 'long int'} [-Wformat=]
  431 |                                 fprintf(fh_map_file, "%lld %lld\n", offset, n_to_guess);
      |                                                            ~~~^             ~~~~~~~~~~
      |                                                               |             |
      |                                                               long long int off64_t {aka long int}
      |                                                            %ld
mergebad.c:437:57: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'off64_t' {aka 'long int'} [-Wformat=]
  437 |                                 printf("\"Guessing\" %lld bytes\n", n_to_guess);
      |                                                      ~~~^           ~~~~~~~~~~
      |                                                         |           |
      |                                                         |           off64_t {aka long int}
      |                                                         long long int
      |                                                      %ld
mergebad.c:441:44: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  441 |                                 error_exit("Number of \"bytes to guess\" less then 1!\n");
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error.h:1:23: note: expected 'char *' but argument is of type 'const char *'
    1 | void error_exit(char *format, ...);
      |                 ~~~~~~^~~~~~
mergebad.c:449:50: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'off64_t' {aka 'long int'} may change the sign of the result [-Wsign-conversion]
  449 |                         output_buffer = mymalloc(n_to_guess, "guessed bytes");
      |                                                  ^~~~~~~~~~
mergebad.c:449:62: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  449 |                         output_buffer = mymalloc(n_to_guess, "guessed bytes");
      |                                                              ^~~~~~~~~~~~~~~
utils.h:1:36: note: expected 'char *' but argument is of type 'const char *'
    1 | void * mymalloc(size_t size, char *what);
      |                              ~~~~~~^~~~
mergebad.c:472:66: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'off64_t' {aka 'long int'} may change the sign of the result [-Wsign-conversion]
  472 |                         if (phantom_write(fd_out, output_buffer, n_to_guess) != n_to_guess)
      |                                                                  ^~~~~~~~~~
mergebad.c: In function 'read_mapfile':
mergebad.c:189:17: warning: ignoring return value of 'fscanf' declared with attribute 'warn_unused_result' [-Wunused-result]
  189 |                 fscanf(fh, "%lld %d", &offset, &block_size);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/recoverdm-0.19'
make: Entering directory '/usr/src/RPM/BUILD/recoverdm-0.19'
cc -Wall -W mergebad.o io.o utils.o error.o  -o mergebad
strip mergebad
make: Leaving directory '/usr/src/RPM/BUILD/recoverdm-0.19'
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.88603
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/recoverdm-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/recoverdm-buildroot
+ PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games
+ cd recoverdm-0.19
+ install -p -m755 -D recoverdm /usr/src/tmp/recoverdm-buildroot/usr/bin/recoverdm
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/recoverdm-buildroot (auto)
Verifying and fixing files in /usr/src/tmp/recoverdm-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig)
Checking contents of files in /usr/src/tmp/recoverdm-buildroot/ (default)
Compressing files in /usr/src/tmp/recoverdm-buildroot (auto)
056-debuginfo.brp: WARNING: You have 1 stripped ELF objects. Please compile with debugging information!
056-debuginfo.brp: WARNING: An excerpt from the list of affected files follows:
  ./usr/bin/recoverdm
Verifying ELF objects in /usr/src/tmp/recoverdm-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
Processing files: recoverdm-0.19-alt0.1
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.MegEpg
find-provides: running scripts (debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.3uQgbn
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
Requires: /lib64/ld-linux-x86-64.so.2, libc.so.6(GLIBC_2.2.5)(64bit), libc.so.6(GLIBC_2.3.4)(64bit), libc.so.6(GLIBC_2.33)(64bit), libc.so.6(GLIBC_2.34)(64bit), libc.so.6(GLIBC_2.4)(64bit), rtld(GNU_HASH)
Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.fgiKuc
Wrote: /usr/src/RPM/RPMS/x86_64/recoverdm-0.19-alt0.1.x86_64.rpm (w2.lzdio)
0.78user 0.43system 0:03.62elapsed 33%CPU (0avgtext+0avgdata 30480maxresident)k
0inputs+0outputs (0major+117862minor)pagefaults 0swaps
/.out/recoverdm-0.19-alt0.1.x86_64.rpm: The use of such a license name is ambiguous: GPL
0.72user 1.31system 0:07.49elapsed 27%CPU (0avgtext+0avgdata 11988maxresident)k
0inputs+0outputs (0major+94728minor)pagefaults 0swaps
--- recoverdm-0.19-alt0.1.x86_64.rpm.repo	2021-07-10 12:12:33.000000000 +0000
+++ recoverdm-0.19-alt0.1.x86_64.rpm.hasher	2022-12-02 00:05:23.630478502 +0000
@@ -4,2 +4,4 @@
 Requires: libc.so.6(GLIBC_2.3.4)(64bit)  
+Requires: libc.so.6(GLIBC_2.33)(64bit)  
+Requires: libc.so.6(GLIBC_2.34)(64bit)  
 Requires: libc.so.6(GLIBC_2.4)(64bit)  
@@ -8,3 +10,3 @@
 Provides: recoverdm = 0.19-alt0.1:sisyphus+277918.100.1.1
-File: /usr/bin/recoverdm	100755	root:root	bbefa22055b8d5ca4723ef8074bb56b9	
-RPMIdentity: 73542237f5bf19f6ab205a7d6e87abc3f5f84559fa9a34ecf27406b049b639ed43f8bb0ae8e19ab8b4f270a7fcabb9af4ce6f5ce2eadf2d7ad501a98eca217e3
+File: /usr/bin/recoverdm	100755	root:root	7c7c1016b1ef46e5e60684729ae6c2d1	
+RPMIdentity: 48f6c8e695883835ba2a2e39cc35901fabf7791546c9e3b34e9224a447a8bb11b1d98d8044d5281dd675477d80238ac70c1b8e44c12996fef62e7aee02d49350