From: Tiago Gaspar Date: Sat, 31 May 2025 20:08:47 +0000 (+0100) Subject: atlas-sw-probe: remove package X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=6129fcd17dca3ec59238d23c910c25a751fce099;p=openwrt-packages.git atlas-sw-probe: remove package Delete the atlas-sw-probe package in favor of the new ripe-atlas package that will be added in a following commit. Signed-off-by: Tiago Gaspar --- diff --git a/net/atlas-sw-probe/Makefile b/net/atlas-sw-probe/Makefile deleted file mode 100644 index 4890c9748..000000000 --- a/net/atlas-sw-probe/Makefile +++ /dev/null @@ -1,133 +0,0 @@ -# -# Copyright (C) 2019-2022 CZ.NIC z.s.p.o. (https://www.nic.cz/) -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# -include $(TOPDIR)/rules.mk - -PKG_NAME:=atlas-sw-probe -PKG_VERSION:=5080 -PKG_RELEASE:=2 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/RIPE-NCC/ripe-atlas-software-probe.git -PKG_SOURCE:=ripe-atlas-software-probe-$(PKG_VERSION).tar.gz - -PKG_MIRROR_HASH:=ad8b012803f98abbf1594384c5a4e27de9e9c112d43da272e73dd10591a566e1 -PKG_SOURCE_VERSION:=67b0736887d33d1c42557e7c7694cbd4e5d8e6ee - -PKG_MAINTAINER:=Alexandru Ardelean -PKG_LICENSE:=GPL-3.0-or-later -PKG_LICENSE_FILES:=LICENSE - -PKG_INSTALL:=1 - -include $(INCLUDE_DIR)/package.mk - -define Package/atlas-sw-probe - SECTION:=net - CATEGORY:=Network - TITLE:=RIPE Atlas software probe - URL:=https://atlas.ripe.net/about/probes/ - DEPENDS:=+atlas-probe +PACKAGE_dropbear:dropbearconvert -endef - -define Package/atlas-sw-probe/description - RIPE Atlas SW probe is software variant of RIPE Atlas Probe. - It contains utilities which helps actively measure - Internet connectivity through ping, traceroute, DNS, SSL/TLS, NTP, and HTTP. - Data are then collected, aggregated and published by the RIPE NCC. -endef - -define Package/atlas-sw-probe-rpc - SECTION:=net - CATEGORY:=Network - TITLE:=RPC service - URL:=https://atlas.ripe.net/about/probes/ - DEPENDS:=+atlas-probe +bind-dig +rpcd -endef - -define Package/atlas-sw-probe-rpc/description - Provides ubus calls for probe. -endef - -Build/Compile:=: -Build/Install:=: - -define Package/atlas-sw-probe-rpc/postinst -#!/bin/sh -[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/rpcd restart -exit 0 -endef - -define Package/atlas-sw-probe-rpc/postrm -#!/bin/sh -[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/rpcd restart -exit 0 -endef - -define Package/atlas-sw-probe/conffiles -/etc/atlas/ -/etc/config/atlas -/usr/libexec/atlas-probe-scripts/state/config.txt -endef - -TMP_BASE_DIR:=/tmp/ripe_atlas_probe -SCRIPTS_DIR:=/usr/libexec/atlas-probe-scripts - -define Package/atlas-sw-probe/install - $(INSTALL_DIR) $(1)/$(SCRIPTS_DIR) - $(INSTALL_DIR) $(1)/$(SCRIPTS_DIR)/{etc,state,bin/arch,bin/bin} - - # Copy config - $(CP) $(PKG_BUILD_DIR)/atlas-config/etc/* $(1)/$(SCRIPTS_DIR)/etc/ - - # Copy firmware version - $(CP) $(PKG_BUILD_DIR)/atlas-config/state/FIRMWARE_APPS_VERSION $(1)/$(SCRIPTS_DIR)/state/ - - # Set probe mode - echo "prod" > $(1)/$(SCRIPTS_DIR)/state/mode - - # Copy scripts - $(CP) $(PKG_BUILD_DIR)/bin/{ATLAS,resolvconf} $(1)/$(SCRIPTS_DIR)/bin/ - $(CP) $(PKG_BUILD_DIR)/bin/*.sh $(1)/$(SCRIPTS_DIR)/bin/ - $(CP) $(PKG_BUILD_DIR)/bin/arch/{linux,openwrt-sw-probe} $(1)/$(SCRIPTS_DIR)/bin/arch/ - - # Create config info - echo "DEVICE_NAME=openwrt-sw-probe" > $(1)/$(SCRIPTS_DIR)/bin/config.sh - echo "ATLAS_BASE=$(SCRIPTS_DIR)" >> $(1)/$(SCRIPTS_DIR)/bin/config.sh - echo "ATLAS_STATIC=$(SCRIPTS_DIR)" >> $(1)/$(SCRIPTS_DIR)/bin/config.sh - echo "SUB_ARCH=openwrt-$(ARCH)-$(PKG_VERSION)-$(PKG_RELEASE)" >> $(1)/$(SCRIPTS_DIR)/bin/bin/config.sh - - # Enable sending interface traffic statistics as Atlas measurement results - echo "RXTXRPT=yes" > $(1)/$(SCRIPTS_DIR)/state/config.txt - - # Fix permission - chmod 755 $(1)/$(SCRIPTS_DIR)/bin - - # Add registration instruction - $(INSTALL_DIR) $(1)/etc/atlas/ - $(CP) ./files/atlas.readme $(1)/etc/atlas/ - - # Create softlinks for writable dirs - $(LN) $(TMP_BASE_DIR)/crons $(1)/$(SCRIPTS_DIR)/crons - $(LN) $(TMP_BASE_DIR)/data $(1)/$(SCRIPTS_DIR)/data - $(LN) $(TMP_BASE_DIR)/run $(1)/$(SCRIPTS_DIR)/run - $(LN) $(TMP_BASE_DIR)/status $(1)/$(SCRIPTS_DIR)/status - - # Copy init and config - $(INSTALL_DIR) $(1)/etc/init.d/ - $(INSTALL_BIN) ./files/atlas.init $(1)/etc/init.d/atlas - - $(INSTALL_DIR) $(1)/etc/config/ - $(INSTALL_CONF) ./files/atlas.conf $(1)/etc/config/atlas -endef - -define Package/atlas-sw-probe-rpc/install - $(INSTALL_DIR) $(1)/usr/libexec/rpcd - $(INSTALL_BIN) ./files/atlas_rpcd.sh $(1)/usr/libexec/rpcd/atlas -endef - -$(eval $(call BuildPackage,atlas-sw-probe)) -$(eval $(call BuildPackage,atlas-sw-probe-rpc)) diff --git a/net/atlas-sw-probe/files/atlas.conf b/net/atlas-sw-probe/files/atlas.conf deleted file mode 100644 index 77a47c0af..000000000 --- a/net/atlas-sw-probe/files/atlas.conf +++ /dev/null @@ -1,5 +0,0 @@ -config atlas 'common' - option log_stderr '1' - option log_stdout '0' - option rxtxrpt '1' - option username '' diff --git a/net/atlas-sw-probe/files/atlas.init b/net/atlas-sw-probe/files/atlas.init deleted file mode 100644 index a0fe8192d..000000000 --- a/net/atlas-sw-probe/files/atlas.init +++ /dev/null @@ -1,249 +0,0 @@ -#!/bin/sh /etc/rc.common - -USE_PROCD=1 -START=30 -EXTRA_COMMANDS="get_key probeid log create_backup load_backup create_key" -EXTRA_HELP=" get_key print probe public key (used for probe registration) - probeid print probe id - log print probe status log - create_backup backup ssh key to tar.gz - load_backup 'backup.tar.gz' load backup ssh key from tar.gz - create_key create probe priv/pub key -" - -SCRIPTS_DIR="/usr/libexec/atlas-probe-scripts" -TMP_BASE_DIR="/tmp/ripe_atlas_probe" -PUB_KEY_FILE="$SCRIPTS_DIR/etc/probe_key.pub" -PRIV_KEY_FILE="$SCRIPTS_DIR/etc/probe_key" -PROBE_ID_FILE="$TMP_BASE_DIR/status/reg_init_reply.txt" -LOG_FILE="/tmp/log/ripe_sw_probe" -STATE_CONFIG="$SCRIPTS_DIR/state/config.txt" - -load_backup() { - local backup_arch - local tmp_dir - - backup_arch="$1" - tmp_dir="$(mktemp -u -p /var/run/atlas)" - if [ -f "$backup_arch" ]; then - safe_mkdir "$tmp_dir" - tar -xzf "$backup_arch" -C "$tmp_dir/" - if [ -f "$tmp_dir/probe_key.pub" ] && [ -f "$tmp_dir/probe_key" ]; then - mv "$tmp_dir/probe_key.pub" "$PUB_KEY_FILE" - mv "$tmp_dir/probe_key" "$PRIV_KEY_FILE" - rm -rf "$tmp_dir" - print_msg "Info: public and private key loaded from backup" - else - print_msg "Error: Could not extract probe_key or probe_key form backup archive" - rm -rf "$tmp_dir" - exit 1 - fi - else - print_msg "Error: Provided backup file $backup_arch does not exists" - exit 1 - fi -} - -create_backup() { - local back_dir - - back_dir="$(pwd)" - - if [ -f "$PUB_KEY_FILE" -a -f "$PRIV_KEY_FILE" ]; then - print_msg "Info: Creating backup arch in $back_dir" - tar -czf "$back_dir/atlas-key-backup.tar.gz" -C "$SCRIPTS_DIR/etc" probe_key probe_key.pub - else - print_msg "Error: private or public key does not exists." - exit 1 - fi -} - -create_key() { - local username - local probe_key=/etc/atlas/probe_key - local probe_pub_key=/etc/atlas/probe_key.pub - - config_load atlas - - config_get username "common" username - - if [ -f "$PRIV_KEY_FILE" ]; then - if [ ! -f $probe_key ]; then - print_msg "Missing probe_key in /etc/atlas" - print_msg "The key will be lost on sysupgrade. Cosider moving the keys in /etc/atlas and create a link in the $SCRIPTS_DIR/etc/ dir." - fi - - print_msg "probe_key already present. Exiting..." - exit 1 - fi - - if [ -z "$username" ]; then - print_msg "Username not set in atlas config file. Enter your ripe-atlas username." - exit 1 - fi - - if [ -n "$(which ssh-keygen)" ]; then - ssh-keygen -t rsa -b 2048 -f $probe_key -N "" - sed -i "s/ \S*$/ "$username"/" $probe_pub_key - elif [ -n "$(which dropbearkey)" ] && [ -n "$(which dropbearconvert)" ]; then - local public_key - - public_key="$(dropbearkey -t rsa -f /etc/atlas/probe_key_dropbear -s 2048 | sed -n 2p)" - public_key="$(echo "$public_key" | sed "s/ \S*$/ "$username"/")" - echo $public_key > $probe_pub_key - dropbearconvert dropbear openssh /etc/atlas/probe_key_dropbear $probe_key - rm /etc/atlas/probe_key_dropbear - else - print_msg "Can't find a way to generate key." - exit 1 - fi - - #Link priv/pub key - [ -f $PRIV_KEY_FILE ] || ln -s $probe_key $PRIV_KEY_FILE - [ -f $PUB_KEY_FILE ] || ln -s $probe_pub_key $PUB_KEY_FILE - - #Fix permission - chown atlas $probe_key $probe_pub_key - chgrp atlas $probe_key $probe_pub_key - chmod 644 $probe_key $probe_pub_key - - print_msg "Key generated successfully. Use the get_key command to show the public key and get instruction on how to register your probe." -} - -log() { - if [ -f "$LOG_FILE" ];then - tail "$LOG_FILE" - else - print_msg "Error. No log file found. Probe isn't probably running" - exit 1 - fi -} - -get_key() { - if [ -f "$PUB_KEY_FILE" ]; then - echo "Probe public key (use for registration)" - echo "URL with registration form https://atlas.ripe.net/apply/swprobe/" - echo "==========================================" - cat "$PUB_KEY_FILE" - else - print_msg "Error! Pub. key not found" - exit 1 - fi -} - -probeid() { - local probe_id - - if [ -f "$PROBE_ID_FILE" ]; then - probe_id="$(awk '/PROBE_ID/ {print $2}' "$PROBE_ID_FILE")" - if [ -z "$probe_id" ]; then - print_msg "Probe ID not found SW probe isn't probably registered yet" - exit 1 - else - print_msg "Probe ID is $probe_id" - fi - else - print_msg "Probe ID not found. SW probe is not running or probe_key isn't registered yet" - exit 1 - fi -} - -print_msg() { - echo "$1" >&2 - logger -t atlas-sw-probe "$1" -} - -stop_service() { - local atlas_pid - local tunnel_pid - local pid_file - - print_msg "Stopping atlas sw probe" - print_msg "Kill all atlas processes" - - for pid_file in "$SCRIPTS_DIR/run/"*.vol; do - [ -f "$pid_file" ] || continue - # test if proccess is still running - atlas_pid="$(cat "$pid_file")" - if kill -0 "$atlas_pid" 2>/dev/null; then - kill "$atlas_pid" - fi - done - - if [ -f "$SCRIPTS_DIR/status/con_keep_pid.vol" ]; then - print_msg "Kill ssh tunnel" - tunnel_pid="$(cat "$SCRIPTS_DIR/status/con_keep_pid.vol")" - if kill -0 "$tunnel_pid" 2>/dev/null; then - kill "$tunnel_pid" - fi - fi - - # Clean run dir - rm -r $TMP_BASE_DIR -} - -safe_mkdir() { - local dir="$1" - if [ -e "$dir" ] && [ ! -d "$dir" -o -L "$dir" ]; then - rm -rf "$dir" - fi - mkdir -p "$dir" - chmod 700 "$dir" - chown root:root "$dir" -} - -create_tmp_dirs() { - local dirs - - chown -R atlas:atlas "$SCRIPTS_DIR/bin" - chmod 755 "$SCRIPTS_DIR/bin" - dirs='crons data run status' - - safe_mkdir "$TMP_BASE_DIR" - for i in $dirs; do - safe_mkdir "$TMP_BASE_DIR/$i" - done -} - -start_service() { - local log_stderr - local log_stdout - local rxtxrpt - local test_setting - local probe_key=/etc/atlas/probe_key - local probe_pub_key=/etc/atlas/probe_key.pub - - # The link is not saved across sysupgrade, recreate if missing - if [ ! -f $PRIV_KEY_FILE ]; then - [ -f $probe_key ] && ln -s $probe_key $PRIV_KEY_FILE - [ -f $probe_pub_key ] && ln -s $probe_pub_key $PUB_KEY_FILE - fi - - # With the precheck done, check if the priv key is actually present - if [ ! -f $PRIV_KEY_FILE ]; then - print_msg "Missing probe_key. To init the key follow instruction in /etc/atlas/atlas.readme" - print_msg "Assuming atlas-sw-probe not init. Exiting..." - exit 1 - fi - - create_tmp_dirs - - config_load atlas - config_get_bool log_stderr "common" log_stderr "0" - config_get_bool log_stdout "common" log_stdout "0" - config_get_bool rxtxrpt "common" rxtxrpt "1" - test_setting=$(grep "^[ ]*RXTXRPT=yes" "$STATE_CONFIG") - - # Decide if we should write to permanent storage - if [ "$rxtxrpt" == "1" ] && [ -z "$test_setting" ]; then - echo "RXTXRPT=yes">$STATE_CONFIG - elif [ "$rxtxrpt" == "0" ] && [ ! -z "$test_setting" ]; then - echo "RXTXRPT=no">$STATE_CONFIG - fi - - procd_open_instance - procd_set_param command "$SCRIPTS_DIR/bin/ATLAS" - procd_set_param stdout "$log_stdout" - procd_set_param stderr "$log_stderr" - procd_close_instance -} diff --git a/net/atlas-sw-probe/files/atlas.readme b/net/atlas-sw-probe/files/atlas.readme deleted file mode 100644 index ec446210f..000000000 --- a/net/atlas-sw-probe/files/atlas.readme +++ /dev/null @@ -1,12 +0,0 @@ -# Atlas probe setup instruction - -The atlas probe software requires a rsa 2048-4096 key for registration. - -Follow these steps to register your probe on the ripe-atlas systems. -1. Insert your username in the atlas config file (/etc/config/atlas) -2. Use the command '/etc/init.d/atlas create_key' to create a priv/pub key. -3. The priv/pub key will be stored on the directory /etc/atlas/ -4. Use the command '/etc/init.d/atlas get_key' to get the public key used for probe registration. - Make sure to copy the entire key and that the last value is the correct username -5. Follow the instruction from the past command or go to 'https://atlas.ripe.net/apply/swprobe/' - and register your probe. diff --git a/net/atlas-sw-probe/files/atlas_rpcd.sh b/net/atlas-sw-probe/files/atlas_rpcd.sh deleted file mode 100755 index 0fde83638..000000000 --- a/net/atlas-sw-probe/files/atlas_rpcd.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh - -. /lib/functions.sh - -SCRIPTS_DIR="/usr/libexec/atlas-probe-scripts" -TMP_BASE_DIR="/tmp/ripe_atlas_probe" -PUB_KEY_FILE="$SCRIPTS_DIR/etc/probe_key.pub" -PRIV_KEY_FILE="$SCRIPTS_DIR/etc/probe_key" -PROBE_ID_FILE="$TMP_BASE_DIR/status/reg_init_reply.txt" - -get_atlas_public_key() { - local pub_key - - if [ -f "$PUB_KEY_FILE" ]; then - pub_key=$(cat "$PUB_KEY_FILE") - fi - - echo "{" - echo \"pub-key\":\"$pub_key\" - echo "}" -} - -get_atlas_probeid() { - local probe_id - - if /etc/init.d/atlas probeid 2>/dev/null; then - probe_id="$(awk '/PROBE_ID/ {print $2}' "$PROBE_ID_FILE")" - fi - - echo "{" - echo \"probe-id\":\"$probe_id\" - echo "}" -} - -get_reg_info() { - local pub_ip - local asn - local asn_org - - if [ -z "$pub_ip" ]; then - pub_ip="$(dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com|tr -d '"')" - fi - - echo "{" - echo \"public-ipv4\":\"$pub_ip\" - echo "}" -} - -get_status() { - local status - - status="$(/etc/init.d/atlas status)" - echo "{" - echo \"status\":\"$status\" - echo "}" -} - -case "$1" in - list) - echo '{' - echo ' "pub-key": {},' - echo ' "probe-id": {},' - echo ' "reg-info": {}' - echo ' "status": {}' - echo '}' - ;; - call) - case "$2" in - pub-key) - get_atlas_public_key - ;; - probe-id) - get_atlas_probeid - ;; - reg-info) - get_reg_info - ;; - get-status) - get_status - ;; - esac - ;; -esac diff --git a/net/atlas-sw-probe/patches/001-fix-config-path.patch b/net/atlas-sw-probe/patches/001-fix-config-path.patch deleted file mode 100644 index 5a518199c..000000000 --- a/net/atlas-sw-probe/patches/001-fix-config-path.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/bin/ATLAS -+++ b/bin/ATLAS -@@ -7,9 +7,9 @@ - #exec >/tmp/ATLAS.out 2>/tmp/ATLAS.err - #set -x - --if [ -f bin/config.sh ] -+if [ -f /usr/libexec/atlas-probe-scripts/bin/config.sh ] - then -- . bin/config.sh -+ . /usr/libexec/atlas-probe-scripts/bin/config.sh - export DEVICE_NAME SUB_ARCH ATLAS_STATIC - else - echo no 'bin/config.sh' >&2