Log in Page Discussion History Go to the site toolbox

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
=======================================

Site Toolbox:

Personal tools
GNU Free Documentation License 1.2
This page was last modified on 3 December 2009, at 22:56.
Disclaimers - About BluWiki