Skip to content

Commit 6767934

Browse files
committed
Release 5.8.6
1 parent 85f757e commit 6767934

10 files changed

+184
-65
lines changed

.github/workflows/ci.yml

+33-25
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: iaito CI
22

33
env:
4-
R2V: 5.8.4
4+
R2V: 5.8.6
55

66
on:
77
push:
@@ -188,13 +188,13 @@ jobs:
188188
run: |
189189
pip install ninja meson wget
190190
choco install zip
191-
# - name: install r2
192-
# shell: bash
193-
# run: |
194-
# python -m wget https://github.com/radareorg/radare2/releases/download/${{env.R2V}}/radare2-${{env.R2V}}-w64.zip -o r2.zip
195-
# unzip r2.zip
196-
# mv radare2-${{env.R2V}}-w64 radare2
197-
# pwd
191+
- name: install r2
192+
shell: bash
193+
run: |
194+
python -m wget https://github.com/radareorg/radare2/releases/download/${{env.R2V}}/radare2-${{env.R2V}}-w64.zip -o r2.zip
195+
unzip r2.zip
196+
mv radare2-${{env.R2V}}-w64 radare2
197+
pwd
198198
- name: w64-make
199199
shell: cmd
200200
run: |
@@ -247,55 +247,63 @@ jobs:
247247
with:
248248
fetch-depth: 0 # Download all git history and tags
249249
- name: Extract version
250-
run: echo "branch=`./configure -qV`" >> $GITHUB_OUTPUT
250+
run: echo "string=`./configure -qV`" >> $GITHUB_OUTPUT
251251
id: version
252252
- name: Prepare release notes
253-
run: echo Release > ./RELEASE_NOTES.md
253+
run: ./scripts/release-notes.sh | tee ./RELEASE_NOTES.md
254254
- name: Download artifacts
255255
uses: actions/download-artifact@v2
256256
with:
257257
path: dist/artifacts
258+
- name: Display structure of downloaded files
259+
run: find dist/artifacts
258260
- name: Create GitHub release
259261
id: create_release
260262
uses: actions/create-release@v1
261263
env:
262264
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
263265
with:
264266
tag_name: ${{ needs.check_release.outputs.tag_name }}
265-
release_name: ${{ steps.version.outputs.branch }}
267+
release_name: ${{ steps.version.outputs.string }}
266268
body_path: ./RELEASE_NOTES.md
267269
draft: false
268270
prerelease: false
269-
publish:
270-
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && needs.check_release.outputs.is_release == 'yes' }}
271-
needs:
272-
- release
273-
runs-on: ubuntu-latest
274-
steps:
271+
- name: Prepare release notes
272+
run: ./scripts/release-notes.sh | tee ./RELEASE_NOTES.md
275273
- name: Upload Linux asset
276274
uses: actions/upload-release-asset@v1
277275
env:
278276
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
279277
with:
280278
upload_url: ${{ steps.create_release.outputs.upload_url }}
281-
asset_path: dist/artifacts/linux-acr/iaito-amd64.deb
282-
asset_name: iaito_${{ steps.version.outputs.branch }}_amd64.deb
279+
asset_path: dist/artifacts/iaito-amd64.deb/iaito/iaito_${{ steps.version.outputs.string }}_amd64.deb
280+
asset_name: iaito_${{ steps.version.outputs.string }}_amd64.deb
283281
asset_content_type: application/vnd.debian.binary-package
284-
- name: Upload macOS asset (BROKEN)
282+
- name: Upload macOS asset
285283
uses: actions/upload-release-asset@v1
286284
env:
287285
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
288286
with:
289287
upload_url: ${{ steps.create_release.outputs.upload_url }}
290-
asset_path: dist/artifacts/acr-macos/iaito-${{ steps.version.outputs.branch }}-macos.zip
291-
asset_name: iaito-${{ steps.version.outputs.branch }}-macos.zip
288+
#asset_path: dist/artifacts/acr-macos/iaito-${{ steps.version.outputs.string }}-macos.zip
289+
asset_path: dist/artifacts/iaito.zip/iaito.zip
290+
asset_name: iaito-${{ steps.version.outputs.string }}-macos.zip
292291
asset_content_type: application/zip
293-
- name: Upload Windows asset (BROKEN)
292+
# - name: Upload Windows asset
293+
# uses: actions/upload-release-asset@v1
294+
# env:
295+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
296+
# with:
297+
# upload_url: ${{ steps.create_release.outputs.upload_url }}
298+
# asset_path: dist/artifacts/iaito.zip
299+
# asset_name: iaito-${{ steps.version.outputs.string }}-w64.zip
300+
# asset_content_type: application/zip
301+
- name: Upload Windows executable
294302
uses: actions/upload-release-asset@v1
295303
env:
296304
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
297305
with:
298306
upload_url: ${{ steps.create_release.outputs.upload_url }}
299-
asset_path: dist/artifacts/w64-meson/iaito-${{ steps.version.outputs.branch }}-w64.zip
300-
asset_name: iaito-${{ steps.version.outputs.branch }}-w64.zip
307+
asset_path: dist/artifacts/iaito.exe/iaito.exe
308+
asset_name: iaito-${{ steps.version.outputs.string }}.exe
301309
asset_content_type: application/zip

README.md

+40-32
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44

55
iaito is the official graphical interface for radare2, a libre reverse engineering framework.
66

7+
* Requires radare2 and Qt-5/6
78
* Iaito was the original name of this GUI before being forked as Cutter.
8-
* It's written in Qt/C++ (qt5 for now). No Qt6 support yet (contribs are welcome)
9-
* Support latest versions, plugins and features of radare2
109
* Use r2 plugins (f.ex: no need for r2ghidra-iaito plugin if r2ghidra is installed)
11-
* Focus on parity of commands, keybindings and r2-style workflows.
12-
* Translations are community [contributed](https://crowdin.com/project/iaito)!
13-
* Aims to support all the features from the core, not just disassembler-based ones
10+
* Focus on simplicity, parity with commands, keybindings and r2-style workflows.
11+
* Help with translations [contributed](https://crowdin.com/project/iaito)!
12+
* Aims to cover other radare2 features, not just a disassembler
1413
* forensics, networking, bindiffing, solvers, ...
1514

1615
[![Crowdin](https://badges.crowdin.net/iaito/localized.svg)](https://crowdin.com/project/iaito)
@@ -19,43 +18,37 @@ iaito is the official graphical interface for radare2, a libre reverse engineeri
1918

2019
![Screenshot](https://raw.githubusercontent.com/radareorg/iaito/master/screenshot.png)
2120

22-
## Installation
21+
## Help
2322

24-
There are automated CI builds and [releases](https://github.com/radareorg/iaito/releases) of iaito for Linux, macOS and Windows.
23+
Get help, updates, meet the community or discuss about development in these channels:
2524

26-
<a href='https://flathub.org/apps/details/org.radare.iaito'><img width='120' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.png'/></a>
25+
- **Telegram:** https://t.me/radare
26+
- **IRC:** #radare on irc.freenode.net
27+
- **Twitter:** [@radareorg](https://twitter.com/radareorg)
2728

28-
### Translations
29+
## Installation
2930

30-
Note: The flatpak/flathub version already ships the translations as an optional extension.
31+
There are automated CI builds and [releases](https://github.com/radareorg/iaito/releases) of iaito for Linux, macOS and Windows.
3132

32-
To install translations please download latest version from [iaito-translations](https://github.com/radareorg/iaito-translations) repo.
33-
34-
To install in your home directory, run the following:
33+
On WSL or Linux you can use these steps to install it with Flatpak:
3534

3635
```sh
37-
$ git clone https://github.com/radareorg/iaito-translations.git
38-
$ cd iaito-translations
39-
$ make user-install
36+
sudo flatpak remote-add flathub https://dl.flathub.org/repo/flathub.flatpakrepo
37+
sudo flatpak install flathub org.radare.iaito
38+
export QT_QPA_PLATFORM=wayland # only mandatory on windows
39+
flatpak run org.radare.iaito
4040
```
4141

42-
Alternatively, it this project makefile can be used to install them:
43-
44-
```sh
45-
$ make user-install-translations
46-
OR
47-
$ make install-translations # to install to system
48-
```
42+
<a href='https://flathub.org/apps/details/org.radare.iaito'><img width='120' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.png'/></a>
4943

5044
## Source Builds
5145

5246
### Dependencies
5347

54-
iaito requires [radare2](https://github.com/radareorg/radare2) and qt5:
48+
iaito requires [radare2](https://github.com/radareorg/radare2) and qt5 (or qt6):
5549

5650
```sh
57-
$ git clone https://github.com/radareorg/radare2
58-
$ radare2/sys/install.sh
51+
$ git clone https://github.com/radareorg/radare2 && radare2/sys/install.sh
5952
```
6053

6154
Install QT on macOS like this:
@@ -72,7 +65,7 @@ sudo apt install qttools5-dev qttools5-dev-tools qtbase5-dev qtchooser qt5-qmake
7265

7366
```
7467

75-
## Building from sources
68+
### Compilation
7669

7770
```sh
7871
./configure
@@ -86,10 +79,25 @@ To install the app in your home:
8679
make install
8780
```
8881

89-
## Help
82+
### Translations (Optional)
9083

91-
Get help, updates, meet the community or discuss about development in these channels:
84+
Note: The flatpak/flathub version already ships the translations as an optional extension.
85+
86+
To install translations please download latest version from [iaito-translations](https://github.com/radareorg/iaito-translations) repo.
87+
88+
To install in your home directory, run the following:
89+
90+
```sh
91+
$ git clone https://github.com/radareorg/iaito-translations.git
92+
$ cd iaito-translations
93+
$ make user-install
94+
```
95+
96+
Alternatively, it this project makefile can be used to install them:
97+
98+
```sh
99+
$ make user-install-translations
100+
OR
101+
$ make install-translations # to install to system
102+
```
92103

93-
- **Telegram:** https://t.me/radare
94-
- **IRC:** #radare on irc.freenode.net
95-
- **Twitter:** [@radareorg](https://twitter.com/radareorg)

configure

+5-5
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,12 @@ done
112112
: ${INSTALL_PROGRAM_STRIP:=${INSTALL} -m 755 -s}
113113
: ${INSTALL_MAN:=${INSTALL} -m 444}
114114
: ${INSTALL_LIB:=${INSTALL} -m 755 -c}
115-
PKGNAME='iaito' ; VERSION='5.8.4' ; VERSION_MAJOR=5; VERSION_MINOR=8; VERSION_PATCH=4; VERSION_NUMBER=50804; CONTACT_MAIL="[email protected]" ; CONTACT_NAME="pancake" ; CONTACT="pancake <[email protected]>" ;
115+
PKGNAME='iaito' ; VERSION='5.8.6' ; VERSION_MAJOR=5; VERSION_MINOR=8; VERSION_PATCH=6; VERSION_NUMBER=50806; CONTACT_MAIL="[email protected]" ; CONTACT_NAME="pancake" ; CONTACT="pancake <[email protected]>" ;
116116
}
117117

118118
show_usage() {
119119
cat <<EOF2
120-
'configure' configures iaito-5.8.4 to adapt to many kinds of systems.
120+
'configure' configures iaito-5.8.6 to adapt to many kinds of systems.
121121
122122
Usage: ./configure [OPTION]... [VAR=VALUE]...
123123
@@ -189,10 +189,10 @@ ocho() {
189189

190190
show_version() {
191191
if [ "$QUIET" = 1 ]; then
192-
echo "5.8.4"
192+
echo "5.8.6"
193193
exit 0
194194
fi
195-
echo "iaito-5.8.4 configuration script done with acr v2.1.1.
195+
echo "iaito-5.8.6 configuration script done with acr v2.1.1.
196196
The 'Free Software Foundation' message is only for autodetection.
197197
Originally written by pancake <nopcode.org>."
198198
exit 0
@@ -221,7 +221,7 @@ case $flag in
221221
show_version ; ;;
222222
-r|--r|--report)
223223
echo "PKGNAME: iaito"
224-
echo "VERSION: 5.8.4"
224+
echo "VERSION: 5.8.6"
225225
echo "AUTHOR: pancake"
226226
echo "EMAIL: [email protected]"
227227
echo "LANGS: c++"

configure.acr

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
PKGNAME iaito
2-
VERSION 5.8.4
2+
VERSION 5.8.6
33
CONTACT pancake ; [email protected]
44

55
LANG_CXX!

scripts/get_version.py

100644100755
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
#!/usr/bin/env python3
22
import os
33
import re
44

scripts/meson_configure_qmake_in.py

100644100755
+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/env python3
12

23
import sys
34
import re

scripts/meson_parse_qmake.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#!/usr/bin/env python3
2+
13
import os
24
import sys
35

scripts/release-notes.sh

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
#!/bin/sh
2+
#
3+
# This script parses the commit messages between the last 2 git tags
4+
# if the last commit contains the word "Release", otherwise it shows
5+
# all the changes between the last tag and HEAD.
6+
#
7+
# Commits are grouped in different sections specified in the commit
8+
# message with the middle-dot character '·'. The section names are
9+
# arbitrary and we may be careful to use them properly but having
10+
# in mind that this may change.
11+
#
12+
# Commits without any middle·dot in the message are discarted and
13+
# displayed in the "to review" section.
14+
#
15+
# The tool prints Markdown, no plans to support other formats.
16+
#
17+
# Usage: sys/release-notes.sh 4.5.1 # from HEAD to 4.5.1
18+
# $ sys/release-notes.sh 4.5.1 -v # same as above but include untagged commits
19+
# $ sys/release-notes.sh 4.5.0 4.5.1 # from 4.5.0 to 4.5.1
20+
#
21+
# --pancake
22+
23+
if [ -n "`git log -n 1 | grep Release`" ]; then
24+
VERS=`git tag --sort=committerdate | grep -v conti | tail -n 1`
25+
PREV=`git tag --sort=committerdate | grep -v conti | tail -n 2 | head -n1`
26+
else
27+
VERS=HEAD
28+
PREV=`git tag --sort=committerdate | grep -v conti | tail -n 1`
29+
fi
30+
31+
[ -n "$1" ] && PREV="$1"
32+
[ -n "$2" ] && VERS="$2"
33+
34+
git log ${PREV}..${VERS} > .l
35+
# When HEAD contains a tag do this magic
36+
if [ ! -s .l ]; then
37+
VERS=$PREV
38+
PREV=`git tag --sort=committerdate | grep -v conti | tail -n 2 | head -n1`
39+
git log ${PREV}..${VERS} > .l
40+
fi
41+
grep ^Author .l | cut -d : -f 2- | sed -e 's,radare,pancake,' | sort -u > .A
42+
43+
echo "## Release Notes"
44+
echo
45+
echo "Version: ${VERS}"
46+
echo "Previous: ${PREV}"
47+
printf "Commits: "
48+
grep ^commit .l | wc -l | xargs echo
49+
echo "Contributors: `wc -l .A | awk '{print $1}'`"
50+
echo
51+
echo "## Flatpak Installation (WSL / Linux)"
52+
echo
53+
echo "\`\`\`sh"
54+
echo "sudo flatpak remote-add flathub https://dl.flathub.org/repo/flathub.flatpakrepo"
55+
echo "sudo flatpak install flathub org.radare.iaito"
56+
echo "export QT_QPA_PLATFORM=wayland # only mandatory on windows"
57+
echo "flatpak run org.radare.iaito"
58+
echo "\`\`\`"
59+
echo
60+
echo "## Source Installation"
61+
echo
62+
echo "\`\`\`sh"
63+
echo "curl -sL https://github.com/radareorg/radare2/releases/download/${VERS}/radare2-${VERS}.tar.xz | tar xzv"
64+
echo "radare2-${VERS}/sys/install.sh"
65+
echo "\`\`\`"
66+
echo
67+
echo "## Highlights"
68+
69+
echo "<details><summary>More details</summary><p>"
70+
echo
71+
echo "## Authors"
72+
echo
73+
cat .A | perl -ne '/([^<]+)(.*)$/;$a=$1;$b=$2;$a=~s/^\s+|\s+$//g;$b=~s/[<>\s]//g;print "[$a](mailto:$b) "'
74+
echo
75+
echo
76+
77+
cat .x | grep -v '##' | sed -e 's,^ *,,g' | grep -v "^$" | \
78+
perl -ne 'if (/^\*/) { print "$_"; } else { print "* $_";}'
79+
80+
# echo "## Changes"
81+
# echo
82+
# cat .l | grep -v ^commit | grep -v ^Author | grep -v ^Date > .x
83+
# cat .x | grep '##' | perl -ne '/##([^ ]*)/; if ($1) {print "$1\n";}' | sort -u > .y
84+
# for a in `cat .y` ; do
85+
# echo "**$a**"
86+
# echo
87+
# cat .x | grep "##$a" | sed -e 's/##.*//g' | perl -ne '{ s/^\s+//; print "* $_"; }'
88+
# echo
89+
# done
90+
# rm -f .x .y .l .A
91+
92+
echo '</p></details>'

src/Iaito.pro

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ TARGET = iaito
44

55
IAITO_VERSION_MAJOR = 5
66
IAITO_VERSION_MINOR = 8
7-
IAITO_VERSION_PATCH = 4
7+
IAITO_VERSION_PATCH = 6
88

99
CONFIG+=app_bundle
1010
LIBS+= -dead_strip

0 commit comments

Comments
 (0)