On 2023-11-27 01:24, ASSI via Cygwin wrote:
Chris Wagner via Cygwin writes:
If you just want to duplicate the package selection this trick is all
you need.
1. Get the current list: cygcheck -cd |perl -ane '$\=","; print $F[0]'
2. Ignore the "Cygwin,Package" at the front.
3. Copy all that and put it as the command line argument to setup.exe -P
That will lose the information about which packages were installed by
explicit user request vs. installed as a dependency.
What that means is the complete information is only available in:
/etc/setup/installed.db
which has header:
INSTALLED.DB 3
then a list of installed packages in which each line specifies 3 fields:
NAME NAME-VERSION-RELEASE.tar.bz2 MANUALLY_PICKED_FLAG
in that 2nd field .tar.bz2 is the historically available download format but
only VERSION-RELEASE is now significant, and the only packages you should be
selecting to install are those which have a 3rd field manually picked flag == 1
as the others with 0 are automatically installed dependencies e.g.
$ awk '1 < FNR && /1/ == $3 { printf( "%s ", $1) }; END { printf( "\n" ) }' \
~/cygwin-64t/etc/setup/installed.db | wc
1 52 686
$ grep -c '\s0$' ~/cygwin-64t/etc/setup/installed.db
364
$ awk '1 < FNR && /1/ == $3 { printf( "%s ", $1) }; END { printf( "\n" ) }' \
~/cygwin-64/etc/setup/installed.db | wc
1 884 12124
$ grep -c '\s0$' ~/cygwin-64/etc/setup/installed.db
1638
so from 2-7 times as many packages as manually picked could be dependencies
automatically installed.
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
-- Antoine de Saint-Exupéry
--
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