Commit Graph

449 Commits (70936bbf8b1a6f317fce67c5bd1c1e3be19b6656)

Author SHA1 Message Date
abelbabel 19db4d381c removed typo 11 years ago
abelbabel 9e88993939 add check mode support
Could it be that easy or do I have missed something?
11 years ago
Pieter Avonts 42e4d8cb30 changed deprecated channel_label attribute 11 years ago
René Moser 2e649d21af Fixed missing required package in notes. 11 years ago
James Cammarata bb36429fa2 Merge branch 'fix/apt_repository_update_cache' of https://github.com/resmo/ansible into resmo-fix/apt_repository_update_cache 11 years ago
René Moser cb9308a998 apt_repository: added option update_cache.
The default behavior is to update_cache if changed.

If you add more then one repo, you may not want to update cache for every repo separately.
So you can now disable update_cache with this new option e.g. update_cache=no

Updating cache can also be handled using the apt module.
11 years ago
René Moser 53d06b932a apt_repository: fix update cache after state=changed. Closes GH-4136 11 years ago
James Cammarata a6e339fc36 Merge pull request #4138 from resmo/fix/redundant-fail-json
apt: fixed duplicate fail_json
11 years ago
Rene Moser 8c7c0833c2 apt: fixed duplicate fail_json 11 years ago
James Cammarata d6b7c91aa9 Merge branch 'issue_3421_apt_pkg_iU' into devel 11 years ago
Michael DeHaan 4a50a76669 Merge pull request #4075 from sayap/easy_install
Locate easy_install path after (optionally) creating virtualenv.
11 years ago
James Cammarata c48fc23d75 Use low-level package objects in the apt module to check installed state
Packages which are half-installed are not adequately represented by
the .is_installed field of the apt.package.Package object. By using the
lower-level apt_pkg.Package object (which provides the .current_state
field), we can check for a partially-installed state more accurately.

Fixes #3421
11 years ago
Hiroaki Nakamura 868620f7d0 Add an example for installing a group with the yum module. 11 years ago
Hiroaki Nakamura 80d68320f7 Fix to getchanged correctly for yum groupinstall. 11 years ago
Yap Sok Ann 6ca45d1964 Locate easy_install path after (optionally) creating virtualenv.
Without this, the first call to the easy_install module with a new virtualenv
will only create the virtualenv without installing the intended package, since
the `_is_package_installed` check will succeed as running /usr/bin/easy_install
as non-root user will return permission denied error with empty stdout.
11 years ago
James Cammarata 5a86b82cec Fixing typos in is_keyid function definition and usage
Fixes #4068
11 years ago
James Cammarata ab21123a5c Revert "Styling: deprecation"
This reverts commit ecc2b6e742.

Fixes #4069
11 years ago
Michael DeHaan 789d08a85d Merge pull request #3942 from jocelynj/gem
Correctly handle option user_install in gem module
11 years ago
James Cammarata 25713f0b05 Minor text corrections in the yum module documentation 11 years ago
Jocelyn Jaubert 8b5d2aeef9 Correctly handle option user_install in gem module 11 years ago
Hiroaki Nakamura 949744c194 Add description and examples for the name parameter accepts a url or a local path to a rpm file. 11 years ago
James Cammarata 0caaa023e2 Cleaning up some pep8 issues in the pkgutil module 11 years ago
James Cammarata fb23c53e3d Merge branch 'allow_wildcard_yum' of https://github.com/mscherer/ansible into mscherer-allow_wildcard_yum 11 years ago
James Cammarata 8345beafca Merge branch 'pacman_local_plus_check' of https://github.com/mivok/ansible into mivok-pacman_support_check_mode 11 years ago
James Cammarata 5c6276b6a3 Merge branch 'pacman_support_check_mode' of https://github.com/mivok/ansible into mivok-pacman_support_check_mode 11 years ago
James Cammarata 1f78606620 Minor doc fixes for the pkgutil module 11 years ago
Alexander Winkler 487dcccd7d Added module pkgutil 11 years ago
sjahl 39b0122d37 setting 0644 permissions on mkstemp file handles. Fixes issue #3857 11 years ago
Mark Harrison 2971215fd6 Merge branch 'pacman_local' into pacman_local_plus_check
Conflicts:
	library/packaging/pacman
11 years ago
Mark Harrison 832dd5e330 Support check mode with pacman module 11 years ago
Mark Harrison 3a702b100e Allow installation of local packages with pacman 11 years ago
Michael Scherer df682d1cda Allow to use '*test*' in enablerepo for yum action
Yum commandline permit to use a wildcard to enable and disable
repositories in the --enablerepo switch, permitting to enable
a complete set of repository at once ( like all rpmfusion, all
update-testing, etc ).

However, this doesn't work in yum due to more stringent checks
that verify that a exact match is given for the name of the
repository , see commit 5c26805.

This commit enhance the check by permitting to test more than
1 repository at a time, thus permitting to use wildcards.
11 years ago
James Cammarata a32f1cac8d Cleaning up of apt_repository module and removing wget parts 11 years ago
Michael Vogt d036723661 use either pycurl or wget to download from launchpad, also improve error message if neither is installed 11 years ago
Michael Vogt b69e7c92e7 use pycurl instead of urllib2 when talking to launchpad to actually get SSL cert verification, see https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/915210 or CVE-2011-4407 for a previous similar issue in software-properties 11 years ago
James Cammarata ae962bf645 Reverting version_added field in the apt_repository module 11 years ago
Alexander Saltanov aed1f4156e Replacement for apt_repository.
1. Debian Squeeze is supported out of box now.
2. Repository type "deb" or "deb-src" should be explicitly specified.
3. If a source had beed added it must be possible to remove it.
4. PPA can be only used against Ubuntu hosts.
11 years ago
James Cammarata 93a9b1c5c6 Fail apt package install when nothing is matched by the fnmatch pattern
Related to PR #3823
11 years ago
Michael Vogt 2503c36c6a add support for fnmatch() style apt filenames
You can write a apt action like "- apt: pkg=apt*" with this package.
11 years ago
Abhijit Menon-Sen a37e232cb1 Fix some typos discovered during casual reading 11 years ago
Alan Grosskurth d91e6e06e4 apt: Run remove commands noninteractively
I'm seeing ansible hang when trying to remove a package, and the hung
process is `whiptail` like in #2763. It looks like we only use
`APT_ENVVARS` and `DPKG_OPTIONS` for the `apt` commands in install()
and upgrade(). This change uses them in remove() as well, which fixes
the hang.
11 years ago
Michael DeHaan ea08f247f9 PEP8: fix spacing 11 years ago
Michael DeHaan 1e2630d814 Merge pull request #3718 from hacosta/rpm_key
Add rpm_key module
11 years ago
Michael DeHaan c13b1cb18e Rename option to 'recurse' to make it consistent. Add version_added to docs. 11 years ago
Michael DeHaan 933455a6a3 Merge pull request #3636 from uggedal/pacman-remove-recursive
Pacman module: recursive remove support
11 years ago
Michael DeHaan e1e37002c3 Add version_added to new parameter. 11 years ago
Michael DeHaan d6b54d69fd Merge pull request #3662 from grosskur/apt-key-keyring-param
apt_key: Add 'keyring' parameter
11 years ago
Hector Acosta 809278ba1b Add rpm_key module
This module can be used to import public keys into your rpm database.

Signed-off-by: Hector Acosta <hector.acosta@gmail.com>
11 years ago
Alan Grosskurth 5700970e05 apt_key: Add 'keyring' parameter
The apt-key command takes an optional --keyring parameter representing
the path to a specific GPG keyring to operate on. If it's not given,
the command operates on all keyring files, i.e., /etc/apt/trusted.gpg
and /etc/apt/trusted.gpg.d/*.gpg.

This change adds a 'keyring' parameter to the apt_key module and
propagates it down to the apt-key command line. The main use case this
supports is organizing keys for third-party repos into individual
keyrings in /etc/apt/trusted.gpg.d, rather than putting them all in
the default keyring.
11 years ago
Andreas Kaiser 1bf6656f0b Fix pkgin search (yielding wrong results under certain conditions, see inline comments). 11 years ago
Eivind Uggedal 16cb5551af Pacman module: recursive remove support 11 years ago
Michael DeHaan 7bfc24706c Fix prev feature commit, Do not require aptitude to use apt commands in the apt module, only needed when upgrading. 11 years ago
Michael DeHaan adda77a42b Merge pull request #3617 from dermute/devel
svr4pkg doesn't work on Sol10
11 years ago
Michael DeHaan dc7e280d3b Update docs to add version_added attribute. 11 years ago
Michael DeHaan 8065e414d1 Merge pull request #3400 from diko4096/patch-1
Update gem
11 years ago
Michael DeHaan 6030c1bcaa tweak indentation for 'make pep8' 11 years ago
Patrik Lundin b9b8f90d91 openbsd_pkg: Use ansible run_command().
This fixes an asterisk glob problem in get_package_state() where a file
in /root/ could cause shell expansion if it matched the package name.
The actual problem is solved by running with shell=False.
11 years ago
Michael DeHaan a58d827d72 Merge pull request #3379 from serenecloud/devel
Return a friendly error message if aptitude isn't installed
11 years ago
Michael DeHaan 732d3eb8bd Merge pull request #3493 from eest/openbsd_pkg-fixes
openbsd_pkg corner case fixes
11 years ago
Michael DeHaan 669a65922c Merge pull request #3515 from neomantra/apt_repository
apt_repository: enhance documentation
11 years ago
Alexander Winkler 1e99f81c78 fixes ansible/ansible#3547 11 years ago
Michael DeHaan 5603c32929 Fixing your YAML Seth :) 12 years ago
Seth Vidal 915d8e1847 add examples for yum: state=latest name=* 12 years ago
Seth Vidal de7d291d1e add a '*' option for name to state=latest to do a global update 12 years ago
Evan Wies 5fcf10a3ca apt_repository: enhance documentation 12 years ago
Patrik Lundin 5f53229de2 openbsd_pkg: some whitespace cleanup. 12 years ago
Patrik Lundin 023711bb2c openbsd_pkg: sync package_latest().
This diff syncs package_latest() with the changes to package_present().
I have not managed to figure out how to handle the cornercases where
stderr is set but the command has not failed, so leave a FIXME blob for
other adventurers.
12 years ago
Patrik Lundin 8646df0a1f openbsd_pkg: Handle another pkg_add gotcha
* Add '-m' to pkg_add incovation to get access to the "packagename-1.0: ok"
  message.
* Watch for that message if we are about to fail because of stderr in
  package_present().
12 years ago
Patrik Lundin 72d73bcc70 openbsd_pkg: handle pkg_add quirks better.
This fixes a problem when trying to install a package with a specific version
number from a local directory and the local directory is checked after a remote
repository:

Error from http://ftp.eu.openbsd.org/pub/OpenBSD/[...]/packagename-1.0.tgz
ftp: Error retrieving file: 404 Not Found
packagename-1.0: ok
12 years ago
Felix Stuermer ed7b073550 Use the force=yes option for apt upgrade actions 12 years ago
Seth Vidal 537166b1ea - optimize for the extremely common case of people specifying pkg names which are, ultimately, already installed
on a system here time went from  16s for a series of pkgs to 3s to just
  check that they were installed.
12 years ago
Dmitry Kolobaev 796e68d15a Update gem
I've added ability to install gems in system-wide manner with --no-user-install options
12 years ago
Michael DeHaan ca2c28413a Styling: deprecation 12 years ago
Michael DeHaan 7dd8c2dda4 Styling: misc pep8 12 years ago
serenecloud e6601b669e Return a friendly error message if aptitude isn't installed 12 years ago
Jack Kuan 94d1a2542e Fix the issue of easy_install ignoring virtualenv_site_packages=yes. 12 years ago
Michael DeHaan 3dc560a1a2 Fixup previous apt_key patch to enable file based modes to work. 12 years ago
James Laska ab745fa0b6 Correctly load up2date configuration
Previously, a configuration file name of None was being passed into
up2dateInitConfig().  This resulted in a correct configuration import,
but failed to properly save the configuration back to disk in the event
a different serverURL was supplied.  This change removes support for
customizing the up2date filename entirely, and relies on up2date to
choose the default config filename.
12 years ago
Michael DeHaan 531e290033 Merge branch 'PR_add_chdir_to_pip' of git://github.com/y-p/ansible into devel
Conflicts:
	library/packaging/pip
12 years ago
Michael DeHaan fe871ecfd4 Merge branch 'fix-apt-purge' of git://github.com/madduck/ansible into purge 12 years ago
Michael DeHaan 79a9629108 Revert "now modules can implement with_items list globbing w/o updating"
This reverts commit 4942a06bc2.

Conflicts:

	lib/ansible/runner/__init__.py
12 years ago
martin f. krafft a52f531c5b Always assume purged for older python-apt
Older python-apt modules don't export Package.installed_files and there
seems to be no other way to figure out if a package is
removed-but-not-purged, so we just always assume it's purged.

Signed-off-by: martin f. krafft <madduck@madduck.net>
12 years ago
martin f. krafft 3d1db80fe0 Introduce non-purged package status
A package may be removed but not purged with APT. The only way to
identify this state is by looking at the list of installed files of
a package. Even if the package has no files installed, this list will be
non-empty until the package is removed:

  # python -c "import apt; c=apt.Cache(); c.update(); c.open(); p=c['ruby1.8']; print p, p.installed, p.installed_files"
  <Package: name:'ruby1.8' id:1425> None [u'']

  # dpkg --purge ruby1.8
  (Reading database ... 27904 files and directories currently installed.)
  Removing ruby1.8 ...
  Purging configuration files for ruby1.8 ...

  # python -c "import apt; c=apt.Cache(); c.update(); c.open(); p=c['ruby1.8']; print p, p.installed, p.installed_files"
  <Package: name:'ruby1.8' id:1425> None []

See http://bugs.debian.org/712749 too.

If a package is not marked installed but it still 'has_files', then it
should be processed if the request is to purge it.

Signed-off-by: martin f. krafft <madduck@madduck.net>
12 years ago
martin f. krafft 1bf4438e60 Fix purging of packages
A small error in the reuse of a variable caused packages to never get
purged. This commit fixes that.

Signed-off-by: martin f. krafft <madduck@madduck.net>
12 years ago
Michael DeHaan 03f1578768 Merge conflict 12 years ago
Michael DeHaan 69ff91505c Merge remote branch 'origin/devel' into devel 12 years ago
Jesse Keating 9f3c43290e pkg option of apt is not required
You can use apt module with update_cache and without specifying a
package. Update the docs to reflect this.
12 years ago
Michael DeHaan 538a998d26 Merge branch 'apt_key_file' of git://github.com/veeti/ansible into devel
Conflicts:
	library/packaging/apt_key
12 years ago
Veeti Paananen b53982f9d2 Add apt_key examples for file and data 12 years ago
Jan-Piet Mens 98c1423269 Docs: consistently format playbook EXAMPLES 12 years ago
Michael DeHaan d91ffdef72 Merge pull request #3162 from strawlab/apt-key-binary-fix
allow apt-key module to work with binary key
12 years ago
Michael DeHaan e27e8d91ac Merge pull request #3225 from eest/openbsd_pkg-check_mode
openbsd_pkg: Add check_mode support.
12 years ago
Michael DeHaan 3a9f45d457 Merge pull request #3213 from veeti/apt_key_data
Document the data argument for apt_key
12 years ago
Michael DeHaan 2ec0c4478c Merge pull request #3227 from bcoca/modules_wantlist
implementing with_items list globbing made easier for modules
12 years ago
Michael DeHaan 2ad98dec1c Merge pull request #3199 from chrishoffman/doc_error
Fixing documentation error
12 years ago
Michael DeHaan 275b0d6c4e Merge pull request #3194 from E-M/patch-2
Fixed Issue #3193 - make rhn_register module compatible with EL 5
12 years ago
Brian Coca 98c290f9e1 now modules can implement with_items list globbing w/o updating
hardcoded lists in ansible code, just add WITH_ITEMS_USES_LIST in a
comment anywhere, and of course, support recieving params as list.

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Jan-Piet Mens 3404a0fc16 DOCS: standardize on EXAMPLES (a.k.a. Docs-JumboPatch JetLag Edition)
Migrated all examples: in DOCUMENTATION=''' string to standalone EXAMPLES=''' string
  Added deprecation warning to moduledev.rst and remove deprecated example from it
  Fixed up a few typos and uppercased some acronyms.
  add consistency to how EXAMPLES are formatted
12 years ago
Patrik Lundin e5abd86d43 openbsd_pkg: Add check_mode support.
The biggest change has been to package_latest since it was previously
just comparing version numbers before and after an upgrade had run.
We now parse the output from a dry run instead.

Thanks to Johan Belin for triggering the discussion :).
12 years ago
Veeti Paananen e4c4f8ba7d Add a file argument to apt_key 12 years ago
Veeti Paananen 6a572f3607 Document the data argument for apt_key 12 years ago
Chris Hoffman 1e80df4e9b Removing all the default: null from the documentation 12 years ago
Chris Hoffman b437ac7dda Fixing documentation error 12 years ago
Edgars M e537232c63 Fixed Issue #3193 12 years ago
E-M 7460c42c28 Fixed module name in examples section
Examples showed that modules name is rhnreq_ks, when it actually is rhn_register.
12 years ago
Andrew Straw 7d9eb14b2a allow apt-key module to work with binary key 12 years ago
Michael DeHaan c6e56bd207 Rename module 12 years ago
Michael DeHaan e87265fa93 Update "added in" version in zypper, update doc name of rhn_register module. 12 years ago
Michael DeHaan 35cbb1a09e Rename module 12 years ago
Michael DeHaan 0cb9d42721 Rename rhnreg_ks to rhn_register 12 years ago
Michael DeHaan 4d3106a56b Merge pull request #3148 from jlaska/rhnreg_ks
Add rhnreg_ks module
12 years ago
Patrick Callahan ec60e59df3 BUG FIX: Add package name to the cmd. 12 years ago
James Laska 8593409767 Minor adjustments to subscription_manager and rhnreg_ks 12 years ago
James Laska 3e05292fa3 Reorganize subscription_manager module.
Also ...
 * When unregistering, first unsubscribe from all content
12 years ago
James Laska 7ccede32fa The rhnreg_ks module acts as a wrapper to the command 'rhnreg_ks'. The
rhnreg_ks command allows users to manage registration to a Red Hat
Network (RHN) (e.g. rhn.redhat.com) server.  The moduel will also
interact with the specified RHN system via XMLRPC as needed.

Before proceeding with registration, the rhnreg_ks module will enable
the system to receive updates from RHN.  This involves enabling the
appropriate RHN yum plugin, as well as disabling an active
subscription-manager yum plugin.

Once enabled, the module will support the following operations:
 * configure
 * register
 * subscribe to custom child channels (see `rhn-channel` command)
 * unregister
12 years ago
Patrick Callahan 8c32154d1e Simple zypper module to install, remove, or upgrades packages. 12 years ago
Michael DeHaan abfb76b415 Fixup doc YAML 12 years ago
James Laska 04b11668cb Updated examples and documentation 12 years ago
James Laska 7c14adf891 Add RHN subscription_manager module
The subscription_manager module acts as a wrapper to the command
'subscription-manager'.  The subscription-manager utility allows users
to manage RHN registration, subscription and yum repositories from the
Red Hat Entitlement platform.

Currently, this module supports the following sub-commands:
 * config
 * [un]register
 * subscribe
12 years ago
y-p 613202e785 Add is_local_path check to pip module, for skipping --use-mirrors 12 years ago
y-p aa212e87ec Add chdir parameter to pip 12 years ago
Michael DeHaan 4105813ebe Lots of formatting fixes 12 years ago
Michael DeHaan 961b9c1caa Merge pull request #2986 from wbowling/devel
Fixes apt_repository always reporting file uri repos as changed
12 years ago
Michael DeHaan 5836783181 Merge pull request #2976 from stoned/pip-virtualenv_command-pathname
Allow virtualenv_command argument of the pip module to be a pathname
12 years ago
Michael DeHaan 64779e4a0b Merge pull request #2975 from stoned/doc-pip-fix
Fix pip module documentation (YAML quoting)
12 years ago
Michael DeHaan 65aca6cef6 Merge pull request #2995 from SirScott/pip-sudo-user
pip module -- sudo_user permission problem fix
12 years ago
Stoned Elipot 8a0fc56323 Fix typo in npm module documentation preventing it to be processed by ansible-doc 12 years ago
Scott Sturdivant cc1f1368e4 Chdir to tempdir to prevent permissions problems. 12 years ago
William Bowling 5537358532 Fixes apt_repository always reporting file uri repos as changed 12 years ago
Stoned Elipot c6712b35a2 Allow virtualenv_command argument of the pip module to be a pathname 12 years ago
Stoned Elipot 1082ba6c1c Fix pip module documentation (YAML quoting) 12 years ago
John Jarvis 008e18d1d3 fixes case where name is omitted from pip arg list
This code:
```
    if name.endswith('.tar.gz') or name.endswith('.tar.bz2') or
name.endswith('.zip'):
        is_tar = True
```
was not checking whether name is defined since it is an
optional param.
12 years ago
John Jarvis fc61824591 fixing syntax error 12 years ago
Michael DeHaan 47675caab5 Merge pull request #2948 from jcbagneris/devel
Fixes in apt module doc: typos, examples
12 years ago
Michael DeHaan 2209f44371 Merge pull request #2932 from bcoca/apt_getbins
apt now uses module function to find bin paths
12 years ago
Michael DeHaan 79081133af Merge pull request #2905 from kjkuan/bugfix-apt-version-comparison
Make package version comparison use globbing.
12 years ago
Michael DeHaan 6fb632dffe Merge pull request #2875 from yeukhon/devel
Pip's name key can now accept remote package address.
12 years ago
Yeukhon Wong 76e1e5bbe9 Pip can now accept vcs or tarball as name. Prevented adding mirrors when name is vcs.
**Summary**:

There was a bug in the previous commit; pip module would add --use-mirrors options to a source package when state is absent. The bug is resolved in this commit by checking ``not is_package`` in the if branch.

Furthermore, in order to support non-vcs source name like tarballs, we must not add -e option to the arg list. Given this circumstance, this commit have is_tar and is_vcs and the latter is checked to add -e option. Since mirrors do not make sense with vcs or tarball source, this commit will not add --use-mirrors (default to True) as always.
12 years ago
JcB 5d89534744 Fixes in apt module doc: typos, examples 12 years ago
Brian Coca 8f87a0d109 apt now uses module function to find bin paths
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Michael DeHaan 117f50dcde Merge pull request #2911 from sergevanginderachter/apt-repo-ppa-bug
fix an idempotence bug in apt-repository where 'ppa' is used in a plain http://ppa. ....
12 years ago
Jack Kuan 0b941abd04 Make package version comparison use globbing.
I have something like:

  apt: pkg={{ item }} state=present
  with_items:
    - python-pysqlite2=2.6.3-*
    - python-paramiko=1.7.7.1-*

But due to the use of *'s in the version specifications, the apt ansible
module always reports changed: true. This patch fixes that.
12 years ago
Michael DeHaan de74cfd85e Merge pull request #2895 from jpmens/docreqs
Add Requirements to rst template, ansible-doc
12 years ago
Jan-Piet Mens 521162f43d Add Requirements to rst template, ansible-doc
tweak position & look of Requirements in rst
tweak APT's notes as per anhj's wish
12 years ago
bleader 394b89874e new module to handle FreeBSD packages with pkgng
New binary package management should be the default soon in FreeBSD, and
is already fully useable through self generated and non official binary
repositories.

- add support for pkgng
- support specifying the repository url as a parameter
- allow not to update cache

Signed-off-by: bleader <bleader@ratonland.org>
12 years ago
Yeukhon Wong 2c72b905a7 Pip's name key can now accept remote package address.
Summary:

Pip module would abort when name is a remote package address because
the module was expecting a version if ``=`` is part of the name value.

Furthermore, the pip module would require either name or requirement to
be a key, although the documentation table said neither was required.
The fact that one of them must be present is not documented in the
documentation leads to confusion. This commit added this fact as part
of description.

In this commit, we resolve the confusion by stating either ``name``
or ``requirement`` is needed. Next, if the user puts remote address
as the value of the ``name`` key, we will not use mirror. Lastly,
if the user uses the remote serivice address as the name of the
package and the user does not supply -e option in extra_vars
(which is the whole point of this commit), we will add -e to
 extra_vars so pip command can run with -e option.
12 years ago
Michael DeHaan 3802560eaa Merge branch 'devel_apt-cache_valid_time' of git://github.com/gottwald/ansible into devel 12 years ago
Serge van Ginderachter e143f86867 fix a bug in apt-repository where 'ppa' is used in a plain http://ppa. .... url 12 years ago
Michael DeHaan cd97a4cb14 Allow modules to be categorized, and also sort them when generating the documentation. 12 years ago