惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
N
News | PayPal Newsroom
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
T
Tailwind CSS Blog
博客园 - 叶小钗
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
Know Your Adversary
Know Your Adversary
P
Privacy International News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Project Zero
Project Zero
美团技术团队
雷峰网
雷峰网
Martin Fowler
Martin Fowler
P
Privacy & Cybersecurity Law Blog
T
The Blog of Author Tim Ferriss
S
Schneier on Security
V
V2EX
Cisco Talos Blog
Cisco Talos Blog
Blog — PlanetScale
Blog — PlanetScale
G
GRAHAM CLULEY
J
Java Code Geeks
V
Visual Studio Blog
N
Netflix TechBlog - Medium
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Cyberwarzone
Cyberwarzone
Recent Announcements
Recent Announcements
C
CXSECURITY Database RSS Feed - CXSecurity.com
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News and Events Feed by Topic
Forbes - Security
Forbes - Security
GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Hacker News
The Hacker News
Application and Cybersecurity Blog
Application and Cybersecurity Blog
The Cloudflare Blog
腾讯CDC
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
T
Threatpost
大猫的无限游戏
大猫的无限游戏
NISL@THU
NISL@THU
Cloudbric
Cloudbric
C
CERT Recently Published Vulnerability Notes
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog

GIMP

GIMP - GIMP 3.2.4 Released GIMP - GIMP @ Libre Graphics Meeting 2026 GIMP - New Color Mode Coming to GIMP GIMP - GIMP 3.2.2 Released GIMP - GIMP 3.2 Released GIMP - GIMP 3.2 RC3: Third Release Candidate for GIMP 3.2 GIMP - Interview with Øyvind Kolås, GIMP developer GIMP - GIMP @ FOSDEM 2026 GIMP - GIMP 3.0.8 Released GIMP - GIMP 3.2 RC2: Second Release Candidate for GIMP 3.2 GIMP - GIMP 3.2 RC1: First Release Candidate for GIMP 3.2 GIMP - Interview with Simon Budig, GIMP developer GIMP - New Official Snap package GIMP - GIMP 3.0.6 Released GIMP - GIMP 3.1.4: Second Development Release towards GIMP 3.2 GIMP - Interview with Sevenix (author of GIMP 3.0’s splash image) GIMP - GIMP 3.1.2: First Development Release towards GIMP 3.2 GIMP - GIMP 3.0.4 Released GIMP - New Priorities for GIMP GIMP - GIMP 3.0.2 Released GIMP - GIMP 3.0 Released GIMP - GIMP 3.0 RC3 Released GIMP - GIMP team at FOSDEM 2025 (talk and keynote) GIMP - GIMP 3.0 RC2 Released 🎁 GIMP - GIMP 3.0 RC1 Released GIMP - Development Update: Closing In on the 3.0 Release Candidate GIMP - GIMP at LGM 2024 (Rennes, France) GIMP - GIMP 2.10.38 Released GIMP - GIMP 2.99.18 Released: The Last Development Preview Before 3.0! GIMP - GIMP 2.10.36 Released GIMP - GIMP now on Windows for ARM (experimental) GIMP - GIMP 2.99.16 Released: Wilber Week 2023 edition! GIMP - Wilber Week 2023: report GIMP - GIMP in GSoC 2023 GIMP - GIMP Help Manual 2.10.34 Released GIMP - GIMP 2.10.34 Released GIMP - 2022 annual report GIMP - GIMP 2.10.32 on Apple Silicon GIMP - Happy 27! GIMP - Development version: GIMP 2.99.14 Released GIMP - Conference “GIMP and ZeMarmot” in Vandœuvre-lès-Nancy (France) GIMP - Revival of the GIMP developer website GIMP - Development version: GIMP 2.99.12 Released GIMP - GIMP 2.10.32 is on the Microsoft Store! GIMP - GIMP 2.10.32 Released GIMP - GSoC 2022 project announced: CMYK features GIMP - GIMP is a GSoC 2022 mentor organization GIMP - Development version: GIMP 2.99.10 Released GIMP - 2021 annual report GIMP - GIMP 2.10.30 Released GIMP - GIMP is not affected by the log4j vulnerability GIMP - GIMP 2.99.8 macOS package now available GIMP - Development version: GIMP 2.99.8 Released GIMP - GIMP’s official mirrors and mirror policy GIMP - GIMP 2.10.28 Released GIMP - Funding GIMP developers for sustainable development GIMP - Development version: GIMP 2.99.6 Released GIMP - GIMP 2.10.24 Released GIMP - 🎄 Development release GIMP 2.99.4 is out 🎁 GIMP - GIMP 2.10.22 Released for macOS GIMP - This is 25 GIMP - Development release GIMP 2.99.2 is out GIMP - GIMP 2.10.22 Released GIMP - GIMP 2.10.20 Released GIMP - GIMP 2.10.18 Released GIMP - GIMP and GEGL in 2019 GIMP - GIMP 2.10.14 Released GIMP - GIMP 2.10.12 Released GIMP - GIMP 2.10.10 Released GIMP - GIMP and GEGL in 2018 GIMP - GIMP 2.10.8 Released GIMP - GIMP receives a $100K donation GIMP - GIMP 2.10.6 Released GIMP - GIMP 2.10.4 Released GIMP - GIMP has moved to Gitlab GIMP - GIMP 2.10.2 Released GIMP - GIMP 2.10.0 Released GIMP - GIMP 2.10.0 Release Candidate 2 Released GIMP - Fun at SCaLE 2018 GIMP - GIMP 2.10.0 Release Candidate 1 Released GIMP - Libre Graphics Meeting + SCaLE 2018 GIMP - GIMP and GEGL in 2017 GIMP - Strings Freeze For GIMP 2.10 Is Now On GIMP - GIMP 2.9.8 Released GIMP - GIMP 2.9.6 Released GIMP - An Interview with Michael Schumacher, GIMP administrator GIMP - GIMP 2.8.22 Released GIMP - An Interview with Michael Natterer, GIMP maintainer GIMP - GIMP 2.8.20 Packages for macOS and Microsoft Windows are available GIMP - GIMP 2.10 blockers and the road to 3.0 GIMP - GIMP 2.8.20 Released GIMP - WilberWeek 2017 GIMP - Community-supported development of GEGL now live GIMP - 2016 in review GIMP - Making settings persistent in GIMP GIMP - GIMP 2.8.18 Released GIMP - GIMP 2.9.4 Released GIMP - GIMPers at Texas Linux Fest 2016 GIMP - GEGL 0.3.8 and babl 0.1.18 Released GIMP - Updated 2.8.16 Installer with a Major Bugfix Released
GIMP - Experiments with AppImage
by Bruno · 2024-05-28 · via GIMP

Earlier in April and May, we were working behind the scenes on improving our CI and build-related code. In this context, one thing that came up was: how easy it is to test a merge request on Linux? For example, on Windows, we have .zip files for each commit; on macOS, we have .app (inside .dmg). For Linux… well we had none (we have weekly flatpak builds but they are time consuming for testing purposes). So, after a brief consideration we decided to go with AppImages.

AppImage is a application package format, basically a bundle, that’s great for the development and testing workflow described above. To be clear, ⚠️ we’re not distributing AppImage as official packages yet ⚠️ (more about this later in this post). About the experiments…

AppImage doesn’t have a mandatory SDK. The creation process can be done using freely available tools, such as linuxdeployqt, appimage-builder and AppImageKit. But we decided to go with go-appimage, which is multi purpose and ours is to do a quick test build.

In our case, the tool is responsible for bundling almost every dependency and for squashing everything with proper ELF data to be executable in one click. But the tool, naturally, can’t guess the particularities of the different software (e.g. use of script interpreters), so we need to copy and set some things manually. By the way, we opened issues in the go-appimage repo in the hope of improving some things, one little example of FOSS collaboration.

Learning from past appimages

Of course, we didn’t start from scratch! We learned from other unofficial GIMP AppImage builds (a list of which can be found here). Maybe there are others, but we could only find these four.

We also contacted the developers of these unofficial builds for testing and feedback about a potential official appimage. Huge thanks to them! Also, other people contributed too (this info can be found in the merge request). Thanks to all people involved! 😄

Patching Wilber’s wisdom into appimage

We couldn’t simply take these unofficial appimages code and put it in our repo because this isn’t how software works. Our code, even the packaging code, preexists the new packaging (in this case, bundling) so the former needs to be considered in order to the proper adaptations be made into the later.

Considering our past packaging code and experiences, we defined some principles to be checked before approving a new package format. In short, the format needs to:

  1. Have its scripts inside GIMP repo and using GIMP/GNOME runners for better transparency (macOS is the exception right now for historical reasons, which should ideally be fixed in the future);
  2. Have its scripts building/packaging over official GIMP git source/binaries for better security;
  3. Have its scripts simplified and human-readable as much as possible for better maintenance.

The last point assumes that some person is maintaining the package, and this is the main reason our appimage (bundle) is not ready for distribution yet. No person volunteered to tackle this responsibility by following these principles. So, the best that we could do, staying compliant with the principles, was a testing bundle.

Actual use and future

Our appimage can be used, and it’s indeed being used right now to triage issues and test merge requests on the Debian version supported by the respective branch (on master branch it is Debian 12 currently), and that has been very handy. Let us explain:

Suppose that you don’t have a very powerful machine, which is very common. Normally, you will only build GIMP natively and contribute to this specific platform, since building inside a VM is quite clumbersome. But thanks to our testing AppImage:

  • a Windows user can just log into the VM, download the Debian artifact from the MR and test it. We have contributors that use Windows VM (and they can download the cross .zip artifact), now the inverse is possible;
  • And this is useful for issues too: triaging them recommends the latest master so constant local rebuilding. Fortunately, this isn’t needed since our CI auto generates an .appimage for every new commit.

Of course, this is a limited use case and makes our appimage unsuitable even for being linked in the dev version download page. Not every contributor uses Debian (12) nor does every Windows or Mac contributor have a Debian (12) VM. To be fair, if the appimage displays problems that we can’t fix, it can even be dropped at any time.

So, we welcome contributions to improve compatibility with other distros (at least the oldest supported Ubuntu and newest Fedora) in order to raise it to a package level. If you are interested, talk to us.