]> cygwin.com Git - cygwin-apps/setup.git/log
cygwin-apps/setup.git
2 years agoImprove consistency of ending sentences with a full-stop
Jon Turney [Tue, 14 Jun 2022 21:03:48 +0000 (22:03 +0100)]
Improve consistency of ending sentences with a full-stop

Improve the consistency between translations of ending sentences with a
full-stop.

Always end the sentence under the page title with a full-stop.

2 years agoTidy up spacing in french translation
Jon Turney [Wed, 15 Jun 2022 13:49:38 +0000 (14:49 +0100)]
Tidy up spacing in french translation

Consistently use a space before ':' (apparently "space before and after
full-height punctuation" is a standard typographical rule for French).

Remove unneeded trailing whitespace.

2 years agoUse a .pot translation template
Jon Turney [Wed, 9 Sep 2020 13:39:26 +0000 (14:39 +0100)]
Use a .pot translation template

Add a res.pot file, created with rc2po.
Add rule to generate a .po file containing current translations using rc2po.
Add rule to incorporate updated translations from .po file using po2rc.

Both tools are part of the python translate toolkit [1]

[1] http://toolkit.translatehouse.org/

2 years agoAdjustment to dialog layout for translation
Jon Turney [Mon, 6 Jun 2022 16:59:33 +0000 (17:59 +0100)]
Adjustment to dialog layout for translation

To enable the english resource to be used as a template, adjust the size
of the IDD_SOURCE.IDC_SOURCE_NETINST control so it's large enough for
translated text.

2 years agoFurther tweak formatting in resource files
Jon Turney [Mon, 6 Jun 2022 15:49:04 +0000 (16:49 +0100)]
Further tweak formatting in resource files

In particular, translation-toolkit's .rc file parser can't currently
handle seeing arithmetic rather just than an integer.

2 years agoMove english resources to a separate file
Jon Turney [Wed, 1 Jun 2022 14:53:34 +0000 (15:53 +0100)]
Move english resources to a separate file

Move english resources to a separate file, so it can serve as a template
resource file for translations in other languages.

2 years agoUse latest Cygwin setup on AppVeyor
Jon Turney [Wed, 1 Jun 2022 13:43:15 +0000 (14:43 +0100)]
Use latest Cygwin setup on AppVeyor

Use latest Cygwin setup, rather than what happens to be present on AppVeyor
Also switch to building on x86_64

2 years agoTweak formatting in resource files
Jon Turney [Wed, 1 Jun 2022 12:43:29 +0000 (13:43 +0100)]
Tweak formatting in resource files

Tweak the formatting in resource files in places which cause a problem
with translation-toolkit.

2 years agoUpdates and corrections to French translation
Eric Lassauge [Wed, 1 Jun 2022 13:03:52 +0000 (14:03 +0100)]
Updates and corrections to French translation

2 years agoFix warnings with autoconf-2.7
Jon Turney [Thu, 13 Jan 2022 19:38:23 +0000 (19:38 +0000)]
Fix warnings with autoconf-2.7

AC_PROG_LEX() with an option (which is needed to avoid a warning) is new
in autoconf-2.7, so also raise minimum autoconf version to 2.70.

2 years agoMake '--package-manager' imply 'download and install packages' release_2.918
Jon Turney [Thu, 10 Feb 2022 16:59:39 +0000 (16:59 +0000)]
Make '--package-manager' imply 'download and install packages'

Refine 147fc15d

Imply both '-D' and '-L' with '-M', as well as '-q' (so that mode gets
definite behaviour rather than 'whatever you chose last time' as well).

Tweak help text for '-D' and '-L' to make more sense when they are used
in combination.

2 years agoHandle tar type flag 'K' (GNU long link extension)
Jon Turney [Thu, 10 Feb 2022 15:38:56 +0000 (15:38 +0000)]
Handle tar type flag 'K' (GNU long link extension)

Handle tar type flag'K' (GNU long link extension)
Also report unexpected filename in headers with long name extension type
Also clean up some cruft in archive_tar.cc

Currently, the only existing package which contains type flag 'K'
entries is f21-backgrounds-extras.

This also now correctly handles tar archive header linknames of exactly
100 characters (even when not preceeded by a 'K' type header), where the
linkname field is not null terminated as it should be, rather than
allowing the 'ustar\0' magic immediately following it to be interpreted
as part of the linkname.

2 years agoShow overall progress for checking packages in package cache
Jon Turney [Mon, 7 Feb 2022 14:52:26 +0000 (14:52 +0000)]
Show overall progress for checking packages in package cache

Show overall progress for testing presence and validating packages in
package cache.

This gives a better sense of progress when installing many packages
which are already cached (e.g. a fresh install, but all required
packagea are already in the package cache, so this step, rather than the
download one, dominates).

2 years agoClear download progress/rate text after download
Jon Turney [Mon, 7 Feb 2022 11:25:09 +0000 (11:25 +0000)]
Clear download progress/rate text after download

Don't leave download progress/rate text displayed while we compute the
hash of the file we've just downloaded.

2 years agoDowngrade some xz compression debug output
Jon Turney [Mon, 7 Feb 2022 12:57:39 +0000 (12:57 +0000)]
Downgrade some xz compression debug output

This not very helpful output goes to verbose log for every decompressed archive.

2 years agoReset GUI feedback state after ini parsing
Jon Turney [Thu, 27 Jan 2022 22:14:34 +0000 (22:14 +0000)]
Reset GUI feedback state after ini parsing

If we're in --local-install mode, we're shortly going to disappear into
packagemeta::ScanDownloadedFiles() which (currently) gives no feedback.

Don't make it look like we're still in the middle of parsing ini files
while we do that.

Also fix a typo introduced in b3cc8ab6.

2 years agoUnconditionally fixup source package ids
Jon Turney [Thu, 27 Jan 2022 22:07:28 +0000 (22:07 +0000)]
Unconditionally fixup source package ids

In the case when a given package version appears in setup.ini first
with, then without an install: line, the source package is recreated by
packagemeta::add_version() to add the additional package source site,
but the install package is not - so it now contains a stale source
package id.

Unconditionally fixup source package ids, so that install package points
to the correct source package.

Also internalize libsolv attributes after doing fixup, the changes it
makes are visible (so this was probably never working right).

2 years agoAdd '--batch' to gpg command in 'make upload'
Jon Turney [Thu, 27 Jan 2022 17:14:03 +0000 (17:14 +0000)]
Add '--batch' to gpg command in 'make upload'

'--batch' is recommended for any non-interative use of gpg.

2 years agoOnly show deprecation warning once if we're going to elevate release_2.917
Jon Turney [Mon, 24 Jan 2022 19:19:46 +0000 (19:19 +0000)]
Only show deprecation warning once if we're going to elevate

2 years agoProvide prototype for SHMessageBoxCheckW()
Jon Turney [Mon, 24 Jan 2022 18:13:51 +0000 (18:13 +0000)]
Provide prototype for SHMessageBoxCheckW()

Present in implib, but not prototyped in MinGW64 headers until 9.0.0

2 years agoDon't create install package if there's no install: line
Jon Turney [Mon, 24 Jan 2022 17:07:15 +0000 (17:07 +0000)]
Don't create install package if there's no install: line

Don't erroneously create an install package if there's no install: line
for that version.

If it's for the latest version and something depends on this package,
the solver will produce a solution containing that package & version,
so we'll try to download it without having a path to fetch it from,
leading to download errors which are impossible to resolve.

2 years agoUse SHMessageBoxCheck() for MessageBox with "don't show again" checkbox
Jon Turney [Mon, 24 Jan 2022 16:28:29 +0000 (16:28 +0000)]
Use SHMessageBoxCheck() for MessageBox with "don't show again" checkbox

2 years agoIgnore 'CYGWIN=winsymlinks:lnk' release_2.916
Jon Turney [Tue, 18 Jan 2022 15:02:58 +0000 (15:02 +0000)]
Ignore 'CYGWIN=winsymlinks:lnk'

Ignore 'CYGWIN=winsymlinks:lnk', rather than converting it to
'--symlink-type lnk', which then fails with '*** --symlink-type lnk is
not implemented'.

2 years agoShow a MessageBox warning if running on a deprecated Windows version
Jon Turney [Wed, 12 Jan 2022 20:25:30 +0000 (20:25 +0000)]
Show a MessageBox warning if running on a deprecated Windows version

Show a MessageBox warning if we are running on a Windows version which
we have deprecated Cygwin support for:

- Windows 6.0 (Windows Vista, Windows Server 2008)
- 32-bit Windows

This warning can be disabled with '--no-warn-deprecated-windows'.

2 years agoUpdate TODO
Jon Turney [Mon, 10 Jan 2022 15:54:19 +0000 (15:54 +0000)]
Update TODO

2 years agoImprove symlinks to absolute paths made for ' --symlink-type native' release_2.915
Jon Turney [Sun, 9 Jan 2022 21:17:14 +0000 (21:17 +0000)]
Improve symlinks to absolute paths made for ' --symlink-type native'

Match Cygwin DLL behaviour of not using '\\?\' prefix if the target path
is short enough not to need it.

This improves how the symlink is reported by CMD buildin 'DIR', and
handled by File Explorer's file properties dialog.

2 years agoWhen in unattended mode, ignore attempts to close via GUI release_2.914
Jon Turney [Sun, 19 Dec 2021 21:22:55 +0000 (21:22 +0000)]
When in unattended mode, ignore attempts to close via GUI

Perhaps this should be controlled by a separate option, but making setup
non-interactive seems like a reasonable fit with the intent of
'--quiet-mode'.

This doesn't stop the installer being killed by TerminateProcess().

Addresses: https://cygwin.com/pipermail/cygwin/2021-November/250079.html

2 years agoFurther fix symlinks to absolute paths made for ' --symlink-type native'
Jon Turney [Fri, 7 Jan 2022 15:18:02 +0000 (15:18 +0000)]
Further fix symlinks to absolute paths made for ' --symlink-type native'

After using 'to' with NtOpenFile(), convert it back to Win322
filenamespace form before using it with CreateSymbolicLinkW(), so that
the symlink works with native tools.

https://cygwin.com/pipermail/cygwin/2022-January/250398.html

2 years agoUpdate displayed copyright to 2022 release_2.913
Jon Turney [Tue, 4 Jan 2022 16:56:12 +0000 (16:56 +0000)]
Update displayed copyright to 2022

2 years agoFix symlinks to absolute paths made for ' --symlink-type native'
Jon Turney [Thu, 6 Jan 2022 15:38:17 +0000 (15:38 +0000)]
Fix symlinks to absolute paths made for ' --symlink-type native'

As currently written, we go to the trouble of making absto, and then
don't use it, which isn't right at all...

2 years agoFix SeCreateSymbolicLinkPrivilege detection release_2.912
Jon Turney [Fri, 31 Dec 2021 00:25:56 +0000 (00:25 +0000)]
Fix SeCreateSymbolicLinkPrivilege detection

SeCreateSymbolicLinkPrivilege is enabled automatically on use, so it
only needs to be present in the token, not enabled.

2 years agoFix inverted symlink creation right logging
Jon Turney [Thu, 30 Dec 2021 23:19:06 +0000 (23:19 +0000)]
Fix inverted symlink creation right logging

2 years agoPush some dynamic dialog text into IDD_FILE_INUSE resource release_2.911
Jon Turney [Sat, 4 Dec 2021 14:25:09 +0000 (14:25 +0000)]
Push some dynamic dialog text into IDD_FILE_INUSE resource

Can't use that approach for the label for the IDRETRY button (since it
needs a fixed ID), so move that to string resources.

Also make text placed in IDC_FILE_INUSE_MSG localizable.

2 years agoMove download progress message to string resources
Jon Turney [Sat, 4 Dec 2021 14:04:39 +0000 (14:04 +0000)]
Move download progress message to string resources

2 years agoMove confirm report strings to string resources
Jon Turney [Fri, 3 Dec 2021 23:17:09 +0000 (23:17 +0000)]
Move confirm report strings to string resources

2 years agoMove hash checking progress message to string resources
Jon Turney [Fri, 3 Dec 2021 22:06:50 +0000 (22:06 +0000)]
Move hash checking progress message to string resources

2 years agoUse string resource for progress windows title
Jon Turney [Fri, 3 Dec 2021 21:25:31 +0000 (21:25 +0000)]
Use string resource for progress windows title

2 years agoMove local package directory browser title to string resources
Jon Turney [Fri, 3 Dec 2021 20:25:15 +0000 (20:25 +0000)]
Move local package directory browser title to string resources

Also improve LoadStringW to handle a missing translation by falling back
to untranslated string.

2 years agoMove root directory browser title to string resources
Jon Turney [Fri, 3 Dec 2021 20:07:13 +0000 (20:07 +0000)]
Move root directory browser title to string resources

Note: IFileDialog now recommended over SHBrowseForFolder.

There's something a little wonky here: The browser is shown by
OnMessageCmd(), so a simple click on the unfocused button isn't enough?

2 years agoMove localizable 'empty chooser' text to string resources
Jon Turney [Fri, 3 Dec 2021 18:26:53 +0000 (18:26 +0000)]
Move localizable 'empty chooser' text to string resources

2 years agoDon't localize logged 'exit message' set via setExitMsg()
Jon Turney [Fri, 3 Dec 2021 18:07:51 +0000 (18:07 +0000)]
Don't localize logged 'exit message' set via setExitMsg()

2 years agoDon't localize mbox strings written to log
Jon Turney [Thu, 10 Sep 2020 16:31:56 +0000 (17:31 +0100)]
Don't localize mbox strings written to log

Add LoadStringWEx to access string resource for a specifc locale.
Use that in mbox when formatting string for log.

2 years agoPush some dynamic download/install dialog text into IDD_LOCAL_DIR DIALOG resource
Jon Turney [Thu, 2 Dec 2021 22:28:32 +0000 (22:28 +0000)]
Push some dynamic download/install dialog text into IDD_LOCAL_DIR DIALOG resource

Move the localizable dialog text which is dynamically modified depending
on install or download mode into the IDD_LOCAL_DIR DIALOG resource, and
show or hide it as appropriate.

2 years agoFix format() returning a std::string containing a terminating null
Jon Turney [Sun, 5 Dec 2021 14:34:41 +0000 (14:34 +0000)]
Fix format() returning a std::string containing a terminating null

2 years agoSend postinstall thread complete message last in that thread
Jon Turney [Fri, 3 Dec 2021 14:27:12 +0000 (14:27 +0000)]
Send postinstall thread complete message last in that thread

Addresses: https://cygwin.com/pipermail/cygwin/2021-November/250084.html

After some staring at the code, it looks like it's possible that the
cause of this report is the linked list containing log entries to be
damaged if multiple threads call endLog() simultaneously.

Currently 'Changing gid to Administrators' is logged by the call to
nt_sec.setAdminGroup() just after the WM_APP_POSTINSTALL_THREAD_COMPLETE
message is been sent.

'Ending cygwin install' is logged just before main exits.

Make sending the WM_APP_POSTINSTLL_THREAD_COMPLETE message the last
thing that the postinstall thread does  This should avoid the potential
for endLog() becing called by multiple threads simultaenously.

Logging is still lousy with race conditions as the std::stringbuf all
threads are writing to is global (leading to messages from multiple
threads being concatenated here), and appending to the linked list isn't
thread-safe, but this should at least avoid this particular infinite
loop.

2 years agoDrop some cruft in logging
Jon Turney [Wed, 1 Dec 2021 15:06:20 +0000 (15:06 +0000)]
Drop some cruft in logging

The 'hack' referred to in endEntry() was removed in c8356810, but the
comment wasn't updated.

2 years agoAdd an option to set the GUI language release_2.910
Jon Turney [Thu, 15 Apr 2021 19:12:27 +0000 (20:12 +0100)]
Add an option to set the GUI language

Add an option to set the GUI language, primarily for testing purposes.

We need to call SetThreadUILanguage() not only in the main thread, but
in every thread which might access localized resources (directly or
indirectly).

2 years agoAdd french res.rc
Jon Turney [Fri, 7 May 2021 18:17:01 +0000 (19:17 +0100)]
Add french res.rc

Add french res.rc, with dialog, message box, progress and actions string
translations from Eric Laussage, converted to utf8 encoding.

v2:
Update with translations for dynamically modified text in IDD_DESKTOP
and IDD_CHOOSE DIALOG resource

v3:
Add mbox caption, more mbox strings
MB_RETRYCONTINUE button label

2 years agoUse UTF8 encoding in .rc file
Jon Turney [Thu, 15 Apr 2021 19:40:51 +0000 (20:40 +0100)]
Use UTF8 encoding in .rc file

Use UTF8 encoding in resources .rc file (rather than defaulting to
Windows codepage 1252)

2 years agoMove some non-localizable string from resources
Jon Turney [Thu, 25 Nov 2021 19:22:06 +0000 (19:22 +0000)]
Move some non-localizable string from resources

2 years agoPush MB_RETRYCONTINUE MessageBox customization into mbox wrapper
Jon Turney [Thu, 25 Nov 2021 17:38:22 +0000 (17:38 +0000)]
Push MB_RETRYCONTINUE MessageBox customization into mbox wrapper

Push the MB_RETRYCONTINUE MessageBox customization into the mbox
wrapper, and use it for a generic error during file extraction.

2 years agoUse generic formatting mbox wrapper
Jon Turney [Mon, 10 May 2021 22:15:30 +0000 (23:15 +0100)]
Use generic formatting mbox wrapper

Use generic formatting mbox wrapper for some:
- message boxes whose contents are currently hand-made using a format string.
- message boxes whose contents can be put into a string resource.

This also makes the various captions used by these messageboxes
consistent.

Future work: Aim to phase out remaining uses of the existing mbox()
wrapper:
- via note(), fatal(), yesno()
- where we a need to use a fully dynamic string (e.g. from ini parser)

2 years agoAdd a more generic mbox wrapper
Jon Turney [Mon, 10 May 2021 21:35:32 +0000 (22:35 +0100)]
Add a more generic mbox wrapper

This mbox wrapper understands loading format strings from string
resources and unattended mode.

Factor out the unattended_result logic from the existing mbox wrapper,
so it can be shared with that.

2 years agoDrop message box for invalid --arch option
Jon Turney [Fri, 12 Nov 2021 14:37:33 +0000 (14:37 +0000)]
Drop message box for invalid --arch option

Make this consistent with all other cases of an invalid option, where
the error is just reported to stdout.

2 years agoFix uses of MessageBox() which could be problematic in unattended mode
Jon Turney [Thu, 11 Nov 2021 22:17:12 +0000 (22:17 +0000)]
Fix uses of MessageBox() which could be problematic in unattended mode

Direct uses of MessageBox should be avoided, as they need special
attention to check that they are avoided in unattended mode (as they
could cause setup to stop and wait for user interaction).

Fix a few remaining uses that aren't guarded by checks of
unattended_mode, by using mbox() instead.

(These are new or slightly non-trivial uses which didn't get changed in
a123de66).

2 years agoReview uses of MessageBox()
Jon Turney [Mon, 10 May 2021 20:43:26 +0000 (21:43 +0100)]
Review uses of MessageBox()

Use a consistent caption "Cygwin Setup" (for consistency with mbox()).

Also drop pointless CANCEL logic and clean up handling of IGNORE for
ABORTRETRYINGORE mbox when local package directory can't be accessed.

Also remove the CANCEL button from the MessageBox displayed for a
'message:' hint, which quits setup, with no indication that's what it's
going to do.

Also drop some commented out code for a modeless propsheet

2 years agoRemove one version of fatal()
Jon Turney [Mon, 10 May 2021 19:50:55 +0000 (20:50 +0100)]
Remove one version of fatal()

This is only used in two places, which are "this can't happen"
situations, where it doesn't actually make much sense to exit setup.

2 years agoPush some dynamic download/install dialog text into IDD_DESKTOP DIALOG resource
Jon Turney [Mon, 10 May 2021 18:42:13 +0000 (19:42 +0100)]
Push some dynamic download/install dialog text into IDD_DESKTOP DIALOG resource

Move the localizable dialog text which is dynamically modified depending
on install or download mode into the IDD_DESKTOP DIALOG resource, and
show or hide it as appropriate.

2 years agoPush some dynamic download/install dialog text into IDD_CHOOSE DIALOG resource
Jon Turney [Mon, 10 May 2021 18:01:38 +0000 (19:01 +0100)]
Push some dynamic download/install dialog text into IDD_CHOOSE DIALOG resource

Move the localizable dialog text which is dynamically modified depending
on install or download mode into the IDD_CHOOSE DIALOG resource, and
show or hide it as appropriate.

2 years agoMake '--quiet' imply 'download and install packages'
Jon Turney [Fri, 1 Oct 2021 14:34:53 +0000 (15:34 +0100)]
Make '--quiet' imply 'download and install packages'

Make '--quiet' imply 'download and install packages', rather than
'whatever source mode was chosen in the last run'.  This aligns
behaviour with the help text about installation type.

This can be overriden with '--download' or '--local-install'. Specifying
both already has the meaning 'download and install packages', but let's
not require than in combination with '--quiet' to get definite
behaviour.

3 years agoMove column header strings to string table resource
Jon Turney [Mon, 10 May 2021 15:39:37 +0000 (16:39 +0100)]
Move column header strings to string table resource

3 years agoMove view mode strings to string table resource
Jon Turney [Mon, 10 May 2021 14:18:24 +0000 (15:18 +0100)]
Move view mode strings to string table resource

3 years agoUse package action strings from resources for column width
Jon Turney [Mon, 10 May 2021 14:36:39 +0000 (15:36 +0100)]
Use package action strings from resources for column width

Use the package action strings from string table resource for computing
the column width.

(This should have been done as part of f34a20e7, but we didn't notice
the strings were also duplicated here.)

This requires a bit of enhancement to ListView::noteColumnWidth() to
work for wstrings as well.

3 years agoDefault symlink mode from CYGWIN env var
Jon Turney [Sat, 31 Jul 2021 19:37:22 +0000 (20:37 +0100)]
Default symlink mode from CYGWIN env var

3 years agoPropagate --symlink-type setting to post-install scripts
Jon Turney [Sat, 31 Jul 2021 11:54:00 +0000 (12:54 +0100)]
Propagate --symlink-type setting to post-install scripts

Propagate --symlink-type setting to post-install scripts, by setting the
CYGWIN env var appropriately.

3 years agoAdd a command line option to choose symlink type used
Jon Turney [Wed, 19 May 2021 18:13:57 +0000 (19:13 +0100)]
Add a command line option to choose symlink type used

The default is 'sys', the historical behaviour of setup.

v2:
Adjust to use StringChoiceOption
Align option names with winsymlink values

3 years agoFactor out StringChoiceOption
Jon Turney [Sun, 18 Jul 2021 14:11:39 +0000 (15:11 +0100)]
Factor out StringChoiceOption

Factor out logic for 'a string option which is one of a set of choices'
from CompactOsStringOption as StringChoiceOption.

v2:
Allow different behaviour for option without a choice, and option absent.

Future work: This doesn't say anything other that "Error during option
processing" if you've given an invalid choice string, or left it out
when it's required, because libgetopt++ doesn't output anything, just
returns success or failure after processing the command line arguments.

3 years agoAdd symlink capabilities to user-agent telemetry
Jon Turney [Sat, 24 Jul 2021 15:34:29 +0000 (16:34 +0100)]
Add symlink capabilities to user-agent telemetry

Report if (i) we have the symlink creation privilege, and (ii) if
developer mode is on, so unprivileged symlink creation is allowed.

3 years agoAdd NTSecurity::hasSymlinkCreationRights()
Jon Turney [Mon, 26 Jul 2021 21:22:51 +0000 (22:22 +0100)]
Add NTSecurity::hasSymlinkCreationRights()

Also report if SeCreateSymbolicLink privilege is available to log.

3 years agoAdd separate symlink-creation phase when extracting archive
Jon Turney [Sun, 25 Jul 2021 14:58:30 +0000 (15:58 +0100)]
Add separate symlink-creation phase when extracting archive

Add a separate symlink-creation phase when extracting an archive, by
ignoring symlinks on the first pass, rewinding the archive, and
then extracting only symlinks on the second pass.

This helps a lot with native symlinks (which require the destination to
exist when created, so we can determine if it is a file or directory).

Alternative implementations:

We could collect symlinks, and defer making them until the end of
extracting the archive.  We'd also need to report errors if making those
symlinks failed.

We could close and re-open the archive, rather than rewinding it. Error
handling if the archive isn't accessible the second time could be
complex.

3 years agoAdd seek() method to archive and compress file classes
Jon Turney [Sun, 25 Jul 2021 14:53:39 +0000 (15:53 +0100)]
Add seek() method to archive and compress file classes

Add seek() method to archive and compressed file isostream classes
(which can only rewind to the start).

Also clean up some cruft in archive class.

This still needs testing on a .gz archive (slightly involved as there
aren't any currently!)

3 years agoFactor out the iteration over archive files to install
Jon Turney [Sun, 25 Jul 2021 14:26:19 +0000 (15:26 +0100)]
Factor out the iteration over archive files to install

3 years agoAdd support for creating native symlinks
Jon Turney [Sat, 24 Jul 2021 15:19:27 +0000 (16:19 +0100)]
Add support for creating native symlinks

3 years agoAdd support for creating WSL symlinks
Jon Turney [Tue, 18 May 2021 22:07:11 +0000 (23:07 +0100)]
Add support for creating WSL symlinks

3 years agoOnly build for x86_64 in github workflow
Jon Turney [Sat, 17 Jul 2021 12:56:31 +0000 (13:56 +0100)]
Only build for x86_64 in github workflow

Only build for x86_64 in github workflow, since the requirements for
i686 are now impossible to obtain (Fedora <=31 for non-DW2 EH compiler,
but coprs for EOL'ed Fedoras have been expired)

3 years agoAdd new option '--compact-os ALGORITHM'.
Christian Franke [Fri, 14 May 2021 07:50:12 +0000 (09:50 +0200)]
Add new option '--compact-os ALGORITHM'.

If specified, selected Compact OS compression algorithm is applied
to files below /bin, /sbin and /usr.  Most DLL files are excluded
because rebase will open these files again for writing.

3 years agoFix a crash in ListView StringCache release_2.909
Jon Turney [Wed, 14 Jul 2021 14:39:09 +0000 (15:39 +0100)]
Fix a crash in ListView StringCache

Fix a sporadic crash in chooser introduced in f34a20e7.

Limit the mempcy() to fill StringCache to the size of the string we are
putting in the cache, not the the size of the cache (which will fault if
it happens to over-run into a inaccessible page).

3 years agoCancel search timer after 'clear' button pressed
Jon Turney [Wed, 2 Jun 2021 13:25:24 +0000 (14:25 +0100)]
Cancel search timer after 'clear' button pressed

3 years agoMake 'Clear' button on IDD_CHOOSE less snug
Jon Turney [Wed, 12 May 2021 14:16:59 +0000 (15:16 +0100)]
Make 'Clear' button on IDD_CHOOSE less snug

3 years agoSimplify uninstall-only warning
Jon Turney [Fri, 7 May 2021 18:36:12 +0000 (19:36 +0100)]
Simplify uninstall-only warning

Simplify uninstall-only warning when running in 'Install from Local
Directory' mode with a non-existent package directory.

Strictly, this is wrong as written, since is_64 reflects the --arch
option setting, not the arch of the executable.

In any case, mentioning the executable name seems to just distract from
the warning we are trying to deliver here.

3 years agoFix which column we size to accomodate action labels
Jon Turney [Wed, 12 May 2021 12:50:42 +0000 (13:50 +0100)]
Fix which column we size to accomodate action labels

This wasn't actually operating on the right column (due to a typo in
ce9f6dd0), but fortunately that was benign (as the longest version is
probably longer than any action).

3 years agoFix native machine reported on x86_64 without IsWow64Process2()
Jon Turney [Mon, 26 Apr 2021 12:49:39 +0000 (13:49 +0100)]
Fix native machine reported on x86_64 without IsWow64Process2()

If the OS version is old enough not to have IsWow64Process2(), and
IsWow64Process() returns FALSE, this only indicates x86 for an x86
process.

Fixes 4936dbc.

3 years agoAdd --allow-test-packages release_2.908
David Allsopp [Tue, 20 Apr 2021 14:23:52 +0000 (15:23 +0100)]
Add --allow-test-packages

3 years agoHandle '--packages package=version'
Jon Turney [Thu, 27 Aug 2020 14:48:06 +0000 (15:48 +0100)]
Handle '--packages package=version'

Handle '--packages package=version' to allow specifing the version of a
package to install on the command line.

isManuallyWanted() now returns the target packageversion (if specified),
or an empty packageversion (which is translated into an instruction to
the solver to choose the version).

In the 'upgrade' case, this changes from using the complex logic of
packagemeta::trustp() to determine the target version, when unspecified
on the command line, to allowing the solver to make that decision (which
should be broadly the same i.e. not downgrading test versions, etc.).

This also subtly changes the behaviour when the package version is not
specified.  Instead of forcing the current version, we allow the solver
to choose the version, so it may not pick that version, if other
constraints exist, which prevent a solution containing that version.

There's probably some future work which can be done to simplify the
remaining uses packagemeta::trustp(), which are only related to the UI.

3 years agoAdd GUI language to default User-Agent string
Jon Turney [Wed, 16 Sep 2020 15:14:56 +0000 (16:14 +0100)]
Add GUI language to default User-Agent string

3 years agoPutative changes to bitness reporting for Win64-on-ARM64
Jon Turney [Thu, 15 Apr 2021 17:13:07 +0000 (18:13 +0100)]
Putative changes to bitness reporting for Win64-on-ARM64

3 years agoCheck compiler exception handling model during configure release_2.907
Jon Turney [Sun, 11 Apr 2021 15:52:05 +0000 (16:52 +0100)]
Check compiler exception handling model during configure

Since F32, Fedora ships a MinGW x86 compiler which uses DW2 exception
handling [1].  This does not support throwing exceptions from Windows
callbacks, which we use.

[1] https://fedoraproject.org/wiki/Changes/Mingw32GccDwarf2

3 years agoAdd a github action to cross-build on Fedora release_2.906
Jon Turney [Tue, 16 Mar 2021 16:35:59 +0000 (16:35 +0000)]
Add a github action to cross-build on Fedora

3 years agoAdd scripts used in packaging
Jon Turney [Wed, 26 Feb 2020 00:45:25 +0000 (00:45 +0000)]
Add scripts used in packaging

3 years agoLink with libssp
Jon Turney [Tue, 16 Mar 2021 17:38:49 +0000 (17:38 +0000)]
Link with libssp

Fedora builds some of the libraries we use with -D_FORTIFY_SOURCE=2, so
we need to link with libssp to provide __memcpy_chk etc.

Future work: build setup itself with -D_FORTIFY_SOURCE=2.

3 years agoTurn on __USE_MINGW_ANSI_STDIO everywhere
Jon Turney [Tue, 16 Mar 2021 15:55:59 +0000 (15:55 +0000)]
Turn on __USE_MINGW_ANSI_STDIO everywhere

__USE_MINGW_ANSI_STDIO is turned on by C++ STL headers, so we're getting
this define due to that in most places, except where we happen to
include stdio.h before them. archive_tar.cc happens to do that, and
wants ANSI stdio since da31ad35, so turn it on unconditionally.

It's also turned on for C++11 by MinGW headers >= 8.0.0, which Cygwin
already has, so this already works when building there, and we're going
to have to deal with any other problem that might cause elsewhere in the
source eventually anyhow.

This fixes building since da31ad35 on F33, which only has mingw-headers
7.0.0.

3 years agoUpdate displayed copyright to 2021
Jon Turney [Mon, 15 Mar 2021 17:40:51 +0000 (17:40 +0000)]
Update displayed copyright to 2021

3 years agoRevert "Remove pointless variable from do_download_site_info_thread()"
Jon Turney [Mon, 15 Mar 2021 17:38:13 +0000 (17:38 +0000)]
Revert "Remove pointless variable from do_download_site_info_thread()"

This reverts commit d15c11e7954977ee27712989b36e7102fc70639e.

This wasn't pointless, as it was causing the site list to be fetched
only once, even if we passed through that page more than once.

3 years agoMove package action strings to string table resource
Jon Turney [Sun, 6 Sep 2020 18:23:23 +0000 (19:23 +0100)]
Move package action strings to string table resource

Move package action strings to string table resource.
Switch ListView control to wide-char.

3 years agoAdd a UTF-8 string to wstring utility function.
Jon Turney [Wed, 16 Sep 2020 21:21:08 +0000 (22:21 +0100)]
Add a UTF-8 string to wstring utility function.

3 years agoRemove long-obsolete 'DISCARABLE' from resource file
Jon Turney [Sun, 6 Sep 2020 16:04:20 +0000 (17:04 +0100)]
Remove long-obsolete 'DISCARABLE' from resource file

The 'DISCARDABLE' memory attribute was only signficant on Win16.

3 years agoMove installation progress strings to string table resource
Jon Turney [Tue, 1 Sep 2020 00:43:53 +0000 (01:43 +0100)]
Move installation progress strings to string table resource

3 years agoAllow progress status to be set directly from a resource
Jon Turney [Fri, 4 Sep 2020 15:03:08 +0000 (16:03 +0100)]
Allow progress status to be set directly from a resource

Allow progress status to be set directly from a (localizable) resource.

3 years agoAdd LoadStringW to std::wstring utility function
Jon Turney [Fri, 4 Sep 2020 15:40:14 +0000 (16:40 +0100)]
Add LoadStringW to std::wstring utility function

3 years agoFix version used when not built from a git checkout
Jon Turney [Mon, 31 Aug 2020 19:34:24 +0000 (20:34 +0100)]
Fix version used when not built from a git checkout

This page took 0.070686 seconds and 5 git commands to generate.