@kumen that's weird. I wrote that comment exactly because from my computer it was en.st-stm32cubeide_1.7.0_10852_20210715_0634_amd64.sh.zip
I had to edit PKGBUILD
Git Clone URL: | https://aur.archlinux.org/stm32cubeide.git (read-only, click to copy) |
---|---|
Package Base: | stm32cubeide |
Description: | Integrated Development Environment for STM32 |
Upstream URL: | https://www.st.com/en/development-tools/stm32cubeide.html |
Keywords: | arm cortex cortex-m cubeide embedded ide st stm32 |
Licenses: | custom:SLA0048 |
Submitter: | kumen |
Maintainer: | kumen |
Last Packager: | kumen |
Votes: | 37 |
Popularity: | 0.003287 |
First Submitted: | 2019-05-02 15:05 (UTC) |
Last Updated: | 2025-05-05 19:08 (UTC) |
@kumen that's weird. I wrote that comment exactly because from my computer it was en.st-stm32cubeide_1.7.0_10852_20210715_0634_amd64.sh.zip
I had to edit PKGBUILD
@geov when I download stm32cubeide from ST website, on my computer filename is: en.st-stm32cubeide_1.7.0_10852_20210715_0634_amd64.sh_v1.7.0.zip
Previous version was: en.st-stm32cubeide_1.6.1_9958_20210326_1446_amd64.sh.zip
I seems they changed naming of release files. It's possible they will go back to previous naming with next release.
_pkg_file_name=en.st-stm32cubeide_1.7.0_10852_20210715_0634_amd64.sh_v1.7.0.zip
seems wrong and should be
_pkg_file_name=en.st-stm32cubeide_1.7.0_10852_20210715_0634_amd64.sh.zip
# Maintainer: kumen
# Contributor: nightuser <nightuser.android@gmail.com>
pkgname="stm32cubeide"
pkgver=1.6.0
_pkgver_ext=1.6.0_9614_20210223_1703
_pkg_file_name=en.st-stm32cubeide_1.6.0_9614_20210223_1703_amd64.sh.zip
pkgrel=1
pkgdesc="Integrated Development Environment for STM32"
arch=("x86_64")
makedepends=('xdg-user-dirs' 'imagemagick')
depends=('java-runtime' 'jlink-software-and-documentation' 'stlink' 'ncurses5-compat-libs' 'glibc' 'libusb')
optdepends=()
conflicts=()
url="https://www.st.com/en/development-tools/stm32cubeide.html"
license=('Commercial')
options=(!strip)
_DOWNLOADS_DIR=`xdg-user-dir DOWNLOAD`
if [ ! -f ${PWD}/${_pkg_file_name} ]; then
if [ -f $_DOWNLOADS_DIR/${_pkg_file_name} ]; then
ln -sfn $_DOWNLOADS_DIR/${_pkg_file_name} ${PWD}
else
msg2 ""
msg2 "The package can be downloaded here: "
msg2 "Please remember to put a downloaded package ${_pkg_file_name} into the build directory ${PWD} or $_DOWNLOADS_DIR"
msg2 ""
fi
fi
source=("local://${_pkg_file_name}"
"99-jlink.rules.patch"
"https://www.st.com/resource/en/license_agreement/dm00218346.pdf")
sha256sums=('003ba2abbeda8c9178254460452e58dc34a73de26a0b9cc9645db7290e83c86b'
'0f3f69f7c980a701bf814e94595f5acb51a5d91be76b74e5b632220cfb0e7bb3'
'SKIP')
prepare(){
mkdir -p build
sh "${srcdir}/"st-stm32cubeide_${_pkgver_ext}_amd64.sh --quiet --noexec --nox11 --target "${srcdir}/build"
mkdir -p "${srcdir}/build/stlink-server"
sh "${srcdir}/build/"st-stlink-server.*.install.sh --quiet --noexec --nox11 --target "${srcdir}/build/stlink-server"
mkdir -p "${srcdir}/build/stlink-udev"
sh "${srcdir}/build/"st-stlink-udev-rules-*-linux-noarch.sh --quiet --noexec --nox11 --target "${srcdir}/build/stlink-udev"
mkdir -p "${srcdir}/build/jlink-udev"
sh "${srcdir}/build/"segger-jlink-udev-rules-*-linux-noarch.sh --quiet --noexec --nox11 --target "${srcdir}/build/jlink-udev"
}
package() {
cd "$srcdir"
msg2 'Installing STM32CubeIDE'
install -d -m755 "${pkgdir}/opt/${pkgname}"
tar zxf "./build/st-stm32cubeide_${_pkgver_ext}_amd64.tar.gz" -C "${pkgdir}/opt/${pkgname}"
msg2 'Installing stlink server'
install -d -m755 "${pkgdir}/usr/bin/"
cp "${srcdir}/build/stlink-server/stlink-server" "${pkgdir}/usr/bin/"
chmod 0755 "${pkgdir}/usr/bin/stlink-server"
chown root:root "${pkgdir}/usr/bin/stlink-server"
msg2 'Instalation of STlink udev rules skipped'
#msg2 'Installing STlink udev rules'
#install -d -m755 "${pkgdir}/usr/lib/udev/rules.d/"
#install -D -o root -g root -m 644 -t "${pkgdir}/usr/lib/udev/rules.d/" "$srcdir/build/stlink-udev/fileset/"*.rules
msg2 'Instalation of JLink udev rules skipped'
#msg2 'Installing JLink udev rules'
#install -d -m755 "${pkgdir}/usr/lib/udev/rules.d/"
#install -D -o root -g root -m 644 -t "${pkgdir}/usr/lib/udev/rules.d/" "$srcdir/build/jlink-udev/"*.rules
#patch -i "${srcdir}/99-jlink.rules.patch" "${pkgdir}/usr/lib/udev/rules.d/99-jlink.rules"
msg2 'Instalation of binary file'
install -Dm755 /dev/stdin "${pkgdir}/usr/bin/${pkgname}" <<END
#!/bin/sh
/opt/stm32cubeide/stm32cubeide "\$@"
END
msg2 'Installing desktop shortcut and icon'
convert "${pkgdir}/opt/stm32cubeide/icon.xpm" "${srcdir}/${pkgname}.png"
install -Dm 644 "${srcdir}/${pkgname}.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/${pkgname}.desktop" <<END
[Desktop Entry]
Name=STM32CubeIDE
Comment=STM32CubeIDE 1.6.0
GenericName=STM32CubeIDE
Exec=env GDK_BACKEND=x11 stm32cubeide %F
Icon=stm32cubeide
Path=/opt/stm32cubeide/
Terminal=false
StartupNotify=true
Type=Application
Categories=Development
END
msg2 'Instalation of license file'
install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}/"
install -D -o root -g root -m 644 -t "${pkgdir}/usr/share/licenses/${pkgname}/" "${srcdir}/dm00218346.pdf"
msg2 'Prevent automatical '${pkgname}'.desktop file replacement by not functional one'
# rm ${pkgdir}/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.ide_*/resources/project_importer/linux/mimetype/stm32cubeide.desktop.template
}
#
# makepkg --printsrcinfo > .SRCINFO
#
# vim: set ts=8 sw=8 tw=0 noet:
I don't have any idea how this PKGBUILD could even create folder /opt/st/stm32cubeide_1.5.0/
and use it for installation or create st-stm32cubeide-1.5.0.desktop
file.
I tried to rebuild version 1.5.0-3 and everything is OK.
Version 1.5.0 of stm32cubeide was installed by pamac or yaourt, I´m really sure. I've never installed any package without these installers.
Version 1.5.0 of stm32cubeide was probably installed directly without making package from aur, right? If so, you must uninstall it manually.
Few days ago I´ve downloaded and reinstalled stm32cubeide (ver. 1.5.1) and found out that the installation directory differs from previous installation (ver. 1.5.0). The reason for that was that the newer version did not run by clicking on the desktop icon, the older version was starting up instead. While version 1.5.0 still exists in /opt/st/stm32cubeide_1.5.0/
the newer reinstalled version is now in /opt/stm32cubeide/
. I've also took a closer look into the installed startup-files st-stm32cubeide-1.5.0.desktop
and stm32cubeide.desktop
, both located in /usr/share/applications/
.
If I'm right, the newer version of this file contains incomplete entries.
You can see both files side by side here:
https://abload.de/img/screenshot_20210113_1l8koq.jpg
But my main question about this is, how can I remove the older version thus ver. 1.5.0?
Downloading and reinstalling is single one option. Update through IDE is not possible because of low user privileges. Allowing user updates through IDE will cause lost of files tracking and next big update will be with problems.
Or is there solution how to prevent lost of file tracking and allow user updates through IDE?
How should an update be done? By downloading via the IDE (Help -> Check for Updates) or by downloading and the reinstalling? Or is there another procedure?
Pinned Comments
kumen commented on 2023-03-19 13:14 (UTC) (edited on 2023-03-19 13:17 (UTC) by kumen)
STM32CubeIDE is now run by executing
stm32cubeide_wayland
official script. If you have issues related to run environment, try to edit/usr/share/applications/stm32cubeide.desktop
file and uncomment one of commented outExec=...
lines and comment out currently used one. After making changes tostm32cubeide.desktop
runupdate-desktop-database
as root to apply changes.Discussion about this Eclipse issues is here: https://github.com/eclipse-platform/eclipse.platform.swt/issues/158