Skip to content

Commit

Permalink
Release 5.8.6
Browse files Browse the repository at this point in the history
  • Loading branch information
radare committed May 22, 2023
1 parent 85f757e commit c8045f2
Show file tree
Hide file tree
Showing 10 changed files with 184 additions and 65 deletions.
58 changes: 33 additions & 25 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: iaito CI

env:
R2V: 5.8.4
R2V: 5.8.6

on:
push:
Expand Down Expand Up @@ -188,13 +188,13 @@ jobs:
run: |
pip install ninja meson wget
choco install zip
# - name: install r2
# shell: bash
# run: |
# python -m wget https://github.com/radareorg/radare2/releases/download/${{env.R2V}}/radare2-${{env.R2V}}-w64.zip -o r2.zip
# unzip r2.zip
# mv radare2-${{env.R2V}}-w64 radare2
# pwd
- name: install r2
shell: bash
run: |
python -m wget https://github.com/radareorg/radare2/releases/download/${{env.R2V}}/radare2-${{env.R2V}}-w64.zip -o r2.zip
unzip r2.zip
mv radare2-${{env.R2V}}-w64 radare2
pwd
- name: w64-make
shell: cmd
run: |
Expand Down Expand Up @@ -247,55 +247,63 @@ jobs:
with:
fetch-depth: 0 # Download all git history and tags
- name: Extract version
run: echo "branch=`./configure -qV`" >> $GITHUB_OUTPUT
run: echo "string=`./configure -qV`" >> $GITHUB_OUTPUT
id: version
- name: Prepare release notes
run: echo Release > ./RELEASE_NOTES.md
run: ./scripts/release-notes.sh | tee ./RELEASE_NOTES.md
- name: Download artifacts
uses: actions/download-artifact@v2
with:
path: dist/artifacts
- name: Display structure of downloaded files
run: ls -R
- name: Create GitHub release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ needs.check_release.outputs.tag_name }}
release_name: ${{ steps.version.outputs.branch }}
release_name: ${{ steps.version.outputs.string }}
body_path: ./RELEASE_NOTES.md
draft: false
prerelease: false
publish:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && needs.check_release.outputs.is_release == 'yes' }}
needs:
- release
runs-on: ubuntu-latest
steps:
- name: Prepare release notes
run: ./scripts/release-notes.sh | tee ./RELEASE_NOTES.md
- name: Upload Linux asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/artifacts/linux-acr/iaito-amd64.deb
asset_name: iaito_${{ steps.version.outputs.branch }}_amd64.deb
asset_path: dist/artifacts/iaito-amd64.deb/iaito-amd64.deb
asset_name: iaito_${{ steps.version.outputs.string }}_amd64.deb
asset_content_type: application/vnd.debian.binary-package
- name: Upload macOS asset (BROKEN)
- name: Upload macOS asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/artifacts/acr-macos/iaito-${{ steps.version.outputs.branch }}-macos.zip
asset_name: iaito-${{ steps.version.outputs.branch }}-macos.zip
#asset_path: dist/artifacts/acr-macos/iaito-${{ steps.version.outputs.string }}-macos.zip
asset_path: dist/artifacts/iaito.zip/iaito.zip
asset_name: iaito-${{ steps.version.outputs.string }}-macos.zip
asset_content_type: application/zip
- name: Upload Windows asset (BROKEN)
# - name: Upload Windows asset
# uses: actions/upload-release-asset@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ steps.create_release.outputs.upload_url }}
# asset_path: dist/artifacts/iaito.zip
# asset_name: iaito-${{ steps.version.outputs.string }}-w64.zip
# asset_content_type: application/zip
- name: Upload Windows executable
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/artifacts/w64-meson/iaito-${{ steps.version.outputs.branch }}-w64.zip
asset_name: iaito-${{ steps.version.outputs.branch }}-w64.zip
asset_path: dist/artifacts/iaito.exe/iaito.exe
asset_name: iaito-${{ steps.version.outputs.string }}.exe
asset_content_type: application/zip
72 changes: 40 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,12 @@

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

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

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

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

## Installation
## Help

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

<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>
- **Telegram:** https://t.me/radare
- **IRC:** #radare on irc.freenode.net
- **Twitter:** [@radareorg](https://twitter.com/radareorg)

### Translations
## Installation

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

To install translations please download latest version from [iaito-translations](https://github.com/radareorg/iaito-translations) repo.

To install in your home directory, run the following:
On WSL or Linux you can use these steps to install it with Flatpak:

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

Alternatively, it this project makefile can be used to install them:

```sh
$ make user-install-translations
OR
$ make install-translations # to install to system
```
<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>

## Source Builds

### Dependencies

iaito requires [radare2](https://github.com/radareorg/radare2) and qt5:
iaito requires [radare2](https://github.com/radareorg/radare2) and qt5 (or qt6):

```sh
$ git clone https://github.com/radareorg/radare2
$ radare2/sys/install.sh
$ git clone https://github.com/radareorg/radare2 && radare2/sys/install.sh
```

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

```

## Building from sources
### Compilation

```sh
./configure
Expand All @@ -86,10 +79,25 @@ To install the app in your home:
make install
```

## Help
### Translations (Optional)

Get help, updates, meet the community or discuss about development in these channels:
Note: The flatpak/flathub version already ships the translations as an optional extension.

To install translations please download latest version from [iaito-translations](https://github.com/radareorg/iaito-translations) repo.

To install in your home directory, run the following:

```sh
$ git clone https://github.com/radareorg/iaito-translations.git
$ cd iaito-translations
$ make user-install
```

Alternatively, it this project makefile can be used to install them:

```sh
$ make user-install-translations
OR
$ make install-translations # to install to system
```

- **Telegram:** https://t.me/radare
- **IRC:** #radare on irc.freenode.net
- **Twitter:** [@radareorg](https://twitter.com/radareorg)
10 changes: 5 additions & 5 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,12 @@ done
: ${INSTALL_PROGRAM_STRIP:=${INSTALL} -m 755 -s}
: ${INSTALL_MAN:=${INSTALL} -m 444}
: ${INSTALL_LIB:=${INSTALL} -m 755 -c}
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]>" ;
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]>" ;
}

show_usage() {
cat <<EOF2
'configure' configures iaito-5.8.4 to adapt to many kinds of systems.
'configure' configures iaito-5.8.6 to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
Expand Down Expand Up @@ -189,10 +189,10 @@ ocho() {

show_version() {
if [ "$QUIET" = 1 ]; then
echo "5.8.4"
echo "5.8.6"
exit 0
fi
echo "iaito-5.8.4 configuration script done with acr v2.1.1.
echo "iaito-5.8.6 configuration script done with acr v2.1.1.
The 'Free Software Foundation' message is only for autodetection.
Originally written by pancake <nopcode.org>."
exit 0
Expand Down Expand Up @@ -221,7 +221,7 @@ case $flag in
show_version ; ;;
-r|--r|--report)
echo "PKGNAME: iaito"
echo "VERSION: 5.8.4"
echo "VERSION: 5.8.6"
echo "AUTHOR: pancake"
echo "EMAIL: [email protected]"
echo "LANGS: c++"
Expand Down
2 changes: 1 addition & 1 deletion configure.acr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PKGNAME iaito
VERSION 5.8.4
VERSION 5.8.6
CONTACT pancake ; [email protected]

LANG_CXX!
Expand Down
2 changes: 1 addition & 1 deletion scripts/get_version.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

#!/usr/bin/env python3
import os
import re

Expand Down
1 change: 1 addition & 0 deletions scripts/meson_configure_qmake_in.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/usr/bin/env python3

import sys
import re
Expand Down
2 changes: 2 additions & 0 deletions scripts/meson_parse_qmake.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#!/usr/bin/env python3

import os
import sys

Expand Down
92 changes: 92 additions & 0 deletions scripts/release-notes.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#!/bin/sh
#
# This script parses the commit messages between the last 2 git tags
# if the last commit contains the word "Release", otherwise it shows
# all the changes between the last tag and HEAD.
#
# Commits are grouped in different sections specified in the commit
# message with the middle-dot character '·'. The section names are
# arbitrary and we may be careful to use them properly but having
# in mind that this may change.
#
# Commits without any middle·dot in the message are discarted and
# displayed in the "to review" section.
#
# The tool prints Markdown, no plans to support other formats.
#
# Usage: sys/release-notes.sh 4.5.1 # from HEAD to 4.5.1
# $ sys/release-notes.sh 4.5.1 -v # same as above but include untagged commits
# $ sys/release-notes.sh 4.5.0 4.5.1 # from 4.5.0 to 4.5.1
#
# --pancake

if [ -n "`git log -n 1 | grep Release`" ]; then
VERS=`git tag --sort=committerdate | grep -v conti | tail -n 1`
PREV=`git tag --sort=committerdate | grep -v conti | tail -n 2 | head -n1`
else
VERS=HEAD
PREV=`git tag --sort=committerdate | grep -v conti | tail -n 1`
fi

[ -n "$1" ] && PREV="$1"
[ -n "$2" ] && VERS="$2"

git log ${PREV}..${VERS} > .l
# When HEAD contains a tag do this magic
if [ ! -s .l ]; then
VERS=$PREV
PREV=`git tag --sort=committerdate | grep -v conti | tail -n 2 | head -n1`
git log ${PREV}..${VERS} > .l
fi
grep ^Author .l | cut -d : -f 2- | sed -e 's,radare,pancake,' | sort -u > .A

echo "## Release Notes"
echo
echo "Version: ${VERS}"
echo "Previous: ${PREV}"
printf "Commits: "
grep ^commit .l | wc -l | xargs echo
echo "Contributors: `wc -l .A | awk '{print $1}'`"
echo
echo "## Flatpak Installation (WSL / Linux)"
echo
echo "\`\`\`sh"
echo "sudo flatpak remote-add flathub https://dl.flathub.org/repo/flathub.flatpakrepo"
echo "sudo flatpak install flathub org.radare.iaito"
echo "export QT_QPA_PLATFORM=wayland # only mandatory on windows"
echo "flatpak run org.radare.iaito"
echo "\`\`\`"
echo
echo "## Source Installation"
echo
echo "\`\`\`sh"
echo "curl -sL https://github.com/radareorg/radare2/releases/download/${VERS}/radare2-${VERS}.tar.xz | tar xzv"
echo "radare2-${VERS}/sys/install.sh"
echo "\`\`\`"
echo
echo "## Highlights"

echo "<details><summary>More details</summary><p>"
echo
echo "## Authors"
echo
cat .A | perl -ne '/([^<]+)(.*)$/;$a=$1;$b=$2;$a=~s/^\s+|\s+$//g;$b=~s/[<>\s]//g;print "[$a](mailto:$b) "'
echo
echo

cat .x | grep -v '##' | sed -e 's,^ *,,g' | grep -v "^$" | \
perl -ne 'if (/^\*/) { print "$_"; } else { print "* $_";}'

# echo "## Changes"
# echo
# cat .l | grep -v ^commit | grep -v ^Author | grep -v ^Date > .x
# cat .x | grep '##' | perl -ne '/##([^ ]*)/; if ($1) {print "$1\n";}' | sort -u > .y
# for a in `cat .y` ; do
# echo "**$a**"
# echo
# cat .x | grep "##$a" | sed -e 's/##.*//g' | perl -ne '{ s/^\s+//; print "* $_"; }'
# echo
# done
# rm -f .x .y .l .A

echo '</p></details>'
2 changes: 1 addition & 1 deletion src/Iaito.pro
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ TARGET = iaito

IAITO_VERSION_MAJOR = 5
IAITO_VERSION_MINOR = 8
IAITO_VERSION_PATCH = 4
IAITO_VERSION_PATCH = 6

CONFIG+=app_bundle
LIBS+= -dead_strip
Expand Down
Loading

0 comments on commit c8045f2

Please sign in to comment.