This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: setup 2.885 release candidate - please test
- From: Jon Turney <jon dot turney at dronecode dot org dot uk>
- To: cygwin-apps at cygwin dot com
- Date: Tue, 30 Jan 2018 20:18:52 +0000
- Subject: Re: setup 2.885 release candidate - please test
- Authentication-results: sourceware.org; auth=none
- References: <db151788-05fb-6a5f-b229-0db6bb725189@dronecode.org.uk> <874ln4cw15.fsf@Rainer.invalid>
On 29/01/2018 19:19, Achim Gratz wrote:
Jon Turney writes:
Since this contains many internal changes, I think this could use some
wider testing before being deployed. Please test and report any
problems here.
I've built these myself, but I don't think that changes anything below.
Thanks for taking a look.
User visible changes:
- 'Current' is replaced by 'Best' (which is slightly different in ways
it's difficult to summarize briefly) and 'Sync' (which exposes the
--force-current option through the UI). These are modified by a
'Test' checkbox, which allows test packages to be used.
I am always running setup with options to install a selected category w/
orphan removal and removal of non-selected packages. The selected
category comprises _all_ packages that are supposed to be installed, so
no dependencies need to be found.
In order to see what's going on I also selected chooser mode (the normal
install just does whatever it's told to do). That still works
apparently, but whenever I click anywhere to change the mode from "Best"
to something else and then back the transaction list gets emptied. As I
said, I normally don't do this and clicking on those buttons serves no
useful purpose for me in that situation, but I think the result is still
wrong. I think that maybe the command line parameters are forgotten
when doing this.
I think this is the behaviour in previous versions, as well.
When command line and UI settings are in conflict, I don't think it's
unreasonable that the last one changed wins.
- The "prereq" page showing dependencies which will be added is
replaced by "problems" page showing problems found by the dependency
solver, with default solutions.
- A "confirm" page is added showing all the changes which will be made.
I've not actually commenced the installation yet due to other things I
want to fix first, so I can't say whether these two pages work. I guess
I should not see them with my normal install script. The interesting
part would be if they are skipped when non-interactive mode is given and
there was something to add due to dependencies?
These should be added (and default solutions applied where the solver
identified problems) in non-interactive mode.
- Add support for 'depends2: package (relation version) [...]', in a
version section in setup.ini
Those lines don't seem to get generated for all packages yet. I
currently merge with requires: to produce a working setup.ini re-write
and will switch to using requires: when I find no depends2:. Can I
assume that all versions have a depends2: line when I find one for
[curr]?
Yes, with the proviso that empty depends2: lines are currently
suppressed (this might be a mistake)
I don't like the syntax with the commas, could we just drop the space
between the package name and the paren for the version expression and
keep the version-relations separated by plain whitespace?
- Add support for 'obsoletes:' in setup.ini, likewise
These don't appear to be produced by calm yet. Also, it would be useful
calm can write these lines, if obsoletes: is present in the .hint, but
cygport is not yet capable of generating those.
if the obsoleted package showed the replacement package more explicitly,
so maybe "obsoleted-by:" instead of requires:/depends2:
- Add support for 'replace-versions:' in a package section setup.ini,
to indicate problematic versions.
Any examples for this yet?
A separate email on this is in the works.
As you surely know, all the new syntax is not yet described in
https://sourceware.org/cygwin-apps/setup.ini.html
Thanks for the reminder, I pushed the update I wrote for this.