On 7/3/2016 10:02 AM, Ken Brown wrote:
On 7/1/2016 7:38 PM, Warren Young wrote:
On Jul 1, 2016, at 4:40 PM, Warren Young wrote:
I’ve written a script to do that automatically.
I’ve improved the script so that it no longer requires any
parameters. It finds the last-used setup.ini file and extracts the
list of currently-installed packages, all on its own.
This script has a couple of problems. First, it doesn't take dependency
loops into account. For example, if package p requires q and q requires
p, then both will be marked as non-root. Second, if the mirror was used
for both an x86 and x86_64 installation, it always uses the x86
setup.ini, regardless of the current architecture.
The second problem is easy to fix. I think you can fix the first
problem by using the dependency order computed by setup and recorded in
/var/log/setup.log.full:
$ grep "Dependency order" /var/log/setup.log.full
Dependency order of packages: base-cygwin cygwin libdbus1_3 libiconv2
libintl8 libffi6 libpcre1 liblzma5 libgcc1 libstdc++6 terminfo...
You should only mark a package as a non-root if it is required by a
package that occurs later in the list.
Ken
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple