Skip to content

Commit

Permalink
Remove support for bzr, cvs, darcs, fossil and svn
Browse files Browse the repository at this point in the history
Not having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.
  • Loading branch information
tarsius committed Sep 10, 2017
1 parent 7c1c815 commit 45f7a8d
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 46 deletions.
7 changes: 1 addition & 6 deletions .travis.yml
Expand Up @@ -3,18 +3,13 @@ language: ruby
addons:
apt:
packages:
- bzr
- git
- mercurial
- subversion
- cvs
- darcs
- fossil
- texinfo

before_install:
- sudo apt-get -yq update
- sudo apt-get -yq install bzr git mercurial subversion cvs darcs fossil texinfo
- sudo apt-get -yq install git mercurial texinfo

- git clone https://github.com/rejeep/evm.git $HOME/.evm
- export PATH=$HOME/.evm/bin:$PATH
Expand Down
58 changes: 25 additions & 33 deletions README.md
Expand Up @@ -105,42 +105,43 @@ the following form (`[...]` denotes optional or conditional values),

```lisp
(<package-name>
:fetcher [git|github|gitlab|bitbucket|bzr|hg|darcs|fossil|svn|cvs|wiki]
:fetcher [git|github|gitlab|bitbucket|hg|wiki]
[:url "<repo url>"]
[:repo "github-gitlab-or-bitbucket-user/repo-name"]
[:version-regexp "<regexp>"]
[:module "cvs-module"]
[:files ("<file1>" ...)])
```

- `package-name`
a lisp symbol that has the same name as the package being specified.

- `:fetcher` (one of `git, github, gitlab, bitbucket, bzr, hg, darcs,
fossil, svn, cvs, wiki`) specifies the type of repository that `:url`
points to. Right now package-build supports [git][git],
[github][github], [gitlab][gitlab], [bitbucket][bitbucket],
[bazaar (bzr)][bzr], [mercurial (hg)][hg], [subversion (svn)][svn],
[cvs][cvs], [darcs][darcs], [fossil][fossil], and
[EmacsWiki (deprecated)][emacswiki] as possible mechanisms for checking out
the repository. (Note: `bitbucket` assumes `hg`: `git` repos hosted on
bitbucket should use the `git` fetcher.)

*package-build* uses
the corresponding application to update files before building the
package. In the case of the `github`
fetcher, use `:repo` instead of `:url`; the git URL will then be
deduced.

The Emacs Wiki fetcher gets the latest version of the package
from `http://www.emacswiki.org/emacs/download/<NAME>.el` where `NAME`
is the package name. Note that the `:url` property is not needed for
the `wiki` engine unless the name of the package file on the EmacsWiki
differs from the package name being built.
- `:fetcher` specifies the type of repository that `:url` or `:repo`
points to. Melpa supports [`git`][git], [`github`][github],
[`gitlab`][gitlab], [`hg`][hg] (Mercurial), and [`wiki`][emacswiki]
(for packages from Emacswiki.org).

- The `bitbucket` fetcher derives from `hg`, so you have to use
`git` for Git repositories hosted on Bitbucket.

- The `wiki` fetcher gets the latest version from
`http://www.emacswiki.org/emacs/download/<NAME>.el` where `NAME`
is the package name. Note that the `:url` property is not needed
for the `wiki` fetcher unless the name of the package file on the
EmacsWiki differs from the package name being built. This fetcher
is deprecated due to security concerns. Please distribute your
packages using a `git` or `hg` repository.

- Bazaar, CVS, Darcs, Fossil and Subversion used to be supported,
until only a dozen packages remained on Melpa that used one of
these five version control systems. These packages are now
imported from the Emacsorphanage, which features semi-regularly
updated Git mirrors of the upstream non-Git repositories. (The
latest stable `package-build.el` release actually still supports
these vcs.)

- `:url`
specifies the URL of the version control repository. *required for
the `git`, `bzr`, `hg`, `darcs`, `fossil`, `svn` and `cvs` fetchers.*
the `git`, and `hg` fetchers.*

- `:repo` specifies the github/gitlab/bitbucket repository and is of the form
`user/repo-name`. *required for the `github`, `gitlab`, and `bitbucket` fetchers*.
Expand All @@ -164,10 +165,6 @@ it adds the "origin/" prefix automatically.
strip the "OTP-" prefix. The captured portion of the regexp must be
parseable by Emacs' `version-to-list` function.

- `:module`
specifies the module of a CVS repository to check out. Defaults to to
`package-name`. Only used with `:fetcher cvs`, and otherwise ignored.

- `:files` optional property specifying the elisp and info files used to build the
package. Please do not override this if the default value (below) is adequate, which
it should usually be:
Expand Down Expand Up @@ -198,12 +195,7 @@ subdirectories to keep packaging simple.
[github]: https://github.com/
[gitlab]: https://gitlab.com/
[bitbucket]: https://bitbucket.org/
[bzr]: http://bazaar.canonical.com/en/
[hg]: https://www.mercurial-scm.org/
[svn]: http://subversion.apache.org/
[cvs]: http://www.nongnu.org/cvs/
[darcs]: http://darcs.net/
[fossil]: http://www.fossil-scm.org/
[emacswiki]: http://www.emacswiki.org/


Expand Down
6 changes: 4 additions & 2 deletions html/partials/getting-started.html
Expand Up @@ -148,7 +148,9 @@ <h2>Development</h2>
<p><a href="https://github.com/melpa/melpa">https://github.com/melpa/melpa</a></p>
<p>
Contributions are welcome. Currently, the builder supports
packages using Git, Subversion, Mercurial, Bazaar, CVS, Darcs, Fossil and
EmacsWiki (deprecated).
packages using Git, Mercurial, and EmacsWiki (deprecated
due to security concerns). Support for Bazaar, CVS, Darcs,
Fossil and Subversion has been removed due to very limited
use.
</p>
</section>
5 changes: 0 additions & 5 deletions scripts/bootstrap
Expand Up @@ -9,18 +9,13 @@ cd ${HOME}
sudo ${SUDOENV} apt-get -y update
sudo ${SUDOENV} apt-get -y upgrade
sudo ${SUDOENV} apt-get -y install \
bzr \
curl \
cvs \
darcs \
emacs24 emacs24-el emacs24-common-non-dfsg \
fossil \
git \
make \
mercurial \
nginx \
runit \
subversion \
texinfo \
tmux

Expand Down

0 comments on commit 45f7a8d

Please sign in to comment.