TheSkyNet / apt-cyg

Automatically exported from code.google.com/p/apt-cyg
MIT License
0 stars 0 forks source link

Recent server update caused apt-cyg to start infinitely recursing #18

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. apt-cyg install (anything)

What is the expected output? What do you see instead?
When apt-cyg worked, I would show the requirement install tree like this:
* package
** cygwin
*** base-cygwin
** requirement
*** cygwin
**** base-cygwin
** ...

Recently, the servers have been updated so the package "cygwin", which apt-cyg 
thinks every package requires, requires _autorebase, and that made apt-cyg 
infinitely recurse. I would show the new requirement install tree like this:
* package
** cygwin
*** base-cygwin
*** _autorebase
**** dash
***** cygwin
****** base-cygwin
****** _autorebase
******* ...
**** libgcc1
***** cygwin
****** base-cygwin
****** _autorebase
******* ...
** requirement
*** cygwin
**** base-cygwin
**** _autorebase
***** dash
****** cygwin
******* base-cygwin
******* _autorebase
******** ...
***** libgcc1
****** cygwin
******* base-cygwin
******* _autorebase
******** ...
** ...

What version of the product are you using? On what operating system?
apt-cyg Revision 18, default mirror (mirror.mcs.anl.gov), Cygwin 1.7.12-1

Please provide any additional information below.

Original issue reported on code.google.com by rohanpai12 on 13 Apr 2012 at 3:18

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
A good solution is to keep a list of already-installed requirements during 
requirement checks and installation. Then it could be:
* package
** cygwin
*** base-cygwin
*** _autorebase
**** dash
***** cygwin (in already-installed requirements list, skip)
**** libgcc1
***** cygwin (in already-installed requirements list, skip)
** requirement
*** cygwin (in already-installed requirements list, skip)
** ...

However, I don't mean keep a list of already-intsalled requirements from some 
setup file like /etc/setup/installed.db, but I mean to keep a list of what is 
already installed in the program that is empty when the program starts, even if 
it is reinstalling an already-installed package, so the program won't reinstall 
anything more than once.

Another good solution is to always skip installation of the package "cygwin", 
even if it's a requirement of any package, because it includes attempting to 
replace cygwin1.dll (which is surely in use by apt-cyg or any Cygwin 
application)

Original comment by rohanpai12 on 27 Apr 2012 at 10:09

GoogleCodeExporter commented 9 years ago
Fixed in r22, thanks.

Original comment by i...@skl.me on 19 Feb 2014 at 8:46