From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <48C40DCF.6040203@altlinux.ru> Date: Sun, 07 Sep 2008 21:22:23 +0400 From: =?KOI8-R?Q?=ED=C9=C8=C1=C9=CC_=F1=CB=D5=DB=C9=CE?= User-Agent: Thunderbird 2.0.0.14 (X11/20080513) MIME-Version: 1.0 To: ALT Linux kernel packages development References: <48C3E965.7010909@altlinux.ru> <48C40537.6030906@altlinux.ru> In-Reply-To: X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [d-kernel] =?koi8-r?b?88LP0svBIM3PxNXM0SBkcmJk?= X-BeenThere: devel-kernel@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux kernel packages development List-Id: ALT Linux kernel packages development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Sep 2008 17:23:57 -0000 Archived-At: List-Archive: List-Post: Eugene Prokopiev wrote: >>> А теперь новая проблема: в официальном тарболле drbd присутствует файл >>> drbd/drbd_buildtag.c, в git его нет. По содержимому файла понятно, что >>> он каким-то магическим образом генерируется. Как это происходит? >>> >>> Судя по >> http://git.altlinux.org/people/lakostis/packages/drbd-tools.git >>> с этой проблемой должен был столкнуться lakostis, но в спеке решения >>> не зафиксировано - уже готовый drbd/drbd_buildtag.c лежит в бранче >>> master и попадает в патч. Ау, lakostis, как ты генерировал этот файл? >>> >>> >> Этот файл вроде бы генерился толи скриптом идущем в составе tar-ballа толи >> деланием специального make-targetа > > в Makefile была цель, которую я было заподозрил, но она, насколько я > понимаю, уже с готовым drbd_buildtag.c что-то делает: > > # XXX this is newly created whenever the toplevel makefile does something. > # however it is NOT updated when you just do a make in user/ or drbd/ ... > # > # update of drbd_buildtag.c is forced: > .PHONY: drbd/drbd_buildtag.c > drbd/drbd_buildtag.c: > $(MAKE) -C drbd drbd_buildtag.c > > Других подозрительных мест я, перерыв весь тарболл, не нашел :( > в drbd-8.2 в drbd/Makefile: drbd_buildtag.c: @is_tarball=`test -e ../.git/. && echo false || echo true`;\ set -e; exec > $@.new; \ echo -e "/* automatically generated. DO NOT EDIT. */"; \ echo -e "const char * drbd_buildtag(void)\n{"; \ if $$is_tarball; then \ if ! test -e $@ ; then \ echo >&2 "your DRBD source tree is broken. unpack again."; \ exit 1; \ fi; \ grep return $@ ; \ else \ GITHEAD=$$(git-rev-parse HEAD); \ GITDIFF=$$(cd .. && git-diff --name-only HEAD | tr -s '\t\n' ' ' | \ sed -e 's/^/ /;s/ *$$//'); \ echo -e "\treturn \"GIT-hash: $$GITHEAD$$GITDIFF\""; \ fi ; \ echo -e "\t\t\" build by $$USER@$$HOSTNAME, `date "+%F %T"`\";\n}"; \ mv --force $@.new $@