Skip to content

Commit 5ef96c9

Browse files
authored
Merge pull request #16319 from argotorg/discontinue-ubuntu-ppas
Officially discontinue PPA releases
2 parents f5f5ded + e4e515c commit 5ef96c9

File tree

7 files changed

+9
-361
lines changed

7 files changed

+9
-361
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
@@ -13,6 +13,7 @@ Bugfixes:
1313

1414
Build System:
1515
* Enable Linux arm64 binaries for testing and releases.
16+
* Ubuntu PPA Packages: Discontinue the PPA as a binary distribution channel.
1617
* 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.
1718

1819
### 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).
@@ -24,8 +21,6 @@ At least a day before the release:
2421
- [ ] 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:
2522
- [ ] `solc-js`
2623
- [ ] `solc-bin` (make sure the bytecode comparison check did run)
27-
- [ ] (Optional) Create a prerelease in our Ubuntu PPA by following the steps in the PPA section below on `develop` rather than on a tag.
28-
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.
2924
- [ ] Verify that the release tarball of `solc-js` works.
3025
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.
3126
- [ ] Review [Learning from Past Releases](https://notes.argot.org/@solidity-release-mistakes) to make sure you don't repeat the same mistakes.
@@ -82,19 +77,6 @@ At least a day before the release:
8277
- [ ] Make sure `docker-buildx` is installed.
8378
- [ ] Run `./scripts/docker_deploy_manual.sh v$VERSION`.
8479

85-
### PPA
86-
- [ ] 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.
87-
- [ ] Double-check that the `DISTRIBUTIONS` list in `scripts/release_ppa.sh` contains the most recent versions of Ubuntu.
88-
- [ ] Run `scripts/release_ppa.sh v$VERSION` to create the PPA release.
89-
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)
90-
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).
91-
- [ ] 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).
92-
**SERIOUSLY: DO NOT PROCEED EARLIER!!!**
93-
- [ ] *After* the package with the static build is *published*, use it to create packages for older Ubuntu versions.
94-
Copy the static package to the [`~ethereum/ethereum` PPA](https://launchpad.net/~ethereum/+archive/ubuntu/ethereum)
95-
for the destination series `Trusty`, `Xenial`, `Bionic`, and `Focal`
96-
while selecting `Copy existing binaries`.
97-
9880
### Release solc-js
9981
- [ ] Wait until solc-bin was properly deployed. You can test this via remix - a test run through remix is advisable anyway.
10082
- [ ] Increment the version number, create a pull request for that, merge it after tests succeeded.

docs/installing-solidity.rst

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -116,23 +116,9 @@ Linux Packages
116116
Binary packages of Solidity are available at
117117
`solidity/releases <https://github.com/argotorg/solidity/releases>`_.
118118

119-
We also have PPAs for Ubuntu, you can get the latest stable
120-
version using the following commands:
121-
122-
.. code-block:: bash
123-
124-
sudo add-apt-repository ppa:ethereum/ethereum
125-
sudo apt-get update
126-
sudo apt-get install solc
127-
128-
The nightly version can be installed using these commands:
129-
130-
.. code-block:: bash
131-
132-
sudo add-apt-repository ppa:ethereum/ethereum
133-
sudo add-apt-repository ppa:ethereum/ethereum-dev
134-
sudo apt-get update
135-
sudo apt-get install solc
119+
Ubuntu packages for versions up to 0.8.30 are available in the
120+
`ethereum/ethereum PPA <https://launchpad.net/~ethereum/+archive/ubuntu/ethereum>`_.
121+
However, we have discontinued this distribution method and future versions will not be added there.
136122

137123
Furthermore, some Linux distributions provide their own packages. These packages are not directly
138124
maintained by us but usually kept up-to-date by the respective package maintainers.

docs/layout-of-source-files.rst

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -153,22 +153,18 @@ since Solidity 0.7.4.
153153
SMTChecker
154154
~~~~~~~~~~
155155

156-
This component has to be enabled when the Solidity compiler is built
157-
and therefore it is not available in all Solidity binaries.
158-
The :ref:`build instructions<smt_solvers_build>` explain how to activate this option.
159-
It is activated for the Ubuntu PPA releases in most versions,
160-
but not for the Docker images, Windows binaries or the
161-
statically-built Linux binaries. It can be activated for solc-js via the
162-
`smtCallback <https://github.com/argotorg/solc-js#example-usage-with-smtsolver-callback>`_ if you have an SMT solver
163-
installed locally and run solc-js via node (not via the browser).
164-
165156
If you use ``pragma experimental SMTChecker;``, then you get additional
166157
:ref:`safety warnings<formal_verification>` which are obtained by querying an
167158
SMT solver.
168159
The component does not yet support all features of the Solidity language and
169160
likely outputs many warnings. In case it reports unsupported features, the
170161
analysis may not be fully sound.
171162

163+
.. note::
164+
165+
The ``SMTChecker`` pragma is deprecated and will be removed.
166+
To enable SMTChecker, simply select :ref:`select an engine<smtchecker_engines>` when invoking the compiler.
167+
172168
.. index:: source file, ! import, module, source unit
173169

174170
.. _import:

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)