Issue after changing from xz to zstd

Robert Marko robimarko at gmail.com
Sat Apr 6 14:42:30 PDT 2024


On Sat, 6 Apr 2024 at 23:32, Robert Marko <robimarko at gmail.com> wrote:
>
> On Sat, 6 Apr 2024 at 22:35, e9hack <e9hack at gmail.com> wrote:
> >
> > Am 06.04.2024 um 21:50 schrieb Robert Marko:
> > > On Sat, 6 Apr 2024 at 21:47, Hartmut Birr <osexpert at gmail.com> wrote:
> > >>
> > >> Hi,
> > >>
> > >> I did change the Makefile for dnsmasq in the way that I give:
> > >>
> > >> PKG_SOURCE_URL:=git://thekelleys.org.uk/dnsmasq.git
> > >> PKG_SOURCE_PROTO:=git
> > >> PKG_SOURCE_DATE:=2024-03-27
> > >> PKG_SOURCE_VERSION:=550c368adea12b312f83686c61f9015c122046c2    # Treat cache insertion failure of DNSKEY and DS records as another resource problem and fail validation with suitable logging.
> > >> PKG_MIRROR_HASH:=284a34bdb967ec8a9dff132df065ca64e9a1819d79bb8cecee1af001e22d626c
> > >>
> > >> Before changing to zstd, the generated source tar ball contains a file 'VERSION' with content '$Format:%d$'. This does match the dnsmasq git repository. After changing to zstd, VERSION contains ' (HEAD, origin/master, origin/HEAD, master)'.
> > >>
> > >> Any idea why VERSION is manipulated?
> > >>
> > >> I generate automatically a patch which modifies VERSION to see the commit hash via logread. Applying the patch doesn't work any more.
> > >>
> > >> dnsmasq/patches/999-dnsmasq-version.patch:
> > >> diff --git a/VERSION b/VERSION
> > >> index 998eb1f..9977908 100644
> > >> --- a/VERSION
> > >> +++ b/VERSION
> > >> @@ -1 +1 @@
> > >> -$Format:%d$
> > >> + (master, v2.90deb2-8-g550c368, head)
> > >>
> > >
> > > Hi Hartmut,
> > > We are now using git-archive to make a tarball of git repositories in
> > > order to make them reproducible which fixes a long standing issue.
> > > git-archive respects .gitattributes so that along with:
> > > https://github.com/imp/dnsmasq/commit/2aaea18f432374fd062370f2d899e47849558b2f
> > >
> > > Is most likely the cause.
> >
> > I did add another static patch to solve the issue for me temporary:
> >
> > --- a/VERSION   2024-03-27 17:00:06.000000000 +0100
> > +++ b/VERSION   2024-03-27 17:00:06.000000000 +0100
> > @@ -1 +1 @@
> > - (HEAD, origin/master, origin/HEAD, master)
> > +$Format:%d$
> >
> > I generate 999-dnsmasq-version.patch via the following extension in the Makefile:
> >
> > define Build/Prepare
> >         mkdir -p $(TOPDIR)/tmp/dl && \
> >                 cd $(TOPDIR)/tmp/dl && \
> >                 rm -rf $(PKG_SOURCE_SUBDIR) && \
> >                 git clone -4 $(PKG_SOURCE_URL) $(PKG_SOURCE_SUBDIR) --recursive && \
> >                 cd $(PKG_SOURCE_SUBDIR) && \
> >                 git checkout $(PKG_SOURCE_VERSION) && \
> >                 version=`git describe` && \
> >                 echo " (master, $$$$version, head)" > VERSION && \
> >                 git diff VERSION > 999-dnsmasq-version.patch
> >         $(CP) $(TOPDIR)/tmp/dl/$(PKG_SOURCE_SUBDIR)/999-dnsmasq-version.patch ./patches
> >         touch -c -r ./Makefile ./patches/999-dnsmasq-version.patch
> >         cd $(TOPDIR)/tmp/dl && \
> >                 rm -rf $(PKG_SOURCE_SUBDIR)
> >         $(call Build/Prepare/Default)
> > endef
>
> Hi, can I ask what is the point though?
> That VERSION file contains a placeholder format specifier that is
> supposed to be filled with a version
> by git, it was most likely meant to be used with git-archive as
> .gitattributes specifies that VERSION should
> be updated.
>
> $Format:%d$ is just the format specifier placeholder to be replaced.

Hm, I might have understood your previous statement wrong because when
checking dnsmasq 2.90 tarball
on OpenWrt sources VERSION is clearly properly populated so
git-archive is most likely the culprit by
not populating it with the commit, tag etc but by just the remote and
branch names.

Regards,
Robert

>
> Regards,
> Robert
> >
> > Regards,
> > Hartmut
> >
> > >
> > > Regards,
> > > Robert
> > >
> > >> Regards,
> > >> Hartmut
> > >>
> > >> _______________________________________________
> > >> openwrt-devel mailing list
> > >> openwrt-devel at lists.openwrt.org
> > >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
> >



More information about the openwrt-devel mailing list