Compare commits

...

46 commits

Author SHA1 Message Date
Marcel Kapfer 6d0cb5cb3d 🔧 Update supported Ubuntu versions 2024-05-29 18:52:46 +02:00
Marcel Kapfer e24f3637af Upstream version 2024.1.2 2024-05-23 13:02:36 +00:00
Marcel Kapfer 2bf29008d6 Upstream version 2024.1.1 2024-04-30 13:02:17 +00:00
Marcel Kapfer 07725c92a1 Upstream version 2024.1 2024-04-04 13:02:14 +00:00
Marcel Kapfer 918e824ca5 Upstream version 2023.3.6 2024-03-22 14:02:42 +00:00
Marcel Kapfer 6a14548199 Upstream version 2023.3.5 2024-03-13 14:02:18 +00:00
Marcel Kapfer a8d01f93fd Upstream version 2023.3.4 2024-02-14 14:02:22 +00:00
Marcel Kapfer e61246b63f Upstream version 2023.3.3 2024-01-26 14:02:30 +00:00
Marcel Kapfer 579a13da8b Upstream version 2023.3.2 2023-12-21 14:02:16 +00:00
Marcel Kapfer 32cb30203b Upstream version 2023.3.1 2023-12-13 14:04:43 +00:00
Marcel Kapfer 3a20582113 Upstream version 2023.3 2023-12-07 14:02:26 +00:00
Marcel Kapfer 2531ee7318 Upstream version 2023.2.5 2023-11-10 14:01:11 +00:00
Marcel Kapfer 16a41496fd Upstream version 2023.2.4 2023-10-25 13:01:22 +00:00
Marcel Kapfer f24ae5711d Upstream version 2023.2.3 2023-10-12 13:01:23 +00:00
Marcel Kapfer e0730257aa Upstream version 2023.2.2 2023-09-14 13:01:16 +00:00
Marcel Kapfer 1c17ff215f Upstream version 2023.2.1 2023-08-24 13:01:16 +00:00
Marcel Kapfer e9e9cc98b6 (CI/CD) Use intellij-idea-pkg-image Docker base image 2023-07-27 18:10:19 +02:00
Marcel Kapfer 9611dde0f7 👔 Remove kinetic from build since version is obsolete 2023-07-26 20:11:36 +02:00
Marcel Kapfer ee45befda4 🐛 (autoupdate) Exit code 0 also when no updates are available
Otherwise the pipeline fails
2023-07-26 19:54:42 +02:00
Marcel Kapfer 17e8e34268 Upstream version 2023.2 2023-07-26 17:48:41 +00:00
Marcel Kapfer 328a63e61b 🐛 (autoupdate) Fix bug on calling update-new-version.sh 2023-07-26 19:47:13 +02:00
Marcel Kapfer 63ff9410bb 👷 (autoupdate) Add auto update job 2023-07-26 19:34:58 +02:00
Marcel Kapfer 9293768ee2 ♻ (autoupdate) Move auto update git code to autoupdate.sh 2023-07-26 19:33:15 +02:00
Marcel Kapfer d02cedc381 🐛 (update script) Fix git tag message 2023-07-26 17:22:14 +02:00
Marcel Kapfer 1fb6a33b24 🔥 Remove unnecessary 2023.1.2 deb 2023-07-19 23:48:18 +02:00
Marcel Kapfer 1e42bc53f7 Upstream version 2023.1.4 2023-07-19 21:47:10 +00:00
Marcel Kapfer efabda309b
🐛 Don't sign tag during autoupdate
This is a temporary restriction since during the implementation of
building the autoupdate functionality and the pipeline handling GPG
additionally would be a bit too much at once.

Refs: #8
2023-07-19 23:41:08 +02:00
Marcel Kapfer ac512f5bde
🐛 Add and commit changes for autoupdate
Refs: #8
2023-07-19 23:40:42 +02:00
Marcel Kapfer 618ed2bb5c
♻ Use autoupdate name consistently across all scripts
Refs: #8
2023-07-19 23:40:08 +02:00
Marcel Kapfer 76e7de6d53
Further preparations for automatic package updates
Refs: #8
2023-07-19 23:24:10 +02:00
Marcel Kapfer fedd17ea8b
Upstream release 2023.1.3 2023-06-21 16:21:01 +02:00
Marcel Kapfer 2423119820
Upstream release 2023.1.2 2023-05-18 13:19:27 +02:00
Marcel Kapfer 27812c1a16
⬆ Set lunar as default build release 2023-05-02 18:41:53 +02:00
Marcel Kapfer b65fb895bb
⬆ Set lunar as default build release 2023-05-02 18:31:56 +02:00
Marcel Kapfer bcb4495f19
🍱 Updated deb package for 2023.1.1 2023-05-02 18:28:23 +02:00
Marcel Kapfer a7efa763ee
🐛 Set debhelper compat version to invalid value
Since everything else seems to cause problems with some Ubuntu release
or the other I finally decided to reset to the old, invalid
combination of relying on debhelper >= 9 with compat level 10.
2023-05-02 18:22:20 +02:00
Marcel Kapfer 186f7888fe
🐛 Fix debhelper-compat not available on older releases
Since the debhelper-compat meta-package evidently is not available on
Ubuntu 14.04 I decided to switch back using the deprecated compat file
and using the debhelper package as a build-dependency.
2023-05-02 17:55:57 +02:00
Marcel Kapfer 22ec769d6d
🐛 Set debhelper-compat to version supported for all builds
Since we're currently building packages from Ubuntu 14.04 up to 23.04
it is the easiest and most stable way to depend on a debhelper-compat
version that is availabel on all releases. This is ATM version 9.

While this yields a linter warning it is IMO preferred to adjusting
the Build-Depends line automatically during the builds for the older
Ubuntu releases. Relying on an up-to-date version would perhaps
motivate at some point to use features only available (or, worse, with
changed outcome) with newer debhelper versions. Using the same
versiona across all builds should preserve us from such problems.
2023-05-02 17:48:08 +02:00
Marcel Kapfer 8cd0781507
⬇ Fix bionic build by lowering debelper version depencency 2023-05-02 17:18:36 +02:00
Marcel Kapfer e3eb679b83
Upstream version 2023.1.1 2023-05-02 17:00:13 +02:00
Marcel Kapfer a791b806b9
🚨 Increase debhelper version to fix lintian warning 2023-04-14 16:20:00 +02:00
Marcel Kapfer 8bab974cba
Upstream version 2023.1 2023-03-31 06:55:32 +02:00
Marcel Kapfer 3bfc7a458e
⬆ Switch default Ubuntu build version to kinetic 2023-03-13 23:20:13 +01:00
Marcel Kapfer 2c093b7d4a
Upstream version 2022.3.3 2023-03-13 23:14:43 +01:00
Marcel Kapfer 3d83d1fae4
⬆ Switch default Ubuntu version to kinetic 2023-03-13 23:12:31 +01:00
Marcel Kapfer 58b6916db6
📝 Update README, especially regarding update process 2023-03-13 23:01:42 +01:00
24 changed files with 210 additions and 116 deletions

View file

@ -1,21 +1,48 @@
default:
image: ubuntu:jammy
image: registry.gitlab.com/mmk2410/intellij-idea-pkg-image:noble
variables:
PACKAGE: "intellij-idea-community"
TZ: UTC
DEBIAN_FRONTEND: noninteractive
NAME: "Marcel Kapfer"
EMAIL: "opensource@mmk2410.org"
stages:
- autoupdate
- build
- deploy
update-job:
stage: autoupdate
script:
##
## Configure SSH key
##
- eval $(ssh-agent -s)
- chmod 400 "$SSH_PRIVATE_KEY"
- ssh-add "$SSH_PRIVATE_KEY"
- mkdir ~/.ssh
- chmod 700 ~/.ssh
- cp "$SSH_KNOWN_HOSTS" ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
##
## Configure Git setup
##
- git config user.name "$NAME"
- git config user.email "$EMAIL"
- git remote set-url origin "$GIT_URL"
##
## Run autoupdate script which handles everything else.
##
- ./autoupdate.sh
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
build-job:
stage: build
script:
- apt update && apt install -y git devscripts debhelper
- export VERSION=$(git describe --abbrev=0 --tags | cut -d'v' -f2)
- cd "$PACKAGE"_"$VERSION" || exit
- debuild -us -uc
@ -28,10 +55,9 @@ build-job:
- if: $CI_COMMIT_TAG
deploy-job:
image: ubuntu:$UBUNTU_VERSION
image: registry.gitlab.com/mmk2410/intellij-idea-pkg-image:$UBUNTU_VERSION
stage: deploy
script:
- apt update && apt install -y git devscripts debhelper gnupg
- export VERSION=$(git describe --abbrev=0 --tags | cut -d'v' -f2)
- echo "$GPG_PRIVATE_KEY" | tr -d '\r' | gpg --import -
- echo "$GPG_PUBLIC_KEY" | tr -d '\r' | gpg --import -
@ -44,4 +70,4 @@ deploy-job:
- if: $CI_COMMIT_TAG
parallel:
matrix:
- UBUNTU_VERSION: [trusty, xenial, bionic, focal, kinetic, jammy]
- UBUNTU_VERSION: [trusty, xenial, bionic, focal, jammy, mantic, noble]

View file

@ -1,6 +1,6 @@
# intellij-idea-community
.deb Packages of IntelliJ IDEA Community Edition for Ubuntu
Debian packages of IntelliJ IDEA Community Edition for Ubuntu
I also provide a package for the [Ultimate Edition](https://gitlab.com/mmk2410/intellij-idea-ultimate).
@ -14,11 +14,13 @@ sudo apt-get install intellij-idea-community
## Report issues
You can report issues, questions or feedback concerning the package here on GitLab. Please include which version your using.
You can report issues, questions or feedback concerning the package [on GitLab](https://gitlab.com/mmk2410/intellij-idea-community). If relevant, please include which version
## Updating the package
To update the package the first you need to do is to set up your build environment. After that there are two ways: an automated way (which is highly preferred) and a manual way.
Since I automated the updating process quite a bit using the `update-new-version.sh` as well as preparations on my local system I no longer accept merge requests for updating the package to a new version. Processing them would take me much more time than doing the update myself.
In case I'm late for an update (over 1-2 weeks), feel free to create an issue [on GitLab](https://gitlab.com/mmk2410/intellij-idea-community). I'm also working on a fully automated system for updating the packages but this will still take a while.
### Setting up the build environment
@ -26,85 +28,8 @@ Run `sudo apt install build-dep debhelper`.
It is also necessary to setup Git with your username and email address as explained in numerous tutorials.
### The automated way
### Updating the package
Run `./update-new-version.sh "$new-version"`
Where `$new-version` is in the format `[year].[major].[minor]`.
### The manual way
To update the version follow these steps. Replace all instances of `[year].[major].[minor]` with the new version numbers (e.g., 2017.3++).
1. Fork the repo
2. Create your own feature branch
```
git checkout -b version-[year].[major].[minor]
```
3. Rename the following
```
mv intellij-idea-community_2017.3 intellij-idea-community_[year].[major].[minor]
mv intellij-idea-community_2017.3.orig.tar.gz intellij-idea-community_[year].[major].[minor].orig.tar.gz
```
4. Edit the README.md and update the version numbers
5. Go into the build files directory
```
cd intellij-idea-community_[year].[major].[minor]/debian
```
6. Edit the changelog file and prepend a new changelog entry. You can just copy an old one and update the values in it
7. Edit the preinst file and update the download url. Normally this is done by updating the version number
8. Go one directory back
```
cd ..
```
9. Run the following command to build the package for testing purposes
```
debuild -us -uc
```
10. Go another directory back
```
cd ..
```
11. Remove the old files
```
rm intellij-idea-community_2017.3-1*
```
12. Install the package to test it
```
sudo dpkg -i intellij-idea-community_[year].[major].[minor]_all.deb
```
13. If everything works, add yourself to the CONTRIBUTORS.txt
14. Commit your changes
```
git add -A
git commit -m "Version [year].[major].[minor]"
```
15. Push to the branch
```
git push origin version-[year].[major].[minor]
```
16. Create new pull request

33
autoupdate.sh Executable file
View file

@ -0,0 +1,33 @@
#!/usr/bin/env bash
set -euo pipefail
dir="$(find . -maxdepth 1 -type d -name "intellij-idea-*")"
pushd "$dir" || exit 1
set +e
check="$(uscan --dehs --no-download)"
set -e
status="$(echo "$check" | xmllint --xpath 'string(/dehs/status)' -)"
if [[ "$status" != "newer package available" ]]; then
echo "No newer package available."
exit
fi
new_version="$(echo "$check" | xmllint --xpath 'string(/dehs/upstream-version)' -)"
popd
./update-new-version.sh "$new_version"
git add -A
git commit -m "Upstream version $new_version"
git switch main
git merge --ff-only version-"$new_version"
git push origin main
git tag -a v"$new_version" -m "Upstream version $new_version"
git push --tags origin main

Binary file not shown.

View file

@ -1,3 +1,135 @@
intellij-idea-community (2024.1.2-1) lunar; urgency=medium
* Upstream version 2024.1.2
-- Marcel Kapfer <opensource@mmk2410.org> Thu, 23 May 2024 13:02:32 +0000
intellij-idea-community (2024.1.1-1) lunar; urgency=medium
* Upstream version 2024.1.1
-- Marcel Kapfer <opensource@mmk2410.org> Tue, 30 Apr 2024 13:02:13 +0000
intellij-idea-community (2024.1-1) lunar; urgency=medium
* Upstream version 2024.1
-- Marcel Kapfer <opensource@mmk2410.org> Thu, 04 Apr 2024 13:02:10 +0000
intellij-idea-community (2023.3.6-1) lunar; urgency=medium
* Upstream version 2023.3.6
-- Marcel Kapfer <opensource@mmk2410.org> Fri, 22 Mar 2024 14:02:38 +0000
intellij-idea-community (2023.3.5-1) lunar; urgency=medium
* Upstream version 2023.3.5
-- Marcel Kapfer <opensource@mmk2410.org> Wed, 13 Mar 2024 14:02:14 +0000
intellij-idea-community (2023.3.4-1) lunar; urgency=medium
* Upstream version 2023.3.4
-- Marcel Kapfer <opensource@mmk2410.org> Wed, 14 Feb 2024 14:02:18 +0000
intellij-idea-community (2023.3.3-1) lunar; urgency=medium
* Upstream version 2023.3.3
-- Marcel Kapfer <opensource@mmk2410.org> Fri, 26 Jan 2024 14:02:27 +0000
intellij-idea-community (2023.3.2-1) lunar; urgency=medium
* Upstream version 2023.3.2
-- Marcel Kapfer <opensource@mmk2410.org> Thu, 21 Dec 2023 14:02:13 +0000
intellij-idea-community (2023.3.1-1) lunar; urgency=medium
* Upstream version 2023.3.1
-- Marcel Kapfer <opensource@mmk2410.org> Wed, 13 Dec 2023 14:04:39 +0000
intellij-idea-community (2023.3-1) lunar; urgency=medium
* Upstream version 2023.3
-- Marcel Kapfer <opensource@mmk2410.org> Thu, 07 Dec 2023 14:02:23 +0000
intellij-idea-community (2023.2.5-1) lunar; urgency=medium
* Upstream version 2023.2.5
-- Marcel Kapfer <opensource@mmk2410.org> Fri, 10 Nov 2023 14:01:08 +0000
intellij-idea-community (2023.2.4-1) lunar; urgency=medium
* Upstream version 2023.2.4
-- Marcel Kapfer <opensource@mmk2410.org> Wed, 25 Oct 2023 13:01:18 +0000
intellij-idea-community (2023.2.3-1) lunar; urgency=medium
* Upstream version 2023.2.3
-- Marcel Kapfer <opensource@mmk2410.org> Thu, 12 Oct 2023 13:01:19 +0000
intellij-idea-community (2023.2.2-1) lunar; urgency=medium
* Upstream version 2023.2.2
-- Marcel Kapfer <opensource@mmk2410.org> Thu, 14 Sep 2023 13:01:13 +0000
intellij-idea-community (2023.2.1-1) lunar; urgency=medium
* Upstream version 2023.2.1
-- Marcel Kapfer <opensource@mmk2410.org> Thu, 24 Aug 2023 13:01:12 +0000
intellij-idea-community (2023.2-1) lunar; urgency=medium
* Upstream version 2023.2
-- Marcel Kapfer <opensource@mmk2410.org> Wed, 26 Jul 2023 17:48:37 +0000
intellij-idea-community (2023.1.4-1) lunar; urgency=medium
* Upstream version 2023.1.4
-- autoupdate <opensource@mmk2410.org> Wed, 19 Jul 2023 21:47:07 +0000
intellij-idea-community (2023.1.3-1) lunar; urgency=medium
* Upstream version 2023.1.3
-- Marcel Kapfer <opensource@mmk2410.org> Wed, 21 Jun 2023 14:18:46 +0000
intellij-idea-community (2023.1.2-1) lunar; urgency=medium
* Upstream version 2023.1.2
-- Marcel Kapfer <opensource@mmk2410.org> Thu, 18 May 2023 11:17:25 +0000
intellij-idea-community (2023.1.1-1) lunar; urgency=medium
* Upstream version 2023.1.1
-- Marcel Kapfer <opensource@mmk2410.org> Tue, 02 May 2023 14:59:15 +0000
intellij-idea-community (2023.1-1) kinetic; urgency=medium
* Upstream version 2023.1
-- Marcel Kapfer <opensource@mmk2410.org> Fri, 31 Mar 2023 04:55:05 +0000
intellij-idea-community (2022.3.3-1) kinetic; urgency=medium
* Upstream version 2022.3.3
-- Marcel Kapfer <opensource@mmk2410.org> Mon, 13 Mar 2023 22:14:21 +0000
intellij-idea-community (2022.3.2-1) jammy; urgency=medium
* Upstream version 2022.3.2

View file

@ -2,7 +2,7 @@ Source: intellij-idea-community
Section: devel
Priority: optional
Maintainer: Marcel Kapfer <opensource@mmk2410.org>
Build-Depends: debhelper (>= 7.0.50~)
Build-Depends: debhelper (>= 9)
Standards-Version: 4.2.1
Package: intellij-idea-community

View file

@ -5,13 +5,13 @@ set -e
cd /opt/
## Extract the package
tar xf /opt/ideaIC-2022.3.2.tar.gz
tar xf /opt/ideaIC-2024.1.2.tar.gz
## Rename the directory
mv /opt/idea-IC-* /opt/intellij-idea-community
## Remove the tar.gz package
rm /opt/ideaIC-2022.3.2.tar.gz
rm /opt/ideaIC-2024.1.2.tar.gz
## Install the .desktop file, if necessary
if [ -x "/usr/bin/desktop-file-install" ]; then

View file

@ -5,6 +5,6 @@ set -e
cd /opt/
## Download IntelliJ IDEA Community from the JetBrain servers
wget -c https://download-cf.jetbrains.com/idea/ideaIC-2022.3.2.tar.gz
wget -c https://download-cf.jetbrains.com/idea/ideaIC-2024.1.2.tar.gz
##DEBHELPER##

View file

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
#
# This script intends to decrease the effort of updating the package.
@ -12,11 +12,12 @@ if [[ $? != 0 ]]; then
fi
PACKAGE="intellij-idea-community"
DISTRIBUTION="jammy"
DISTRIBUTION="noble"
last_tag=$(git describe --abbrev=0 --tags)
old="${last_tag#?}"
new="$1"
name="$(git config --get user.name)"
email="$(git config --get user.email)"

View file

@ -1,23 +0,0 @@
#!/bin/bash
cd /tmp
if [[ -d intellij ]]; then
echo "An 'intellij' directory already exists. Aborting..."
fi
git clone -q https://gitlab.com/mmk2410/intellij-idea-community.git intellij
cd intellij
uscan --nodownload
RESULT=$?
if [[ $RESULT -eq 0 ]]; then
echo "New IntelliJ IDEA Version" | mail -s "New IntelliJ IDEA Version" opensource@mmk2410.org
fi
cd ..
rm -rf intellij
exit $RESULT