|
From: Vincent T. <vt...@un...> - 2011-07-30 11:08:45
|
Hey First, I recall my repo : http://dev.enlightenment.fr/~doursse/mingw32-efl/ Basically, the problem is: I have pkg1, pkg2, and pkg3 which depends on pkg1 and pkg2. 1) i clear all my files (I uninstall my packages, and I delete xml and archives files) a) mingw-get update (nothing wrong) b) mingw-get install pkg1 or pkg2 (nothing wrong) 2) i clear all my files (I uninstall my packages, and I delete xml and archives files) a) mingw-get update (nothing wrong) b) mingw-get install pkg3 * pkg3 and pkg2 are installed * there is an error when trying to download pkg1 Exemple with my repository : mingw-get install libcurl $ mingw-get install libcurl Update catalogue: efl-package-list.xml Update catalogue: mingw32-jpeg.xml Update catalogue: mingw32-freetype.xml Update catalogue: mingw32-libpng.xml Update catalogue: mingw32-libtiff.xml Update catalogue: mingw32-libgpg-error.xml Update catalogue: mingw32-libgcrypt.xml Update catalogue: mingw32-libssh2.xml Update catalogue: mingw32-gnutls.xml Update catalogue: mingw32-libidn.xml Update catalogue: mingw32-c-ares.xml Update catalogue: mingw32-rtmpdump.xml Update catalogue: mingw32-curl.xml Update catalogue: mingw32-lua.xml mingw-get.exe: *** ERROR *** curl-7.21.7-mingw32-dll.tar.lzma: requires... mingw-get.exe: *** ERROR *** gnutls-2.12.7-mingw32-*-dll.tar: unresolved dependency (type 'eq') mingw-get.exe: *** ERROR *** gnutls-2.12.7-mingw32-*-dll.tar: cannot identify any providing package mingw-get.exe: *** ERROR *** please report this to the package maintainer mingw-get.exe: *** ERROR *** curl-7.21.7-mingw32-dll.tar.lzma: requires... mingw-get.exe: *** ERROR *** gnutls-2.12.7-mingw32-*-dll.tar: unresolved dependency (type 'eq') mingw-get.exe: *** ERROR *** gnutls-2.12.7-mingw32-*-dll.tar: cannot identify any providing package mingw-get.exe: *** ERROR *** please report this to the package maintainer mingw-get.exe: *** ERROR *** curl-7.21.7-mingw32-dll.tar.lzma: requires... mingw-get.exe: *** ERROR *** gnutls-2.12.7-mingw32-*-dll.tar: unresolved dependency (type 'eq') mingw-get.exe: *** ERROR *** gnutls-2.12.7-mingw32-*-dll.tar: cannot identify any providing package mingw-get.exe: *** ERROR *** please report this to the package maintainer mingw-get.exe: *** ERROR *** curl-7.21.7-mingw32-dll.tar.lzma: requires... mingw-get.exe: *** ERROR *** rtmpdump-2.3-mingw32-*-dll.tar: unresolved dependency (type 'eq') mingw-get.exe: *** ERROR *** rtmpdump-2.3-mingw32-*-dll.tar: cannot identify any providing package mingw-get.exe: *** ERROR *** please report this to the package maintainer http://dev.enlightenment.fr/~doursse/mingw32-efl/packages/libgpg-error/libgpg-error-1.10/libgpg-error-1.10-mingw32-dll.tar.lzma 22.83 kB / 22.83 kB |================================================| 100% http://dev.enlightenment.fr/~doursse/mingw32-efl/packages/libgcrypt/libgcrypt-1.5.0/libgcrypt-1.5.0-mingw32-dll.tar.lzma 204.56 kB / 204.56 kB |================================================| 100% http://dev.enlightenment.fr/~doursse/mingw32-efl/packages/libssh2/libssh2-1.2.8/libssh2-1.2.8-mingw32-dll.tar.lzma 64.21 kB / 64.21 kB |================================================| 100% http://dev.enlightenment.fr/~doursse/mingw32-efl/packages/libidn/libidn-1.22/libidn-1.22-mingw32-dll.tar.lzma 36.26 kB / 36.26 kB |================================================| 100% http://dev.enlightenment.fr/~doursse/mingw32-efl/packages/c-ares/c-ares-1.7.4/c-ares-1.7.4-mingw32-dll.tar.lzma 25.73 kB / 25.73 kB |================================================| 100% http://dev.enlightenment.fr/~doursse/mingw32-efl/packages/curl/curl-7.21.7/curl-7.21.7-mingw32-dll.tar.lzma 126.51 kB / 126.51 kB |================================================| 100% install: libgpg-error-1.10-mingw32-dll.tar.lzma installing libgpg-error-1.10-mingw32-dll.tar.lzma install: libgcrypt-1.5.0-mingw32-dll.tar.lzma installing libgcrypt-1.5.0-mingw32-dll.tar.lzma install: libssh2-1.2.8-mingw32-dll.tar.lzma installing libssh2-1.2.8-mingw32-dll.tar.lzma install: libidn-1.22-mingw32-dll.tar.lzma installing libidn-1.22-mingw32-dll.tar.lzma install: c-ares-1.7.4-mingw32-dll.tar.lzma installing c-ares-1.7.4-mingw32-dll.tar.lzma install: curl-7.21.7-mingw32-dll.tar.lzma installing curl-7.21.7-mingw32-dll.tar.lzma So it does not find the gnutls archive, while mingw-get install libgnutls works. I double check the directories, but i think that i have looked at that repository too much, so another look might be helpful. Any idea what is wrong ? thank you Vincent Torri |
|
From: Keith M. <kei...@us...> - 2011-07-30 13:29:37
|
On 30/07/11 12:08, Vincent Torri wrote:
> mingw-get.exe: *** ERROR *** curl-7.21.7-mingw32-dll.tar.lzma: requires...
> mingw-get.exe: *** ERROR *** gnutls-2.12.7-mingw32-*-dll.tar: unresolved dependency (type 'eq')
> mingw-get.exe: *** ERROR *** gnutls-2.12.7-mingw32-*-dll.tar: cannot identify any providing package
> mingw-get.exe: *** ERROR *** please report this to the package maintainer
>
> ...snip...
>
> So it does not find the gnutls archive, while
>
> mingw-get install libgnutls
>
> works. I double check the directories, but i think that i have looked at
> that repository too much, so another look might be helpful.
>
> Any idea what is wrong ?
Without looking at the actual XML content, the above suggests that your
"requires" statement within the "curl-dll" package is:
<requires eq="gnutls-2.12.7-mingw32-*-dll.tar"/>
which mingw-get reads as an instruction to look for the gnutls-dll in a
package specified something like:
<package-collection subsystem="mingw32">
...
<package name="mingw32-gnutils" alias="gnutls">
<component class="dll">
...
</component>
</package>
</package-collection>
whereas, in reality you have:
...
<package name="mingw32-libgnutls" alias="libgnutls">
...
or similar. The name attributes don't match, so the dependency isn't
resolved.
Do note that this isn't a downloading issue. The "*** ERROR ***"
messages you see are generated during construction of the dependency
graph, before any downloading commences; mingw-get simply knows that
there is a dependency, but it can't work out what package is needed to
resolve it, because you don't specify a "gnutls" package which provides
the required dll component.
I guess you need to write the dependency specification as:
<requires eq="libgnutls-2.12.7-mingw32-*-dll.tar"/>
You might find it helpful to run this specification through pkginfo:
$ ./pkginfo.exe libgnutls-2.12.7-mingw32-*-dll.tar
Package Name: libgnutls
Package Version: 2.12.7
Package Build: <unspecified>
Subsystem Name: mingw32
Subsystem Version: *
Subsystem Build: <unspecified>
Release Status: <unspecified>
Release Reference: <unspecified>
Component Type: dll
Component Version: <unspecified>
Archive Format: tar
Compression Type <unspecified>
The "Package Name:" element here *must* match either the "name"
attribute, or any one the the space separated alternatives within an
"alias" attribute in the providing "package" specification element, and
the "Component Type:" element must match the "class" attribute of a
"component" element contained within that "package" element.
BTW,
> $ mingw-get install libcurl
> Update catalogue: efl-package-list.xml
> Update catalogue: mingw32-jpeg.xml
> Update catalogue: mingw32-freetype.xml
>
> ...
>
> Update catalogue: mingw32-curl.xml
> Update catalogue: mingw32-lua.xml
You might consider adding the "efl-" prefix to *all* your catalogue
names, (not just to the primary package list), to avoid any possible
contention with similarly named catalogues from other repositories. One
day I'll get around to hashing catalogue names, per repository, to avoid
such contentions, but for now, declaring your own "namespace" is the
best practice to adopt; (unadorned "mingw32" or "msys" might be
construed as trampling on ours).
--
Regards,
Keith.
|
|
From: Vincent T. <vt...@un...> - 2011-07-30 15:30:17
|
Hey On Sat, 30 Jul 2011, Keith Marshall wrote: > On 30/07/11 12:08, Vincent Torri wrote: >> mingw-get.exe: *** ERROR *** curl-7.21.7-mingw32-dll.tar.lzma: requires... >> mingw-get.exe: *** ERROR *** gnutls-2.12.7-mingw32-*-dll.tar: unresolved dependency (type 'eq') >> mingw-get.exe: *** ERROR *** gnutls-2.12.7-mingw32-*-dll.tar: cannot identify any providing package >> mingw-get.exe: *** ERROR *** please report this to the package maintainer >> >> ...snip... >> >> So it does not find the gnutls archive, while >> >> mingw-get install libgnutls >> >> works. I double check the directories, but i think that i have looked at >> that repository too much, so another look might be helpful. >> >> Any idea what is wrong ? > > Without looking at the actual XML content, the above suggests that your > "requires" statement within the "curl-dll" package is: > > <requires eq="gnutls-2.12.7-mingw32-*-dll.tar"/> > > which mingw-get reads as an instruction to look for the gnutls-dll in a > package specified something like: > > <package-collection subsystem="mingw32"> > ... > <package name="mingw32-gnutils" alias="gnutls"> > <component class="dll"> > ... > </component> > </package> > </package-collection> > > whereas, in reality you have: > > ... > <package name="mingw32-libgnutls" alias="libgnutls"> > ... > > or similar. The name attributes don't match, so the dependency isn't > resolved. ok. Indeed, it works now, thank you. > Do note that this isn't a downloading issue. The "*** ERROR ***" > messages you see are generated during construction of the dependency > graph, before any downloading commences; mingw-get simply knows that > there is a dependency, but it can't work out what package is needed to > resolve it, because you don't specify a "gnutls" package which provides > the required dll component. ok, i thought that it was the name of the file (because of the 'tar' extension). > I guess you need to write the dependency specification as: > > <requires eq="libgnutls-2.12.7-mingw32-*-dll.tar"/> > > You might find it helpful to run this specification through pkginfo: > > $ ./pkginfo.exe libgnutls-2.12.7-mingw32-*-dll.tar > Package Name: libgnutls > Package Version: 2.12.7 > Package Build: <unspecified> > Subsystem Name: mingw32 > Subsystem Version: * > Subsystem Build: <unspecified> > Release Status: <unspecified> > Release Reference: <unspecified> > Component Type: dll > Component Version: <unspecified> > Archive Format: tar > Compression Type <unspecified> > > The "Package Name:" element here *must* match either the "name" > attribute, or any one the the space separated alternatives within an > "alias" attribute in the providing "package" specification element, and > the "Component Type:" element must match the "class" attribute of a > "component" element contained within that "package" element. ok > BTW, > >> $ mingw-get install libcurl >> Update catalogue: efl-package-list.xml >> Update catalogue: mingw32-jpeg.xml >> Update catalogue: mingw32-freetype.xml >> >> ... >> >> Update catalogue: mingw32-curl.xml >> Update catalogue: mingw32-lua.xml > > You might consider adding the "efl-" prefix to *all* your catalogue > names, (not just to the primary package list), to avoid any possible > contention with similarly named catalogues from other repositories. One > day I'll get around to hashing catalogue names, per repository, to avoid > such contentions, but for now, declaring your own "namespace" is the > best practice to adopt; (unadorned "mingw32" or "msys" might be > construed as trampling on ours). I'll do it. thank you Vincent Torri |
|
From: Keith M. <kei...@us...> - 2011-07-30 16:36:46
|
On 30/07/11 16:29, Vincent Torri wrote: >> ... The name attributes don't match, so the dependency isn't >> resolved. > > ok. Indeed, it works now, thank you. Good. >> Do note that this isn't a downloading issue. The "*** ERROR ***" >> messages you see are generated during construction of the dependency >> graph, before any downloading commences; mingw-get simply knows that >> there is a dependency, but it can't work out what package is needed to >> resolve it, because you don't specify a "gnutls" package which provides >> the required dll component. > > ok, i thought that it was the name of the file (because of the 'tar' > extension). Nope. The match (lt, le, eq, ge, or gt) attribute is decomposed, using the same back-end pkginfo() function as pkginfo.exe, to extract the package name, subsystem name, component class and various version id fields; mingw-get then searches the XML tree, within package-collection elements with a matching subsystem attribute, for a component element matching the specified class attribute, and embedded within a package element with a matching name attribute or alias. Only when it finds such an element, does it then search for the best-fit version of the associated package, among its contained release elements, and it's only here that it finds actual file names, (where the "tar" extension does become significant; as explained in the following paragraph, it has no special significance within the "requires" specification itself). The specification of "tar", (as package format), in the "requires" specification is entirely arbitrary in this particular context; some format qualifier *must* be present, else pkginfo() -- a flex generated lexical analyser function -- becomes hopelessly confused. However, the actual value here is irrelevant -- it could just as well be "foo", "bar", or "quux"; we choose "tar" simply because that's the format we use for all our packages, so it seems a logical choice. Apologies if that has caused any confusion. -- Regards, Keith. |