Various fixes for building with GCC 10. Taken from Debian: https://sources.debian.org/patches/jfsutils/1.1.15-5/gcc10_fix-1.patch/ --- jfsutils-1.1.15.old/fscklog/display.c 2005-11-22 21:43:54.000000000 +0100 +++ jfsutils-1.1.15.new/fscklog/display.c 2020-05-21 18:15:13.410617620 +0200 @@ -54,7 +54,7 @@ * output: fsck extracted service log I/O buffer * */ -char xchklog_buffer[XCHKLOG_BUFSIZE]; +static char xchklog_buffer[XCHKLOG_BUFSIZE]; /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * diff -ur --exclude '*.o' --exclude '*.a' jfsutils-1.1.15.old/libfs/logredo.c jfsutils-1.1.15.new/libfs/logredo.c --- jfsutils-1.1.15.old/libfs/logredo.c 2005-11-22 21:43:55.000000000 +0100 +++ jfsutils-1.1.15.new/libfs/logredo.c 2020-05-21 18:19:44.927703271 +0200 @@ -87,9 +87,9 @@ * S T U F F F O R T H E L O G * */ -struct logsuper logsup; /* log super block */ -int32_t numdoblk; /* number of do blocks used */ -int32_t numnodofile; /* number of nodo file blocks used */ +static struct logsuper logsup; /* log super block */ +static int32_t numdoblk; /* number of do blocks used */ +static int32_t numnodofile; /* number of nodo file blocks used */ int32_t numExtDtPg = 0; /* number of extended dtpage blocks used */ /* @@ -129,7 +129,7 @@ */ /* buffer header table */ -struct bufhdr { +static struct bufhdr { int16_t next; /* 2: next on free/lru list */ int16_t prev; /* 2: previous on free/lru list */ int16_t hnext; /* 2: next on hash chain */ @@ -142,7 +142,7 @@ } bufhdr[NBUFPOOL]; /* (24) */ /* buffer table */ -struct bufpool { +static struct bufpool { char bytes[PSIZE]; } buffer[NBUFPOOL - 1]; @@ -151,15 +151,16 @@ * * log has its own 4 page buffer pool. */ -uint8_t afterdata[LOGPSIZE * 2]; /* buffer to read in redopage data */ +static uint8_t afterdata[LOGPSIZE * 2]; /* buffer to read in redopage data */ /* * Miscellaneous */ -caddr_t prog; /* Program name */ -int32_t mntcnt, bufsize; -char *mntinfo; -int32_t retcode; /* return code from logredo */ +static caddr_t prog; /* Program name */ +extern int32_t mntcnt; +static int32_t bufsize; +static char *mntinfo; +static int32_t retcode; /* return code from logredo */ int end_of_transaction = 0; /* th class='left'>AgeCommit message (Expand)Author 2021-11-16daemon: Do not deduplicate files smaller than 8 KiB....Files smaller than 8 KiB typically represent ~70% of the entries in /gnu/store/.links but only contribute to ~4% of the space savings afforded by deduplication. Not considering these files for deduplication speeds up file insertion in the store and, more importantly, leaves 'removeUnusedLinks' with fewer entries to traverse, thereby speeding it up proportionally. Partly fixes <https://issues.guix.gnu.org/24937>. * config-daemon.ac: Remove symlink hard link check and CAN_LINK_SYMLINK definition. * guix/store/deduplication.scm (%deduplication-minimum-size): New variable. (deduplicate)[loop]: Do not recurse when FILE's size is below %DEDUPLICATION-MINIMUM-SIZE. (dump-port): New procedure. (dump-file/deduplicate)[hash]: Turn into... [dump-and-compute-hash]: ... this thunk. Call 'deduplicate' only when SIZE is greater than %DEDUPLICATION-MINIMUM-SIZE; otherwise call 'dump-port'. * nix/libstore/gc.cc (LocalStore::removeUnusedLinks): Drop files where st.st_size < deduplicationMinSize. * nix/libstore/local-store.hh (deduplicationMinSize): New declaration. * nix/libstore/optimise-store.cc (deduplicationMinSize): New variable. (LocalStore::optimisePath_): Return when PATH is a symlink or smaller than 'deduplicationMinSize'. * tests/derivations.scm ("identical files are deduplicated"): Produce files bigger than %DEDUPLICATION-MINIMUM-SIZE. * tests/nar.scm ("restore-file-set with directories (signed, valid)"): Likewise. * tests/store-deduplication.scm ("deduplicate, below %deduplication-minimum-size"): New test. ("deduplicate", "deduplicate, ENOSPC"): Produce files bigger than %DEDUPLICATION-MINIMUM-SIZE. * tests/store.scm ("substitute, deduplication"): Likewise. Ludovic Courtès