git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [ANNOUNCE] GIT 1.6.5.2

From
Todd Zullinger <tmz@pobox.com>
Date
Nov 11, 2009, 21:59 UTC
Message-ID
<20091111215952.GR31109@inocybe.localdomain>
In-Reply-To
<m3ljicsrg0.fsf@localhost.localdomain>
Jakub Narebski wrote:
Show 25 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>> The RPM binary packages for a few architectures are found in:
>>
>>   RPMS/$arch/git-*-1.6.5.2-1.fc9.$arch.rpm	(RPM)
>
> I tried to install git from source RPM... and failed:
>
>   $ rpmbuild --rebuild git-1.6.5.2-1.fc11.src.rpm
>   Installing git-1.6.5.2-1.fc11.src.rpm
>   warning: user junio does not exist - using root
>   warning: group junio does not exist - using root
>   error: unpacking of archive failed on file
>     /home/local/builddir/SOURCES/git-1.6.5.2.tar.gz;
>     4afb1f6a: cpio: MD5 sum mismatch
>   error: git-1.6.5.2-1.fc11.src.rpm cannot be installed
>
> Error messages are line wrapped for better readibility.
>
> Redownloading the file didn't help
>
>   $ ls -l git-1.6.5.2-1.fc11.src.rpm
>   -rw-r--r--  1 jnareb users 2713416 Oct 26 03:59 git-1.6.5.2-1.fc11.src.rpm
>   $ md5sum git-1.6.5.2-1.fc11.src.rpm
>   9f89a01b65e1b8e8934c3a2252064632  git-1.6.5.2-1.fc11.src.rpm

It looks like the kernel.org builders are now using Fedora 11 to create the packages. Unfortunately, there were backward-incompatible changes in rpm. Stronger hashes are now used and older rpm versions do not understand these, leading to the error you got.

I don't know what the process is for creating the rpm's, but if it's under Junio's control, a fix to create packages which can be read by older rpm versions would be to add:

    --define "_source_filedigest_algorithm md5" \
    --define "_binary_filedigest_algorithm md5"
to the rpmbuild invocation.

Perhaps like this (I didn't test this, though the defines are what we use in Fedora to create packages on Fedora >= 11 for building on CentOS and older releases):

-- >8 --
From: Todd Zullinger <tmz@pobox.com>
Subject: [PATCH] Makefile: Ensure rpm packages can be read by older rpm versions

The kernel.org hosts where the packages are built are now using Fedora 11, which defaults to sha256 for file digests instead of md5. Older versions of rpm can not handle these packages. Tell rpmbuild to use md5 file digests for better compatibility.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
---
 Makefile |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index 5d5976f..35f5294 100644
--- a/Makefile
+++ b/Makefile
@@ -1806,7 +1806,10 @@ dist: git.spec git-archive$(X) configure
 	gzip -f -9 $(GIT_TARNAME).tar
 
 rpm: dist
-	$(RPMBUILD) -ta $(GIT_TARNAME).tar.gz
+	$(RPMBUILD) \
+		--define "_source_filedigest_algorithm md5" \
+		--define "_binary_filedigest_algorithm md5" \
+		-ta $(GIT_TARNAME).tar.gz
 
 htmldocs = git-htmldocs-$(GIT_VERSION)
 manpages = git-manpages-$(GIT_VERSION)
-- 
1.6.5.2

-- 
Todd        OpenPGP -> KeyID: 0xBEAF0CE3 | URL: www.pobox.com/~tmz/pgp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Does it follow that I reject all authority? Perish the thought. In the
matter of boots, I defer to the authority of the boot-maker.
    -- Mikhail Bakunin
Previous: Jakub NarebskiNext: Jakub Narebski
Message 3 of 6 in “[ANNOUNCE] GIT 1.6.5.2”
  1. Junio C HamanoOct 26, 2009
  2. Jakub NarebskiNov 11, 2009
  3. Todd ZullingerNov 11, 2009
  4. Jakub NarebskiNov 11, 2009
  5. Junio C HamanoNov 11, 2009
  6. Todd ZullingerNov 11, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.