This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ITP] FUSE 2.8


On 23/07/2016 02:31, Bill Zissimopoulos wrote:
On 7/22/16, 12:57 PM, Marco Atzeri wrote:


On 22/07/2016 19:58, Bill Zissimopoulos wrote:
winfsp-fuse is a reasonable name.
dokan-fuse also (IMHO)

In the interest of moving things forward, I am happy to rename the
package. Is it possible for a package with a name winfsp-fuse to
satisfy a
“fuse” dependency?

It is not clear to me what you mean.

If some package depends on winfsp-fuse, the dependency will be
winfsp-fuse.

winfsp-fuse will require the external package winfsp.

My apologies for not making it clearer. What I meant to say is this:

Suppose I have a package XYZ that requires FUSE. Is it possible that the
“FUSE” dependency can be satisfied by either winfsp-fuse or dokan-fuse?

If that is not possible it looks like we would have to have winfsp-sshfs
or dokan-sshfs, etc. which IMO is less desirable.

Bill

It depends on the type of dependency

- The hard coded dependency is based on dll's

example : octave dll requires the readline dll provided by
the package libreadline7

 $ cygcheck /usr/bin/cygoctave-3.dll |grep readline
  E:\cygwin64\bin\cygreadline7.dll

 $ cygcheck -f $(cygpath -u  'E:\cygwin64\bin\cygreadline7.dll')
libreadline7-6.3.8-1

In this case the dependency is hard coded in the octave binary itself.
We don't have a way (yet) to provide the same dll from two different
packages. In theory it can be done with pre/prost install scripts
that copy and remove dll's in "/usr/bin" but it will be tricky.
We can not use links with dll's on cygwin for windows loader constrain.

- The dependency is based on command

ls -l /usr/bin/automake
lrwxrwxrwx 1 marco Administrators 34 Aug 3 2013 /usr/bin/automake -> /usr/share/autotools/am-wrapper.sh

64 $ cygcheck -f /usr/share/autotools/am-wrapper.sh
automake-9-1

$ cygcheck -cd |grep automake
automake                                9-1
automake1.10                            1.10.3-2
automake1.11                            1.11.6-2
automake1.12                            1.12.6-2
automake1.13                            1.13.4-1
automake1.14                            1.14.1-2
automake1.15                            1.15-1
automake1.4                             1.4p6-11
automake1.5                             1.5-11
automake1.6                             1.6.3-12
automake1.7                             1.7.9-11
automake1.8                             1.8.5-11
automake1.9                             1.9.6-11

automake is a wrapper package that can be defined
to match the needed version and pull all the versions

$ automake --version
automake (GNU automake) 1.14.1

$ cygcheck-dep -r automake

automake: requires ( automake1.10 automake1.11 automake1.12 automake1.13 automake1.14 automake1.15 automake1.4 automake1.5 automake1.6 automake1.7 automake1.8 automake1.9 bash gawk )

Alternatives can also be used to manage command dependency

$ alternatives --display unison
unison - status is auto.
 link currently points to /usr/bin/unison-2.48
/usr/bin/unison-2.48 - priority 2048
Current `best' version is /usr/bin/unison-2.48.

specially when you need only one variant installed,
but several are potentiall available:

$ cygcheck -cd |grep unison
unison2.48                              2.48.3-2

$ cygcheck -p "bin/unison-"
Found 7 matches for bin/unison-
unison2.27-2.27.157-4 - unison2.27: Synchronize ...
unison2.32-2.32.52-4 - unison2.32: Synchronize ...
unison2.40-2.40.102-1 - unison2.40: Synchronize ..
unison2.45-2.45.28-1 - unison2.45: Synchronize ..
unison2.48-2.48.3-1 - unison2.48: Synchronize ..
unison2.48-2.48.3-2 - unison2.48: Synchronize ..
unison2.49-2.49.543-1 - unison2.49: Synchronize ..

Regards
Marco

PS: today there is only one case of packages providing same name dll's
and the solution is sub-optimal and working only as
- there is a preferred order
  openblas cygblas-0.dll is preferred versus lapack one.
- the maintainer is the same: me
More packages with the same dll collision will require to work on
pre/prost install scripts general solution.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]