]> cygwin.com Git - cygwin-apps/setup.git/log
cygwin-apps/setup.git
7 years agoAdd Makefile rule to rename build products to form used when uploading
Jon Turney [Tue, 2 May 2017 14:54:09 +0000 (15:54 +0100)]
Add Makefile rule to rename build products to form used when uploading

Also clean all .dbg and .exe files

7 years agoUpdate displayed copyright to 2017 release_2.878
Jon Turney [Mon, 1 May 2017 22:38:20 +0000 (23:38 +0100)]
Update displayed copyright to 2017

7 years agoUse wininet for fetching URLs in direct (non-proxy) case
Jon Turney [Thu, 30 Mar 2017 10:48:44 +0000 (11:48 +0100)]
Use wininet for fetching URLs in direct (non-proxy) case

From the discussion in [1], I was somewhat surprised to learn that setup
doesn't support https or ftps.

Switch to using wininet for fetching URLs in the direct (non-proxy) case, as
well. (It's already used in proxy case). This allows https and ftps
protocols to be used.

For the moment, we keep around the existing, hand-built URL fetching as
'Direct (legacy)'.

Arrange for mirrors.lst and setup.ini to be cached by wininet, but not
package archives (as setup maintains it's own cache of those)

Read from wininet in 64K chunks rather than the whole file, so we can report
progress feedback as we download.

Close rather than leak InternetOpenUrl() handles with errors.

Also fix up some bad indentation.

I think the reason we have a handbuilt HTTP client is that back in 2000 or
so, we were concerned about the case where IE5 wasn't installed and so
wininet wasn't available.  But who knows...

[1] https://cygwin.com/ml/cygwin/2017-03/msg00384.html

7 years agoRemove obsolete ChangeLog
Jon Turney [Fri, 28 Apr 2017 14:26:35 +0000 (15:26 +0100)]
Remove obsolete ChangeLog

7 years agoDon't show source-only packages in package list
Jon Turney [Sat, 21 Jan 2017 16:03:02 +0000 (16:03 +0000)]
Don't show source-only packages in package list

external-source: packages which have no binary package will be marked skip:
and so won't show up in setup.ini at all.

If we change to using the Source: line to identify a source package, which
is (by definition) source only, these will appear in setup.ini, but without
any install: lines, so we need to explcitly avoid showing them in the
package list.

Future work: perhaps add another view to show just source packages?

7 years agoMake building with DEBUG less useless
Jon Turney [Fri, 28 Apr 2017 11:27:42 +0000 (12:27 +0100)]
Make building with DEBUG less useless

Showing a messagebox with ldesc for every single package is annoying.

7 years agoDon't do unneeded work when changing stability level
Jon Turney [Tue, 25 Apr 2017 18:15:16 +0000 (19:15 +0100)]
Don't do unneeded work when changing stability level

Since 2c4487b3, we stopped recomputing all the dependencies every time
something was changed in the PickView.  Remove all the depsolver code which
was used to do that.

The only remaining use was when we changed stability level, to select all
the package versions at that stability level.  That work is already being
done by packagedb::defaultTrust() (called by ChooserPage::changeTrust()).

(Note that this changes behaviour slightly: New dependencies of currently
installed packages used to be shown in the PickView, but now they won't be
reported until the PrereqChecker)

(This still leaves the crude depsolver we actually use in PrereqChecker,
which just selects all the unmet dependencies with the current trust level)

7 years agoDon't handle missing 'version:'
Jon Turney [Wed, 26 Apr 2017 20:03:01 +0000 (21:03 +0100)]
Don't handle missing 'version:'

If the setup.ini is missing a 'version:' line, parse the version number out
of the 'install:' filename.  Let's not do that anymore...

7 years agopackageversion::sourcePackageSpecification() is const
Jon Turney [Wed, 26 Apr 2017 19:13:21 +0000 (20:13 +0100)]
packageversion::sourcePackageSpecification() is const

7 years agoUse const version of packageversion::depends() in PrereqChecker
Jon Turney [Wed, 26 Apr 2017 15:24:43 +0000 (16:24 +0100)]
Use const version of packageversion::depends() in PrereqChecker

7 years agoMake packageversion::source(|s) const
Jon Turney [Wed, 26 Apr 2017 13:59:59 +0000 (14:59 +0100)]
Make packageversion::source(|s) const

Make packageversion::source() and sources() const

Remove a temporary used to dererence an packageversion iterator to avoid
problems with const-correctness

7 years agoRemove cygpackage::destroy() because it does nothing
Jon Turney [Tue, 25 Apr 2017 23:07:25 +0000 (00:07 +0100)]
Remove cygpackage::destroy() because it does nothing

7 years agoRemove unused package_status_t stored in packageversion class
Jon Turney [Tue, 25 Apr 2017 10:54:25 +0000 (11:54 +0100)]
Remove unused package_status_t stored in packageversion class

The package installed/not installed status is tracked by the packagemeta
class, currently

7 years agoRemove pointless abstract base class IniDBBuilder
Jon Turney [Fri, 7 Apr 2017 19:11:08 +0000 (20:11 +0100)]
Remove pointless abstract base class IniDBBuilder

There can be no instances of IniDBBuilder (it has pure virtual methods).
There is only one derived class IniDBBuilderPackage.
We can't think of any use for other derived classes.

7 years agoRemove uses of stderr for reporting file/directory pathname clashes
Jon Turney [Mon, 24 Apr 2017 17:12:02 +0000 (18:12 +0100)]
Remove uses of stderr for reporting file/directory pathname clashes

Convert output which directly used fprintf(stderr,...), which isn't normally
going anywhere useful, to using logging.

7 years agoAdd --allow-unsupported-windows option
Jon Turney [Sat, 21 Jan 2017 18:07:02 +0000 (18:07 +0000)]
Add --allow-unsupported-windows option

This patch was suggested in a discussion with Peter Castro.

The concern is that using old versions of setup to install time machine
mirrors is not ideal, as it misses possible fixes in newer versions of
setup.

However, we do want to make it hard for someone to destroy their working XP
installation, so allowing setup to simply run on XP, which will break it by
upgrading it to the latest version (which doesn't work on XP), seems
contraindicated.

When --allow-unsupported-windows is on:
- Don't check the windows version
- Don't read the mirror list from cygwin.com
- Don't use any stored mirror selection in the 'last-mirror' key (as this
may point to a cygwin mirror, which, if we install from will break things)
- Retain the mirror selection (presumably a time machine circa given with
--site or via the GUI) in an alternate key 'last-mirror-unsupported'

Also, for discoverability, rearrange things so --help works even on
unsupported windows versions

7 years agoRemove an obsolete prototype
Jon Turney [Sat, 21 Jan 2017 13:20:37 +0000 (13:20 +0000)]
Remove an obsolete prototype

add_correct_version() was moved into IniDBBuilderPackage in commit 076654e7

7 years agoRemove unused cvsid
Jon Turney [Fri, 20 Jan 2017 21:26:31 +0000 (21:26 +0000)]
Remove unused cvsid

7 years agoRemove redundant parser rule
Jon Turney [Thu, 19 Jan 2017 21:36:20 +0000 (21:36 +0000)]
Remove redundant parser rule

Remove parser rules for undocumented redundant syntax

7 years agoRemove unused syntax for separate size and hash lines
Jon Turney [Thu, 19 Jan 2017 21:33:56 +0000 (21:33 +0000)]
Remove unused syntax for separate size and hash lines

Size:, MD5sum:, SHA512: are never used as the size and hash are always given
in install: or source: lines

7 years agoRemove parser rules which store data which is never used.
Jon Turney [Thu, 19 Jan 2017 20:45:41 +0000 (20:45 +0000)]
Remove parser rules which store data which is never used.

Remove parser rules for undocumented syntax which store data which is never
used.

Architecture:
Binary:
Conflicts:
Description:
Installed-Size:
Pre-Depends:
Priority:
Provides:
Recommends:
Replaces:
Suggests:

7 years agoRemove parser rules which do nothing
Jon Turney [Wed, 14 Dec 2016 13:00:51 +0000 (13:00 +0000)]
Remove parser rules which do nothing

Remove parser rules for undocumented sytax which does nothing

MAINTAINER
STANDARDSVERSION
FORMAT
DIRECTORY
FILES

Either the parser rules are empty, or call functions which do nothing

7 years agoRemove unused lexer tokens
Jon Turney [Wed, 14 Dec 2016 00:22:38 +0000 (00:22 +0000)]
Remove unused lexer tokens

Terminals unused in grammar

   APATH
   PPATH
   INCLUDE_SETUP
   EXCLUDE_PACKAGE
   DOWNLOAD_URL
   DESCRIPTION
   EMAIL
   OPENSQUARE
   CLOSESQUARE

EXCLUDE_PACKAGE and DESCRIPTION aren't even produced by any lexer rule

OPENSQUARE and CLOSESQUARE are unused since 3074ce5e, EXCLUDE_PACKAGE seems
to have done something in 2001, the rest never seem to have been used.

7 years agoMake package size and checksum mandatory in setup.ini
Jon Turney [Wed, 14 Dec 2016 00:00:02 +0000 (00:00 +0000)]
Make package size and checksum mandatory in setup.ini

The setup.ini grammar is written such that size and checksum are optional in
install: lines, and checksum is optional in source: lines.  Presumably this
had some historical use.

Change to make package size and checksum mandatory.

Future work: We keep the asymmetry between install: and source: where
buildPackageSource() sets both pathname and size, but buildPackageInstall()
only sets pathname, relying on a separate buildInstallSize() to set the size
later for the moment, as fixing that ripples through to other place.

7 years agoRemove unused grammar for dependent package architecture information release_2.877
Jon Turney [Tue, 30 Aug 2016 22:07:25 +0000 (23:07 +0100)]
Remove unused grammar for dependent package architecture information

A dependency package entry can apparently end with '[architecturelist]', but
this would be completely ignored if anything ever generated it...

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoFully initialize PROPSHEETPAGE
Jon Turney [Sat, 10 Sep 2016 16:56:27 +0000 (17:56 +0100)]
Fully initialize PROPSHEETPAGE

Avoids uninitilized data access errors reported by Dr.Memory

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoUse English button labels 'Keep', 'Current' and 'Test'
Jon Turney [Fri, 9 Dec 2016 14:56:25 +0000 (14:56 +0000)]
Use English button labels 'Keep', 'Current' and 'Test'

Use the English words 'Keep', 'Current' and 'Test' as button labels, rather
than 'Keep', 'Curr' and 'Exp'.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoAllow setup to parse more than 3 versions from the setup.ini file
Jon Turney [Wed, 31 Aug 2016 10:31:22 +0000 (11:31 +0100)]
Allow setup to parse more than 3 versions from the setup.ini file

This recognizes any "[foo]" line as introducing the information for another
version, which doesn't have one of the trust levels [curr], [prev] or
[test], and so isn't automatically selected when setup is told to install
all packages at that trust level (by default, [curr]).

Setup already does all the necessary sorting in version order etc. to use
these additional versions.

The value of <foo> carries no meaning, but the setup.ini specification
will be amended to mandate the use of "[ver<digits>]".

* PackageTrust.h (trusts): Add TRUST_OTHER.
* inilex.ll: tokenize any other [version] as the T_OTHER token.
* iniparse.yy: Add T_OTHER token and set package trust
to TRUST_OTHER when it is used.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoStrip symbols to setup.dbg
Jon Turney [Tue, 22 Nov 2016 16:05:58 +0000 (16:05 +0000)]
Strip symbols to setup.dbg

As noted in https://cygwin.com/ml/cygwin/2016-11/msg00254.html debugging the
distributed setup executable is a lost cause at the moment.  Preserve
symbols so it's not quite as hopeless.

Note: to debug the distributed setup executable with gdb, it will be
necessary to decompress the setup executable with 'upx -d', and, if the .dbg
file has been renamed to match the renamed setup executable, explicitly load
it into gdb with the 'symbol-file' command.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoSimplify PickView::insert_pkg
Jon Turney [Fri, 16 Sep 2016 18:53:53 +0000 (19:53 +0100)]
Simplify PickView::insert_pkg

This is only called from PickView::setViewMode(), and only when view_style
is not views::Category, so checking that again is redundant.

7 years agoStart chooser in "Pending" view if this is not a first time installation
Jon Turney [Sun, 11 Sep 2016 21:09:27 +0000 (22:09 +0100)]
Start chooser in "Pending" view if this is not a first time installation

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoIgnore malformed lines in a site-list
Jon Turney [Fri, 26 Aug 2016 10:03:22 +0000 (11:03 +0100)]
Ignore malformed lines in a site-list

Ignore malformed lines in a site-list, rather than crashing

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoFix validation in RootPage
Jon Turney [Fri, 26 Aug 2016 09:19:10 +0000 (10:19 +0100)]
Fix validation in RootPage

RootPage is supposed to disable the next button if the rootdir edit box is
empty, but this currently doesn't work.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoGive search edit box autohscroll style
Jon Turney [Wed, 7 Sep 2016 16:54:26 +0000 (17:54 +0100)]
Give search edit box autohscroll style

This enables searching for package names longer than will fit in the edit
box, by allowing the text in the edit box to horizontally scroll...

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoRestore Alt-V accelerator for view selection control in chooser
Jon Turney [Sat, 10 Sep 2016 10:37:01 +0000 (11:37 +0100)]
Restore Alt-V accelerator for view selection control in chooser

Also make the view selection control a tabstop

Also give "Curr" a unique accelerator, 'C' is already being used by "Clear"

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoCall Logger ().exit instead of exit() when leaving release_2.876
Corinna Vinschen [Fri, 2 Sep 2016 10:26:00 +0000 (12:26 +0200)]
Call Logger ().exit instead of exit() when leaving

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoRefuse to run on Windows XP and earlier
Jon Turney [Thu, 1 Sep 2016 19:30:44 +0000 (20:30 +0100)]
Refuse to run on Windows XP and earlier

Refuse to run on Windows versions less than 6.0 (XP or previous), as they
are no longer supported by Cygwin.

Future work: The version checked against should be read from setup.ini,
rather than hard-coded here, so that this version of setup cannot be used to
download a future version of Cygwin which isn't compatible with the Windows
version it's running on...

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoNTSecurity::GetPosixPerms: Simplify creation of ACEs
Corinna Vinschen [Thu, 1 Sep 2016 18:47:29 +0000 (20:47 +0200)]
NTSecurity::GetPosixPerms: Simplify creation of ACEs

Use AddAccessAllowedAceEx to avoid having to change the
inheritance flags afterwards.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoFix incorrect heap memory access in SimpleSocket::gets()
Jon Turney [Thu, 1 Sep 2016 18:21:55 +0000 (19:21 +0100)]
Fix incorrect heap memory access in SimpleSocket::gets()

nl is dereferenced to check if it's '\n' or '\r', before we check if we have
passed the start of the buffer.  Re-order the check so we check if we have
passed the start of the buffer first.

Detected by Dr.Memory, e.g:

Error #7: UNADDRESSABLE ACCESS beyond heap bounds: reading 0x053f3067-0x053f3068 1 byte(s)
 0 SimpleSocket::gets                           [/wip/cygwin-setup/build.x86/../simpsock.cc:177]
 1 NetIO_HTTP::NetIO_HTTP                       [/wip/cygwin-setup/build.x86/../nio-http.cc:195]
 2 NetIO::open                                  [/wip/cygwin-setup/build.x86/../netio.cc:154]
 3 getUrlToStream                               [/wip/cygwin-setup/build.x86/../geturl.cc:119]
 4 get_url_to_membuf                            [/wip/cygwin-setup/build.x86/../geturl.cc:161]
 5 get_url_to_string                            [/wip/cygwin-setup/build.x86/../geturl.cc:186]
 6 get_site_list                                [/wip/cygwin-setup/build.x86/../site.cc:324]
 7 do_download_site_info_thread@4               [/wip/cygwin-setup/build.x86/../site.cc:410]
 8 KERNEL32.dll!BaseThreadInitThunk            +0x23     (0x76fb62c4 <KERNEL32.dll+0x162c4>)
Note: @0:00:20.016 in thread 280888
Note: refers to 1 byte(s) before next malloc
Note: next higher malloc: 0x053f3068-0x053f346b
Note: prev lower malloc:  0x053f2fc8-0x053f3048
Note: instruction: movzx  (%eax) -> %eax

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoClean up some cruft in propsheet.cc
Jon Turney [Thu, 1 Sep 2016 18:12:05 +0000 (19:12 +0100)]
Clean up some cruft in propsheet.cc

Clean up some cruft no longer needed after 67fb0b58

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoFix scope problem in NetIO_HTTP::NetIO_HTTP
Corinna Vinschen [Thu, 1 Sep 2016 13:58:46 +0000 (15:58 +0200)]
Fix scope problem in NetIO_HTTP::NetIO_HTTP

Also reformat slightly for better readability

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoFix scope problem with the FileInUse dialog
Jon Turney [Thu, 1 Sep 2016 12:45:59 +0000 (13:45 +0100)]
Fix scope problem with the FileInUse dialog

The std::string we make for dlg_data.msg must remain in scope while the
FileInUse modal dialog is shown.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
7 years agoFix invalid deleting of a local pointer in UserSettings::UserSettings
Corinna Vinschen [Thu, 1 Sep 2016 12:46:21 +0000 (14:46 +0200)]
Fix invalid deleting of a local pointer in UserSettings::UserSettings

Convert buf to a unique_ptr instead.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoConvert deprecated auto_ptr to C++11-conformant unique_ptr
Corinna Vinschen [Thu, 1 Sep 2016 12:25:20 +0000 (14:25 +0200)]
Convert deprecated auto_ptr to C++11-conformant unique_ptr

Remove -Wno-deprecated-declarations option from Makefile.am
because it was only added for this single expression.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoFix scope problem when using the return value of get_root_dir()
Corinna Vinschen [Thu, 1 Sep 2016 11:52:33 +0000 (13:52 +0200)]
Fix scope problem when using the return value of get_root_dir()

Let get_root_dir return a reference instead of a temporary
std::string object.  In directory_is_absolute() and
directory_is_rootdir(), use std::string methods rather than
falling back to plain C techniques.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoUse a drop-down list to directly select chooser view filter release_2.875
Jon Turney [Sun, 28 Aug 2016 20:26:25 +0000 (21:26 +0100)]
Use a drop-down list to directly select chooser view filter

Rather than a button for cycling through views, use a drop-down list to
choose the view

Remove not very useful PickView::views::Unknown enum value so that enum can
start from 0, so it can be used directly as a drop-down list index.

7 years agoRename PickView::Package to PickView::PackagePending
Jon Turney [Wed, 3 Aug 2016 21:35:05 +0000 (22:35 +0100)]
Rename PickView::Package to PickView::PackagePending

Rename PickView::Package to PickView::PackagePending, as that's what that
view is

7 years agoChange PickView::view into an enum
Jon Turney [Wed, 3 Aug 2016 21:31:05 +0000 (22:31 +0100)]
Change PickView::view into an enum

Change PickView::view from a class, into an enum

Use a C++11 scoped enum so we don't have to change all the uses of it's
values.

7 years agoBuild C++ code with -std=gnu++11
Jon Turney [Wed, 3 Aug 2016 21:15:25 +0000 (22:15 +0100)]
Build C++ code with -std=gnu++11

Use BASECXXFLAGS rather then AM_CXXFLAGS to make AM_CFLAGS
Rationalize BASECXXFLAGS, adding -Werror and removing -Wno-uninitialized
(since the bug preventing it being used is long fixed)
Fix a bug detected by -Wuninitialized
Build C++ code with -std=gnu++11 -Wno-deprecated-declarations

7 years agoReserve paths starting "." for package metadata
Jon Turney [Tue, 2 Aug 2016 11:40:01 +0000 (12:40 +0100)]
Reserve paths starting "." for package metadata

Reserve pathnames starting "." (i.e. dotfiles in the root directory) for
package metadata, so don't extract them.

There are no current uses of these pathnames

7 years agoAdd an additional filter view, showing packages which were user picked
Jon Turney [Mon, 1 Aug 2016 17:05:14 +0000 (18:05 +0100)]
Add an additional filter view, showing packages which were user picked

Add an additional filter view, showing installed packages which were
selected for installation by the user, not installed as dependencies.

Future work:

Why is PickView::views is not an enum?

The view button would make more sense as a pop-up menu, allowing a specific
filter view to be directly selected, rather than cycling around the possible
filter views (and this situation is made worse by adding another filter
view)

7 years agoTrack if a package was installed by user, or as a dependency
Jon Turney [Tue, 2 Aug 2016 11:19:09 +0000 (12:19 +0100)]
Track if a package was installed by user, or as a dependency

Update the installed.db file format to version 3, containing the user_picked
flag.

This extends the semantics of user_pick somewhat: currently it is only used
for UI purposes, to record if a package was picked in the current session.

Now we also use it to record if an installed package has ever been picked
via the UI (otherwise it is only installed because it is a dependency).

So, we are careful not to set it when a currently installed package has it's
installed version adjusted via the GUI.

We also arrange for user_pick to be set when a package was selected for
installation via CLI.

Add a heuristic to initially populate user_pick when upgrading from older
installed.db formats: All non-base installed packages which aren't
dependencies are assumed to be user_pick-ed.

Note: other tools (e.g. cygcheck) which read the installed.db file will need
updating appropriately

v2:
Don't gratuitously break compatiblity with other existing readers of
installed.db, keep recording version as a notional filename.

Don't treat unknown future installed.db format versions as format version 1,
instead treat setup downgrading as a fatal error.

7 years agoRemove unused fn member from cygpackage
Jon Turney [Mon, 1 Aug 2016 12:45:40 +0000 (13:45 +0100)]
Remove unused fn member from cygpackage

This is set, but never used.

7 years agoRemove obsolete installed_from member from packagemeta
Jon Turney [Mon, 1 Aug 2016 12:43:34 +0000 (13:43 +0100)]
Remove obsolete installed_from member from packagemeta

This just stores a made-up tarfile name read from installed.db, and is never
used.

7 years agoProperly report progress in PrereqChecker::isMet
Jon Turney [Thu, 7 Jul 2016 13:34:22 +0000 (14:34 +0100)]
Properly report progress in PrereqChecker::isMet

Properly report progress in PrereqChecker::isMet after additional dependency
work is found.

7 years agoDowngrade "Running preremove script" logging to debug
Jon Turney [Tue, 21 Jun 2016 15:25:22 +0000 (16:25 +0100)]
Downgrade "Running preremove script" logging to debug

This is emitted for every package, regardless of it has any scripts or not.
Actual script execution is logged separately.

Also a cosmetic fix to remove a doubled space.

7 years agoAdd lex and yacc generated files to .gitignore
Jon Turney [Mon, 1 Aug 2016 11:16:14 +0000 (12:16 +0100)]
Add lex and yacc generated files to .gitignore

7 years agoPrevent libtool warning that a getopt++ shared library cannot be built
Jon Turney [Fri, 8 Jul 2016 11:06:10 +0000 (12:06 +0100)]
Prevent libtool warning that a getopt++ shared library cannot be built

libtool: warning: undefined symbols not allowed in i686-w64-mingw32 shared libraries; building static only

7 years agoRemove stray execute permissions
Jon Turney [Mon, 1 Aug 2016 17:35:43 +0000 (18:35 +0100)]
Remove stray execute permissions

7 years agoChooser window: Set focus to search field.
Corinna Vinschen [Tue, 2 Aug 2016 18:48:53 +0000 (20:48 +0200)]
Chooser window: Set focus to search field.

After rearranging the chooser controls in commit 6a36f6a,
the search field wasn't the first control anymore, thus it
didn;'t have the focus anymore.  Fix that by setting the focus
to the search field explicitely in ChooserPage::OnInit.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agofromcwd.cc: Truncate search at the first extension in preference order
Achim Gratz [Tue, 2 Aug 2016 08:47:43 +0000 (10:47 +0200)]
fromcwd.cc: Truncate search at the first extension in preference order

* fromcwd.cc (FindVisitor): Truncate search at the first extension
  found in preference order in the same directory so that no multiple
  setup files for the same (sub-)mirror are processed by do_local_ini.

7 years ago(Usability improvement) Implement half-second wait for user to finish typing before...
Ronald Ramos [Tue, 2 Aug 2016 03:17:22 +0000 (23:17 -0400)]
(Usability improvement) Implement half-second wait for user to finish typing before searching packages

commit 357c1e7576586349efb8514dc9d8d03950e225ee
Author: Ronald Ramos <ronjoe223@gmail.com>
Date:   Mon Aug 1 23:05:44 2016 -0400

    * proppage.h (PropertyPage)
        New member OnTimerMessage (delegates similarly to OnMouseWheel)

    * proppage.cc
        (DialogProc) Added handling of WM_TIMER

    * choose.h (ChooserPage)
        (OnTimerMessage) New function prototype
        (timer_id) New member variable
        Added DEFINE-ed default values for timer_id and search timer delay
        Reorganized private members for consistency

    * choose.cc
        (constructor) Initialize timer_id
        (OnMessageCmd) Replaced search-refresh with a SetTimer
        (OnSearchTimer) New; contains search-refresh removed from OnMessageCmd

7 years agoREADME: Fixed mailing list address (typo)
Ronald Ramos [Tue, 2 Aug 2016 00:24:34 +0000 (20:24 -0400)]
README: Fixed mailing list address (typo)

commit 5d7c3beee3317926eb3256dd7a1bed8f55a6952b
Author: Ronald Ramos <ronjoe223@gmail.com>
Date:   Mon Aug 1 20:21:47 2016 -0400

    * README: Fixed which mailing list this app belongs to

7 years agoUpdate README
Ronald Ramos [Sun, 31 Jul 2016 11:47:54 +0000 (07:47 -0400)]
Update README

commit 3863a3650acc481e62ee34bcc2bd836c301baaaf
Author: Ronald Ramos <ronjoe223@gmail.com>
Date:   Sun Jul 31 07:14:42 2016 -0400

    * README: Included git download URI. Also updated patch-submission
instructions to refer to online manual.

8 years agoReport dependencies which don't exist
Jon Turney [Thu, 7 Jul 2016 12:54:51 +0000 (13:54 +0100)]
Report dependencies which don't exist

At the moment, dependencies which can't be found are silently ignored.
Instead, record and report these dependency problems.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
8 years agoreformatted view with alignment
Marco Atzeri [Thu, 16 Jun 2016 12:29:08 +0000 (14:29 +0200)]
reformatted view with alignment

8 years agoMoved view from right to left
Marco Atzeri [Sun, 12 Jun 2016 15:45:16 +0000 (17:45 +0200)]
Moved view from right to left

8 years agoUpdate displayed copyright to 2016 release_2.874
Yaakov Selkowitz [Mon, 25 Apr 2016 20:07:18 +0000 (15:07 -0500)]
Update displayed copyright to 2016

8 years agoFix copy&paste bug introduced in e9c1444dee
Achim Gratz [Mon, 18 Apr 2016 18:24:21 +0000 (20:24 +0200)]
Fix copy&paste bug introduced in e9c1444dee

* IniDBBuilderPackage.cc (buildSourceSHA512): The source package is
  using a different package version object than the binary package, so
  we must use cspv here.

8 years agoSwitch to "pending" page instead of category when updating or manually installing...
Yaakov Selkowitz [Fri, 11 Mar 2016 21:44:43 +0000 (22:44 +0100)]
Switch to "pending" page instead of category when updating or manually installing packages

* choose.cc (ChooserPage::createListview): When updating or manually
  installing packages, switch directly to the "pending" page of the
  chooser window instead of the categories since presumably that's
  where the user wants to check what is going to happen.

8 years agoImplement option -f/--force-current to ensure that "curr" is selected for all packages
Achim Gratz [Fri, 11 Mar 2016 19:05:15 +0000 (20:05 +0100)]
Implement option -f/--force-current to ensure that "curr" is selected for all packages

* choose.cc (ForceCurrentOption): New boolean option
  -f/--force-current.
  (ChooserPage::OnInit): Select "curr" version of the package when
  ForceCurrentOption is true.  This is mainly useful to downgrade packages
  that were previously installed with their "test" version back to
  "curr".

8 years agoRemove unfinished, unused support for 'autodep:' lines in setup.ini
Jon Turney [Fri, 18 Sep 2015 14:22:04 +0000 (15:22 +0100)]
Remove unfinished, unused support for 'autodep:' lines in setup.ini

This effectively reverts the parts of commits
9b98ba2301658c34d0e9c3fd4bbd964ce52ef8ae and
dd15057d785045dfc1395ed5f39c84bcdcb88b13 which add that.

* IniDBBuilder.h (IniDBBuilder::autodep): Remove.
* IniDBBuilderPackage.cc (IniDBBuilderPackage::autodep): Remove.
* IniDBBuilderPackage.h (IniDBBuilderPackage::autodep): Remove.
* cygpackage.cc (cygpackage::set_autodep): Remove.
* cygpackage.h (cygpackage::set_autodep): Remove.
* inilex.ll: Remove autodep.
* iniparse.yy: Remove autodep.
* package_version.cc (packageversion::set_autodep): Remove.
* package_version.h (packageversion::set_autodep): Remove.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
8 years agoRemove unused regex code
Jon Turney [Fri, 18 Sep 2015 14:13:13 +0000 (15:13 +0100)]
Remove unused regex code

This effectively reverts the parts of commit
01d9015868088fc3347511a095dce0195751c530 which add those sources

That commit also adds -fno-builtin-sscanf to CXXFLAGS. Probably that is part of
the same change, but I don't know for sure, so I've left that alone.

* Makefile.am (AM_CPPFLAGS): Remove regex from include path.
(@SETUP@_SOURCES): Remove regex.c.
* regex/config.h: Delete file.
* regex/re_comp.h: Delete file.
* regex/regcomp.c: Delete file.
* regex/regex.c: Delete file.
* regex/regex.h: Delete file.
* regex/regex_internal.c: Delete file.
* regex/regex_internal.h: Delete file.
* regex/regexec.c: Delete file.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
8 years agowin32.h: Fix FIXME comment
Corinna Vinschen [Thu, 21 Jan 2016 09:52:46 +0000 (10:52 +0100)]
win32.h: Fix FIXME comment

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoPartially revert "Remove autoload considerations from win32.h"
Corinna Vinschen [Wed, 20 Jan 2016 20:29:29 +0000 (21:29 +0100)]
Partially revert "Remove autoload considerations from win32.h"

Keep WINBASEAPI defined.  Change comment to explain why.

8 years agoDeprecate ChangeLog file
Corinna Vinschen [Wed, 20 Jan 2016 18:00:55 +0000 (19:00 +0100)]
Deprecate ChangeLog file

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoDrop Windows 2000 considerations from installer code
Corinna Vinschen [Wed, 20 Jan 2016 17:53:52 +0000 (18:53 +0100)]
Drop Windows 2000 considerations from installer code

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoWinMain: Drop local GetVersionEx in favour of using OSMajorVersion.
Corinna Vinschen [Wed, 20 Jan 2016 17:52:46 +0000 (18:52 +0100)]
WinMain: Drop local GetVersionEx in favour of using OSMajorVersion.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoRemove autoload considerations from win32.h
Corinna Vinschen [Wed, 20 Jan 2016 17:50:57 +0000 (18:50 +0100)]
Remove autoload considerations from win32.h

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoMove definition of _WIN32_WINNT to win32.h and bump to Windows 10
Corinna Vinschen [Wed, 20 Jan 2016 17:50:14 +0000 (18:50 +0100)]
Move definition of _WIN32_WINNT to win32.h and bump to Windows 10

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoUse Winsock 2 throughout
Yaakov Selkowitz [Fri, 8 Jan 2016 20:25:55 +0000 (14:25 -0600)]
Use Winsock 2 throughout

Winsock 2 was shipped with Windows 98.

* Makefile.am (@SETUP@_LDADD): Link with ws2_32 instead of wsock32.
* nio-ftp.cc: Include winsock2.h instead of winsock.h.
* nio-http.cc: Ditto.
* simpsock.cc: Ditto.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agonio-ie5: drop unnecessary LoadLibrary call
Yaakov Selkowitz [Fri, 8 Jan 2016 20:23:01 +0000 (14:23 -0600)]
nio-ie5: drop unnecessary LoadLibrary call

wininet.dll is already load-time dynamically linked.

* nio-ie5 (NetIO): Drop unnecessary LoadLibrary call.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agopropsheet: drop support for Common Controls v4
Yaakov Selkowitz [Fri, 8 Jan 2016 19:44:11 +0000 (13:44 -0600)]
propsheet: drop support for Common Controls v4

This test was only needed for Windows 9x, as Windows 2000 shipped with
Internet Explorer 5.01 and Windows ME shipped with 5.5:

https://msdn.microsoft.com/en-us/library/windows/desktop/hh298349.aspx

* propsheet.cc (GetPROPSHEETHEADERSize): Remove.
(PropSheet::Create): Use sizeof (PROPSHEETHEADER) unconditionally.
* win32.h (_WIN32_IE): Remove.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agoFix logical expressions checking if buttons are checked
Corinna Vinschen [Thu, 7 Jan 2016 21:28:03 +0000 (22:28 +0100)]
Fix logical expressions checking if buttons are checked

* AntiVirus.cc (AntiVirusPage::OnActivate): Fix logical expressions
checking if a button is checked.
* net.cc (NetPage::OnInit): Ditto.
* source.cc (SourcePage::OnActivate): Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoMake sure Cygwin root is an absolute path
Corinna Vinschen [Tue, 1 Dec 2015 11:14:29 +0000 (12:14 +0100)]
Make sure Cygwin root is an absolute path

* mount.cc (read_mounts): Always convert root dir path from command line
to an absolute path.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoDon't stop on various warning message boxes in unattended mode.
Jon Turney [Tue, 20 Oct 2015 12:25:11 +0000 (13:25 +0100)]
Don't stop on various warning message boxes in unattended mode.

Change simple uses of MessageBox() to use the mbox() wrapper for MessageBox(),
which knows what to do in unattended mode.

There still remain the uses of MessageBox() which check the result, as these
need more detailed study, to choose an appropriate default for unattended mode.

* dialog.cc (fatal): Use mbox rather than MessageBox.
* install.cc (installOne, check_for_old_cygwin): Ditto.
* main.cc (main_display, WinMain): Ditto.
* mount.cc (create_install_root): Ditto.
* nio-ie5.cc (NetIO_IE5): Ditto.
* root.cc (directory_contains_wrong_version): Ditto.
* site.cc (do_download_site_info_thread): Ditto.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
8 years agoAvoid double-slashes in URLs
Michael Bisbjerg [Fri, 18 Sep 2015 13:31:37 +0000 (14:31 +0100)]
Avoid double-slashes in URLs

I noticed once I set up a mirror of my own, that Cygwin Setup will
prepend all it's URL's with a double-slash. This does not seem to be
intentional, and I found the place in the sources where I believe the
error to be.

On line 160 of "download.cc", we see that the "n->key" is the source
of the repository, including a "/", as it is used as the name of the
local cache, which always has a "%2f" in its name. That key is then
used on line 165 in "get_url_to_file", where it is concatenated with
another slash and "pkgsource.Canonical" to make the final URL.

My (untested) patch removes this slash, so that the resulting URL's
will be with a single slash.

8 years agoFix signature check for local directory installation and record names of local mirror... release_2.873
Achim Gratz [Sun, 18 Oct 2015 17:27:42 +0000 (19:27 +0200)]
Fix signature check for local directory installation and record names of local mirror directories

* ini.cc (check_ini_sig): Do not complain about a missing
signature file when installing from localdir.  If it is present it
still must be checked, however.  The "download only" mode should
pull down both the (compressed) setup file and the corresponding
signature (not yet implemented).
(do_local_ini): The builder needs to know the (unescaped) mirror
name it's associated with in order for the file validation to
work.  The found_ini_list should directly provide the constituent
parts so that we don't need to extract them (not yet implemented).

* fromcwd.cc (FindVisitor): Remove superfluous path separator and
simply use SetupArch (which has previously compared equal to
aDir->cFileName) when constructing the setup file name.

* Makefile.am (GITVER): Do not use an explicit HEAD parameter and
add the "--dirty" option so that builds with uncommitted changes
get marked appropriately.

8 years agoFix creation of parent directory for file names containing colons release_2.872
Ken Brown [Fri, 25 Sep 2015 14:18:31 +0000 (10:18 -0400)]
Fix creation of parent directory for file names containing colons

* mkdir.cc (mkdir_p): Remove special treatment of colon in path
name.

8 years agoProperly record SHA512 checksum presence and skip validation for ad-hoc installs
Achim Gratz [Tue, 4 Aug 2015 17:48:56 +0000 (19:48 +0200)]
Properly record SHA512 checksum presence and skip validation for ad-hoc installs

* package_source.h (packagesource): Add boolean member variable
sha512_isSet to record whether an SHA512 checksum has been set.
(packagesource): Initialize sha512_isSet to false.

* IniDBBuilderPackage.cc (buildInstallSHA512, buildSourceSHA512):
Only set the SHA512 checksum when it was previously unset like it
is done for MD5 checksums.  That will generally be the checksum
recorded on the package line in setup.ini, any further checksums
in separate lines will thus be ignored.

* install.cc (chksum_one): Conditionalize the comparison of the
SHA512 checksum on whether or not it was previously set.  Check
SHA512 checksum first since it is the default now.  This is
necessary for ad-hoc installs from local disk without a setup.ini
file.  Output a warning when the checksum was not be verified
because neither a MD5 nor a SHA512 checksum was set.

8 years agoIncrease read buffer size for MD5 checksumming to 64kiB
Achim Gratz [Tue, 4 Aug 2015 17:39:23 +0000 (19:39 +0200)]
Increase read buffer size for MD5 checksumming to 64kiB

* install.cc (md5_one): Change buffer size from 16kiB to 64kiB for
faster reading.

8 years agoSimplify parser, both SHA512 checksum types can parse to the same token
Achim Gratz [Mon, 3 Aug 2015 19:23:37 +0000 (21:23 +0200)]
Simplify parser, both SHA512 checksum types can parse to the same token

* inilex.ll: Introduce HEX and B64 definitions, use them in the
rules section.  Parse both SHA512 and SHA512-Base64URL checksums
to the SHA512 token.
* iniparse.yy (packagedata): Remove all occurences of the
SHA512B64URL token.

8 years agoIf MD5 checksum is missing then SHA512 must always be checked
Achim Gratz [Mon, 3 Aug 2015 19:19:53 +0000 (21:19 +0200)]
If MD5 checksum is missing then SHA512 must always be checked

* install.cc (chksum_one): If MD5 checksum is not available, then
SHA512 must always be checked even if just against the zeroed
digest as initialized.  Otherwise a package with no checksum would
be treated as valid.

8 years agoFix bug in nibbled1 and use character types throughout
Achim Gratz [Mon, 3 Aug 2015 19:04:10 +0000 (21:04 +0200)]
Fix bug in nibbled1 and use character types throughout

* ini.h (nibbled1): Fix a thinko in this macro that made the
result always zero.
(hexnibble, nibbled1, b64url, b64d1, b64d2, b64d3): Use character
literals for all numeric constants dealing with characters.
Remove trailing semicolons.

8 years agoFix MD5sum.str () formatting bug
Achim Gratz [Mon, 3 Aug 2015 18:15:51 +0000 (20:15 +0200)]
Fix MD5sum.str () formatting bug

* csu_util/MD5Sum.cc (str): The stream modifiers are not sticky
and must be applied for each conversion.

8 years agoImplement -I/--include-source option to download and install sources automatically
David Hoke [Wed, 26 Jun 2013 19:13:48 +0000 (19:13 +0000)]
Implement -I/--include-source option to download and install sources automatically

* download.cc (IncludeSource): New command line switch
-I/--include-source.  Automatically download sources
associated with any binary package being downloaded when
IncludeSource is true.
* install.cc (do_install_thread): Automatically install
sources associated with any binary package being installed
when IncludeSource is true.

8 years agoImplement -Y/--prune-install option to bring an installation into a known state
Achim Gratz [Sat, 9 May 2015 18:25:43 +0000 (20:25 +0200)]
Implement -Y/--prune-install option to bring an installation into a known state

* choose.cc (PruneInstallOption): New option -Y/--prune-install.
(OnInit): Implement PruneInstallOption to downgrade packages
installed with a higher version and delete all packages not
explicitly requested to be installed.  This brings an existing
installation to the same state a fresh installation would create.
Put the handling for upgrade==true into a separate else branch.

8 years agoiniparse.yy: Fix a copy-and-paste bug
Achim Gratz [Sun, 26 Jul 2015 18:28:10 +0000 (20:28 +0200)]
iniparse.yy: Fix a copy-and-paste bug

* iniparse.yy (singleitem): Fix a copy-and-paste bug, use
SHA512Line for SHA512 standalone checksums (unused in setup.ini).

8 years agofromcwd.cc: Remove debugging output
Achim Gratz [Sat, 11 Jul 2015 21:24:11 +0000 (23:24 +0200)]
fromcwd.cc: Remove debugging output

8 years agoRefactor setup search and implement XZ compressed setup files
Achim Gratz [Sat, 11 Jul 2015 19:58:30 +0000 (21:58 +0200)]
Refactor setup search and implement XZ compressed setup files

* ini.cc: Construct setup_ext_list from array until we can use
C++11 aggregate initializers.  Clean up function parenthesis.
(decompress_ini): Refactored for use from do_local_ini and
do_remote_ini.  Change outdated comment about setup.ini
uncompressed size.
(check_ini_sig): Factor out signature check.
(fetch_remote_ini): Refactored for use from do_remote_ini.
(do_local_ini): Iterate over search results in found_ini_list.
Use decompress_ini and check_ini_sig.
(do_remote_ini): Iterate over known setup file extensions from
setup_ext_list with early-out semantics, preferring ".xz" over
".bz2" over ".ini" extension.  Use fetch_remote_ini and
check_ini_sig.
* ini.h: Remove unused macros.
* IniParseFindVisitor.cc: Remove, the search is already done by
SetupFindVisitor in do_from_local_dir.
* IniParseFindVisitor.cc: Ditto.
* Makefile.am (@SETUP@_SOURCES): Ditto.

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