CygGet
From BluWiki
cyg-get
Thoughts on how to build a apt-get work-alike called cyg-get for cygwin in bash (yes, bash)
The general idea is to imitate the interface only like Solaris pkg-get or Redhat rpm-get.
setup --help (as of v2.427) does print its options, but to ./setup.log not to STDOUT. setup --help; tail setup.log
### Solaris Package apt-get clone: pkg-get
# man -M /opt/csw/man pkg-get Reformatting page. Please Wait... done
Maintenance Commands PKG-GET(1m)
NAME
pkg-get 2.0 - automatic install and upgrade of packages over
the network
SYNOPSIS
pkg-get [modifiers] {-i|install} {pkgname [...]|all}
pkg-get [modifiers] {-d|download} {pkgname [...]|all}
pkg-get [modifiers] {-u|upgrade} [pkgname...]
pkg-get [modifiers] {-c|compare} | {-a|available}
pkg-get [modifiers] -D [regexp to search for]
MODIFIERS
-U|updatecatalog
-d|download
-s url://temp.site/path
-f
DESCRIPTION
pkg-get is similar to Debian Linux "apt-get". Its most basic
use is that you tell it the name of a software package, and
it automatically goes and grabs it from the net, then
installs it on your system. It also has an upgrade mode that
installs newer versions of software you have installed, if
available.
In version 2.0, optional checksum support has been added. If
the remote site has md5 hashes for files, and you have
either md5 or gmd5sum in your PATH, downloaded files will be
checked against the catalog's hash. Additionally, if you
try to re-download a file you already have, and it matches
the checksum, it will skip the download of that specific
file as unneccessary.
MODES
pkg-get available
will show you a list of freeware packages available to
install
pkg-get describe {pkgname, or partial name}
will show you descriptions of one, or all, packages
available
pkg-get install {pkgname [pkgname...] | all}
Phil's Software Last change: January 4th, 2003 1
Maintenance Commands PKG-GET(1m)
will install listed packages. If 'all' is specified,
will install all packages available, at the latest ver-
sion.
pkg-get upgrade [pkgname [pkgname...]]
will automatically upgrade the listed packages to the
latest version. If no arguments, will upgrade all
packages that are already installed.
The upgrade option will remove any older versions of
packages for you. It will also automatically choose the
highest revision of a package to download, if there are
multiple available.
OPTIONS
-U|updatecatalog
Grabs the latest catalog from the site before doing
anything else. May be used as a command by itself.
-d|download
Downloads the pkg file, and does NOT install. Useful if
you're trying to create a local archive of pkg files
-v This is only meaningful for the 'install' option,
without arguments. It adds "verbose" mode, to tell you
what would be upgraded.
BUT... it stops the program actually downloading any
newer files!
-i|install [softwarename]
Looks through all packages you have installs, and com-
pares them to the latest available on the site. If the
site has newer versions, it will download and install
all newer versions of software you already have. It
will NOT install packages you do not already have
installed.
If you specify a particular software name, it will
first look up the specific software name in the local
contents cache. If you already have the same version
installed, says so and quits. Otherwise, if it is
available, pkg-get will download and install it.
-U|updatecatalog
Updates the local cache of the special "contents" file
from the freeware site. All "compare versions" opera-
tions are done on the locally cached copy. pkg-get
will automatically update the catalog if it is older
than a month.
Phil's Software Last change: January 4th, 2003 2
Maintenance Commands PKG-GET(1m)
-u|upgrade
Attempts to upgrade any installed packages that have
newer versions available on the site.
-a|available
This just prints out the software name and revision of
all packages available for download.
-D|describe
Prints out longer descriptions of software, if avail-
able. Can take a regular expression as an argument to
match lines.
-c|compare
Display a comparision of versions between installed
packages, and what is available on the site. If you do
not have a package installed, it will show "not
installed" for the local version stamp.
-f Force default action on pkg add or remove; Dont ask
questions. This may mean that it will refuse to
install some packages, depending on what the pkgadd
defaults are, whether there are conflicts, etc. The
'normal' defaults are specified in
/var/sadm/install/admin/default. See the "MORE AUTOMA-
TION" section at the bottom of this manpage.
-r|remove
This option was added by request. However, it is
inherently not as bulletproof as the other options,
because nothing in the site catalog says that the pkg
version and the software version have to match. How-
ever, it should work as expected 95% of the time. And
worst case, it will ONLY remove packages that are on
the remote site catalog; It should not remove Solaris
packages.
PROXIES
See /opt/csw/etc/pkg-get.conf for comments on how to use
wget behind a proxy. Basically, just export the environment
variables http_proxy and ftp_proxy. The conf file lets you
do that without messing with users' environments directly.
MORE AUTOMATION
If you dont like answering pkgadd prompts, you can create an
'admin' file, as /var/pkg-get/admin
A sample 100% hands-off admin file is provided, as
/var/pkg-get/admin-fullauto. It will no longer give you
warnings about setuid installscripts, conflicts, and other
Phil's Software Last change: January 4th, 2003 3
Maintenance Commands PKG-GET(1m)
issues. However, it may still ask you in some instances,
"Do you want to install/remove this package", unless you use
the -f option to pkg-get. Contrariwise, if you use -f
without overriding the defaults, pkg-get will not install a
non-trivial amount of packages.
For full details of the format of the admin file, man -s4
admin.
FILES
/etc/opt/csw/pkg-get.conf
/opt/csw/etc/pkg-get.conf
/var/pkg-get/catalog-sitename
/var/pkg-get/admin
/var/pkg-get/admin-fullauto
BUGS
I wouldn't be surprised if there are one or two bugs to be
worked out. If so, please email me about them!
SEE ALSO
If you are interested in setting up your own local freeware
server,
http://www.bolthole.com/solaris/makecontents
is the tool needed to automatically generate the catalog for
each directory.
AUTHOR
Philip Brown
phil@bolthole.com
http://www.bolthole.com/solaris/
Phil's Software Last change: January 4th, 2003 4
�2002-2005 blastwave.org
### Redhat rpm Package apt-get clone: rpm-get
RPM-GET(1) RPM-GET(1)
NAME
rpm-get - rpm auto update and download tool.
SYNOPSIS
rpm-get [OPTION]... <package> <arguments>
DESCRIPTION
rpm auto update and downloader much like Debians apt-get
OPTIONS
install
Downloads and installs <package>
configure
Starts rpm-get-configure, that will let you configure rpm-
get.conf and generate the package lists. (good to use if rpm-get
was installed as rpm)
clean Removes old cache files.
check check for dependencys only and exit.
remove
Removes installed <package>
source
Downloads an rpm source <package> (Downloads to the cache direc-
tory for root, but to ~/tmp for users.)
download
Downloads but doesnt isntall <package> (Downloads to the cache
directory for root, but to ~/tmp for users.)
upgrade
Compares an ftp directory to what you have installed, and if it
finds any newer version on the ftp it will download and install
it.
update
Updates file lists and databases.
build-rpm
Builds an RPM file from a downloaded source RPM file.
dist-upgrade
This will upgrade your whole system to a new version of your
distribution, providing you change the ftppath in the config
file to the newer version.
ARGUMENTS
--noask
Used with the update argument to supress any questions that else
needs user interaction, good for crontab.
--nodeps
Will override the dependency check function.
--force
Will force install any rpm file downloaded.
--version
Displays the current version information.
FILES
/etc/rpm-get.conf - Configuration file for distribution, and the FTP
directorys to download and update from.
AUTHOR
Written by Billy Wideling.
REPORTING BUGS
Report bugs to <alien@koping.net>.
FSF Jul 2001 RPM-GET(1)
Command Section
man2web Home...
=======================
http://www.die.net/doc/linux/man/man8/apt-get.8.html
apt-get(8) - Linux man page NAME apt-get - APT package handling utility -- command-line interface SYNOPSIS
apt-get [ -hvs ] [ -o=config string ] [ -c=file ] { update | upgrade | dselect-upgrade | install pkg ... | remove pkg ... | source pkg ... | build-dep pkg ... | check | clean | autoclean }
DESCRIPTION
apt-get is the command-line tool for handling packages, and may be considered the user's "back-end" to other tools using the APT library. Several "front-end" interfaces exist, such as dselect(8), aptitude, synaptic, gnome-apt and wajig.
Unless the -h, or --help option is given, one of the commands below must be present.
update
update is used to resynchronize the package index files from their sources. The indexes of available packages are fetched from the location(s) specified in /etc/apt/sources.list. For example, when using a Debian archive, this command retrieves and scans the Packages.gz files, so that information about new and updated packages is available. An update should always be performed before an upgrade or dist-upgrade. Please be aware that the overall progress meter will be incorrect as the size of the package files cannot be known in advance.
upgrade
upgrade is used to install the newest versions of all packages currently installed on the system from the sources enumerated in /etc/apt/sources.list. Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. An update must be performed first so that apt-get knows that new versions of packages are available.
dselect-upgrade
dselect-upgrade is used in conjunction with the traditional Debian packaging front-end, dselect(8). dselect-upgrade follows the changes made by dselect(8) to the Status field of available packages, and performs the actions necessary to realize that state (for instance, the removal of old and the installation of new packages).
dist-upgrade
dist-upgrade, in addition to performing the function of upgrade, also intelligently handles changing dependencies with new versions of packages; apt-get has a "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary. The /etc/apt/sources.list file contains a list of locations from which to retrieve desired package files. See also apt_preferences(5) for a mechanism for overriding the general settings for individual packages.
install
install is followed by one or more packages desired for installation. Each package is a package name, not a fully qualified filename (for instance, in a Debian GNU/Linux system, libc6 would be the argument provided, not libc6_1.9.6-2.deb). All packages required by the package(s) specified for installation will also be retrieved and installed. The /etc/apt/sources.list file is used to locate the desired packages. If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install. These latter features may be used to override decisions made by apt-get's conflict resolution system.
A specific version of a package can be selected for installation by following the package name with an equals and the version of the package to select. This will cause that version to be located and selected for install. Alternatively a specific distribution can be selected by following the package name with a slash and the version of the distribution or the Archive name (stable, testing, unstable).
Both of the version selection mechanisms can downgrade packages and must be used with care.
Finally, the apt_preferences(5) mechanism allows you to create an alternative installation policy for individual packages.
If no package matches the given expression and the expression contains one of '.', '?' or '*' then it is assumed to be a POSIX regular expression, and it is applied to all package names in the database. Any matches are then installed (or removed). Note that matching is done by substring so 'lo.*' matches 'how-lo' and 'lowest'. If this is undesired, anchor the regular expression with a '^' or '$' character, or create a more specific regular expression.
remove
remove is identical to install except that packages are removed instead of installed. If a plus sign is appended to the package name (with no intervening space), the identified package will be installed instead of removed.
source
source causes apt-get to fetch source packages. APT will examine the available packages to decide which source package to fetch. It will then find and download into the current directory the newest available version of that source package. Source packages are tracked separately from binary packages via deb-src type lines in the sources.list(5) file. This probably will mean that you will not get the same source as the package you have installed or as you could install. If the --compile options is specified then the package will be compiled to a binary .deb using dpkg-buildpackage, if --download-only is specified then the source package will not be unpacked.
A specific source version can be retrieved by postfixing the source name with an equals and then the version to fetch, similar to the mechanism used for the package files. This enables exact matching of the source package name and version, implicitly enabling the APT::Get::Only-Source option.
Note that source packages are not tracked like binary packages, they exist only in the current directory and are similar to downloading source tar balls.
build-dep
build-dep causes apt-get to install/remove packages in an attempt to satisfy the build dependencies for a source package.
check
check is a diagnostic tool; it updates the package cache and checks for broken dependencies.
clean
clean clears out the local repository of retrieved package files. It removes everything but the lock file from /var/cache/apt/archives/ and /var/cache/apt/archives/partial/. When APT is used as a dselect(8) method, clean is run automatically. Those who do not use dselect will likely want to run apt-get clean from time to time to free up disk space.
autoclean
Like clean, autoclean clears out the local repository of retrieved package files. The difference is that it only removes package files that can no longer be downloaded, and are largely useless. This allows a cache to be maintained over a long period without it growing out of control. The configuration option APT::Clean-Installed will prevent installed packages from being erased if it is set to off.
OPTIONS
All command line options may be set using the configuration file, the descriptions indicate the configuration option to set. For boolean options you can override the config file by using something like -f-,--no-f, -f=no or several other variations.
-d
--download-only
Download only; package files are only retrieved, not unpacked or installed. Configuration Item: APT::Get::Download-Only.
-f
--fix-broken
Fix; attempt to correct a system with broken dependencies in place. This option, when used with install/remove, can omit any packages to permit APT to deduce a likely solution. Any Package that are specified must completely correct the problem. The option is sometimes necessary when running APT for the first time; APT itself does not allow broken package dependencies to exist on a system. It is possible that a system's dependency structure can be so corrupt as to require manual intervention (which usually means using dselect(8) or dpkg --remove to eliminate some of the offending packages). Use of this option together with -m may produce an error in some situations. Configuration Item: APT::Get::Fix-Broken.
-m
--ignore-missing
--fix-missing
Ignore missing packages; If packages cannot be retrieved or fail the integrity check after retrieval (corrupted package files), hold back those packages and handle the result. Use of this option together with -f may produce an error in some situations. If a package is selected for installation (particularly if it is mentioned on the command line) and it could not be downloaded then it will be silently held back. Configuration Item: APT::Get::Fix-Missing.
--no-download
Disables downloading of packages. This is best used with --ignore-missing to force APT to use only the .debs it has already downloaded. Configuration Item: APT::Get::Download.
-q
--quiet
Quiet; produces output suitable for logging, omitting progress indicators. More q's will produce more quiet up to a maximum of 2. You can also use -q=# to set the quiet level, overriding the configuration file. Note that quiet level 2 implies -y, you should never use -qq without a no-action modifier such as -d, --print-uris or -s as APT may decided to do something you did not expect. Configuration Item: quiet.
-s
--simulate
--just-print
--dry-run
--recon
--no-act
No action; perform a simulation of events that would occur but do not actually change the system. Configuration Item: APT::Get::Simulate.
Simulate prints out a series of lines each one representing a dpkg operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square brackets indicate broken packages with and empty set of square brackets meaning breaks that are of no consequence (rare).
-y
--yes
--assume-yes
Automatic yes to prompts; assume "yes" as answer to all prompts and run non-interactively. If an undesirable situation, such as changing a held package or removing an essential package occurs then apt-get will abort. Configuration Item: APT::Get::Assume-Yes.
-u
--show-upgraded
Show upgraded packages; Print out a list of all packages that are to be upgraded. Configuration Item: APT::Get::Show-Upgraded.
-V
--verbose-versions
Show full versions for upgraded and installed packages. Configuration Item: APT::Get::Show-Versions.
-b
--compile
--build
Compile source packages after downloading them. Configuration Item: APT::Get::Compile.
--ignore-hold
Ignore package Holds; This causes apt-get to ignore a hold placed on a package. This may be useful in conjunction with dist-upgrade to override a large number of undesired holds. Configuration Item: APT::Ignore-Hold.
--no-upgrade
Do not upgrade packages; When used in conjunction with install no-upgrade will prevent packages listed from being upgraded if they are already installed. Configuration Item: APT::Get::Upgrade.
--force-yes
Force yes; This is a dangerous option that will cause apt to continue without prompting if it is doing something potentially harmful. It should not be used except in very special situations. Using force-yes can potentially destroy your system! Configuration Item: APT::Get::force-yes.
--print-uris
Instead of fetching the files to install their URIs are printed. Each URI will have the path, the destination file name, the size and the expected md5 hash. Note that the file name to write to will not always match the file name on the remote site! This also works with the source and update commands. When used with the update command the MD5 and size are not included, and it is up to the user to decompress any compressed files. Configuration Item: APT::Get::Print-URIs.
--purge
Use purge instead of remove for anything that would be removed. An asterisk ("*") will be displayed next to packages which are scheduled to be purged. Configuration Item: APT::Get::Purge.
--reinstall
Re-Install packages that are already installed and at the newest version. Configuration Item: APT::Get::ReInstall.
--list-cleanup
This option defaults to on, use --no-list-cleanup to turn it off. When on apt-get will automatically manage the contents of /var/lib/apt/lists to ensure that obsolete files are erased. The only reason to turn it off is if you frequently change your source list. Configuration Item: APT::Get::List-Cleanup.
-t
--target-release
--default-release
This option controls the default input to the policy engine, it creates a default pin at priority 990 using the specified release string. The preferences file may further override this setting. In short, this option lets you have simple control over which distribution packages will be retrieved from. Some common examples might be -t '2.1*' or -t unstable. Configuration Item: APT::Default-Release; see also the apt_preferences(5) manual page.
--trivial-only
Only perform operations that are 'trivial'. Logically this can be considered related to --assume-yes, where --assume-yes will answer yes to any prompt, --trivial-only will answer no. Configuration Item: APT::Get::Trivial-Only.
--no-remove
If any packages are to be removed apt-get immediately aborts without prompting. Configuration Item: APT::Get::Remove
--only-source
Only has meaning for the source command. Indicates that the given source names are not to be mapped through the binary table. This means that if this option is specified, the source command will only accept source package names as arguments, rather than accepting binary package names and looking up the corresponding source package. Configuration Item: APT::Get::Only-Source
--diff-only
--tar-only
Download only the diff or tar file of a source archive. Configuration Item: APT::Get::Diff-Only and APT::Get::Tar-Only
--arch-only
Only process architecture-dependent build-dependencies. Configuration Item: APT::Get::Arch-Only
-h
--help
Show a short usage summary.
-v
--version
Show the program version.
-c
--config-file
Configuration File; Specify a configuration file to use. The program will read the default configuration file and then this configuration file. See apt.conf(5) for syntax information.
-o
--option
Set a Configuration Option; This will set an arbitrary configuration option. The syntax is -o Foo::Bar=bar.
FILES
/etc/apt/sources.list
Locations to fetch packages from. Configuration Item: Dir::Etc::SourceList.
/etc/apt/apt.conf
APT configuration file. Configuration Item: Dir::Etc::Main.
/etc/apt/apt.conf.d/
APT configuration file fragments Configuration Item: Dir::Etc::Parts.
/etc/apt/preferences
Version preferences file. This is where you would specify "pinning", i.e. a preference to get certain packages from a separate source or from a different version of a distribution. Configuration Item: Dir::Etc::Preferences.
/var/cache/apt/archives/
Storage area for retrieved package files. Configuration Item: Dir::Cache::Archives.
/var/cache/apt/archives/partial/
Storage area for package files in transit. Configuration Item: Dir::Cache::Archives (implicit partial).
/var/lib/apt/lists/
Storage area for state information for each package resource specified in sources.list(5) Configuration Item: Dir::State::Lists.
/var/lib/apt/lists/partial/
Storage area for state information in transit. Configuration Item: Dir::State::Lists (implicit partial).
SEE ALSO
apt-cache(8), apt-cdrom(8), dpkg(8), dselect(8), sources.list(5), apt.conf(5), apt-config(8), The APT User's guide in /usr/share/doc/apt-0.5.15lorg3.2/, apt_preferences(5), the APT Howto. DIAGNOSTICS
apt-get returns zero on normal operation, decimal 100 on error. BUGS
See the APT bug page <URL:http://bugs.debian.org/src:apt>. If you wish to report a bug in APT, please see /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command. AUTHOR
APT was written by the APT team <apt@packages.debian.org>. REFERENCED BY apt(8) die.net
site search Google Custom Search
Library
online dictionary
linux man pages
page load time
Toys
world sunlight
moon phase
free online rpg
Back
===========================================
http://sources.redhat.com/ml/cygwin-apps/2003-03/msg00526.html
This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project. Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index] Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next] Other format: [Raw text] Re: setup.exe man page
* From: "Max Bowsher" <maxb at ukf dot net>
* To: "Joshua Daniel Franklin" <joshuadfranklin at yahoo dot com>,<cygwin-apps at cygwin dot com>
* Date: Mon, 17 Mar 2003 21:53:45 -0000
* Subject: Re: setup.exe man page
* References: <20030317213650.5822.qmail@web20008.mail.yahoo.com>
Joshua Daniel Franklin wrote: > I'm thinking of writing a man page for setup.exe explaining the > basics of how it works and that it is currently the preferred > way of installing/updating packages and documenting any command-line > options. Does the current http://cygwin.com/setup.exe have any?
No, or at least, not that we want people to try using.
> I see several in CVS, but they are spread out in several files and > many checkins, is there any way to have it spit out a list?
Not unless you have patched setup to make it do that. I have - here's the list:
-D --download Download from internet
-L --local-install Install from local directory
-s --site Download site
-R --root Root installation directory
-q --quiet-mode Unattended setup mode
-h --help Display command line options
-r --no-replaceonreboot Disable replacing in-use files on
next
reboot.
-n --no-shortcuts Disable creation of desktop and
start
menu shortcuts
-N --no-startmenu Disable creation of start menu
shortcut
-d --no-desktop Disable creation of desktop shortcut
-A --disable-buggy-antivirus Disable known or suspected buggy
anti
virus software packages during
execution.
Max.
* References:
o setup.exe man page
+ From: Joshua Daniel Franklin
Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index] Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
===========
http://www.cygwin.com/packages/
Cygwin Package List Search Package List: _____________________ [Go]
============
http://sources.redhat.com/cygwin-apps/package-server.html
genini
============
http://cygwin.com/cgi-bin/cvsweb.cgi/?cvsroot=cygwin-apps#dirlist
============
http://cygwin.com/cgi-bin/cvsweb.cgi/setup/CONTRIBUTORS?rev=2.3&content-type=text/x-cvsweb-markup&cvsroot=cygwin-apps
[BACK] Return to CONTRIBUTORS CVS log [TXT] [DIR] Up to [cygwin-apps] / setup File: [cygwin-apps] / setup / CONTRIBUTORS (download) Revision 2.3, Tue May 24 10:57:28 2005 UTC (20 months, 2 weeks ago) by maxb Branch: MAIN CVS Tags: setup-200509, HEAD Changes since 2.2: +1 -0 lines
* CONTRIBUTORS: Add Frank Richter.
The following folk have contributed time and effort in the form of source code to setup.exe. If you believe that your name should be here, contact us at cygwin-apps@cygwin.com.
Redhat inc. Chris Faylor DJ Delorie Corinna Vinschen Robert Collins Pavel Tsekov Gary R. Van Sickle John Marshall Ton van Overbeek Michael A Chase Jason Tishler Jan Nieuwenhuizen Brian Keener Gareth Pearce Charles Wilson Matt Hargett Trevor Forbes Ralf Habacker Chris Abbey Earnie Boyd Egor Duda Jeffrey Juliano Andrej Borsenkow Norman Vine Jeff Juliano Ron Parker Vadim Egorov Max Bowsher Igor Pechtchanski Frank Richter Brian Dessent
==================
ini file grammer
http://cygwin.com/cgi-bin/cvsweb.cgi/setup/iniparse.y?rev=2.41&content-type=text/x-cvsweb-markup&cvsroot=cygwin-apps
===========
$ ls -ltr /etc/setup/installed.db -rwxr-x---+ 1 bfennell group 9951 Jan 4 18:12 /etc/setup/installed.db*
===========
This is really the map... the change log helps to find files and what is in them.
http://sources.redhat.com/cgi-bin/cvsweb.cgi/setup/ChangeLog?rev=2.556&content-type=text/x-cvsweb-markup&cvsroot=cygwin-apps
============
CYGCHECK(1) CYGWIN CYGCHECK(1)
NAME
cygcheck - List system information, check installed packages, or query
package database.
SYNOPSIS
cygcheck PROGRAM [ -v ] [ -h ]
cygcheck -c [ PACKAGE ... ] [ -d ]
cygcheck -s [ -r ] [ -v ] [ -h ]
cygcheck -k
cygcheck -f FILE [ FILE ... ]
cygcheck -l [ PACKAGE ... ]
cygcheck -p REGEXP
OPTIONS
At least one command option or a PROGRAM is required, as shown above.
PROGRAM
list library (DLL) dependencies of PROGRAM
-c, --check-setup
show installed version of PACKAGE and verify integrity (or for
all installed packages if none specified)
-d, --dump-only
just list packages, do not verify (with -c)
-s, --sysinfo
produce diagnostic system information (implies -c -d)
-r, --registry
also scan registry for Cygwin settings (with -s)
-k, --keycheck
perform a keyboard check session (must be run from a plain con-
sole only, not from a pty/rxvt/xterm)
-f, --find-package
find the package that FILE belongs to
-l, --list-package
list contents of PACKAGE (or all packages if none given)
-p, --package-query
search for REGEXP in the entire cygwin.com package repository
(requies internet connectivity)
-v, --verbose
produce more verbose output
-h, --help
annotate output with explanatory comments when given with
another command, otherwise print this help
-V, --version
print the version of cygcheck and exit
Note: -c, -f, and -l only report on packages that are currently
installed. To
search all official Cygwin packages use -p instead.
The -p REGEXP matches
package names, descriptions, and names of files/paths within all
packages.
DESCRIPTION
The cygcheck program is a diagnostic utility for dealing with Cygwin
programs. If you are familiar with dpkg or rpm, cygcheck is similar in
many ways. (The major difference is that setup.exe handles installing
and uninstalling packages; see internet-setup /xref for more informa-
tion.)
The -c option checks the version and status of installed Cygwin
packages. If you specify one or more package names, cygcheck will limit
its output to those packages, or with no arguments it lists all pack-
ages. A package will be marked Incomplete if files originally installed
are no longer present. The best thing to do in that situation is rein-
stall the package with setup.exe. To see which files are missing, use
the -v option. If you do not need to know the status of each package
and want cygcheck to run faster, add the -d option and cygcheck will
only output the name and version for each package.
If you list one or more programs on the command line, cygcheck will
diagnose the runtime environment of that program or programs, providing
the names of DLL files on which the program depends. If you specify
the -s option, cygcheck will give general system information. If you
list one or more programs on the command line and specify -s, cygcheck
will report on both.
The -f option helps you to track down which package a file came from,
and -l lists all files in a package. For example, to find out about
/usr/bin/less and its package:
cygcheck usage
$ cygcheck -f /usr/bin/less
less-381-1
$ cygcheck -l less
/usr/bin/less.exe
/usr/bin/lessecho.exe
/usr/bin/lesskey.exe
/usr/man/man1/less.1
/usr/man/man1/lesskey.1
The -h option prints additional helpful messages in the report, at the
beginning of each section. It also adds table column headings. While
this is useful information, it also adds some to the size of the
report, so if you want a compact report or if you know what everything
is already, just leave this out.
The -v option causes the output to be more verbose. What this means
is that additional information will be reported which is usually not
interesting, such as the internal version numbers of DLLs, additional
information about recursive DLL usage, and if a file in one directory
in the PATH also occurs in other directories on the PATH.
The -r option causes cygcheck to search your registry for information
that is relevent to Cygwin programs. These registry entries are the
ones that have "Cygwin" in the name. If you are paranoid about pri-
vacy, you may remove information from this report, but please keep in
mind that doing so makes it harder to diagnose your problems.
In contrast to the other options that search the packages that are
installed on your local system, the -p option can be used to search
the entire official Cygwin package repository. It takes as argument a
Perl-compatible regular expression which is used to match package
names, package descriptions, and path/filenames of the contents of
packages. This feature requires an active internet connection, since
it must query the cygwin.com web site. In fact, it is equalivant to
the search that is available on the package listing
For example, perhaps you are getting an error because you are missing a
certain DLL and you want to know which package includes that file:
$ cygcheck -p 'cygintl-2\.dll'
Found 1 matches for 'cygintl-2\.dll'.
libintl2-0.12.1-3 GNU Internationalization runtime library
$ cygcheck -p 'libexpat.*\.a'
Found 2 matches for 'libexpat.*\.a'.
expat-1.95.7-1 XML parser library written in C
expat-1.95.8-1 XML parser library written in C
$ cygcheck -p '/ls\.exe'
Found 2 matches for '/ls\.exe'.
coreutils-5.2.1-5 GNU core utilities (includes fileutils, sh-
utils and textutils)
coreutils-5.3.0-6 GNU core utilities (includes fileutils, sh-
utils and textutils)
Note that this option takes a regular expression, not a glob or wild-
card. This means that you need to use .* if you want something similar
to the wildcard * commonly used in filename globbing. Similarly, to
match the period character you should use \. since the . character in
a regexp is a metacharacter that will match any character. Also be
aware that the characters such as \ and * are shell metacharacters,
so they must be either escaped or quoted, as in the example above.
The third example above illustrates that if you want to match a whole
filename, you should include the / path seperator. In the given exam-
ple this ensures that filenames that happen to end in ls.exe such as
ncftpls.exe are not shown. Note that this use does not mean "look for
packages with ls in the root directory," since the / can match any-
where in the path. It's just there to anchor the match so that it
matches a full filename.
By default the matching is case-sensitive. To get a case insensitive
match, begin your regexp with (?i) which is a PCRE-specific feature.
For complete documentation on Perl-compatible regular expression syntax
and options, read the perlre manpage, or one of many websites such as
perldoc.com that document the Perl language.
The cygcheck program should be used to send information about your
system for troubleshooting when requested. When asked to run this
command save the output so that you can email it, for example:
C:\cygwin> cygcheck -s -v -r -h > cygcheck_output.txt
COPYRIGHT
Cygwin is Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
Red Hat, Inc.
Cygwin is Free software; for complete licensing information, refer to:
http://cygwin.com/licensing.html
MAINTAINER
This man page was written and is maintained by Joshua Daniel Franklin,
joshuadfranklin@yahoo.com
SEE ALSO
The full documentation to the Cygwin Utilities is maintained on the web
at:
http://cygwin.com/cygwin-ug-net/using-utils.html
The website is updated more frequently than the man pages and should be
considered the authoritative source of information.
2006 Aug 09 CYGCHECK(1)
=================================
### Solaris pkg-get-get, gets the package get package then installed then uses the ### installed pkg-get to do what was wanted in the firstplace
#!/bin/ksh PATH=/bin:/usr/bin:/usr/local/bin PATH=$PATH:/opt/local/bin PATH=$PATH:/home/bfennell/gnu/bin export PATH
### ### Home Page: ### http://www.blastwave.org/pkg-get.html ###
### /home/bfennell/bin/mywhich -L pkg-get ### /opt/csw/bin/pkg-get
if /bin/ls -1 /opt/csw/bin/pkg-get >/dev/null 2>/dev/null then /opt/csw/bin/pkg-get "$@" else ### begin : pkg-get-get cd /tmp wget 'http://www.blastwave.org/pkg_get.pkg' ls -ltrd /tmp/pkg_get.pkg su root -c "pkgadd -d pkg_get.pkg" ### end : pkg-get-get
PATH=/opt/csw/bin:$PATH export PATH
/opt/csw/bin/pkg-get "$@" fi
=======================================



