mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
Merge tag 'kbuild-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild updates from Masahiro Yamada: - Make Kconfig parse the input .config more precisely - Support W=c and W=e options for Kconfig - Set Kconfig int/hex symbols to zero if the 'default' property is missing - Add .editorconfig - Add scripts/git.orderFile - Add a script to detect backward-incompatible changes in UAPI headers - Resolve the symlink passed to O= option properly - Use the user-supplied mtime for all files in the builtin initramfs, which provides better reproducible builds - Fix the direct execution of debian/rules for Debian package builds - Use build ID instead of the .gnu_debuglink section for the Debian dbg package * tag 'kbuild-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (53 commits) kbuild: deb-pkg: use debian/<package> for tmpdir kbuild: deb-pkg: move 'make headers' to build-arch kbuild: deb-pkg: do not search for 'scripts' directory under arch/ kbuild: deb-pkg: use build ID instead of debug link for dbg package kbuild: deb-pkg: use more debhelper commands in builddeb kbuild: deb-pkg: remove unneeded '-f $srctree/Makefile' in debian/rules kbuild: deb-pkg: allow to run debian/rules from output directory kbuild: deb-pkg: set DEB_* variables if debian/rules is directly executed kbuild: deb-pkg: squash scripts/package/deb-build-option to debian/rules kbuild: deb-pkg: factor out common Make options in debian/rules kbuild: deb-pkg: hard-code Build-Depends kbuild: deb-pkg: split debian/copyright from the mkdebian script gen_init_cpio: Apply mtime supplied by user to all file types kbuild: resolve symlinks for O= properly docs: dev-tools: Add UAPI checker documentation check-uapi: Introduce check-uapi.sh scripts: Introduce a default git.orderFile kconfig: WERROR unmet symbol dependency Add .editorconfig file for basic formatting kconfig: Use KCONFIG_CONFIG instead of .config ...
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
static unsigned int offset;
|
||||
static unsigned int ino = 721;
|
||||
static time_t default_mtime;
|
||||
static bool do_file_mtime;
|
||||
static bool do_csum = false;
|
||||
|
||||
struct file_handler {
|
||||
@@ -329,6 +330,7 @@ static int cpio_mkfile(const char *name, const char *location,
|
||||
int file;
|
||||
int retval;
|
||||
int rc = -1;
|
||||
time_t mtime;
|
||||
int namesize;
|
||||
unsigned int i;
|
||||
uint32_t csum = 0;
|
||||
@@ -347,16 +349,21 @@ static int cpio_mkfile(const char *name, const char *location,
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (buf.st_mtime > 0xffffffff) {
|
||||
fprintf(stderr, "%s: Timestamp exceeds maximum cpio timestamp, clipping.\n",
|
||||
location);
|
||||
buf.st_mtime = 0xffffffff;
|
||||
}
|
||||
if (do_file_mtime) {
|
||||
mtime = default_mtime;
|
||||
} else {
|
||||
mtime = buf.st_mtime;
|
||||
if (mtime > 0xffffffff) {
|
||||
fprintf(stderr, "%s: Timestamp exceeds maximum cpio timestamp, clipping.\n",
|
||||
location);
|
||||
mtime = 0xffffffff;
|
||||
}
|
||||
|
||||
if (buf.st_mtime < 0) {
|
||||
fprintf(stderr, "%s: Timestamp negative, clipping.\n",
|
||||
location);
|
||||
buf.st_mtime = 0;
|
||||
if (mtime < 0) {
|
||||
fprintf(stderr, "%s: Timestamp negative, clipping.\n",
|
||||
location);
|
||||
mtime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (buf.st_size > 0xffffffff) {
|
||||
@@ -387,7 +394,7 @@ static int cpio_mkfile(const char *name, const char *location,
|
||||
(long) uid, /* uid */
|
||||
(long) gid, /* gid */
|
||||
nlinks, /* nlink */
|
||||
(long) buf.st_mtime, /* mtime */
|
||||
(long) mtime, /* mtime */
|
||||
size, /* filesize */
|
||||
3, /* major */
|
||||
1, /* minor */
|
||||
@@ -536,8 +543,9 @@ static void usage(const char *prog)
|
||||
"file /sbin/kinit /usr/src/klibc/kinit/kinit 0755 0 0\n"
|
||||
"\n"
|
||||
"<timestamp> is time in seconds since Epoch that will be used\n"
|
||||
"as mtime for symlinks, special files and directories. The default\n"
|
||||
"is to use the current time for these entries.\n"
|
||||
"as mtime for symlinks, directories, regular and special files.\n"
|
||||
"The default is to use the current time for all files, but\n"
|
||||
"preserve modification time for regular files.\n"
|
||||
"-c: calculate and store 32-bit checksums for file data.\n",
|
||||
prog);
|
||||
}
|
||||
@@ -594,6 +602,7 @@ int main (int argc, char *argv[])
|
||||
usage(argv[0]);
|
||||
exit(1);
|
||||
}
|
||||
do_file_mtime = true;
|
||||
break;
|
||||
case 'c':
|
||||
do_csum = true;
|
||||
|
||||
Reference in New Issue
Block a user