From: Gene Czarcinski <gene@czarc.net>
To: Hugo Mills <hugo@carfax.org.uk>,
dsterba@suse.cz, chris.mason@fusionio.com,
linux-btrfs@vger.kernel.org
Subject: Re: [GIT PULL] btrfs-progs: more bugfixes for 0.20-rc1
Date: Fri, 18 Jan 2013 11:48:45 -0500 [thread overview]
Message-ID: <50F97CED.2040701@czarc.net> (raw)
In-Reply-To: <20130118155535.GB5406@carfax.org.uk>
On 01/18/2013 10:55 AM, Hugo Mills wrote:
> On Fri, Jan 18, 2013 at 10:49:20AM -0500, Gene Czarcinski wrote:
>> On 01/18/2013 09:44 AM, David Sterba wrote:
>>> On Fri, Jan 18, 2013 at 09:16:00AM -0500, Gene Czarcinski wrote:
>>>>> Sergei Trofimovich (1):
>>>>> version.sh: fix version when built from tarball
>>>> While you are about it, how about adding in this fix from Dieter Ries to fix
>>>> version a little more:
>>>> http://article.gmane.org/gmane.comp.file-systems.btrfs/20069
>>> I did not notice it before, but Dieter's patch does not work when progs
>>> are built from .git repository
>>>
>>> -echo "#define BTRFS_BUILD_VERSION \"Btrfs $v\"" >> .build-version.h
>>> +echo "#define BTRFS_BUILD_VERSION \"$v\"" >> .build-version.h
>>>
>>> $v is set with the git tag, so the "Btrfs" string does not appear in the
>>> output (eg. mkfs.btrfs).
>>>
>>> Technically, $v should always contain some sort of a tag, Sergei's patch
>>> hardcodes it to the latest one for the non-git case. This is IMHO the
>>> right approach.
>>>
>> OK, I see what you mean. However, the current situation when btrfs
>> is built from a tarball results in:
>>
>>> btrfs --version
>> Btrfs Btrfs v0.19
> I guess one problem here is that there's no canonical way of
> generating a tarball (without the git files) from a git checkout, with
> detailed version information. So what's happening, I suspect, is that
> the distributions/people producing source tarballs of btrfs-progs are
> checking out the git tree, deleting .git, and tarring up that, which
> loses any git versioning.
>
> I think a solution may be to have a "dist" or "tar" make target
> which does the above automatically and includes a suitably-generated
> version.h in the tarball.
>
> Hugo.
If you use gitweb to addess btrfs-progs.git, there is a very nice label
"snapshot" beside each commit entry and clicking it will get you a
tarball of the tree from that point.
I am a newbie at the git stuff but it seems to me that a few more
branches are needed with stable branches marked as such and one or more
unstable development branches ... at least that is what I have seen done
on other projects such as NetworkManager and libvirt. The branch will
then include a hardcoded value for the version id which will/can be
different in each branch. And they also usually have a "make dist"
which packages things up into a tarball.
The snapshot-tarball from gitweb includes the first part of the git
commit id. It is just that it is not included in a file. The tarball
does not includes only ".gitignore". Rpms (and I assume the debian
packages also) are based on tarball source with additional patches as
necessary. I have seen only one fedora package actually use git in the
rpm and that was grub2.
While running stuff directly from a local git repository may be nice for
developer, actual inclusion in a distribution package will (I believe)
be via tarball.
>
>> and
>>
>>> mkfs.btrfs -V
>> mkfs.btrfs, part of Btrfs Btrfs v0.19
>>
>> There must be a way to reliably just have one "Btrfs" and I will
>> look into it.
>>
As I was sitting here typing this message, the "solution" occurred to me:
Do not use Dieter's patch because it is unnecessary ... Sergei's patch
does things correctly already.
Sorry for the noise on the list. However, I do suggest that more git
branches be used rather than having everything under "master".
next prev parent reply other threads:[~2013-01-18 16:48 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-17 17:47 [GIT PULL] btrfs-progs: more bugfixes for 0.20-rc1 David Sterba
2013-01-17 17:51 ` Chris Mason
2013-01-18 17:32 ` Goffredo Baroncelli
2013-01-18 14:16 ` Gene Czarcinski
2013-01-18 14:44 ` David Sterba
2013-01-18 15:49 ` Gene Czarcinski
2013-01-18 15:55 ` Hugo Mills
2013-01-18 16:48 ` Gene Czarcinski [this message]
2013-01-18 15:33 ` Gene Czarcinski
2013-01-18 17:22 ` David Sterba
2013-01-18 21:02 ` Gene Czarcinski
2013-01-21 10:50 ` David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50F97CED.2040701@czarc.net \
--to=gene@czarc.net \
--cc=chris.mason@fusionio.com \
--cc=dsterba@suse.cz \
--cc=hugo@carfax.org.uk \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.