Tem: fonte do kernel com patch, quer: hash de commit do upstream

2

Uma empresa de hardware distribui sua plataforma de software como um tarball contendo, entre outras coisas, uma árvore de código-fonte do kernel sem diretório .git. Conheço a versão e sei o que uname -a produz.

Existe alguma maneira viável de encontrar o commit upstream mais próximo, ou seja, o commit minimizando

diff -r linux/ /path/to/tarballed-linux/ | wc -l

ou preciso recorrer à iteração do comando acima em algum intervalo razoável?

    
por Benjamin Lindqvist 01.06.2018 / 22:01

1 resposta

0

Se eles não substituíram Makefile , você pode usar VERSION , PATCHLEVEL e SUBLEVEL para obter uma tag específica no histórico de git . Por exemplo, se diz:

VERSION = 4
PATCHLEVEL = 4
SUBLEVEL = 38
EXTRAVERSION =
NAME = Blurry Fish Butt

você pode obter uma tag v4.4.38 :

$ git show v4.4.38
tag v4.4.38
Tagger: Greg Kroah-Hartman <[email protected]>
Date:   Sat Dec 10 19:08:14 2016 +0100

This is the 4.4.38 stable release
(...)
commit c95b7f1fab0c76882764a5196119237c8ad436ee
Author: Greg Kroah-Hartman <[email protected]>
Date:   Sat Dec 10 19:08:05 2016 +0100

    Linux 4.4.38

diff --git a/Makefile b/Makefile
index b57ec79..6876efe 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 VERSION = 4
 PATCHLEVEL = 4
-SUBLEVEL = 37
+SUBLEVEL = 38
 EXTRAVERSION =
 NAME = Blurry Fish Butt

No entanto, observe que houve 17 confirmações entre 4.4.38 e 4.4.39 :

a34f0e8 (tag: v4.4.39) Linux 4.4.39
5d488de crypto: rsa - Add Makefile dependencies to fix parallel builds
1c0f4e0 hotplug: Make register and unregister notifier API symmetric
537e42d batman-adv: Check for alloc errors when preparing TT local data
f03531d m68k: Fix ndelay() macro
55e15b2 arm64: futex.h: Add missing PAN toggling
e29949e can: peak: fix bad memory access and free sequence
083021b can: raw: raw_setsockopt: limit number of can_filter that can be set
9a3baed crypto: mcryptd - Check mcryptd algorithm compatibility
c4db8a7 perf/x86: Fix full width counter, counter overflow
c6a5bf4 locking/rtmutex: Use READ_ONCE() in rt_mutex_owner()
b27d914 locking/rtmutex: Prevent dequeue vs. unlock race
e286b6c zram: restrict add/remove attributes to root only
a0bd6aa parisc: Fix TLB related boot crash on SMP machines
605f315 parisc: Remove unnecessary TLB purges from flush_dcache_page_asm and flush_icache_page_asm
db95986 parisc: Purge TLB before setting PTE
4bcea47 powerpc/eeh: Fix deadlock when PE frozen state can't be cleared
c95b7f1 (tag: v4.4.38) Linux 4.4.38
    
por 01.06.2018 / 22:26