-
-
Save drandreaskrueger/705e1f243e8c1fe1d619ac93275c0c7e to your computer and use it in GitHub Desktop.
# distro can be one of experimental, unstable, testing or ubuntu. | |
DISTRO=testing | |
echo | |
echo install freemind | |
echo script by Andreas Krueger 2017, version v01 | |
echo | |
echo must be run as root: | |
echo | |
echo adding repo to /etc/apt/sources.list.d/freemind.list | |
cat <<EOF >> freemind.list | |
deb http://eric.lavar.de/comp/linux/debian/ $DISTRO/ | |
deb-src http://eric.lavar.de/comp/linux/debian/ $DISTRO/ | |
EOF | |
sudo mv freemind.list /etc/apt/sources.list.d/ | |
echo adding PGP key: | |
wget -O - http://eric.lavar.de/comp/linux/debian/deb_zorglub_s_bawue_de.pubkey | sudo apt-key add - | |
echo | |
echo updating: | |
sudo apt-get update | |
echo installing: | |
sudo apt-get install libbatik-java libjcalendar-java freemind | |
sudo apt-get install freemind-plugins-svg/experimental freemind-plugins-time/experimental freemind-plugins-help/experimental libjgoodies-forms-java/testing | |
echo | |
echo done. | |
echo if there were no errors, then freemind got installed. Type \'freemind\' to try. You might want to add a menu entry pointing to this file: | |
which freemind | |
echo |
please add some mechanism to check the validity of the encryption key. And add the repository only after successfull check of the key.
bash-solution:
# KEY_ID and FINGERPRINT taken from http://eric.lavar.de/comp/linux/debian/
KEY_ID='869D2871'
FINGERPRINT='98FB 95CD 6C40 4DF7 E758 601D 27CD 3F36 869D 2871'
function _installed_fingerprint() {
key_id=$1
apt-key fingerprint $key_id \
| /bin/grep fingerprint \
| sed 's/.* = //' \
| sed 's/ / /' # fixing the double-space-character if apt-key output
}
function _isKeyValid() {
expected=$FINGERPRINT
installed=$(_installed_fingerprint $KEY_ID)
if [ "$expected" == "$installed" ];
then
echo 1
else
echo 0
fi
}
# add some test after installing the key, like:
if [ $(_isKeyValid) -eq 1 ]; then
echo "add repository"
add_repository
else
echo "ERROR: could not add repository"
echo " comparison of keys's fingerprints failed"
installed_fingerprint=$(_installed_fingerprint $KEY_ID);
echo "installed: $installed_fingerprint"
echo "expected: $FINGERPRINT"
exit 1
fi
Note: recently I added a docker repository with this function, the commandline-program "add-apt-repository" seems more robust, than catting into a file.
function add_repository() {
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$UBUNTU_PARENT \
stable"
}
Thanks a lot, sorry that I had overlooked this for so long.
sudo apt-get update
still results in
...
Hit:18 https://netcologne.dl.sourceforge.net/project/ubuntuzilla/mozilla/apt all InRelease
Ign:16 http://eric.lavar.de/comp/linux/debian experimental/ Release.gpg
Fetched 198 B in 0s (248 B/s)
Reading package lists... Done
W: GPG error: http://eric.lavar.de/comp/linux/debian experimental/ Release: The following signatures were invalid: 98FB95CD6C404DF7E758601D27CD3F36869D2871
W: The repository 'http://eric.lavar.de/comp/linux/debian experimental/ Release' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
I have tried out your "please add some mechanism to check ..." script. I get this:
Warning: apt-key output should not be parsed (stdout is not a terminal)
ERROR: could not add repository
comparison of keys's fingerprints failed
Warning: apt-key output should not be parsed (stdout is not a terminal)
installed:
expected: 98FB 95CD 6C40 4DF7 E758 601D 27CD 3F36 869D 2871
I have also tried with
cat /etc/apt/sources.list.d/freemind.list
deb http://eric.lavar.de/comp/linux/debian/ stretch/
deb-src http://eric.lavar.de/comp/linux/debian/ stretch/
but
sudo apt update
...
Err:13 http://eric.lavar.de/comp/linux/debian stretch/ Release
404 Not Found
...
Reading package lists... Done
E: The repository 'http://eric.lavar.de/comp/linux/debian stretch/ Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
and my forum discussion questions of February & March were ignored
I think there's something wrong with Eric Lavarde
's key. expired or something maybe? or his repo isn't signed with it (anymore)?
The following signatures were invalid: 98FB95CD6C404DF7E758601D27CD3F36869D2871
sort of calls this out.
US$0.02++
In order to add a menu entry I created the following files (used/tested on Linux Mint 18/18.1).
The install-script (install.sh) expects a subfolder "freemind" containing the extracted freemind-files, e. g. freemind/freemind.sh
also an icon-file "freemind.ico" is expected to be in that folder, which is something that at least was missing from the distributed files at the time I created this solution.
Feel free to adapt.
install.sh:
freemind.desktop:
HTH,
Thomas