Show page source of FrontPage #115968

{{{ comment

* English
You can use the plugin to make all kinds of information about your Chamber to be shown.  You may delete functions you think you'll never use.  If you want FrontPage or side bar contents to be back to default, all you need to do is delete the page.  Then it's back to auto generate page.

* Japanese
作業部屋の各種情報をプラグインを使って表示することができます。使わない機能に関しては削除してしまって構いません。FrontPage やサイドバーをディフォルトの内容に戻したい場合は、ページを削除すると自動生成ページに戻ります。

}}}

= MinGW Package Builder Tool
[[RepositoryInfo]]
[[PageOutline(start=2,type=unordered)]]

== What is mingw-pkg?
Initially developed as a tool for use by [http://mingw.org MinGW Project] Maintainers, `mingw-pkg` is a modular Bourne shell script application suite, which may be used to facilitate the construction of binary packages such as those which are distributed from the [project:mingw MinGW.org software repositories]; the content of each distributable package is determined by parsing of a machine-readable "package specification" file, which is also designed to be readily "human-intelligible".

Facilitated by the bundled `mingw-port` command, in addition to its originally intended function, `mingw-pkg` also provides the build time infrastructure, for deployment by regular MinGW users, which is required to build those MinGW contributed packages which are distributed in the form of `[https://osdn.net/projects/mingw/storage/mingw-ports mingw-ports]`; as such it supersedes the old `mingwPORT` and `mgwport` package building frameworks.

== Synopsis
{{{ html
<p><b>mingw-pkg</b>&ensp;[<i>option</i>&thinsp;]&nbsp;...&ensp;<i>action</i>&nbsp;...</p>
<p><b>mingw-port</b>&ensp;[<i>option</i>&thinsp;]&nbsp;...&ensp;<i>pkgname-version</i></p>
<p><b>logmsg</b>&ensp;[<i>option</i>&thinsp;] ...&ensp;[<i>changelog-path</i>&thinsp;]</p>
}}}

== Description
The '''mingw-pkg''' command provides the primary user interface to the application suite; controlled by a selection of action keywords, and directed by a package specification file, it affords the following capabilities:
 * Import of source code from an upstream project archive, and preparation of a local source code tree.
 * Optional integration with [https://www.mercurial-scm.org/wiki/Mercurial Mercurial] or [https://www.mercurial-scm.org/wiki/Mercurial Git], for management of local changes to the upstream source code.
 * Directed application of a sequence of patches, optionally managed by [https://www.mercurial-scm.org/wiki/MqExtension Mercurial Queues], or [https://osdn.net/users/keith/pf/git-mq/wiki/FrontPage Git-MQ], to the local source code tree.
 * Directed configuration, in accordance with options specified in the package specification file, to create a working build tree based on the local source code tree.
 * Compilation of code, within the build tree, under optional direction by the package specification file.
 * Installation of the "as-built" working code, optionally staging for distribution.
 * Preparation of (optionally signed) MinGW-specific package sets, for distribution; (requires either [https://www.mercurial-scm.org/wiki/Mercurial Mercurial] or [https://www.mercurial-scm.org/wiki/Mercurial Git] integration).

The '''mingw-port''' command is implemented on top of `mingw-pkg`.  Specifically intended for building packages which are published as [https://osdn.net/projects/mingw/storage/mingw-ports mingw-ports], it performs the following sequence of operations:
 * Acquires the `mingw-port` package file, downloading from [https://osdn.net/projects/mingw/storage/mingw-ports the MinGW.org archive site] if necessary, and unpacks it, to initialize a local source code tree.
 * Acquires the upstream source code archive, as directed by the package specification contained within the `mingw-port` package, and unpacks it, to complete instantiation of the local source code tree.
 * Applies any sequence of patches, which may be included within the `mingw-port` package, to the local source code tree.
 * Configures a working build tree, as directed by configuration options specified in the package specification file from the `mingw-port` package.
 * Compiles the source code, as directed by the configuration of the working build tree.

The '''logmsg''' command is a utility script.  It reads the topmost entry from a {{{ChangeLog}}} file, in standard GNU {{{ChangeLog}}} format, and reformats it in a style suitable for use as a Mercurial or Git commit log message, or patch header message.  It also provides a separate, optional capability to extract the user identification, from the topmost {{{ChangeLog}}} entry, for possible use as the author identification for a Mercurial or Git commit.

== Release Files
[[ReleaseList]]

== Recent Commits
[[RecentCommit]]

[[RepositoryReadme]]

== Recently Updated Tickets
[[RecentTickets(limit=5)]]