diff options
author | Martin Braun <martin.braun@ettus.com> | 2021-12-17 14:04:58 +0100 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2021-12-17 11:18:53 -0600 |
commit | 30b157e4cf12dfe7e8a174548d8cfddd64d47c42 (patch) | |
tree | 77e2153225412f15b6a6cd66382997ed549c4d8a | |
parent | c369b7046e1687bdb7b67a0fae2f1168f0088783 (diff) | |
download | uhd-30b157e4cf12dfe7e8a174548d8cfddd64d47c42.tar.gz uhd-30b157e4cf12dfe7e8a174548d8cfddd64d47c42.tar.bz2 uhd-30b157e4cf12dfe7e8a174548d8cfddd64d47c42.zip |
images: Clear out code from days of yore
The images/ subdir is used to create images packages for release tags.
However, it contained a lot of code from many releases ago, prior to the
usage of the cache/ directory.
This simply removes all the old code that is no longer required for
creating release packages.
-rw-r--r-- | images/Makefile | 317 | ||||
-rwxr-xr-x | images/create_imgs_package.py | 12 | ||||
-rwxr-xr-x | images/populate_images.py | 16 | ||||
-rw-r--r-- | images/uhdimgs.py | 90 |
4 files changed, 17 insertions, 418 deletions
diff --git a/images/Makefile b/images/Makefile deleted file mode 100644 index 85501459a..000000000 --- a/images/Makefile +++ /dev/null @@ -1,317 +0,0 @@ -# -# Copyright 2010-2013 Ettus Research LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# - -all: - @echo "Pick a specific target" - -######################################################################## -# Common Variables -######################################################################## -TOP_DIR = $(shell pwd) -TOP_FW_DIR = $(TOP_DIR)/../firmware -TOP_FPGA_DIR = $(TOP_DIR)/../fpga -BUILT_IMAGES_DIR = $(TOP_DIR)/images -CMAKE_BUILD_DIR = $(TOP_DIR)/build - -##filled in below -IMAGES_LIST = - -##little rule to make the images directory -$(BUILT_IMAGES_DIR): - mkdir $@ - mkdir $@/bit - -GLOBAL_DEPS = $(BUILT_IMAGES_DIR) - -######################################################################## -# Utility Checks -######################################################################## -ifeq ($(shell sdcc --help > /dev/null 2>&1 && echo $$?),0) - HAS_SDCC=1 -endif - -ifeq ($(shell zpu-elf-gcc --help > /dev/null 2>&1 && echo $$?),0) - HAS_ZPU_GCC=1 -endif - -ifeq ($(shell xtclsh -h > /dev/null 2>&1 && echo $$?),0) - HAS_XTCLSH=1 -endif - -ifeq ($(shell avr-gcc --version > /dev/null 2>&1 && echo $$?),0) - ifeq ($(shell avr-objcopy --version > /dev/null 2>&1 && echo $$?),0) - HAS_AVR_UTILS=1 - endif -endif - -######################################################################## -# USRP1 and B100 firmware -######################################################################## -ifdef HAS_SDCC - -_usrp1_fw_dir = $(TOP_FW_DIR)/fx2 -_usrp1_fw_ihx = $(BUILT_IMAGES_DIR)/usrp1_fw.ihx -_usrp_b100_fw_ihx = $(BUILT_IMAGES_DIR)/usrp_b100_fw.ihx -IMAGES_LIST += $(_usrp1_fw_ihx) $(_usrp_b100_fw_ihx) - -$(_usrp1_fw_ihx): $(GLOBAL_DEPS) - cd $(_usrp1_fw_dir) && rm -rf build - cd $(_usrp1_fw_dir) && mkdir build - cd $(_usrp1_fw_dir)/build && cmake ../ - cd $(_usrp1_fw_dir)/build && make - cp $(_usrp1_fw_dir)/build/usrp1/usrp1_fw.ihx $@ - -$(_usrp_b100_fw_ihx): $(_usrp1_fw_ihx) - cp $(_usrp1_fw_dir)/build/b100/b100_fw.ihx $(_usrp_b100_fw_ihx) - -endif - -######################################################################## -# USRP1 fpga -######################################################################## -_usrp1_fpga_dir = $(TOP_FPGA_DIR)/usrp1/rbf/rev4 -_usrp1_fpga_rbf = $(BUILT_IMAGES_DIR)/usrp1_fpga.rbf -_usrp1_fpga_4rx_rbf = $(BUILT_IMAGES_DIR)/usrp1_fpga_4rx.rbf -IMAGES_LIST += $(_usrp1_fpga_rbf) $(_usrp1_fpga_4rx_rbf) - -$(_usrp1_fpga_rbf): $(GLOBAL_DEPS) - cp $(_usrp1_fpga_dir)/std_2rxhb_2tx.rbf $@ - -$(_usrp1_fpga_4rx_rbf): $(GLOBAL_DEPS) - cp $(_usrp1_fpga_dir)/std_4rx_0tx.rbf $@ - -######################################################################## -# USRP-B100 fpga -######################################################################## -ifdef HAS_XTCLSH - -_usrp_b100_fpga_dir = $(TOP_FPGA_DIR)/usrp2/top/B100 -_usrp_b100_fpga_bin = $(BUILT_IMAGES_DIR)/usrp_b100_fpga.bin -_usrp_b100_fpga_2rx_bin = $(BUILT_IMAGES_DIR)/usrp_b100_fpga_2rx.bin -IMAGES_LIST += $(_usrp_b100_fpga_bin) $(_usrp_b100_fpga_2rx_bin) - -$(_usrp_b100_fpga_bin): $(GLOBAL_DEPS) - cd $(_usrp_b100_fpga_dir) && make -f Makefile.B100 clean - cd $(_usrp_b100_fpga_dir) && make -f Makefile.B100 bin - cp $(_usrp_b100_fpga_dir)/build-B100/B100.bin $@ - -$(_usrp_b100_fpga_2rx_bin): $(GLOBAL_DEPS) - cd $(_usrp_b100_fpga_dir) && make -f Makefile.B100_2RX clean - cd $(_usrp_b100_fpga_dir) && make -f Makefile.B100_2RX bin - cp $(_usrp_b100_fpga_dir)/build-B100_2RX/B100.bin $@ - -endif - -######################################################################## -# USRP2 and N-Series firmware -######################################################################## -ifdef HAS_ZPU_GCC - -_usrp2_fw_dir = $(TOP_FW_DIR)/zpu -_usrp2_fw_bin = $(BUILT_IMAGES_DIR)/usrp2_fw.bin -_usrp_n200_fw_bin = $(BUILT_IMAGES_DIR)/usrp_n200_fw.bin -_usrp_n210_fw_bin = $(BUILT_IMAGES_DIR)/usrp_n210_fw.bin -IMAGES_LIST += $(_usrp2_fw_bin) $(_usrp_n200_fw_bin) $(_usrp_n210_fw_bin) - -$(_usrp2_fw_bin): $(GLOBAL_DEPS) - cd $(_usrp2_fw_dir) && rm -rf build - cd $(_usrp2_fw_dir) && mkdir build - cd $(_usrp2_fw_dir)/build && cmake ../ - cd $(_usrp2_fw_dir)/build && make - cp $(_usrp2_fw_dir)/build/usrp2/usrp2_txrx_uhd.bin $@ - -$(_usrp_n200_fw_bin): $(_usrp2_fw_bin) - cp $(_usrp2_fw_dir)/build/usrp2p/usrp2p_txrx_uhd.bin $@ - -$(_usrp_n210_fw_bin): $(_usrp2_fw_bin) - cp $(_usrp2_fw_dir)/build/usrp2p/usrp2p_txrx_uhd.bin $@ - -endif - -######################################################################## -# USRP2 FPGA -######################################################################## -ifdef HAS_XTCLSH - -_usrp2_fpga_dir = $(TOP_FPGA_DIR)/usrp2/top/USRP2 -_usrp2_fpga_bin = $(BUILT_IMAGES_DIR)/usrp2_fpga.bin -IMAGES_LIST += $(_usrp2_fpga_bin) - -$(_usrp2_fpga_bin): $(GLOBAL_DEPS) - cd $(_usrp2_fpga_dir) && make clean - cd $(_usrp2_fpga_dir) && make bin - cp $(_usrp2_fpga_dir)/build/u2_rev3.bin $@ - -endif - -######################################################################## -# USRP N200 R2/R3 FPGA -######################################################################## -ifdef HAS_XTCLSH - -_usrp_n200_r3_fpga_dir = $(TOP_FPGA_DIR)/usrp2/top/N2x0 -_usrp_n200_r3_fpga_bin = $(BUILT_IMAGES_DIR)/usrp_n200_r3_fpga.bin -_usrp_n200_r3_fpga_bit = $(BUILT_IMAGES_DIR)/bit/usrp_n200_r3_fpga.bit -IMAGES_LIST += $(_usrp_n200_r3_fpga_bin) $(_usrp_n200_r3_fpga_bit) - -$(_usrp_n200_r3_fpga_bin): $(GLOBAL_DEPS) - cd $(_usrp_n200_r3_fpga_dir) && make -f Makefile.N200R3 clean - cd $(_usrp_n200_r3_fpga_dir) && make -f Makefile.N200R3 bin - cp $(_usrp_n200_r3_fpga_dir)/build-N200R3/u2plus.bin $@ - -$(_usrp_n200_r3_fpga_bit): $(_usrp_n200_r3_fpga_bin) - cp $(_usrp_n200_r3_fpga_dir)/build-N200R3/u2plus.bit $@ - -#its called r2 on the silkscreen, so make an r2 -_usrp_n200_r2_fpga_bin = $(BUILT_IMAGES_DIR)/usrp_n200_r2_fpga.bin -IMAGES_LIST += $(_usrp_n200_r2_fpga_bin) -$(_usrp_n200_r2_fpga_bin): $(_usrp_n200_r3_fpga_bin) - cp $< $@ - -endif - -######################################################################## -# USRP N210 R2/R3 FPGA -######################################################################## -ifdef HAS_XTCLSH - -_usrp_n210_r3_fpga_dir = $(TOP_FPGA_DIR)/usrp2/top/N2x0 -_usrp_n210_r3_fpga_bin = $(BUILT_IMAGES_DIR)/usrp_n210_r3_fpga.bin -_usrp_n210_r3_fpga_bit = $(BUILT_IMAGES_DIR)/bit/usrp_n210_r3_fpga.bit -IMAGES_LIST += $(_usrp_n210_r3_fpga_bin) $(_usrp_n210_r3_fpga_bit) - -$(_usrp_n210_r3_fpga_bin): $(GLOBAL_DEPS) - cd $(_usrp_n210_r3_fpga_dir) && make -f Makefile.N210R3 clean - cd $(_usrp_n210_r3_fpga_dir) && make -f Makefile.N210R3 bin - cp $(_usrp_n210_r3_fpga_dir)/build-N210R3/u2plus.bin $@ - -$(_usrp_n210_r3_fpga_bit): $(_usrp_n210_r3_fpga_bin) - cp $(_usrp_n210_r3_fpga_dir)/build-N210R3/u2plus.bit $@ - -#its called r2 on the silkscreen, so make an r2 -_usrp_n210_r2_fpga_bin = $(BUILT_IMAGES_DIR)/usrp_n210_r2_fpga.bin -IMAGES_LIST += $(_usrp_n210_r2_fpga_bin) -$(_usrp_n210_r2_fpga_bin): $(_usrp_n210_r3_fpga_bin) - cp $< $@ - -endif - -######################################################################## -# USRP N200 R4 FPGA -######################################################################## -ifdef HAS_XTCLSH - -_usrp_n200_r4_fpga_dir = $(TOP_FPGA_DIR)/usrp2/top/N2x0 -_usrp_n200_r4_fpga_bin = $(BUILT_IMAGES_DIR)/usrp_n200_r4_fpga.bin -_usrp_n200_r4_fpga_bit = $(BUILT_IMAGES_DIR)/bit/usrp_n200_r4_fpga.bit -IMAGES_LIST += $(_usrp_n200_r4_fpga_bin) $(_usrp_n200_r4_fpga_bit) - -$(_usrp_n200_r4_fpga_bin): $(GLOBAL_DEPS) - cd $(_usrp_n200_r4_fpga_dir) && make -f Makefile.N200R4 clean - cd $(_usrp_n200_r4_fpga_dir) && make -f Makefile.N200R4 bin - cp $(_usrp_n200_r4_fpga_dir)/build-N200R4/u2plus.bin $@ - -$(_usrp_n200_r4_fpga_bit): $(_usrp_n200_r4_fpga_bin) - cp $(_usrp_n200_r4_fpga_dir)/build-N200R4/u2plus.bit $@ - -endif - -######################################################################## -# USRP N210 R4 FPGA -######################################################################## -ifdef HAS_XTCLSH - -_usrp_n210_r4_fpga_dir = $(TOP_FPGA_DIR)/usrp2/top/N2x0 -_usrp_n210_r4_fpga_bin = $(BUILT_IMAGES_DIR)/usrp_n210_r4_fpga.bin -_usrp_n210_r4_fpga_bit = $(BUILT_IMAGES_DIR)/bit/usrp_n210_r4_fpga.bit -IMAGES_LIST += $(_usrp_n210_r4_fpga_bin) $(_usrp_n210_r4_fpga_bit) - -$(_usrp_n210_r4_fpga_bin): $(GLOBAL_DEPS) - cd $(_usrp_n210_r4_fpga_dir) && make -f Makefile.N210R4 clean - cd $(_usrp_n210_r4_fpga_dir) && make -f Makefile.N210R4 bin - cp $(_usrp_n210_r4_fpga_dir)/build-N210R4/u2plus.bin $@ - -$(_usrp_n210_r4_fpga_bit): $(_usrp_n210_r4_fpga_bin) - cp $(_usrp_n210_r4_fpga_dir)/build-N210R4/u2plus.bit $@ - -endif - -######################################################################## -# USRP E100 FPGA -######################################################################## -ifdef HAS_XTCLSH - -_usrp_e100_fpga_dir = $(TOP_FPGA_DIR)/usrp2/top/E1x0 -_usrp_e100_fpga_bin = $(BUILT_IMAGES_DIR)/usrp_e100_fpga_v2.bin -IMAGES_LIST += $(_usrp_e100_fpga_bin) - -$(_usrp_e100_fpga_bin): $(GLOBAL_DEPS) - cd $(_usrp_e100_fpga_dir) && make -f Makefile.E100 clean - cd $(_usrp_e100_fpga_dir) && make -f Makefile.E100 bin - cp $(_usrp_e100_fpga_dir)/build-E100/E1x0.bin $@ - -endif - -######################################################################## -# USRP E110 FPGA -######################################################################## -ifdef HAS_XTCLSH - -_usrp_e110_fpga_dir = $(TOP_FPGA_DIR)/usrp2/top/E1x0 -_usrp_e110_fpga_bin = $(BUILT_IMAGES_DIR)/usrp_e110_fpga.bin -IMAGES_LIST += $(_usrp_e110_fpga_bin) - -$(_usrp_e110_fpga_bin): $(GLOBAL_DEPS) - cd $(_usrp_e110_fpga_dir) && make -f Makefile.E110 clean - cd $(_usrp_e110_fpga_dir) && make -f Makefile.E110 bin - cp $(_usrp_e110_fpga_dir)/build-E110/E1x0.bin $@ - -endif - -######################################################################## -# OctoClock firmware -######################################################################## - -ifdef HAS_AVR_UTILS - -_octoclock_fw_dir = $(TOP_FW_DIR)/octoclock -_octoclock_fw_bin = $(BUILT_IMAGES_DIR)/octoclock_r4_fw.hex -IMAGES_LIST += $(_octoclock_fw_bin) - -$(_octoclock_fw_bin): $(GLOBAL_DEPS) - cd $(_octoclock_fw_dir) && mkdir build - cd $(_octoclock_fw_dir)/build && cmake .. - cd $(_octoclock_fw_dir)/build && make - cp $(TOP_FW_DIR)/octoclock/build/octoclock_r4_fw.hex $@ -endif - -######################################################################## -# Build rules -######################################################################## -images: $(IMAGES_LIST) - find $(BUILT_IMAGES_DIR) -type f | xargs chmod -x - find $(TOP_FPGA_DIR) -name "*.twr" | xargs grep constraint | grep met - -package: - mkdir -p $(CMAKE_BUILD_DIR) - cd $(CMAKE_BUILD_DIR) && cmake -DUHD_RELEASE_MODE=OFF .. - cd $(CMAKE_BUILD_DIR) && cmake -DCPACK_GENERATOR=TGZ .. && make package - cd $(CMAKE_BUILD_DIR) && cmake -DCPACK_GENERATOR=ZIP .. && make package - -clean: - $(RM) -rf $(BUILT_IMAGES_DIR) - $(RM) -rf $(CMAKE_BUILD_DIR) diff --git a/images/create_imgs_package.py b/images/create_imgs_package.py index 416242db1..a55e7902c 100755 --- a/images/create_imgs_package.py +++ b/images/create_imgs_package.py @@ -19,12 +19,13 @@ Command-line utility to create a .zip-file with the current image set. """ +import sys import re import os import subprocess import argparse import shutil -import uhdimgs +import populate_images def parse_args(): """ Parse args, duh """ @@ -39,7 +40,6 @@ def download_images(img_root_dir): """ Run the images downloader """ - import populate_images populate_images.download_images(img_root_dir) def get_version(): @@ -51,18 +51,18 @@ def get_version(): git_output = subprocess.check_output(git_cmd).decode('UTF-8') except subprocess.CalledProcessError as ex: print(ex.output) - exit(1) + sys.exit(1) print("Detected tag: {}".format(git_output)) version_mobj = re.search(r'[0-9]+\.[0-9]+\.[0-9]+\.[0-9]', git_output) if version_mobj is None: print("Error: Failure to resolve version from tag!") - exit(1) + sys.exit(1) return version_mobj.group(0) def main(): """ Go, go, go! """ args = parse_args() - img_root_dir = os.path.join(uhdimgs.get_images_dir(), 'images') + img_root_dir = os.path.join(populate_images.get_images_dir(), 'images') print("== Clearing out the images directory at {}, if present...".format(img_root_dir)) shutil.rmtree(img_root_dir, ignore_errors=True) print("== Downloading images...") @@ -76,7 +76,7 @@ def main(): subprocess.call(archive_cmd) except subprocess.CalledProcessError as ex: print(ex.output) - exit(1) + sys.exit(1) print("== Done!") if __name__ == "__main__": diff --git a/images/populate_images.py b/images/populate_images.py index cd95c2086..f54ca8b9d 100755 --- a/images/populate_images.py +++ b/images/populate_images.py @@ -10,19 +10,25 @@ Populates the current directory with a valid set of binaries for the current commit. """ -from __future__ import print_function import os +import sys import subprocess -import uhdimgs + +def get_images_dir(): + """ + Returns the absolute position of the images/ subdir + in the UHD source tree. + """ + return os.path.dirname(__file__) def download_images(img_root_dir=None): " Go, go, go! " # Switch to correct dir - img_root_dir = img_root_dir or os.path.join(uhdimgs.get_images_dir(), 'images') + img_root_dir = img_root_dir or os.path.join(get_images_dir(), 'images') if not os.path.isdir(img_root_dir): print("== Creating images directory...") os.mkdir(img_root_dir) - os.chdir(uhdimgs.get_images_dir()) + os.chdir(get_images_dir()) print("== Starting download...") try: downloader_cmd = [ @@ -34,7 +40,7 @@ def download_images(img_root_dir=None): subprocess.check_call(downloader_cmd) except (subprocess.CalledProcessError, OSError): print("[ERROR] Failed to run downloader script.") - exit(1) + sys.exit(1) print("== Done!") if __name__ == "__main__": diff --git a/images/uhdimgs.py b/images/uhdimgs.py deleted file mode 100644 index fa0b0ac86..000000000 --- a/images/uhdimgs.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2014 Ettus Research LLC -# Copyright 2018 Ettus Research, a National Instruments Company -# -# SPDX-License-Identifier: GPL-3.0-or-later -# -""" -Utility module for packaging and handling UHD binary images. -""" - -from __future__ import print_function -import re -import os -import sys -import hashlib - -_DEFAULT_BASE_URL = "http://files.ettus.com/binaries/images" -_DEFAULT_BUFFER_SIZE = 8192 -_CMAKE_MAIN_FILE = "../host/CMakeLists.txt" -_CMAKE_IMG_TPL = """ -# This section is written automatically by /images/create_imgs_package.py -# Any manual changes in here will be overwritten. -SET(UHD_IMAGES_MD5SUM "{}") -SET(UHD_IMAGES_DOWNLOAD_SRC "{}") -""" - -def get_cmake_main_file(): - """ Returns a path to the CMakeLists.txt file that contains the image info. """ - return _CMAKE_MAIN_FILE - -def get_base_url(): - """ Returns the base URL """ - if os.environ.get("UHD_IMAGES_BASE_URL") is not None and os.environ.get("UHD_IMAGES_BASE_URL") != "": - return os.environ.get("UHD_IMAGES_BASE_URL") - else: - return _DEFAULT_BASE_URL - -def base_url_is_local(base_url): - """ Returns true if the base URL is actually a http URL - instead of a local path. """ - return not (base_url.find('http') == 0) - -def get_images_dir(): - """ - Returns the absolute position of the images/ subdir - in the UHD source tree. - """ - return os.path.dirname(__file__) - -def update_main_cmake_file(md5, zipfilename): - """ - Update the section in host/CMakeLists.txt that contains - the ZIP filename and the MD5 hash. - """ - cmakef = open(_CMAKE_MAIN_FILE, 'r').read() - new_section = _CMAKE_IMG_TPL.format(md5, zipfilename) - regex = re.compile("(?<={{{IMG_SECTION)(.*)(?=#}}})", flags=re.MULTILINE|re.DOTALL) - cmakef = regex.sub(new_section, cmakef, count=1) - open(_CMAKE_MAIN_FILE, 'w').write(cmakef) - -def get_total_md5(img_dir): - """ Creates an md5sum of everything in the images directory """ - def _update_md5_for_dir_recursive(dir_root, md5_obj): - for (root, dirnames, filenames) in os.walk(dir_root): - for filename in filenames: - md5_obj.update(open(os.path.join(root, filename), 'rb').read()) - sys.stdout.write('.') - sys.stdout.flush() - for dirname in dirnames: - _update_md5_for_dir_recursive(os.path.join(root, dirname), md5_obj) - md5 = hashlib.md5() - _update_md5_for_dir_recursive(img_dir, md5) - print("") - return md5.hexdigest() - -def md5_checksum(filePath): - """ Return MD5 checksum of a single file. """ - try: - with open(filePath, 'rb') as fh: - m = hashlib.md5() - while True: - data = fh.read(_DEFAULT_BUFFER_SIZE) - if not data: - break - m.update(data) - return m.hexdigest() - except Exception as e: - print("Failed to calculated MD5 sum of: %s (%s)" % (filePath, e)) - raise e |