On 21/06/2024 09.52, Mark Geisert via Cygwin wrote:
On 6/20/2024 11:21 PM, Federico Kircheis via Cygwin wrote:
Hello to everyone,

yesterday I've uploaded a new cmus package, with some optional features enabled.

Today, through setup.exe, I noticed that now cmus brings clang as dependency.

Is there something I can use for analyzing transitive dependencies of a package? It does not make sense for an audio player to bring a compiler as dependency, and would like to remove the offending dependency.

Try the cygcheck-dep tool, downloadable through setup.exe. It was created to answer questions just like this. Recommended :-).

..mark



Thank you, very useful.

Still some questions, as I might be me holding it wrong.


First; is it expected that I need admin rights to execute it?

----
mkdir: cannot create directory ‘/var/cache/cygcheck-dep’: Permission denied
/usr/bin/cygcheck-dep: unable to create cache directory:
/usr/bin/cygcheck-dep:   /var/cache/cygcheck-dep
----

Can't it use /tmp or some other location for caching data?


After my first run as admin, after 2 minutes, I got following output

----
cygcheck-dep -r cmus
bzip2: /var/cache/cygcheck-dep/cygwin/x86_64/setup.bz2: data integrity (CRC) error in data

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

/usr/bin/cygcheck-dep: failed to check integrity of downloaded <setup.ini> file:
/usr/bin/cygcheck-dep:   /var/cache/cygcheck-dep/cygwin/x86_64/setup.bz2
/usr/bin/cygcheck-dep: you may try to run with -c option to use cached file from previous download
----

Might have been a spurious error, because after a rerun (without -c) I did not get that error anymore.


Third run; are all those warnings expected?

----
cygcheck-dep -R cmus
# /usr/bin/cygcheck-dep:
# warning: not available package version:
#   failed to parse <setup.ini> file record of
#   'version:' for the following packages:
#( gdb-multiarch libcoordgen2 libcoordgen3 libgnat12 libgnat13 liblua5.4 libwx_baseu3.1-devel libwx_baseu3.1_5 libwx_gtk2u3.1-devel libwx_gtk2u3.1_5 libwx_gtk3u3.1-devel libwx_gtk3u3.1_5 mingw64-i686-openssl-debuginfo mingw64-x86_64-openssl-debuginfo python39-imaging python39-imaging-tk python39-wx tzdata-posix tzdata-right wxWidgets3.1-debuginfo wxWidgets3.1-doc )

# /usr/bin/cygcheck-dep:
# warning: extraneous installed packages with unknown dependencies:
#   the following installed packages are not present
#   in Cygwin standard distribution:
#( libdialog14 )

# /usr/bin/cygcheck-dep:
# warning: unknown package names:
#   the following encountered package names does not match
#   any available or installed package (use -M switch to get details):
#( python27 python-avogadro python2-avogadro gstreamer1.0-plugins-ugly-free-mad _update-info-dir libedit libexpat1-devel gmp-doc libMagickCore6 libncursesw-devel rdiff-debuginfo mate-themes-extras emacs-mercurial mercurial-convert mercurial-gui mercurial-highlight mingw64-i686-libgd mingw64-x86_64-libgd ncursesw ncursesw-demo octave-octcdf perl-Parse-CPAN-Meta perl-File-Slurp-Unicode perl-Locale-gettext perl-LWP net-snmp-perl perl-Term-ReadKey perl-Gnome2 perl-Gnome2-Canvas perl-Gnome2-GConf perl-Gnome2-Rsvg perl-Gnome2-VFS perl-Gnome2-Vte perl-Gnome2-Wnck perl-Gtk2 perl-Gtk2-GladeXML perl-Gtk2-Notify perl-Gtk2-SourceView2 perl-Gtk2-Spell perl-Gtk2-Unique perl-Gtk2-WebKit kde-wallpapers procps procps-debuginfo python2-cairo-devel python3-dbus-debuginfo python-cv python2_cv2 python-magic python2-magic python-speechd python-zbar python-pypdf python-odf python-pyqt5-devel python-sip-devel rpm-doc rxvt-unicode-X-debuginfo ksnapshot-debuginfo font-unifont-misc font-unifont-ttf xfce4-mixer xfce4-mixer-debuginfo transfig-debuginfo _windows(>=6.3) cygwin(>=3.5.0-0) emacs-bin gcc11 perl5_036 ruby_32 cygwin(>=3.5.0))

# /usr/bin/cygcheck-dep:
# warning: missing required dependencies:
# the following packages are not installed, but are required as dependencies
#   for some installed packages (use -m switch to get details):
#( _windows(>=6.3) cygwin(>=3.5.0-0) emacs-bin gcc11 perl5_036 ruby_32 cygwin(>=3.5.0) )

 cmus: recursively requires ( ... a lot of packages ... )
----

otherwise, the ouput of "recursively requires" was helpful, but only limited; I could see clang as dependency, but not why.

I used "cygcheck-dep -n clang" and followed the dependency chain manually; I hoped that "cygcheck-dep -R cmus" would have showed something like a tree structure.



But here comes the important question.

How can I use cygcheck-dep for a package that has not been uploaded yet?

I would like to avoid uploading a new package, and verify afterwards if everything looks fine or not.

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to