Skip to contentSkip to conversation

expect: bump to version 5.45.3

PATCH New Fabio Porcedda 3 participants 17 messages Apr 18, 2015 – Apr 22, 2015

lore
Share & tools
lore
#0 lore raw

cover expect: bump to version 5.45.3

This patch set update the package expect and because the version 5.45.3 version is aviable only in cvs without a tag add the possibility to use a date to download from cvs.

Best regards

Fabio Porcedda (3):
support/download/cvs: add support to use a date instead of a tag
manual: cvs: document that a date can be used instead of a tag
expect: bump to version 5.45.3

 docs/manual/adding-packages-generic.txt |  2 +-
 package/expect/expect.hash              |  2 --
 package/expect/expect.mk                |  5 ++---
 support/download/cvs                    | 10 +++++++++-
 4 files changed, 12 insertions(+), 7 deletions(-)
 delete mode 100644 package/expect/expect.hash
Signature · 1 line
2.3.5
#1 lore raw

PATCH 1/3 support/download/cvs: add support to use a date instead of a tag

This is useful when a tag is not avaiable.

---
 support/download/cvs | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
support/download/cvs +9 -1
index 2c3a666..6491cc8 100755
@@ -26,7 +26,15 @@ rev="${3}"
 rawname="${4}"
 basename="${5}"
 
+if [[ ${rev} =~ ^[0-9] ]]; then
+    # Date, because a tag cannot begin with a number
+    select="-D ${rev}"
+else
+    # Tag
+    select=-"r :${rev}"
+fi
+
 ${CVS} ${verbose} -z3 -d":pserver:anonymous@${repo}" \
-       co -d "${basename}" -r ":${rev}" -P "${rawname}"
+       co -d "${basename}" ${select} -P "${rawname}"
 
 tar czf "${output}" "${basename}"
Signature · 1 line
2.3.5
#2 lore raw

PATCH 1/3 support/download/cvs: add support to use a date instead of a tag

Fabio, All,

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

Quoted 3 lines

This is useful when a tag is not avaiable.

Although I'm not a big fan of the [[...]] bashism, that's OK since it makes things so much simpler.

Regards,
Yann E. MORIN.

Quoted 28 lines
---
 support/download/cvs | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
support/download/cvs +9 -1
index 2c3a666..6491cc8 100755
@@ -26,7 +26,15 @@ rev="${3}"
 rawname="${4}"
 basename="${5}"
 
+if [[ ${rev} =~ ^[0-9] ]]; then
+    # Date, because a tag cannot begin with a number
+    select="-D ${rev}"
+else
+    # Tag
+    select=-"r :${rev}"
+fi
+
 ${CVS} ${verbose} -z3 -d":pserver:anonymous@${repo}" \
-       co -d "${basename}" -r ":${rev}" -P "${rawname}"
+       co -d "${basename}" ${select} -P "${rawname}"
 
 tar czf "${output}" "${basename}"
Signature · 1 line
2.3.5
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 2/3 manual: cvs: document that a date can be used instead of a tag

In reply to Fabio Porcedda

Also instead of using the generic word "timestamp" use the word "tag".

---
 docs/manual/adding-packages-generic.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
docs/manual/adding-packages-generic.txt +1 -1
index 8cf6bb6..be754a2 100644
@@ -280,7 +280,7 @@ information is (assuming the package name is +libfoo+) :
      Only anonymous pserver mode is supported.
      +LIBFOO_SITE+ 'must' contain the source URL as well as the remote
      repository directory. The module is the package name.
-     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a timestamp.
+     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag or a date.
   ** +git+ for retrieving source code from a Git repository. Used by
      default when +LIBFOO_SITE+ begins with +git://+. The downloaded
      source code is cached as with the +svn+
Signature · 1 line
2.3.5
#4 lore raw

PATCH 2/3 manual: cvs: document that a date can be used instead of a tag

Fabio, All,

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

Quoted 12 lines

Also instead of using the generic word "timestamp" use the word "tag".

---
 docs/manual/adding-packages-generic.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
docs/manual/adding-packages-generic.txt +0 -0
index 8cf6bb6..be754a2 100644

docs/manual/adding-packages-generic.txt information is (assuming the package name is +libfoo+) : · line 283

Quoted 5 lines
docs/manual/adding-packages-generic.txt +1 -1
@@ -280,7 +280,7 @@ information is (assuming the package name is +libfoo+) :
      Only anonymous pserver mode is supported.
      +LIBFOO_SITE+ 'must' contain the source URL as well as the remote
      repository directory. The module is the package name.
-     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a timestamp.
+     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag or a date.

I'd like we document the format of the date we recognise. Because, IIRC, cvs accepts 'yesterday' as a date format, and that would be interpreted as a tag with the current code.

So maybe, just state something like:

... or a date (YYYYMMDD:hhmmss)

Or whatever is a date format recognised.

Regards,
Yann E. MORIN.

Quoted 6 lines
docs/manual/adding-packages-generic.txt +0 -0
   ** +git+ for retrieving source code from a Git repository. Used by
      default when +LIBFOO_SITE+ begins with +git://+. The downloaded
      source code is cached as with the +svn+
Signature · 1 line
2.3.5
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH 2/3 manual: cvs: document that a date can be used instead of a tag

Quoted 25 lines · Yann E. MORIN

Fabio, All,

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

Quoted 12 lines

Also instead of using the generic word "timestamp" use the word "tag".

---
 docs/manual/adding-packages-generic.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
docs/manual/adding-packages-generic.txt +0 -0
index 8cf6bb6..be754a2 100644

docs/manual/adding-packages-generic.txt information is (assuming the package name is +libfoo+) : · line 283

Quoted 5 lines
docs/manual/adding-packages-generic.txt +1 -1
@@ -280,7 +280,7 @@ information is (assuming the package name is +libfoo+) :
      Only anonymous pserver mode is supported.
      +LIBFOO_SITE+ 'must' contain the source URL as well as the remote
      repository directory. The module is the package name.
-     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a timestamp.
+     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag or a date.

I'd like we document the format of the date we recognise. Because, IIRC, cvs accepts 'yesterday' as a date format, and that would be interpreted as a tag with the current code.

Quoted 3 lines

So maybe, just state something like:

... or a date (YYYYMMDD:hhmmss)

What about this:
(<YYYY>-<MM>-<DD>[T<HH><MM>[<SS>]] e.g 2015-12-20 or 2015-12-20T1010)

Quoted 2 lines

Or whatever is a date format recognised.

Thanks for reviewing.

Signature · 1 line
Fabio Porcedda
#6 lore raw

PATCH 2/3 manual: cvs: document that a date can be used instead of a tag

Quoted 26 lines · Fabio Porcedda
Quoted 25 lines · Yann E. MORIN

Fabio, All,

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

Quoted 12 lines

Also instead of using the generic word "timestamp" use the word "tag".

---
 docs/manual/adding-packages-generic.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
docs/manual/adding-packages-generic.txt +0 -0
index 8cf6bb6..be754a2 100644

docs/manual/adding-packages-generic.txt information is (assuming the package name is +libfoo+) : · line 283

Quoted 5 lines
docs/manual/adding-packages-generic.txt +1 -1
@@ -280,7 +280,7 @@ information is (assuming the package name is +libfoo+) :
      Only anonymous pserver mode is supported.
      +LIBFOO_SITE+ 'must' contain the source URL as well as the remote
      repository directory. The module is the package name.
-     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a timestamp.
+     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag or a date.

I'd like we document the format of the date we recognise. Because, IIRC, cvs accepts 'yesterday' as a date format, and that would be interpreted as a tag with the current code.

Quoted 6 lines
Quoted 3 lines

So maybe, just state something like:

... or a date (YYYYMMDD:hhmmss)

What about this:
(<YYYY>-<MM>-<DD>[T<HH><MM>[<SS>]] e.g 2015-12-20 or 2015-12-20T1010)

Can a timezone be added to that? Playing with dates and times without timezone
is dangerous.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#7 lore raw

PATCH 2/3 manual: cvs: document that a date can be used instead of a tag

Quoted 29 lines · Arnout Vandecappelle
Quoted 28 lines · Fabio Porcedda
Quoted 27 lines · Yann E. MORIN

Fabio, All,

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

Quoted 12 lines

Also instead of using the generic word "timestamp" use the word "tag".

---
 docs/manual/adding-packages-generic.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
docs/manual/adding-packages-generic.txt +0 -0
index 8cf6bb6..be754a2 100644

docs/manual/adding-packages-generic.txt information is (assuming the package name is +libfoo+) : · line 283

Quoted 5 lines
docs/manual/adding-packages-generic.txt +1 -1
@@ -280,7 +280,7 @@ information is (assuming the package name is +libfoo+) :
      Only anonymous pserver mode is supported.
      +LIBFOO_SITE+ 'must' contain the source URL as well as the remote
      repository directory. The module is the package name.
-     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a timestamp.
+     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag or a date.

I'd like we document the format of the date we recognise. Because, IIRC, cvs accepts 'yesterday' as a date format, and that would be interpreted as a tag with the current code.

So maybe, just state something like:

Quoted 7 lines
Quoted 4 lines
Quoted 1 line

... or a date (YYYYMMDD:hhmmss)

What about this:
(<YYYY>-<MM>-<DD>[T<HH><MM>[<SS>]] e.g 2015-12-20 or 2015-12-20T1010)

Can a timezone be added to that? Playing with dates and times without timezone
is dangerous.

This one works: (<YYYY>-<MM>-<DD>[T<HH>:<MM>[:<SS>][-<ZZ>] e.g 2015-12-20 or 2015-12-20T10:10-00)

But to made it works I must replace the ":" with "_":

index bdb26b8..2beb529 100644

package/pkg-generic.mk +0 -0
@@ -325,14 +325,14 @@ $(2)_RAWNAME                      =  $$(patsubst

host-%,%,$(1))
ifndef $(2)_VERSION
ifdef $(3)_VERSION
$(2)_DL_VERSION := $$(strip $$($(3)_VERSION))
- $(2)_VERSION := $$(subst /,_,$$(strip $$($(3)_VERSION)))
+ $(2)_VERSION := $$(subst :,_,$$(subst /,_,$$(strip $$($(3)_VERSION)))) else
$(2)_VERSION = undefined
$(2)_DL_VERSION = undefined
endif
else
$(2)_DL_VERSION := $$(strip $$($(2)_VERSION))
- $(2)_VERSION := $$(strip $$(subst /,_,$$($(2)_VERSION)))
+ $(2)_VERSION := $$(strip $$(subst :,_,$$(subst /,_,$$($(2)_VERSION)))) endif

BR

Signature · 1 line
Fabio Porcedda
#8 lore raw

PATCH 2/3 manual: cvs: document that a date can be used instead of a tag

Quoted 32 lines · Fabio Porcedda
Quoted 31 lines · Arnout Vandecappelle
Quoted 30 lines · Fabio Porcedda
Quoted 28 lines · Yann E. MORIN

Fabio, All,

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

Quoted 12 lines

Also instead of using the generic word "timestamp" use the word "tag".

---
 docs/manual/adding-packages-generic.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
docs/manual/adding-packages-generic.txt +0 -0
index 8cf6bb6..be754a2 100644

docs/manual/adding-packages-generic.txt information is (assuming the package name is +libfoo+) : · line 283

Quoted 5 lines
docs/manual/adding-packages-generic.txt +1 -1
@@ -280,7 +280,7 @@ information is (assuming the package name is +libfoo+) :
      Only anonymous pserver mode is supported.
      +LIBFOO_SITE+ 'must' contain the source URL as well as the remote
      repository directory. The module is the package name.
-     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a timestamp.
+     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag or a date.

I'd like we document the format of the date we recognise. Because, IIRC, cvs accepts 'yesterday' as a date format, and that would be interpreted as a tag with the current code.

So maybe, just state something like:

... or a date (YYYYMMDD:hhmmss)

Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

What about this:
(<YYYY>-<MM>-<DD>[T<HH><MM>[<SS>]] e.g 2015-12-20 or 2015-12-20T1010)

Can a timezone be added to that? Playing with dates and times without timezone
is dangerous.

This one works: (<YYYY>-<MM>-<DD>[T<HH>:<MM>[:<SS>][-<ZZ>] e.g 2015-12-20 or 2015-12-20T10:10-00)

Well, the example should include a timezone and mention that adding a timezone
is advisable.

Alternatively, we could specifies that times are in UTC and set TZ=UTC in the
cvs helper.

Quoted 2 lines

But to made it works I must replace the ":" with "_":

Why? The / substitution is only needed because VERSION is used in filenames,
and : is fine in filenames, no?

Regards,
Arnout

Quoted 23 lines

index bdb26b8..2beb529 100644

package/pkg-generic.mk +2 -2
@@ -325,14 +325,14 @@ $(2)_RAWNAME                      =  $$(patsubst
 host-%,%,$(1))
 ifndef $(2)_VERSION
  ifdef $(3)_VERSION
   $(2)_DL_VERSION := $$(strip $$($(3)_VERSION))
-  $(2)_VERSION := $$(subst /,_,$$(strip $$($(3)_VERSION)))
+  $(2)_VERSION := $$(subst :,_,$$(subst /,_,$$(strip $$($(3)_VERSION))))
  else
   $(2)_VERSION = undefined
   $(2)_DL_VERSION = undefined
  endif
 else
   $(2)_DL_VERSION := $$(strip $$($(2)_VERSION))
-  $(2)_VERSION := $$(strip $$(subst /,_,$$($(2)_VERSION)))
+  $(2)_VERSION := $$(strip $$(subst :,_,$$(subst /,_,$$($(2)_VERSION))))
 endif
 

BR

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#9 lore raw

PATCH 2/3 manual: cvs: document that a date can be used instead of a tag

Quoted 36 lines · Arnout Vandecappelle
Quoted 35 lines · Fabio Porcedda
Quoted 34 lines · Arnout Vandecappelle
Quoted 32 lines · Fabio Porcedda
Quoted 25 lines · Yann E. MORIN

Fabio, All,

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

Quoted 12 lines

Also instead of using the generic word "timestamp" use the word "tag".

---
 docs/manual/adding-packages-generic.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
docs/manual/adding-packages-generic.txt +0 -0
index 8cf6bb6..be754a2 100644

docs/manual/adding-packages-generic.txt information is (assuming the package name is +libfoo+) : · line 283

Quoted 5 lines
docs/manual/adding-packages-generic.txt +1 -1
@@ -280,7 +280,7 @@ information is (assuming the package name is +libfoo+) :
      Only anonymous pserver mode is supported.
      +LIBFOO_SITE+ 'must' contain the source URL as well as the remote
      repository directory. The module is the package name.
-     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a timestamp.
+     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag or a date.

I'd like we document the format of the date we recognise. Because, IIRC, cvs accepts 'yesterday' as a date format, and that would be interpreted as a tag with the current code.

Quoted 3 lines

So maybe, just state something like:

... or a date (YYYYMMDD:hhmmss)

What about this:
(<YYYY>-<MM>-<DD>[T<HH><MM>[<SS>]] e.g 2015-12-20 or 2015-12-20T1010)

Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

Can a timezone be added to that? Playing with dates and times without timezone
is dangerous.

This one works: (<YYYY>-<MM>-<DD>[T<HH>:<MM>[:<SS>][-<ZZ>] e.g 2015-12-20 or 2015-12-20T10:10-00)

Well, the example should include a timezone and mention that adding a timezone
is advisable.

Ok.

Quoted 2 lines

Alternatively, we could specifies that times are in UTC and set TZ=UTC in the
cvs helper.

Fine for me.
Yann what do you think about it?

Quoted 6 lines
Quoted 3 lines

But to made it works I must replace the ":" with "_":

Why? The / substitution is only needed because VERSION is used in filenames,
and : is fine in filenames, no?

The colon is fine for filenames, neverthless if i don't replace it, I get this error:

$ make expect-source
package/expect/expect.mk:19: *** target pattern contains no '%'.  Stop.
Quoted 11 lines
Quoted 11 lines

index bdb26b8..2beb529 100644

package/pkg-generic.mk +1 -1
@@ -325,14 +325,14 @@ $(2)_RAWNAME                      =  $$(patsubst
 host-%,%,$(1))
 ifndef $(2)_VERSION
  ifdef $(3)_VERSION
   $(2)_DL_VERSION := $$(strip $$($(3)_VERSION))
-  $(2)_VERSION := $$(subst /,_,$$(strip $$($(3)_VERSION)))
+  $(2)_VERSION := $$(subst :,_,$$(subst /,_,$$(strip $$($(3)_VERSION))))
  else
Quoted 8 lines

package/pkg-generic.mk $(2)_RAWNAME = $$(patsubst · line 337

Quoted 8 lines
package/pkg-generic.mk +1 -1
   $(2)_VERSION = undefined
   $(2)_DL_VERSION = undefined
  endif
 else
   $(2)_DL_VERSION := $$(strip $$($(2)_VERSION))
-  $(2)_VERSION := $$(strip $$(subst /,_,$$($(2)_VERSION)))
+  $(2)_VERSION := $$(strip $$(subst :,_,$$(subst /,_,$$($(2)_VERSION))))
 endif

BR

Signature · 1 line
Fabio Porcedda
#10 lore raw

PATCH 2/3 manual: cvs: document that a date can be used instead of a tag

Fabio, Gustavo, All,

On 2015-04-22 10:03 +0200, Fabio Porcedda spake thusly:

Quoted 2 lines · Arnout Vandecappelle
Quoted 1 line · Fabio Porcedda

[--SNIP--]

Quoted 5 lines
Quoted 5 lines
Quoted 2 lines

This one works: (<YYYY>-<MM>-<DD>[T<HH>:<MM>[:<SS>][-<ZZ>] e.g 2015-12-20 or 2015-12-20T10:10-00)

Well, the example should include a timezone and mention that adding a timezone
is advisable.

Quoted 7 lines

Ok.

Quoted 2 lines

Alternatively, we could specifies that times are in UTC and set TZ=UTC in the
cvs helper.

Fine for me.
Yann what do you think about it?

I don't care. But what if a user specifies a timezone?

The tricky part with dealing with date (aka human date and timei) is exactly that: having to deal with it. It is very complex to parse a date in a reliable manner.

So we can't really validate a date. I'd rather we allow the full range of dates supported by cvs, and let it deal with whatever the user provides, and if that's incorrect, let cvs fail, not us (well, we'd eventually fail, but not on our will).

Quoted 10 lines
Quoted 4 lines
Quoted 1 line

But to made it works I must replace the ":" with "_":

Why? The / substitution is only needed because VERSION is used in filenames,
and : is fine in filenames, no?

The colon is fine for filenames, neverthless if i don't replace it, I get this error:

$ make expect-source
package/expect/expect.mk:19: *** target pattern contains no '%'.  Stop.

Yes, because the $(@D) contains the version string, and it is a make goal. So, we'd end up wth something like;

    foo-2015-04-22T18:26/.stamp_extracted:
        blabla

Notice that there are two columns, and that is not valid make syntax (AFAIR).

Which make me think: "2015-04-22 18:26" is an equally valid date, and we do not really support spaces in paths, so we'd have to also replaces spaces as well.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#11 lore raw

PATCH 2/3 manual: cvs: document that a date can be used instead of a tag

Quoted 13 lines · Yann E. MORIN

Fabio, Gustavo, All,

On 2015-04-22 10:03 +0200, Fabio Porcedda spake thusly:

Quoted 2 lines · Arnout Vandecappelle
Quoted 1 line · Fabio Porcedda

[--SNIP--]

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

This one works: (<YYYY>-<MM>-<DD>[T<HH>:<MM>[:<SS>][-<ZZ>] e.g 2015-12-20 or 2015-12-20T10:10-00)

Well, the example should include a timezone and mention that adding a timezone
is advisable.

Ok.

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

Alternatively, we could specifies that times are in UTC and set TZ=UTC in the
cvs helper.

Fine for me.
Yann what do you think about it?

I don't care. But what if a user specifies a timezone?

Then the user-specified timezone overrides the environment, so the user gets
exactly what he expects. So I think setting TZ=UTC is the best option.

Quoted 9 lines

The tricky part with dealing with date (aka human date and timei) is exactly that: having to deal with it. It is very complex to parse a date in a reliable manner.

So we can't really validate a date. I'd rather we allow the full range of dates supported by cvs, and let it deal with whatever the user provides, and if that's incorrect, let cvs fail, not us (well, we'd eventually fail, but not on our will).

Well, it was never the intention that we would parse it, just that we provide
an example of a valid date.

Quoted 9 lines
Quoted 9 lines
Quoted 5 lines
Quoted 2 lines

But to made it works I must replace the ":" with "_":

Why? The / substitution is only needed because VERSION is used in filenames,
and : is fine in filenames, no?

The colon is fine for filenames, neverthless if i don't replace it, I get this error:

Quoted 8 lines
Quoted 2 lines
$ make expect-source
package/expect/expect.mk:19: *** target pattern contains no '%'.  Stop.

Yes, because the $(@D) contains the version string, and it is a make goal. So, we'd end up wth something like;

    foo-2015-04-22T18:26/.stamp_extracted:
        blabla

Actually it's in this rule:

$(1)-install-target: $$($(2)_TARGET_INSTALL_TARGET)
which expands to
foo-install-target: foo-2015-04-22T18:26/.stamp_target_installed

Quoted 7 lines

Notice that there are two columns, and that is not valid make syntax (AFAIR).

Which make me think: "2015-04-22 18:26" is an equally valid date, and we do not really support spaces in paths, so we'd have to also replaces spaces as well.

Right!

Regards,
Arnout

Quoted 4 lines

Regards,
Yann E. MORIN.

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#12 lore raw

PATCH 2/3 manual: cvs: document that a date can be used instead of a tag

In reply to Fabio Porcedda

Fabio, All,

On 2015-04-19 12:08 +0200, Fabio Porcedda spake thusly:

Quoted 2 lines · Yann E. MORIN
Quoted 1 line

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

[--SNIP--]

Quoted 7 lines
Quoted 7 lines

docs/manual/adding-packages-generic.txt information is (assuming the package name is +libfoo+) : · line 283

Quoted 2 lines
docs/manual/adding-packages-generic.txt +1 -1
-     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a timestamp.
+     +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag or a date.

I'd like we document the format of the date we recognise. Because, IIRC, cvs accepts 'yesterday' as a date format, and that would be interpreted as a tag with the current code.

Quoted 6 lines
Quoted 3 lines

So maybe, just state something like:

... or a date (YYYYMMDD:hhmmss)

What about this:
(<YYYY>-<MM>-<DD>[T<HH><MM>[<SS>]] e.g 2015-12-20 or 2015-12-20T1010)

Well, this is exactly RFC3339;
    https://tools.ietf.org/html/rfc3339#section-5.8

So we may just state smehing along the lines of:

... or a date (formatted as defined in
https://tools.ietf.org/html/rfc3339[RFC 3339]).

But I'd have to agree that it is not user-friendly, so we still want a complete example, like so:

    ... or a date (formatted as defined in https://tools.ietf.org/html/rfc3339[RFC 3339],
    like <YYYY>-<MM>-<DD>[T<HH>:<MM>[:<SS>[.sss]]] e.g 2015-12-20 or 2015-12-20T10:10 or
    even 2015-12-20T16:42:12.467923; for complet ereference, see the
    http://sunsite.ualberta.ca/Documentation/Gnu/cvs-1.12.11/cvs.html#Date-input-formats[CVS
    manual]).

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#13 lore raw

PATCH 3/3 expect: bump to version 5.45.3

In reply to Fabio Porcedda

Download it from the cvs repository because it is not avaialbe as a downloadable file.
Also because a tag isn't avaiable use the date.

---
 package/expect/expect.hash | 2 --
 package/expect/expect.mk   | 5 ++---
 2 files changed, 2 insertions(+), 5 deletions(-)
 delete mode 100644 package/expect/expect.hash
package/expect/expect.hash deleted +0 -2
deleted file mode 100644
index 09e68e7..0000000
@@ -1,2 +0,0 @@
-# Locally computed:
-sha256  b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040  expect5.45.tar.gz
package/expect/expect.mk +2 -3
index 8ef7e90..513be8f 100644
@@ -4,9 +4,8 @@
 #
 ################################################################################
 
-EXPECT_VERSION = 5.45
-EXPECT_SOURCE = expect$(EXPECT_VERSION).tar.gz
-EXPECT_SITE = http://downloads.sourceforge.net/project/expect/Expect/$(EXPECT_VERSION)
+EXPECT_VERSION = 2014/05/02 # v5.45.3
+EXPECT_SITE = cvs://expect.cvs.sourceforge.net:/cvsroot/expect
 EXPECT_LICENSE = Public domain
 EXPECT_LICENSE_FILES = README
 
Signature · 1 line
2.3.5
#14 lore raw

PATCH 3/3 expect: bump to version 5.45.3

Fabio, All,

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

Quoted 24 lines

Download it from the cvs repository because it is not avaialbe as a downloadable file.
Also because a tag isn't avaiable use the date.

---
 package/expect/expect.hash | 2 --
 package/expect/expect.mk   | 5 ++---
 2 files changed, 2 insertions(+), 5 deletions(-)
 delete mode 100644 package/expect/expect.hash
package/expect/expect.hash deleted +0 -2
deleted file mode 100644
index 09e68e7..0000000
@@ -1,2 +0,0 @@
-# Locally computed:
-sha256  b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040  expect5.45.tar.gz
package/expect/expect.mk +0 -0
index 8ef7e90..513be8f 100644

package/expect/expect.mk line 7

Quoted 7 lines
package/expect/expect.mk +1 -3
@@ -4,9 +4,8 @@
 #
 ################################################################################
 
-EXPECT_VERSION = 5.45
-EXPECT_SOURCE = expect$(EXPECT_VERSION).tar.gz
-EXPECT_SITE = http://downloads.sourceforge.net/project/expect/Expect/$(EXPECT_VERSION)
+EXPECT_VERSION = 2014/05/02 # v5.45.3

Do not put comments after the variable definition, it breaks things.

Note that the example we have in the manual is wrong. Care to address that as well, please?

Regards,
Yann E. MORIN.

Quoted 7 lines
package/expect/expect.mk +1 -0
+EXPECT_SITE = cvs://expect.cvs.sourceforge.net:/cvsroot/expect
 EXPECT_LICENSE = Public domain
 EXPECT_LICENSE_FILES = README
 
Signature · 1 line
2.3.5
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#15 lore raw

PATCH 3/3 expect: bump to version 5.45.3

Quoted 30 lines · Yann E. MORIN

Fabio, All,

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

Quoted 27 lines

Download it from the cvs repository because it is not avaialbe as a downloadable file.
Also because a tag isn't avaiable use the date.

---
 package/expect/expect.hash | 2 --
 package/expect/expect.mk   | 5 ++---
 2 files changed, 2 insertions(+), 5 deletions(-)
 delete mode 100644 package/expect/expect.hash
package/expect/expect.hash deleted +0 -2
deleted file mode 100644
index 09e68e7..0000000
@@ -1,2 +0,0 @@
-# Locally computed:
-sha256  b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040  expect5.45.tar.gz
package/expect/expect.mk +0 -0
index 8ef7e90..513be8f 100644
@@ -4,9 +4,8 @@
 #
 ################################################################################
 
Quoted 6 lines

package/expect/expect.mk line 7

Quoted 4 lines
package/expect/expect.mk +1 -3
-EXPECT_VERSION = 5.45
-EXPECT_SOURCE = expect$(EXPECT_VERSION).tar.gz
-EXPECT_SITE = http://downloads.sourceforge.net/project/expect/Expect/$(EXPECT_VERSION)
+EXPECT_VERSION = 2014/05/02 # v5.45.3

Do not put comments after the variable definition, it breaks things.

Could you explain it?

Quoted 2 lines

Note that the example we have in the manual is wrong. Care to address that as well, please?

Sure

Thanks for reviewing.

Signature · 1 line
Fabio Porcedda
#16 lore raw

PATCH 3/3 expect: bump to version 5.45.3

Fabio, All,

On 2015-04-19 12:12 +0200, Fabio Porcedda spake thusly:

Quoted 2 lines · Yann E. MORIN
Quoted 1 line

On 2015-04-18 18:54 +0200, Fabio Porcedda spake thusly:

[--SNIP--]

Quoted 5 lines
Quoted 3 lines
Quoted 1 line

+EXPECT_VERSION = 2014/05/02 # v5.45.3

Do not put comments after the variable definition, it breaks things.

Could you explain it?

I'm not sure what's going on here, but we've observed failures with that, most notably when downloading via git, and removing the comment made the error vanish.

One wild guess is that the space(s) between the version and the '#' are part of the value, and that breaks later on. Really, just a wild guess...

Quoted 4 lines
Quoted 2 lines

Note that the example we have in the manual is wrong. Care to address that as well, please?

Sure

Thanks! :-)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'