public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* Re: [ITP] cygcheck-leaves - a script to list installed packages not required by any
@ 2013-10-31  8:34 Mikhail Usenko
  2013-11-04 12:39 ` Corinna Vinschen
  0 siblings, 1 reply; 7+ messages in thread
From: Mikhail Usenko @ 2013-10-31  8:34 UTC (permalink / raw)
  To: cygwin-apps

Hello Corinna,

On 18 Oct 2013 10:07:20, Corinna wrote:
> Hi Mikhail,
> 
> On Oct  5 23:03, Mikhail wrote:
> > As soon as setup.exe hasn't got an option to uninstall a package along with its requirements which have become unused after uninstalling that package, and cygcheck utility also does not provide any information on package dependencies I have written a bash script to list installed Cygwin packages which are not required by any other installed packages (that is package leaves in the dependency tree).
> > 
> > Developers usually have many lib*-devel packages installed on their system, these packages and others are required only as build dependencies so I think this script will be useful primarily for ordinary users who experiment with software and want to keep their Cygwin installation clean. They will be able to check the list of installed packages for unneeded ones.
> > 
> > I would like to propose this script as a Cygwin package if you appreciate it. The name of the script can be changed according to Cygwin policy on the use of cyg- prefix for such a type of programs.
> > 
> > setup.hint:
> > 
> > category: Utils
> > requires: bash coreutils sed wget bzip2
> > sdesc: "List installed Cygwin packages which are not required by any other installed packages"
> 
> I like the idea, but your script doesn't work as expected:
> 
> $ ./cygcheck-leaves -v
> --2013-10-18 09:54:19--  ftp://sourceware.org/pub/cygwin/x86_64-cygwin/setup.bz2
>            => `/var/cache/cygcheck-leaves/x86_64-cygwin/.listing'
> Resolving sourceware.org... 209.132.180.131
> Connecting to sourceware.org|209.132.180.131|:21... connected.
> Logging in as anonymous ... Logged in!
> ==> SYST ... done.    ==> PWD ... done.
> ==> TYPE I ... done.  ==> CWD (1) /pub/cygwin/x86_64-cygwin ...
> No such directory `pub/cygwin/x86_64-cygwin'.
> 
> That should be x86_64, not x86_64-cygwin.  The reason is that HOSTTYPE
> has been already set by tcsh, and tcsh has another idea of that
> variable than bash.
> 
> There's also the problem that, even under bash, the HOSTTYPE for 32 bit
> is i686, but the directory on sourceware is called x86.
> 
> I guess what you want is something along the lines of
> 
>   targetdir=$(uname -m)
>   [ "${targetdir}" = "i686" ] && machine='x86'
>   setup_bz2_url="ftp://sourceware.org/pub/cygwin/${targetdir}/setup.bz2"
> 
> 

Thanks for the comment. I've forgotten to test the script on 32-bit Windows.
Now it uses a bash-specific variable to determine the CPU type and should work OK.

Also after some time of using I've completely rewritten it having added new
functionality and renamed it to 'cygcheck-dep'.

setup.hint:
-----------
category: Utils
requires: bash coreutils sed wget bzip2
sdesc: "Show information on dependencies for installed Cygwin packages"
-----------

URLs:
-----
http://file.qip.ru/file/kXnF6W2W/setup.html
http://file.qip.ru/file/nfMsL0EG/cygcheck-dep-1.0-1.tar.html
-----
Direct links:
-------------
http://files1.qip.ru/1000000020176058/v1/7b5c996f-25a9-4c5f-923f-7a72c731227d/setup.hint
http://files1.qip.ru/1000000020176058/v1/73b199b5-0577-4d5b-b626-928d7c738a12/cygcheck-dep-1.0-1.tar.bz2
-------------


Usage examples:
$ # list packages that are free for uninstalling ("leaves" and "islands")
$ cygcheck-dep -c -li
 alternatives
 base-files
 bc
 cpio
 curl
 cygutils
 cygutils-extra
 cygwin-doc
 cygwin-x-doc
 e2fsimage
 e2fsprogs
 ed
 email
 file
 hostname
 ipc-utils
 login
 make
 man
 mintty
 openssh
 perl-Error
 rsync
 run
 shutdown
 socat
 vim
 vim-minimal
 wget
 which
( python python-tkinter )
( mingw64-i686-gcc-core mingw64-i686-runtime )
( mingw64-x86_64-gcc-core mingw64-x86_64-runtime )

$ # show groups of packages with circular dependencies in the package repository (x86_64)
$ cygcheck-dep -c -IS
( libgcr3_1 libgtk3_0 libsecret1_0 dconf-service gcr gnome-keyring gvfs )
( at-spi2-core libatspi0 )
( texlive texlive-collection-basic )
( libgconf2_4 gconf-desktop-schemas GConf2 )
( dbus libdbus1_3 )
( xf86-video-dummy xf86-video-nested xorg-server )
( libMagickCore5 libpstoedit0 libautotrace3 )
( libglib2.0_0 gamin gsettings-desktop-schemas libfam0 )
( python3 python3-tkinter )
( libopenldap2_4_2 libsasl2_3 )
( python python-tkinter )
( mingw64-i686-gcc-core mingw64-i686-runtime )
( mingw64-x86_64-gcc-core mingw64-x86_64-runtime )
( libopenmpi openmpi )
( ruby ruby-json ruby-rake ruby-rdoc )
( libgmp10 libiconv2 libintl8 libmpfr4 libncursesw10 libpcre1 libreadline7 libstdc++6 coreutils cygwin rebase sed terminfo texinfo tzcode dash _autorebase _update-info-dir gawk grep gzip libattr1 bash libgcc1 )
( texlive-collection-bibtexextra biber )

$ # show package dependencies for installed packages
$ cygcheck-dep -c -rRnN bash which
 bash: requires ( coreutils libintl8 libncursesw10 libreadline7 _update-info-dir cygwin )
 bash: recursively requires ( _autorebase _update-info-dir base-cygwin bash ...skipped... tzcode )
 bash: is needed for ( _update-info-dir base-files bzip2 coreutils csih ...skipped... vim-common xz )
 bash: is recursively needed for ( _autorebase _update-info-dir alternatives ...skipped... xz zlib0 )
 which: requires ( _update-info-dir cygwin )
 which: recursively requires ( _autorebase _update-info-dir base-cygwin bash ...skipped... tzcode )
 which: is needed for ( )
 which: is recursively needed for ( )

--

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

* Re: [ITP] cygcheck-leaves - a script to list installed packages not required by any
  2013-10-31  8:34 [ITP] cygcheck-leaves - a script to list installed packages not required by any Mikhail Usenko
@ 2013-11-04 12:39 ` Corinna Vinschen
  2013-11-04 17:45   ` Christopher Faylor
  0 siblings, 1 reply; 7+ messages in thread
From: Corinna Vinschen @ 2013-11-04 12:39 UTC (permalink / raw)
  To: cygwin-apps

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

On Oct 31 12:34, Mikhail Usenko wrote:
> Thanks for the comment. I've forgotten to test the script on 32-bit Windows.
> Now it uses a bash-specific variable to determine the CPU type and should work OK.
> 
> Also after some time of using I've completely rewritten it having added new
> functionality and renamed it to 'cygcheck-dep'.
> 
> setup.hint:
> -----------
> category: Utils
> requires: bash coreutils sed wget bzip2
> sdesc: "Show information on dependencies for installed Cygwin packages"
> -----------

Neat.  I toyed a bit with your script and I like it.  This could
come in handy to isolate installation problems.  I uploaded the
package.  Please send an announcement along the lines of the
existing announcements to the cygwin-announce list.


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: 836 bytes --]

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

* Re: [ITP] cygcheck-leaves - a script to list installed packages not required by any
  2013-11-04 12:39 ` Corinna Vinschen
@ 2013-11-04 17:45   ` Christopher Faylor
  2013-11-04 17:54     ` Corinna Vinschen
  0 siblings, 1 reply; 7+ messages in thread
From: Christopher Faylor @ 2013-11-04 17:45 UTC (permalink / raw)
  To: cygwin-apps

On Mon, Nov 04, 2013 at 01:39:25PM +0100, Corinna Vinschen wrote:
>On Oct 31 12:34, Mikhail Usenko wrote:
>> Thanks for the comment. I've forgotten to test the script on 32-bit Windows.
>> Now it uses a bash-specific variable to determine the CPU type and should work OK.
>> 
>> Also after some time of using I've completely rewritten it having added new
>> functionality and renamed it to 'cygcheck-dep'.
>> 
>> setup.hint:
>> -----------
>> category: Utils
>> requires: bash coreutils sed wget bzip2
>> sdesc: "Show information on dependencies for installed Cygwin packages"
>> -----------
>
>Neat.  I toyed a bit with your script and I like it.  This could
>come in handy to isolate installation problems.  I uploaded the
>package.  Please send an announcement along the lines of the
>existing announcements to the cygwin-announce list.

This needs to be in cygwin-pkg-maint and we'll need information as per:
https://sourceware.org/cygwin-apps/package-upload.html .

Also, FWIW, this package didn't really go through the vetting process of
getting the required number of votes.  I don't object to it going in but
I don't think we want to get into the habit of short circuiting
published procedures without at least acknowledging that we are doing
so for a reason.

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

* Re: [ITP] cygcheck-leaves - a script to list installed packages not required by any
  2013-11-04 17:45   ` Christopher Faylor
@ 2013-11-04 17:54     ` Corinna Vinschen
  2013-11-04 18:28       ` Christopher Faylor
  0 siblings, 1 reply; 7+ messages in thread
From: Corinna Vinschen @ 2013-11-04 17:54 UTC (permalink / raw)
  To: cygwin-apps

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

On Nov  4 12:45, Christopher Faylor wrote:
> On Mon, Nov 04, 2013 at 01:39:25PM +0100, Corinna Vinschen wrote:
> >On Oct 31 12:34, Mikhail Usenko wrote:
> >> Thanks for the comment. I've forgotten to test the script on 32-bit Windows.
> >> Now it uses a bash-specific variable to determine the CPU type and should work OK.
> >> 
> >> Also after some time of using I've completely rewritten it having added new
> >> functionality and renamed it to 'cygcheck-dep'.
> >> 
> >> setup.hint:
> >> -----------
> >> category: Utils
> >> requires: bash coreutils sed wget bzip2
> >> sdesc: "Show information on dependencies for installed Cygwin packages"
> >> -----------
> >
> >Neat.  I toyed a bit with your script and I like it.  This could
> >come in handy to isolate installation problems.  I uploaded the
> >package.  Please send an announcement along the lines of the
> >existing announcements to the cygwin-announce list.
> 
> This needs to be in cygwin-pkg-maint

Did so while uploading.

> and we'll need information as per:
> https://sourceware.org/cygwin-apps/package-upload.html .
> 
> Also, FWIW, this package didn't really go through the vetting process of
> getting the required number of votes.  I don't object to it going in but
> I don't think we want to get into the habit of short circuiting
> published procedures without at least acknowledging that we are doing
> so for a reason.

Well, it's just a small helper script and it looked useful enough, but
you're right, of course.


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: 836 bytes --]

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

* Re: [ITP] cygcheck-leaves - a script to list installed packages not required by any
  2013-11-04 17:54     ` Corinna Vinschen
@ 2013-11-04 18:28       ` Christopher Faylor
  0 siblings, 0 replies; 7+ messages in thread
From: Christopher Faylor @ 2013-11-04 18:28 UTC (permalink / raw)
  To: cygwin-apps

On Mon, Nov 04, 2013 at 06:54:03PM +0100, Corinna Vinschen wrote:
>On Nov  4 12:45, Christopher Faylor wrote:
>> On Mon, Nov 04, 2013 at 01:39:25PM +0100, Corinna Vinschen wrote:
>> >On Oct 31 12:34, Mikhail Usenko wrote:
>> >> Thanks for the comment. I've forgotten to test the script on 32-bit Windows.
>> >> Now it uses a bash-specific variable to determine the CPU type and should work OK.
>> >> 
>> >> Also after some time of using I've completely rewritten it having added new
>> >> functionality and renamed it to 'cygcheck-dep'.
>> >> 
>> >> setup.hint:
>> >> -----------
>> >> category: Utils
>> >> requires: bash coreutils sed wget bzip2
>> >> sdesc: "Show information on dependencies for installed Cygwin packages"
>> >> -----------
>> >
>> >Neat.  I toyed a bit with your script and I like it.  This could
>> >come in handy to isolate installation problems.  I uploaded the
>> >package.  Please send an announcement along the lines of the
>> >existing announcements to the cygwin-announce list.
>> 
>> This needs to be in cygwin-pkg-maint
>
>Did so while uploading.

Ah, I was looking for cygcheck-leaves.  Nevermind.

cgf

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

* Re: [ITP] cygcheck-leaves - a script to list installed packages not required by any
  2013-10-05 19:03 Mikhail Usenko
@ 2013-10-18  8:07 ` Corinna Vinschen
  0 siblings, 0 replies; 7+ messages in thread
From: Corinna Vinschen @ 2013-10-18  8:07 UTC (permalink / raw)
  To: cygwin-apps

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

Hi Mikhail,

On Oct  5 23:03, Mikhail wrote:
> As soon as setup.exe hasn't got an option to uninstall a package along with its requirements which have become unused after uninstalling that package, and cygcheck utility also does not provide any information on package dependencies I have written a bash script to list installed Cygwin packages which are not required by any other installed packages (that is package leaves in the dependency tree).
> 
> Developers usually have many lib*-devel packages installed on their system, these packages and others are required only as build dependencies so I think this script will be useful primarily for ordinary users who experiment with software and want to keep their Cygwin installation clean. They will be able to check the list of installed packages for unneeded ones.
> 
> I would like to propose this script as a Cygwin package if you appreciate it. The name of the script can be changed according to Cygwin policy on the use of cyg- prefix for such a type of programs.
> 
> setup.hint:
> 
> category: Utils
> requires: bash coreutils sed wget bzip2
> sdesc: "List installed Cygwin packages which are not required by any other installed packages"

I like the idea, but your script doesn't work as expected:

$ ./cygcheck-leaves -v
--2013-10-18 09:54:19--  ftp://sourceware.org/pub/cygwin/x86_64-cygwin/setup.bz2
           => `/var/cache/cygcheck-leaves/x86_64-cygwin/.listing'
Resolving sourceware.org... 209.132.180.131
Connecting to sourceware.org|209.132.180.131|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /pub/cygwin/x86_64-cygwin ...
No such directory `pub/cygwin/x86_64-cygwin'.

That should be x86_64, not x86_64-cygwin.  The reason is that HOSTTYPE
has been already set by tcsh, and tcsh has another idea of that
variable than bash.

There's also the problem that, even under bash, the HOSTTYPE for 32 bit
is i686, but the directory on sourceware is called x86.

I guess what you want is something along the lines of

  targetdir=$(uname -m)
  [ "${targetdir}" = "i686" ] && machine='x86'
  setup_bz2_url="ftp://sourceware.org/pub/cygwin/${targetdir}/setup.bz2"


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: 836 bytes --]

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

* [ITP] cygcheck-leaves - a script to list installed packages not required by any
@ 2013-10-05 19:03 Mikhail Usenko
  2013-10-18  8:07 ` Corinna Vinschen
  0 siblings, 1 reply; 7+ messages in thread
From: Mikhail Usenko @ 2013-10-05 19:03 UTC (permalink / raw)
  To: cygwin-apps

As soon as setup.exe hasn't got an option to uninstall a package along with its requirements which have become unused after uninstalling that package, and cygcheck utility also does not provide any information on package dependencies I have written a bash script to list installed Cygwin packages which are not required by any other installed packages (that is package leaves in the dependency tree).

Developers usually have many lib*-devel packages installed on their system, these packages and others are required only as build dependencies so I think this script will be useful primarily for ordinary users who experiment with software and want to keep their Cygwin installation clean. They will be able to check the list of installed packages for unneeded ones.

I would like to propose this script as a Cygwin package if you appreciate it. The name of the script can be changed according to Cygwin policy on the use of cyg- prefix for such a type of programs.

setup.hint:

category: Utils
requires: bash coreutils sed wget bzip2
sdesc: "List installed Cygwin packages which are not required by any other installed packages"


URLs:

http://file.qip.ru/file/ALGWdq2B/setup.html
http://file.qip.ru/file/O1wKRdPC/cygcheck-leaves-1.0-1.tar.html

--

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

end of thread, other threads:[~2013-11-04 18:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-31  8:34 [ITP] cygcheck-leaves - a script to list installed packages not required by any Mikhail Usenko
2013-11-04 12:39 ` Corinna Vinschen
2013-11-04 17:45   ` Christopher Faylor
2013-11-04 17:54     ` Corinna Vinschen
2013-11-04 18:28       ` Christopher Faylor
  -- strict thread matches above, loose matches on Subject: below --
2013-10-05 19:03 Mikhail Usenko
2013-10-18  8:07 ` Corinna Vinschen

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).