Skip to content

Commit 8059683

Browse files
committed
Discontinue support for Ubuntu PPAs
1 parent a6945de commit 8059683

File tree

6 files changed

+17
-360
lines changed

6 files changed

+17
-360
lines changed

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
/commit_hash.txt
22
/prerelease.txt
33

4-
# Auth config for ppa release
5-
/.release_ppa_auth
6-
74
# Compiled Object files
85
*.slo
96
*.lo

Changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Bugfixes:
1010
* Yul Optimizer: Fix edge case in which invalid Yul code is produced by ExpressionSimplifier due to expressions being substituted that contain out-of-scope variables.
1111

1212
Build System:
13+
* Ubuntu PPA Packages: Discontinue the PPA as a binary distribution channel.
1314
* Update minimum version requirements of Boost to 1.83.0 for non-windows builds and of GCC and Clang to 13.3 and 18.1.3, respectively. Fixes infinite recursion on `boost::rational` comparison affecting compiler binaries built with GCC<14.0 and Boost<1.75.
1415

1516
### 0.8.30 (2025-05-07)

ReleaseChecklist.md

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@
44
- [ ] GitHub account with access to [solidity](https://github.com/argotorg/solidity), [solc-js](https://github.com/argotorg/solc-js),
55
[solc-bin](https://github.com/argotorg/solc-bin), [solidity-website](https://github.com/argotorg/solidity-website).
66
- [ ] DockerHub account with push rights to the [`solc` image](https://hub.docker.com/r/ethereum/solc).
7-
- [ ] Launchpad (Ubuntu One) account with a membership in the ["Ethereum" team](https://launchpad.net/~ethereum) and
8-
a gnupg key for your email in the `ethereum.org` domain (has to be version 1, gpg2 won't work).
97
- [ ] Ubuntu/Debian dependencies of the Docker script: `docker-buildx`.
10-
- [ ] Ubuntu/Debian dependencies of the PPA scripts: `devscripts`, `debhelper`, `dput`, `git`, `wget`, `ca-certificates`.
118
- [ ] [npm Registry](https://www.npmjs.com) account added as a collaborator for the [`solc` package](https://www.npmjs.com/package/solc).
129
- [ ] Access to the [solidity_lang Twitter account](https://twitter.com/solidity_lang).
1310
- [ ] [Reddit](https://www.reddit.com) account that is at least 10 days old with a minimum of 20 comment karma (`/r/ethereum` requirements).
@@ -22,8 +19,6 @@ At least a day before the release:
2219
- [ ] Rerun CI on the top commits of main branches in all repositories that do not have daily activity by creating a test branch or PR:
2320
- [ ] `solc-js`
2421
- [ ] `solc-bin` (make sure the bytecode comparison check did run)
25-
- [ ] (Optional) Create a prerelease in our Ubuntu PPA by following the steps in the PPA section below on `develop` rather than on a tag.
26-
This is recommended especially when dealing with PPA for the first time, when we add a new Ubuntu version or when the PPA scripts were modified in this release cycle.
2722
- [ ] Verify that the release tarball of `solc-js` works.
2823
Bump version locally, add `soljson.js` from CI, build it, compare the file structure with the previous version, install it locally and try to use it.
2924
- [ ] Review [Learning from Past Releases](https://notes.argot.org/@solidity-release-mistakes) to make sure you don't repeat the same mistakes.
@@ -83,19 +78,6 @@ At least a day before the release:
8378
- [ ] Make sure `docker-buildx` is installed.
8479
- [ ] Run `./scripts/docker_deploy_manual.sh v$VERSION`.
8580

86-
### PPA
87-
- [ ] Create `.release_ppa_auth` at the root of your local Solidity checkout and set `LAUNCHPAD_EMAIL` and `LAUNCHPAD_KEYID` to your key's email and key id.
88-
- [ ] Double-check that the `DISTRIBUTIONS` list in `scripts/release_ppa.sh` contains the most recent versions of Ubuntu.
89-
- [ ] Run `scripts/release_ppa.sh v$VERSION` to create the PPA release.
90-
This will create a single package containing static binary for older Ubuntu versions in the [`~ethereum/ethereum-static` PPA](https://launchpad.net/~ethereum/+archive/ubuntu/ethereum-static)
91-
and separate packages with dynamically-linked binaries for recent versions (those listed in `DISTRIBUTIONS`) in the [`~ethereum/ethereum` PPA](https://launchpad.net/~ethereum/+archive/ubuntu/ethereum).
92-
- [ ] Wait for the build to be finished and published for *all architectures* (currently we only build for `amd64`, but we may add `arm` in the future).
93-
**SERIOUSLY: DO NOT PROCEED EARLIER!!!**
94-
- [ ] *After* the package with the static build is *published*, use it to create packages for older Ubuntu versions.
95-
Copy the static package to the [`~ethereum/ethereum` PPA](https://launchpad.net/~ethereum/+archive/ubuntu/ethereum)
96-
for the destination series `Trusty`, `Xenial`, `Bionic`, and `Focal`
97-
while selecting `Copy existing binaries`.
98-
9981
### Release solc-js
10082
- [ ] Wait until solc-bin was properly deployed. You can test this via remix - a test run through remix is advisable anyway.
10183
- [ ] Increment the version number, create a pull request for that, merge it after tests succeeded.

docs/installing-solidity.rst

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -114,37 +114,28 @@ self-contained (i.e. it does not refer to any external files that would have to
114114
Linux Packages
115115
==============
116116

117-
Binary packages of Solidity are available at
118-
`solidity/releases <https://github.com/argotorg/solidity/releases>`_.
117+
Standalone binaries of the compiler that should run on most distributions without any additional
118+
installation steps are available on the
119+
`solidity/releases page on Github<https://github.com/argotorg/solidity/releases>`_.
119120

120-
We also have PPAs for Ubuntu, you can get the latest stable
121-
version using the following commands:
121+
Some Linux distributions provide their own packages.
122+
These packages are not directly maintained by us but usually kept up-to-date by the respective
123+
package maintainers.
122124

123-
.. code-block:: bash
124-
125-
sudo add-apt-repository ppa:ethereum/ethereum
126-
sudo apt-get update
127-
sudo apt-get install solc
128-
129-
The nightly version can be installed using these commands:
130-
131-
.. code-block:: bash
132-
133-
sudo add-apt-repository ppa:ethereum/ethereum
134-
sudo add-apt-repository ppa:ethereum/ethereum-dev
135-
sudo apt-get update
136-
sudo apt-get install solc
137-
138-
Furthermore, some Linux distributions provide their own packages. These packages are not directly
139-
maintained by us but usually kept up-to-date by the respective package maintainers.
140-
141-
For example, Arch Linux has packages for the latest development version as AUR packages: `solidity <https://aur.archlinux.org/packages/solidity>`_
142-
and `solidity-bin <https://aur.archlinux.org/packages/solidity-bin>`_.
125+
Arch Linux provides a script for building and installing the latest release version in its AUR
126+
repository: `solidity <https://aur.archlinux.org/packages/solidity>`_.
127+
Another script can be used to install the official binary:
128+
`solidity-bin <https://aur.archlinux.org/packages/solidity-bin>`_.
143129

144130
.. note::
145131

146132
Please be aware that `AUR <https://wiki.archlinux.org/title/Arch_User_Repository>`_ packages
147-
are user-produced content and unofficial packages. Exercise caution when using them.
133+
are produced and maintained by users and not vetted in any way by the distro maintainers.
134+
Exercise caution when using them.
135+
136+
Ubuntu packages for versions up to 0.8.30 are available in the
137+
[`ethereum/ethereum` PPA](https://launchpad.net/~ethereum/+archive/ubuntu/ethereum).
138+
However, we have discontinued this distribution method and future versions will not be added there.
148139

149140
There is also a `snap package <https://snapcraft.io/solc>`_, however, it is **currently unmaintained**.
150141
It is installable in all the `supported Linux distros <https://snapcraft.io/docs/core/install>`_. To

scripts/common.sh

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -40,28 +40,6 @@ else
4040
function printLog { echo -e "$(tput setaf 3)$1$(tput sgr0)"; }
4141
fi
4242

43-
function checkDputEntries
44-
{
45-
local pattern="$1"
46-
grep "${pattern}" /etc/dput.cf --quiet || \
47-
fail "Error: Missing ${pattern//\\/} section in /etc/dput.cf (check top comment in release_ppa.sh for more information)."
48-
}
49-
50-
function sourcePPAConfig
51-
{
52-
[[ "$LAUNCHPAD_KEYID" == "" && "$LAUNCHPAD_EMAIL" == "" ]] || fail
53-
54-
# source keyid and email from .release_ppa_auth
55-
if [[ -e .release_ppa_auth ]]
56-
then
57-
# shellcheck source=/dev/null
58-
source "${REPO_ROOT}/.release_ppa_auth"
59-
fi
60-
61-
[[ "$LAUNCHPAD_KEYID" != "" && "$LAUNCHPAD_EMAIL" != "" ]] || \
62-
fail "Error: Couldn't find variables \$LAUNCHPAD_KEYID or \$LAUNCHPAD_EMAIL in sourced file .release_ppa_auth (check top comment in $0 for more information)."
63-
}
64-
6543
function printStackTrace
6644
{
6745
printWarning ""

0 commit comments

Comments
 (0)