Subject: Problems building rpm-dist

From: Alex Wallis <[email-masked]>
Date: Mon, 02 Sep 2002 01:03:08 +0930

I'm getting an error when doing a make rpm-dist

error: line 15: Illegal char '-' in version: Version:   2.5.4-devel

I think it should be 2.5.4_devel  or 2.5.4.devel instead.

Alex

-- 
Examinations are formidable even to the best prepared, for
even the greatest fool may ask more the the wisest man can answer.
                -- C.C. Colton
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Mikhael Goikhman <[email-masked]>
Date: Wed, 4 Sep 2002 07:50:55 +0000

> I think it should be 2.5.4_devel  or 2.5.4.devel instead.

Although 2.5.4_devel or 2.5.4.devel will work, my opinion is it should be
simply 2.5.4, just like we had for years. I am not sure it is good that we
develop one version and then someone releases a completly another one.
This makes hidden errors (similar to this one) impossible to find. I.e.
something works when version is, say 2.5.4-devel, but does not when 2.5.4
or vice versa.

IMO the development status of a package may be indicated by a file name
(like in snapshots) or -version, but not in the configure's version.

Additional problem with 2.5.4-devel is that this version is greater (more
recent) than 2.5.4 by most of version string comparators.

How about having DEVEL_STRING in configure that is used in -version,
fvwm-config and fvwm.1.in. It is " (devel)" or " (not released yet)"
for the developement versions and empty for the stable releases.
The VERSION is simply 2.5.4.

Regards,
Mikhael.

---

From: Mikhael Goikhman <[email-masked]>
Date: Wed, 4 Sep 2002 07:59:49 +0000

On 04 Sep 2002 07:50:55 +0000, Mikhael Goikhman wrote:
> 
> It is " (devel)" or " (not released yet)" for the developement versions
> and empty for the stable releases.

Hmm, I meant "releases" not "stable releases".
Such DEVEL_STRING may be even used in FvwmConsole and $v if you like.

Regards,
Mikhael.

---

From: Dominik Vogt <[email-masked]>
Date: Wed, 4 Sep 2002 11:00:45 +0200

> recent) than 2.5.4 by most of version string comparators.

Well, all I wanted was an indicator that someone is using cvs.  In
the past, people often said "I am using 2.x.y" and actually they
were running cvs code.  In the future they will hopefulle say "I
am running 2.x.y_devel".  No tarballs must ever be built and
distributed with this name.  Maybe "_cvs" is better as a suffix.

> The VERSION is simply 2.5.4.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, mail: [email-masked], phone: 0721/91374-382
Schlund + Partner AG, Erbprinzenstr. 4-12, D-76133 Karlsruhe
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Dominik Vogt <[email-masked]>
Date: Wed, 4 Sep 2002 11:02:01 +0200

> > and empty for the stable releases.

I missed that when reading your mail first.  The idea is that the
string is empty in *every* release.  The suffix is there only in
cvs between two releases.

Bye

Dominik ^_^  ^_^

---

From: Mikhael Goikhman <[email-masked]>
Date: Wed, 4 Sep 2002 10:02:17 +0000

> > Such DEVEL_STRING may be even used in FvwmConsole and $v if you like.

Communication problems again... :)

I know what is your idea. There is a difference between your solution
(changing the package version to indicate the cvs status) and my solution
(adding a human readable text to indicate the cvs status). Your solution
produces 2 problems: version comparision (2.5.4_cvs > 2.5.4) is wrong and
testing is harder, because on the last minute before a new release the
version is changed from the developed one.

I would only use x.y.z versions without any suffix and have another way
to indicate the cvs status. This seems the only good way for allowing
smooth snapshot rpm or dep packages. But I don't want to force this.

Regards,
Mikhael.

---

From: Dominik Vogt <[email-masked]>
Date: Wed, 4 Sep 2002 12:27:30 +0200

> smooth snapshot rpm or dep packages. But I don't want to force this.

Then how about fvwm_cvs-x.y.z instead?

Bye

Dominik ^_^  ^_^

---

From: Mikhael Goikhman <[email-masked]>
Date: Wed, 4 Sep 2002 10:44:35 +0000

> Then how about fvwm_cvs-x.y.z instead?

Oh, no, fvwm-x.y.z_cvs is much better. :)

I would like to know how other projects with cvs solve this. It seems that
for most of the projects the version in cvs is simply 2.5.4 (the future
release number) immediatelly after tagging the 2.5.3 release.

If the version is 2.5.4, but a user sees "2.5.4 (cvs)" in `fvwm -version`,
`fvwm-config` (but not `fvwm-config --version`), $v, in FvwmConsole, man
page and so on, does this accomplish your intend?

Regards,
Mikhael.

---

From: Dominik Vogt <[email-masked]>
Date: Wed, 4 Sep 2002 16:01:51 +0200

> Oh, no, fvwm-x.y.z_cvs is much better. :)

Coward ;-)

> page and so on, does this accomplish your intend?

Not really.  In this case I'd prefer the old way.  Either the
"cvs" name is used everywhere or nowhere, but not in some places
but not in others.  Actually, it should *really* be everywhere
where a user might see it:

 - configure summary
 - man page
 - fvwm --version
 - fvwm-config
 - tarball name
 - ...

Bye

Dominik ^_^  ^_^

---

From: Mikhael Goikhman <[email-masked]>
Date: Wed, 4 Sep 2002 16:44:58 +0000

On 04 Sep 2002 16:01:51 +0200, Dominik Vogt wrote:
> 
> Actually, it should *really* be everywhere where a user might see it:
> 
>  - configure summary
>  - man page
>  - fvwm --version
>  - fvwm-config
>  - tarball name
>  - ...

Actually, it should not be anywhere beside some human readable texts
and only because you want to give a user some indication.
If we add the _cvs suffix, we may just add _final, _stable, _cvsstable,
_cvs_20020904. But is the version string the right place for this?
>From the technical point of view, all final versions are tagged.
If we don't tag 2.5.4_cvs and it will just eventually become 2.5.4,
there is no need of such version, it only confises package managers.

You want to use a version as an indicator, this may work, and this is not
unacceptable, but there are reasons why I prefer not to do this. I prefer,
instead, to print a human readable suffix " (cvs)" or " (cvs 2002-09-04)"
in some places, and leave $VERSION to be x.y.z like external programs that
do arithmetics with this string expect (for example, rpm and fvwm-themes).

Regards,
Mikhael.

---

From: Dominik Vogt <[email-masked]>
Date: Wed, 4 Sep 2002 19:10:34 +0200

> do arithmetics with this string expect (for example, rpm and fvwm-themes).

I understand your point.  My point is:

 * Nobody except the developers should run fvwm-themes against
   CVS.  And I guess it isn't hard to chop off the suffix from the
   version number in cvs.
 * Nobody should build a tarball or rpm from CVS except for
   testing if the tarball builds.
 * I don't want to see "I have x.y.z" ever again when the user has
   the cvs sources.

See the list above.  These are all places where a user might look
to find out the release number and should all print "cvs" or
whatever as part of the version string.  I mean, in a way that the
user concludes that it's part of the version name.

I'd rather make some effort to filter out the suffix for tools
that can't handle it, but I'm open to a different solution that
achieve the same.  A human readable suffix is fine, but I guess

  "2.5.4 (cvs)"

would be reported as "2.5.4".

Bye

Dominik ^_^  ^_^

---

From: Dominik Vogt <[email-masked]>
Date: Wed, 4 Sep 2002 19:20:56 +0200

> would be reported as "2.5.4".

Will "2.5.04" or "2.5.4.0" work?

Bye

Dominik ^_^  ^_^

---

From: Mikhael Goikhman <[email-masked]>
Date: Wed, 4 Sep 2002 17:34:14 +0000

> Will "2.5.04" or "2.5.4.0" work?

Not any more than 2.5.4_cvs or 2.5.4.cvs.

Regards,
Mikhael.

---

From: Mikhael Goikhman <[email-masked]>
Date: Wed, 4 Sep 2002 17:53:28 +0000

>    CVS.  And I guess it isn't hard to chop off the suffix from the

It is possible to "correct" the version string once the rules are known.

>    testing if the tarball builds.

We discuss this only because someone do want to build daily rpms.
After all, I implemented "make rpm", so anyone may build an rpm from any
source (including snapshot and cvs) and install it on several machines.

Here it is possible to patch the "make rpm" procedure as well, but then
the resulting rpms will have another version than the source tarballs,
I would like to solve it more directly.

> user concludes that it's part of the version name.

I don't think in the past we had many users that did not mention they use
a snapshot or cvs. For me, it is not a requirement to always feed "cvs"
to a user. It is more important to make all possible automatical tools
happy. Also, saying "I use 2.5.4_cvs" does not help much. Saying "I use
fvwm-snap-20020904.tar.gz" or "I use 2.5.4 (from cvs 2002-09-04)" helps.

> would be reported as "2.5.4".

I will implement my solution (something in the middle) and if you don't
like it, just restore the current one or the old one, whatever you decide.
Hopefully we will not need to return to this discussion again.

Regards,
Mikhael.