public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* Re: [ITA] tcl-sqlite3
@ 2014-01-14 15:50 Jan Nijtmans
  2014-01-14 16:45 ` Corinna Vinschen
  2014-01-14 19:48 ` Yaakov (Cygwin/X)
  0 siblings, 2 replies; 22+ messages in thread
From: Jan Nijtmans @ 2014-01-14 15:50 UTC (permalink / raw)
  To: cygapps, Yaakov S, Warren Young

2014/1/14 Corinna Vinschen:
> I don't know much about sqlite, but your package content puzzles me:
>
>   usr/lib/sqlite3.8.2/pkgIndex.tcl
>   usr/lib/sqlite3.8.2/sqlite382.dll
>   usr/share/man/mann/sqlite3.n.gz

After some experimenting, I'm proposing the following layout:

   usr/lib/tcl8.5/sqlite3    ->  ../tcl8.6/sqlite3 (soft link)
   usr/lib/tcl8.6/sqlite3/pkgIndex.tcl
   usr/lib/tcl8.6/sqlite3/tclsqlite3.dll
   usr/share/man/mann/sqlite3.n.gz

This way, both Tcl 8.5 and 8.6 can find the package without
the need to duplicate anything. And the full version
numbers are gone. Is that better?

> Warren and Yaakov, what are you saying as sqlite and tcl maintainers?

I've copied the modified tar.xz files (setup.hint is unmodified)
to my dropbox area:

https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/setup.hint
https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz
https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/setup.hint
https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz

Thanks very much for your feedback!

Regards,
         Jan Nijtmans

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14 15:50 [ITA] tcl-sqlite3 Jan Nijtmans
@ 2014-01-14 16:45 ` Corinna Vinschen
  2014-01-14 19:30   ` Yaakov (Cygwin/X)
  2014-01-14 19:48 ` Yaakov (Cygwin/X)
  1 sibling, 1 reply; 22+ messages in thread
From: Corinna Vinschen @ 2014-01-14 16:45 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 1242 bytes --]

On Jan 14 16:50, Jan Nijtmans wrote:
> 2014/1/14 Corinna Vinschen:
> > I don't know much about sqlite, but your package content puzzles me:
> >
> >   usr/lib/sqlite3.8.2/pkgIndex.tcl
> >   usr/lib/sqlite3.8.2/sqlite382.dll
> >   usr/share/man/mann/sqlite3.n.gz
> 
> After some experimenting, I'm proposing the following layout:
> 
>    usr/lib/tcl8.5/sqlite3    ->  ../tcl8.6/sqlite3 (soft link)
>    usr/lib/tcl8.6/sqlite3/pkgIndex.tcl
>    usr/lib/tcl8.6/sqlite3/tclsqlite3.dll
>    usr/share/man/mann/sqlite3.n.gz
> 
> This way, both Tcl 8.5 and 8.6 can find the package without
> the need to duplicate anything. And the full version
> numbers are gone. Is that better?

That looks good to me, but I'm not a tcl expert.

And, having said that, I'm wondering why Cygwin has two dirs:

  /usr/lib/tcl8.5
  /usr/lib/tcl8

with the latter having two subdirs, 8.4 and 8.5.  What's the
deal here?

> > Warren and Yaakov, what are you saying as sqlite and tcl maintainers?

I'd still love to have some more feedback from Warren and Yaakov...


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14 16:45 ` Corinna Vinschen
@ 2014-01-14 19:30   ` Yaakov (Cygwin/X)
  2014-01-14 19:49     ` Corinna Vinschen
  0 siblings, 1 reply; 22+ messages in thread
From: Yaakov (Cygwin/X) @ 2014-01-14 19:30 UTC (permalink / raw)
  To: cygwin-apps

On 2014-01-14 10:45, Corinna Vinschen wrote:
> And, having said that, I'm wondering why Cygwin has two dirs:
>
>    /usr/lib/tcl8.5
>    /usr/lib/tcl8
>
> with the latter having two subdirs, 8.4 and 8.5.  What's the
> deal here?

There are two different ways of providing tcl extensions, packages and 
modules, the latter being new in 8.5 but AFAICS hasn't taken off.  You 
can read more about them here:

http://wiki.tcl.tk/37432
http://wiki.tcl.tk/12999


Yaakov

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14 15:50 [ITA] tcl-sqlite3 Jan Nijtmans
  2014-01-14 16:45 ` Corinna Vinschen
@ 2014-01-14 19:48 ` Yaakov (Cygwin/X)
  1 sibling, 0 replies; 22+ messages in thread
From: Yaakov (Cygwin/X) @ 2014-01-14 19:48 UTC (permalink / raw)
  To: cygwin-apps

On 2014-01-14 09:50, Jan Nijtmans wrote:
> After some experimenting, I'm proposing the following layout:
>
>     usr/lib/tcl8.5/sqlite3    ->  ../tcl8.6/sqlite3 (soft link)
>     usr/lib/tcl8.6/sqlite3/pkgIndex.tcl
>     usr/lib/tcl8.6/sqlite3/tclsqlite3.dll
>     usr/share/man/mann/sqlite3.n.gz
>
> This way, both Tcl 8.5 and 8.6 can find the package without
> the need to duplicate anything. And the full version
> numbers are gone. Is that better?

/usr/lib/tcl8.x is for the Tcl standard library; I don't think that 
other packages -- particularly those that aren't actually dependent on a 
particular version of Tcl -- belong there.


Yaakov

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14 19:30   ` Yaakov (Cygwin/X)
@ 2014-01-14 19:49     ` Corinna Vinschen
  2014-01-14 21:45       ` Yaakov (Cygwin/X)
  0 siblings, 1 reply; 22+ messages in thread
From: Corinna Vinschen @ 2014-01-14 19:49 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 872 bytes --]

On Jan 14 13:30, Yaakov (Cygwin/X) wrote:
> On 2014-01-14 10:45, Corinna Vinschen wrote:
> >And, having said that, I'm wondering why Cygwin has two dirs:
> >
> >   /usr/lib/tcl8.5
> >   /usr/lib/tcl8
> >
> >with the latter having two subdirs, 8.4 and 8.5.  What's the
> >deal here?
> 
> There are two different ways of providing tcl extensions, packages
> and modules, the latter being new in 8.5 but AFAICS hasn't taken
> off.  You can read more about them here:
> 
> http://wiki.tcl.tk/37432
> http://wiki.tcl.tk/12999

Ok, thanks.  Apart from that, would you mind to review the package and
give a GTG (or not)?  I'm just not feeling savvy enough, neither in tcl
nor in sqlite.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14 19:49     ` Corinna Vinschen
@ 2014-01-14 21:45       ` Yaakov (Cygwin/X)
  2014-01-15  9:13         ` Jan Nijtmans
  0 siblings, 1 reply; 22+ messages in thread
From: Yaakov (Cygwin/X) @ 2014-01-14 21:45 UTC (permalink / raw)
  To: cygwin-apps

On 2014-01-14 13:49, Corinna Vinschen wrote:
> Ok, thanks.  Apart from that, would you mind to review the package and
> give a GTG (or not)?  I'm just not feeling savvy enough, neither in tcl
> nor in sqlite.

I don't see any links to a -src package, or better yet, a URL to the 
.cygport and patches (if any).


Yaakov

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14 21:45       ` Yaakov (Cygwin/X)
@ 2014-01-15  9:13         ` Jan Nijtmans
  2014-01-20  3:52           ` Yaakov (Cygwin/X)
  0 siblings, 1 reply; 22+ messages in thread
From: Jan Nijtmans @ 2014-01-15  9:13 UTC (permalink / raw)
  To: cygapps

2014/1/14 Yaakov (Cygwin/X):
> I don't see any links to a -src package, or better yet, a URL to the
> .cygport and patches (if any).

That's because  the -src package is the same as
the "sqlite3" src package. Apparently that was not
clear enough from the mailed setup.hint file, it's
already uploaded to cygwin.com:
2014/1/13 Jan Nijtmans <jan.nijtmans@gmail.com>:
> =========================================
> tcl-sqlite3/setup.hint
...
> external-source: sqlite3    <<<<<<<<<<<<
> prev: 3.7.15.2-1
> curr: 3.8.2-3

However, the one with the latest modifications can be found here now:
    <https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/sqlite3-3.8.2-3-src.tar.xz>

2014/1/14 Warren Young <warren@etr-usa.com>:
> If it's hidden under /usr/lib/tcl or whatever, I don't see a problem with
> the fully-versioned library file.  It's only for tcl-sqlite's use, and it's
> behind a layer of indirection, so it can call its file whatever it wants.

It's not a problem, but partly-versioned (only the "3") library file
has the advantage that no uninstall needs to be done after
an upgrade to a higher version. The directory cannot
accidentally keep old versions of files around, every
upgrade will simply overwrite it with the new version.

If the filename is agreed upon, still agreement is needed on
the directory where those file should be installed. Using
/usr/lib/tcl8.x/sqlite3 is not strange at all: TEA dictates
that there should be a tclConfig.sh file in /usr/lib, but
Debian moves that to /usr/lib/tcl8.x as well. It's
already in the search path of Tcl, so it will work
without the need to patch Tcl itself.

Putting it in /usr/lib/tcl8.6/sqlite3, and create a link
in /usr/lib/tcl8.5 as well, has the advantage that
it is already ready for (my locally compiled) Tcl 8.6.
Of course, it could be the other way around
as well, but then I would like to to put a link
in /usr/lib/tcl8.6 anyway. It just depends on what
plans Cygwin has for Tcl 8.6 in the near future,
I simply don't know.

Summarised:

TEA (without full-version):
       /usr/lib/sqlite3/tclsqlite3.dll
       /usr/lib/sqlite3/pkgIndex.tcl

TM (Tcl module new style):
       /usr/lib/tcl8/8.5/sqlite3/tclsqlite3.dll
       /usr/lib/tcl8/8.5/sqlite3/sqlite3-3.8.2.tm
     (not a good idea, because tm-files are
      expected to contain the full version number)

My suggestion (looks like Fedora's "sqlite-tcl" package):
       /usr/lib/tcl8.5/sqlite3 -> ../tcl8.6/sqlite3
       /usr/lib/tcl8.6/sqlite3/tclsqlite3.dll
       /usr/lib/tcl8.6/sqlite3/pkgIndex.tcl
or
       /usr/lib/tcl8.6/sqlite3 -> ../tcl8.5/sqlite3
       /usr/lib/tcl8.5/sqlite3/tclsqlite3.dll
       /usr/lib/tcl8.5/sqlite3/pkgIndex.tcl

Who has the authority to make such decision? And who can
add the "tcl-sqlite3" package to cygwin-pkg-maint?

Thanks for all your cooperation!

Regards,
        Jan Nijtmans

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-15  9:13         ` Jan Nijtmans
@ 2014-01-20  3:52           ` Yaakov (Cygwin/X)
  2014-01-20  9:37             ` Jan Nijtmans
  0 siblings, 1 reply; 22+ messages in thread
From: Yaakov (Cygwin/X) @ 2014-01-20  3:52 UTC (permalink / raw)
  To: cygwin-apps

On 2014-01-15 03:12, Jan Nijtmans wrote:
> 2014/1/14 Yaakov (Cygwin/X):
>> I don't see any links to a -src package, or better yet, a URL to the
>> .cygport and patches (if any).
>
> That's because  the -src package is the same as
> the "sqlite3" src package.
> However, the one with the latest modifications can be found here now:
>      <https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/sqlite3-3.8.2-3-src.tar.xz>

What is the source of the ICU and zlib patches, and why have you added 
them?  ICU is a *huge* dependency for something as small as sqlite3.

Your src.patch includes an incorrect hunk for 
sqlite3.h:SQLITE_VERSION_NUMBER.  I also don't understand the reasoning 
for your tclsqlite3.c patches.

Also, you also clobbered the upstream README with a Cygwin-specific one; 
please don't do that.

> It's not a problem, but partly-versioned (only the "3") library file
> has the advantage that no uninstall needs to be done after
> an upgrade to a higher version. The directory cannot
> accidentally keep old versions of files around, every
> upgrade will simply overwrite it with the new version.

Huh?  setup will remove the previous version before installing the newer 
one anyway.

> If the filename is agreed upon, still agreement is needed on
> the directory where those file should be installed. Using
> /usr/lib/tcl8.x/sqlite3 is not strange at all: TEA dictates
> that there should be a tclConfig.sh file in /usr/lib, but
> Debian moves that to /usr/lib/tcl8.x as well. It's
> already in the search path of Tcl, so it will work
> without the need to patch Tcl itself.

No one's talking about patching Tcl.  The OOTB default works as well, 
and doesn't pollute a directory which is currently used solely for the 
standard library.

> TEA (without full-version):
> TM (Tcl module new style):
> My suggestion (looks like Fedora's "sqlite-tcl" package):

If it works, don't fix it.  IMO we should let TEA do its thing.

> And who can add the "tcl-sqlite3" package to cygwin-pkg-maint?

That's not necessary, as it will have an external-source: sqlite3.


Yaakov

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-20  3:52           ` Yaakov (Cygwin/X)
@ 2014-01-20  9:37             ` Jan Nijtmans
  2014-01-21 14:01               ` Corinna Vinschen
  0 siblings, 1 reply; 22+ messages in thread
From: Jan Nijtmans @ 2014-01-20  9:37 UTC (permalink / raw)
  To: cygapps

2014/1/20 Yaakov (Cygwin/X) <yselkowitz@users.sourceforge.net>:
> What is the source of the ICU and zlib patches, and why have you added them?
> ICU is a *huge* dependency for something as small as sqlite3.

ICU is a dependency on "sqlite3", but not for "libsqlite3_0". So applications
like Subversion don't get ICU as additional dependency. I don't think that
the "sqlite3" utility is used by many people. And the ones who do, expect
that lower() and upper() work for all Unicode characters. On the SQLite
mailing list I see messages regularly why SQLite doesn't have Unicode
support. So-far, no-one complained about this added dependency. A
solution might be a separate "sqlite3-icu" package, I'll consider that.
The source for "icu.c" is in the SQLite source code (unfortunately
not packed in the download). "zlib.c" is extracted from Fossil. I'm
planning to contribute that upstream as separate SQLite extension.

> Your src.patch includes an incorrect hunk for
> sqlite3.h:SQLITE_VERSION_NUMBER.  I also don't understand the reasoning for
> your tclsqlite3.c patches.
It's on purpose: Subversion internally checks for
   sqlite3_libversion_number() >= SQLITE_VERSION_NUMBER
which means that Subversion compiled against SQLite 3.8.2
headers won't run on SQLite 3.8.1 any more. This is nonsense,
and should be fixed upstream (in Subversion), but as long as
that's not done this hack works. David Rothenberger might also
patch Subversion for that, then I'm happy to undo this hack.

libsqlite3.7.15.2.dll exports the following symbols:
      Sqlite3_Init
      Sqlite3_Unload
      TclTomMathInitializeStubs
      Tcl_InitStubs
      Tclsqlite3_Init
      Tclsqlite3_Unload
      memcmp
      tclIntPlatStubsPtr
      tclIntStubsPtr
      tclIntPlatPtr
      tclStubsPtr
      tclTomMathStubsStubsPtr
Only the *_Init and *_Unload functions should be exported. That's
what another patch is for. Finally "win32-longpath" is a better
default VFS for Tcl as it gives less locking errors and handles
paths > 260 bytes better. As soon as the "unix-cygwin" VFS
is enhanced to handle that better (still on my TODO list), this
patch can be removed as well. But it's difficult to get Cygwin
patches adapted in SQLite upstream, Warren can confirm that ;-)

> Also, you also clobbered the upstream README with a Cygwin-specific one;
> please don't do that.

I'll undo that in my next version. Thanks!

> Huh?  setup will remove the previous version before installing the newer one
> anyway.

I didn't know that. Thanks!

> If it works, don't fix it.  IMO we should let TEA do its thing.

I'm willing to change that in my next version (assuming Corinna agrees
on that) .
SQLite 3.8.3 is going to be released in about 3 weeks anyway.

> That's not necessary, as it will have an external-source: sqlite3.

Then why are  "libsqlite3-devel" and "libsqlite3_0" listed there as
separate packages?

Thanks for all feedback!

Regards,
         Jan Nijtmans

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-20  9:37             ` Jan Nijtmans
@ 2014-01-21 14:01               ` Corinna Vinschen
  0 siblings, 0 replies; 22+ messages in thread
From: Corinna Vinschen @ 2014-01-21 14:01 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 856 bytes --]

On Jan 20 10:37, Jan Nijtmans wrote:
> 2014/1/20 Yaakov (Cygwin/X) <yselkowitz@users.sourceforge.net>:
> > What is the source of the ICU and zlib patches, and why have you added them?
> > ICU is a *huge* dependency for something as small as sqlite3.
> [etc]

Please, who uploaded the tcl-sqlite3-3.8.3-1 package?

It is broken, because it's missing its source package.  There's no
matching sqlite3-3.8.3-1-src.tar.xz file.

We're now constantly getting an upset message warning about this.

For now, I moved the tcl-sqlite3-3.8.3-1.tar.xz packages out of
the release areas.  Please make sure to provide only subpackages
for which the matching source package is available, too.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-21 14:07 Jan Nijtmans
@ 2014-01-21 16:26 ` Christopher Faylor
  0 siblings, 0 replies; 22+ messages in thread
From: Christopher Faylor @ 2014-01-21 16:26 UTC (permalink / raw)
  To: cygwin-apps

On Tue, Jan 21, 2014 at 03:07:28PM +0100, Jan Nijtmans wrote:
>2014/1/21 Corinna Vinschen:
>> Please make sure to provide only subpackages
>> for which the matching source package is available, too.
>
>Thank you, I didn't know that. My apologies!

You didn't know that the source package has to exist?  It's a free
software project.

I also added a '!email' file for you so that you can share in the fun of
getting upset messages.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
@ 2014-01-21 14:07 Jan Nijtmans
  2014-01-21 16:26 ` Christopher Faylor
  0 siblings, 1 reply; 22+ messages in thread
From: Jan Nijtmans @ 2014-01-21 14:07 UTC (permalink / raw)
  To: cygapps

2014/1/21 Corinna Vinschen:
> Please make sure to provide only subpackages
> for which the matching source package is available, too.

Thank you, I didn't know that. My apologies!

Regards,
       Jan Nijtmans

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14 20:52     ` Corinna Vinschen
@ 2014-01-14 21:39       ` Yaakov (Cygwin/X)
  0 siblings, 0 replies; 22+ messages in thread
From: Yaakov (Cygwin/X) @ 2014-01-14 21:39 UTC (permalink / raw)
  To: cygwin-apps

On 2014-01-14 14:52, Corinna Vinschen wrote:
> In how far does that affect the filename?  We're adding new APIs
> to Cygwin all the time, but the DLL is still called cygwin1.dll.
> And that's how it works for any other DLL as well as long as it
> doesn't break backward compatibility, API-wise.

This is a loadable module, not a link library, and unlike other language 
interpreters which load extensions directly based on file name, Tcl 
package-type extensions are loaded based on a metadata file 
(pkgIndex.tcl).  It is actually typical of Tcl extensions to be 
versioned in this way.


Yaakov

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14 20:34   ` Warren Young
@ 2014-01-14 20:52     ` Corinna Vinschen
  2014-01-14 21:39       ` Yaakov (Cygwin/X)
  0 siblings, 1 reply; 22+ messages in thread
From: Corinna Vinschen @ 2014-01-14 20:52 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 1271 bytes --]

On Jan 14 13:34, Warren Young wrote:
> On 1/14/2014 05:44, Corinna Vinschen wrote:
> >
> >Also, even if sqlite3.8.2 and sqlite382.dll works, it's kind of
> >puzzeling.  Are you saying using sqlite3 and libtclsqlite3.so on Fedora
> >is wrong, not following TEA?  It's much easier to grok and doesn't
> >wrongly imply it only works on a specificx sqlite 3.x.x version, IMHO.
> 
> Yaakov makes a good point: the whole idea of tcl-sqlite is that it
> wraps the SQLite 3 API exactly, so when new public APIs get exported
> by SQLite, new APIs appear in the Tcl wrapper.  Therefore, a new
> version of tcl-sqlite really *could* depend on a specific version of
> SQLite, if the API changed.

In how far does that affect the filename?  We're adding new APIs
to Cygwin all the time, but the DLL is still called cygwin1.dll.
And that's how it works for any other DLL as well as long as it
doesn't break backward compatibility, API-wise.

It's your and Yaakov's call eventually, so I retract all my idle
musings in terms of the file or directory names.  Just let Jan know
how you want to have it.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-13 10:57 Jan Nijtmans
  2014-01-14  9:55 ` Corinna Vinschen
@ 2014-01-14 20:39 ` Warren Young
  1 sibling, 0 replies; 22+ messages in thread
From: Warren Young @ 2014-01-14 20:39 UTC (permalink / raw)
  To: Cygwin Apps List

On 1/13/2014 03:57, Jan Nijtmans wrote:
> I assume someone (other than Warren Young)
> uploaded it as part of the Cygwin64 bootstrap process.

Yep, not me.  Probably Yaakov.

> I'm not sure if a GTG is needed from another package maintainer,

If you've written a new .cygport file, I think you should seek a GTG.

A second pair of eyeballs can't hurt.

> otherwise Warren Young would be the most logical choice.

Not really.  I've never used tcl-sqlite, and I haven't used Tcl in at 
least a dozen years.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14 12:45 ` Corinna Vinschen
@ 2014-01-14 20:34   ` Warren Young
  2014-01-14 20:52     ` Corinna Vinschen
  0 siblings, 1 reply; 22+ messages in thread
From: Warren Young @ 2014-01-14 20:34 UTC (permalink / raw)
  To: cygwin-apps

On 1/14/2014 05:44, Corinna Vinschen wrote:
>
> Also, even if sqlite3.8.2 and sqlite382.dll works, it's kind of
> puzzeling.  Are you saying using sqlite3 and libtclsqlite3.so on Fedora
> is wrong, not following TEA?  It's much easier to grok and doesn't
> wrongly imply it only works on a specificx sqlite 3.x.x version, IMHO.

Yaakov makes a good point: the whole idea of tcl-sqlite is that it wraps 
the SQLite 3 API exactly, so when new public APIs get exported by 
SQLite, new APIs appear in the Tcl wrapper.  Therefore, a new version of 
tcl-sqlite really *could* depend on a specific version of SQLite, if the 
API changed.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14  9:55 ` Corinna Vinschen
@ 2014-01-14 19:16   ` Yaakov (Cygwin/X)
  0 siblings, 0 replies; 22+ messages in thread
From: Yaakov (Cygwin/X) @ 2014-01-14 19:16 UTC (permalink / raw)
  To: cygwin-apps

On 2014-01-14 03:55, Corinna Vinschen wrote:
> I don't know much about sqlite, but your package content puzzles me:
>
>    usr/lib/sqlite3.8.2/pkgIndex.tcl
>    usr/lib/sqlite3.8.2/sqlite382.dll
>    usr/share/man/mann/sqlite3.n.gz
>
> This looks only vaguely related to tcl.  I see that the existing
> tcl-sqlite3-3.7.15.2-1.tar.bz2 in the 64 bit distro looks similar,

Yes, that's the default TEA layout.

> but it's bound against sqlite-3.7.15.2, so it probably won't work
> with recent sqlite versions anyway.

It should still work, it just won't have bindings for the newest 
features in sqlite-3.8.x.

> I really don't quite grok the directory layout and the naming.
>
> I took a look into the Fedora package, which is called "sqlite-tcl".
> It provides
>
>    /usr/lib/tcl8.5/sqlite3
>    /usr/lib/tcl8.5/sqlite3/libtclsqlite3.so
>    /usr/lib/tcl8.5/sqlite3/pkgIndex.tcl
>
> That makes more sense to me:
>
> - As a tcl package the shared lib should be under /usr/lib/tcl8.5

Not necessarily.  Packages built with Tcl stubs are not linked to 
libtcl8.5 and should be compatible with any (at least newer) version of 
Tcl without having to be rebuilt.

> - The subdir and the shared lib shouldn't have the *exact* name of
>    the sqlite version, otherwise they don't make sense anymore if
>    sqlite gets updated to, say, 3.8.3.

Tcl extensions are loaded via pkgIndex.tcl, so the module name itself is 
irrelevant.


Yaakov

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
@ 2014-01-14 12:56 Jan Nijtmans
  0 siblings, 0 replies; 22+ messages in thread
From: Jan Nijtmans @ 2014-01-14 12:56 UTC (permalink / raw)
  To: cygapps

2014/1/14 Corinna Vinschen:
> That's not what I meant.  What I meant is that Tcl extras are installed
> under /usr/lib/tcl, not directly under /usr/lib.  I have no idea about
> the TEA, but it looks wrong to install Tcl stuff to /usr/lib.  Perl
> stuff is under /usr/lib/perl, python stuff is under /usr/lib/python,
> ruby stuff is under /usr/lib/ruby... you get the idea.

Agreed. Then it's most logical to install in /usr/lib/tcl. I'll do that.

> Also, even if sqlite3.8.2 and sqlite382.dll works, it's kind of
> puzzeling.  Are you saying using sqlite3 and libtclsqlite3.so on Fedora
> is wrong, not following TEA?  It's much easier to grok and doesn't
> wrongly imply it only works on a specificx sqlite 3.x.x version, IMHO.

No, I'm not implying at all that Fedora (or Cygwin) is wrong
at following TEA. TEA is designed to be able to install
multiple versions of Tcl extensions next to each other,
so if there are incompatible changes each Tcl application
can choose which one it wants. Sqlite3 is very careful
keeping upwards compatibility, so I would say
Sqlite doesn't need that. And I don't intend to support
multiple tcl-sqlite3 versions anyway. I have no problem
at all patching the TEA build scripts for that, just
as Fedora did.

Thanks!
        Jan Nijtmans

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-14 12:15 Jan Nijtmans
@ 2014-01-14 12:45 ` Corinna Vinschen
  2014-01-14 20:34   ` Warren Young
  0 siblings, 1 reply; 22+ messages in thread
From: Corinna Vinschen @ 2014-01-14 12:45 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 2208 bytes --]

On Jan 14 13:15, Jan Nijtmans wrote:
> 2014/1/14 Corinna Vinschen:
> > I don't know much about sqlite, but your package content puzzles me:
> >
> >   usr/lib/sqlite3.8.2/pkgIndex.tcl
> >   usr/lib/sqlite3.8.2/sqlite382.dll
> >   usr/share/man/mann/sqlite3.n.gz
> >
> > This looks only vaguely related to tcl.  I see that the existing
> > tcl-sqlite3-3.7.15.2-1.tar.bz2 in the 64 bit distro looks similar,
> > but it's bound against sqlite-3.7.15.2, so it probably won't work
> > with recent sqlite versions anyway.
> 
> Well, I tested it, and the tcl-sqlite-3.7.15.2 package works
> fine together with the sqlite-3.8.2 package: All sqlite3
> package are binary upwards compatible.
> 
> > I really don't quite grok the directory layout and the naming.
> 
> Without patching, the TEA (Tcl Extension Architecture) is
> followed, of course I can patch it to whatever structure
> is required for Cygwin. Thanks!
> 
> > I took a look into the Fedora package, which is called "sqlite-tcl".
> > It provides
> >
> >   /usr/lib/tcl8.5/sqlite3
> >   /usr/lib/tcl8.5/sqlite3/libtclsqlite3.so
> >   /usr/lib/tcl8.5/sqlite3/pkgIndex.tcl
> >
> > That makes more sense to me:
> 
> My tcl-sqlite3 build works with both Tcl 8.5 and 8.6 without
> re-compilation. Of course I could install copies in both
> /usr/lib/tcl8.5 and /usr/lib/tcl8.6, if that is desired, but
> both copies would just be identical.

That's not what I meant.  What I meant is that Tcl extras are installed
under /usr/lib/tcl, not directly under /usr/lib.  I have no idea about
the TEA, but it looks wrong to install Tcl stuff to /usr/lib.  Perl
stuff is under /usr/lib/perl, python stuff is under /usr/lib/python,
ruby stuff is under /usr/lib/ruby... you get the idea.

Also, even if sqlite3.8.2 and sqlite382.dll works, it's kind of
puzzeling.  Are you saying using sqlite3 and libtclsqlite3.so on Fedora
is wrong, not following TEA?  It's much easier to grok and doesn't
wrongly imply it only works on a specificx sqlite 3.x.x version, IMHO.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
@ 2014-01-14 12:15 Jan Nijtmans
  2014-01-14 12:45 ` Corinna Vinschen
  0 siblings, 1 reply; 22+ messages in thread
From: Jan Nijtmans @ 2014-01-14 12:15 UTC (permalink / raw)
  To: cygapps, Yaakov S, Warren Young

2014/1/14 Corinna Vinschen:
> I don't know much about sqlite, but your package content puzzles me:
>
>   usr/lib/sqlite3.8.2/pkgIndex.tcl
>   usr/lib/sqlite3.8.2/sqlite382.dll
>   usr/share/man/mann/sqlite3.n.gz
>
> This looks only vaguely related to tcl.  I see that the existing
> tcl-sqlite3-3.7.15.2-1.tar.bz2 in the 64 bit distro looks similar,
> but it's bound against sqlite-3.7.15.2, so it probably won't work
> with recent sqlite versions anyway.

Well, I tested it, and the tcl-sqlite-3.7.15.2 package works
fine together with the sqlite-3.8.2 package: All sqlite3
package are binary upwards compatible.

> I really don't quite grok the directory layout and the naming.

Without patching, the TEA (Tcl Extension Architecture) is
followed, of course I can patch it to whatever structure
is required for Cygwin. Thanks!

> I took a look into the Fedora package, which is called "sqlite-tcl".
> It provides
>
>   /usr/lib/tcl8.5/sqlite3
>   /usr/lib/tcl8.5/sqlite3/libtclsqlite3.so
>   /usr/lib/tcl8.5/sqlite3/pkgIndex.tcl
>
> That makes more sense to me:

My tcl-sqlite3 build works with both Tcl 8.5 and 8.6 without
re-compilation. Of course I could install copies in both
/usr/lib/tcl8.5 and /usr/lib/tcl8.6, if that is desired, but
both copies would just be identical.

Regards,
         Jan Nijtmans

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ITA] tcl-sqlite3
  2014-01-13 10:57 Jan Nijtmans
@ 2014-01-14  9:55 ` Corinna Vinschen
  2014-01-14 19:16   ` Yaakov (Cygwin/X)
  2014-01-14 20:39 ` Warren Young
  1 sibling, 1 reply; 22+ messages in thread
From: Corinna Vinschen @ 2014-01-14  9:55 UTC (permalink / raw)
  To: cygwin-apps; +Cc: Yaakov S, Warren Young

[-- Attachment #1: Type: text/plain, Size: 2728 bytes --]

Hi Jan,

On Jan 13 11:57, Jan Nijtmans wrote:
> Cygwin64 has an exisiting "tcl-sqlite3" package
> (version 3.7.15.2-1) which doesn't exist in
> Cygwin32. This package is not in cygwin-pkg-maint,
> so I assume someone (other than Warren Young)
> uploaded it as part of the Cygwin64 bootstrap process.
> This package was very useful to me: The source code
> of the bindings is already included in the sqlite3 source
> package, all that needed to be added is a few lines
> to actually build it. I think it is useful to more people
> than only me: It is part of the "batteries included"
> Tcl 8.6 package, but it works fine with Tcl 8.5
> as well without re-compilation (I tested it with both!)
> 
> I'm thus offering to take over the following package:
> - tcl-sqlite3
> 
> Following http://cygwin.com/setup.html, I've copied the
> assorted setup.hint files below and uploaded the packages
> to my dropbox area:
> 
> https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/setup.hint
> https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz
> https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/setup.hint
> https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz
> 
> I'm not sure if a GTG is needed from another package maintainer,
> otherwise Warren Young would be the most logical choice. Anyway,
> whatever feedback from Warren (or anyone else) is appreciated!

I don't know much about sqlite, but your package content puzzles me:

  usr/lib/sqlite3.8.2/pkgIndex.tcl
  usr/lib/sqlite3.8.2/sqlite382.dll
  usr/share/man/mann/sqlite3.n.gz

This looks only vaguely related to tcl.  I see that the existing
tcl-sqlite3-3.7.15.2-1.tar.bz2 in the 64 bit distro looks similar,
but it's bound against sqlite-3.7.15.2, so it probably won't work
with recent sqlite versions anyway.

I really don't quite grok the directory layout and the naming.

I took a look into the Fedora package, which is called "sqlite-tcl".
It provides

  /usr/lib/tcl8.5/sqlite3
  /usr/lib/tcl8.5/sqlite3/libtclsqlite3.so
  /usr/lib/tcl8.5/sqlite3/pkgIndex.tcl

That makes more sense to me:

- As a tcl package the shared lib should be under /usr/lib/tcl8.5

- The subdir and the shared lib shouldn't have the *exact* name of
  the sqlite version, otherwise they don't make sense anymore if
  sqlite gets updated to, say, 3.8.3.

Warren and Yaakov, what are you saying as sqlite and tcl maintainers?


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [ITA] tcl-sqlite3
@ 2014-01-13 10:57 Jan Nijtmans
  2014-01-14  9:55 ` Corinna Vinschen
  2014-01-14 20:39 ` Warren Young
  0 siblings, 2 replies; 22+ messages in thread
From: Jan Nijtmans @ 2014-01-13 10:57 UTC (permalink / raw)
  To: cygapps

Cygwin64 has an exisiting "tcl-sqlite3" package
(version 3.7.15.2-1) which doesn't exist in
Cygwin32. This package is not in cygwin-pkg-maint,
so I assume someone (other than Warren Young)
uploaded it as part of the Cygwin64 bootstrap process.
This package was very useful to me: The source code
of the bindings is already included in the sqlite3 source
package, all that needed to be added is a few lines
to actually build it. I think it is useful to more people
than only me: It is part of the "batteries included"
Tcl 8.6 package, but it works fine with Tcl 8.5
as well without re-compilation (I tested it with both!)

I'm thus offering to take over the following package:
- tcl-sqlite3

Following http://cygwin.com/setup.html, I've copied the
assorted setup.hint files below and uploaded the packages
to my dropbox area:

https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/setup.hint
https://dl.dropboxusercontent.com/u/69449580/Cygwin/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz
https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/setup.hint
https://dl.dropboxusercontent.com/u/69449580/Cygwin64/sqlite3/tcl-sqlite3/tcl-sqlite3-3.8.2-3.tar.xz

I'm not sure if a GTG is needed from another package maintainer,
otherwise Warren Young would be the most logical choice. Anyway,
whatever feedback from Warren (or anyone else) is appreciated!

Jan Nijtmans

=========================================
tcl-sqlite3/setup.hint
category: Database Tcl
requires: libsqlite3_0 tcl
sdesc: "Tcl bindings for SQLite"
ldesc: "SQLite is a C library that implements an embeddable SQL database
engine.  Programs that link with the SQLite library can have SQL
database access without running a separate RDBMS process. The
distribution comes with a standalone command-line access program
(sqlite3) that can be used to administer an SQLite database and which
serves as an example of how to use the SQLite library."
external-source: sqlite3
prev: 3.7.15.2-1
curr: 3.8.2-3

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2014-01-21 16:26 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-14 15:50 [ITA] tcl-sqlite3 Jan Nijtmans
2014-01-14 16:45 ` Corinna Vinschen
2014-01-14 19:30   ` Yaakov (Cygwin/X)
2014-01-14 19:49     ` Corinna Vinschen
2014-01-14 21:45       ` Yaakov (Cygwin/X)
2014-01-15  9:13         ` Jan Nijtmans
2014-01-20  3:52           ` Yaakov (Cygwin/X)
2014-01-20  9:37             ` Jan Nijtmans
2014-01-21 14:01               ` Corinna Vinschen
2014-01-14 19:48 ` Yaakov (Cygwin/X)
  -- strict thread matches above, loose matches on Subject: below --
2014-01-21 14:07 Jan Nijtmans
2014-01-21 16:26 ` Christopher Faylor
2014-01-14 12:56 Jan Nijtmans
2014-01-14 12:15 Jan Nijtmans
2014-01-14 12:45 ` Corinna Vinschen
2014-01-14 20:34   ` Warren Young
2014-01-14 20:52     ` Corinna Vinschen
2014-01-14 21:39       ` Yaakov (Cygwin/X)
2014-01-13 10:57 Jan Nijtmans
2014-01-14  9:55 ` Corinna Vinschen
2014-01-14 19:16   ` Yaakov (Cygwin/X)
2014-01-14 20:39 ` Warren Young

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).