- Delete .aitbc.yaml.example CLI configuration template - Delete .lycheeignore link checker exclusion rules - Delete .nvmrc Node.js version specification - Add advanced search panel with filters for address, amount range, transaction type, time range, and validator - Add analytics dashboard with transaction volume, active addresses, and block time metrics - Add Chart.js integration
803 lines
24 KiB
Bash
Executable File
803 lines
24 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Build Complete macOS Package Collection
|
|
# Apple Silicon packages for different use cases
|
|
|
|
set -e
|
|
|
|
# Colors
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
CYAN='\033[0;36m'
|
|
PURPLE='\033[0;35m'
|
|
NC='\033[0m'
|
|
|
|
echo -e "${CYAN}"
|
|
echo "╔══════════════════════════════════════════════════════════════╗"
|
|
echo "║ Build Complete macOS Package Collection ║"
|
|
echo "║ Apple Silicon (M1/M2/M3/M4) ║"
|
|
echo "╚══════════════════════════════════════════════════════════════╝"
|
|
echo -e "${NC}"
|
|
|
|
# Configuration
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
OUTPUT_DIR="$SCRIPT_DIR/packages/macos-packages"
|
|
PKG_VERSION="0.1.0"
|
|
|
|
# Create output directory
|
|
mkdir -p "$OUTPUT_DIR"
|
|
|
|
# Install basic tools
|
|
install_tools() {
|
|
echo -e "${BLUE}Ensuring tools are available...${NC}"
|
|
|
|
if ! command -v tar >/dev/null 2>&1; then
|
|
sudo apt-get update
|
|
sudo apt-get install -y tar gzip openssl curl bc
|
|
fi
|
|
|
|
echo -e "${GREEN}✓ Tools ready${NC}"
|
|
}
|
|
|
|
# Create development package
|
|
create_dev_package() {
|
|
echo -e "${BLUE}Creating development package...${NC}"
|
|
|
|
local temp_dir="/tmp/aitbc-macos-dev-$$"
|
|
mkdir -p "$temp_dir"
|
|
|
|
# Create package root
|
|
mkdir -p "$temp_dir/pkg-root/usr/local/bin"
|
|
mkdir -p "$temp_dir/pkg-root/usr/local/share/man/man1"
|
|
mkdir -p "$temp_dir/pkg-root/usr/local/share/bash-completion/completions"
|
|
mkdir -p "$temp_dir/pkg-root/usr/local/lib/aitbc"
|
|
|
|
# Create development executable
|
|
cat > "$temp_dir/pkg-root/usr/local/bin/aitbc-dev" << EOF
|
|
#!/bin/bash
|
|
# AITBC CLI Development Executable - Apple Silicon
|
|
ARCH=\$(uname -m)
|
|
if [[ "\$ARCH" != "arm64" ]]; then
|
|
echo "❌ This package is for Apple Silicon Macs only"
|
|
exit 1
|
|
fi
|
|
|
|
echo "AITBC CLI Development v$PKG_VERSION (Apple Silicon)"
|
|
echo "Platform: Mac Studio Development Environment"
|
|
echo "Architecture: \$ARCH"
|
|
echo ""
|
|
echo "🔧 Development Features:"
|
|
echo " - Debug mode enabled"
|
|
echo " - Verbose logging"
|
|
echo " - Development endpoints"
|
|
echo " - Test utilities"
|
|
echo ""
|
|
echo "Usage: aitbc-dev [--help] [--version] <command> [<args>]"
|
|
echo ""
|
|
echo "Commands:"
|
|
echo " wallet Wallet management (dev mode)"
|
|
echo " blockchain Blockchain operations (dev mode)"
|
|
echo " marketplace GPU marketplace (dev mode)"
|
|
echo " config Configuration management"
|
|
echo " dev Development utilities"
|
|
echo " test Test suite runner"
|
|
echo ""
|
|
echo "Development options:"
|
|
echo " --debug Enable debug mode"
|
|
echo " --verbose Verbose output"
|
|
echo " --test Run in test environment"
|
|
echo ""
|
|
echo "For full development setup:"
|
|
echo "curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash"
|
|
EOF
|
|
|
|
chmod +x "$temp_dir/pkg-root/usr/local/bin/aitbc-dev"
|
|
|
|
# Create development libraries
|
|
cat > "$temp_dir/pkg-root/usr/local/lib/aitbc/dev-tools.sh" << 'EOF'
|
|
#!/bin/bash
|
|
# AITBC Development Tools
|
|
|
|
# Test runner
|
|
aitbc-test() {
|
|
echo "Running AITBC test suite..."
|
|
echo "🧪 Development test mode"
|
|
}
|
|
|
|
# Debug utilities
|
|
aitbc-debug() {
|
|
echo "AITBC Debug Mode"
|
|
echo "🔍 Debug information:"
|
|
echo " Platform: $(uname -m)"
|
|
echo " macOS: $(sw_vers -productVersion)"
|
|
echo " Memory: $(sysctl -n hw.memsize | awk '{print $1/1024/1024/1024 "GB"}')"
|
|
}
|
|
|
|
# Development server
|
|
aitbc-dev-server() {
|
|
echo "Starting AITBC development server..."
|
|
echo "🚀 Development server mode"
|
|
}
|
|
EOF
|
|
|
|
chmod +x "$temp_dir/pkg-root/usr/local/lib/aitbc/dev-tools.sh"
|
|
|
|
# Create package scripts
|
|
mkdir -p "$temp_dir/scripts"
|
|
|
|
cat > "$temp_dir/scripts/postinstall" << EOF
|
|
#!/bin/bash
|
|
|
|
# AITBC CLI Development post-install script
|
|
|
|
echo "Installing AITBC CLI Development package..."
|
|
|
|
# Check Apple Silicon
|
|
ARCH=\$(uname -m)
|
|
if [[ "\$ARCH" != "arm64" ]]; then
|
|
echo "❌ This package is for Apple Silicon Macs only"
|
|
exit 1
|
|
fi
|
|
|
|
# Set permissions
|
|
chmod 755 "/usr/local/bin/aitbc-dev"
|
|
chmod 755 "/usr/local/lib/aitbc/dev-tools.sh"
|
|
|
|
# Create development config
|
|
mkdir -p ~/.config/aitbc
|
|
if [[ ! -f ~/.config/aitbc/dev-config.yaml ]]; then
|
|
cat > ~/.config/aitbc/dev-config.yaml << 'CONFIG_EOF'
|
|
# AITBC CLI Development Configuration
|
|
platform: macos-apple-silicon
|
|
environment: development
|
|
debug_mode: true
|
|
verbose_logging: true
|
|
|
|
coordinator_url: http://localhost:8000
|
|
api_key: null
|
|
output_format: table
|
|
timeout: 60
|
|
log_level: DEBUG
|
|
default_wallet: dev-wallet
|
|
wallet_dir: ~/.aitbc/dev-wallets
|
|
chain_id: testnet
|
|
default_region: localhost
|
|
analytics_enabled: false
|
|
verify_ssl: false
|
|
|
|
# Development settings
|
|
test_mode: true
|
|
debug_endpoints: true
|
|
mock_data: true
|
|
development_server: true
|
|
CONFIG_EOF
|
|
fi
|
|
|
|
echo "✓ AITBC CLI Development package installed"
|
|
echo "Development tools: /usr/local/lib/aitbc/dev-tools.sh"
|
|
echo "Configuration: ~/.config/aitbc/dev-config.yaml"
|
|
|
|
exit 0
|
|
EOF
|
|
|
|
chmod +x "$temp_dir/scripts/postinstall"
|
|
|
|
# Create distribution file
|
|
cat > "$temp_dir/distribution.dist" << EOF
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<installer-gui-script minSpecVersion="1.0">
|
|
<title>AITBC CLI Development (Apple Silicon)</title>
|
|
<organization>dev.aitbc</organization>
|
|
<domain system="true"/>
|
|
<options customize="never" allow-external-scripts="true"/>
|
|
<choices-outline>
|
|
<line choice="default"/>
|
|
</choices-outline>
|
|
<choice id="default" title="AITBC CLI Development (Apple Silicon)">
|
|
<pkg-ref id="dev.aitbc.cli"/>
|
|
</choice>
|
|
<pkg-ref id="dev.aitbc.cli" version="$PKG_VERSION" onConclusion="none">AITBC CLI Development.pkg</pkg-ref>
|
|
</installer-gui-script>
|
|
EOF
|
|
|
|
# Create package
|
|
cd "$temp_dir"
|
|
tar -czf "$OUTPUT_DIR/aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg" \
|
|
pkg-root/ \
|
|
scripts/ \
|
|
distribution.dist
|
|
|
|
echo -e "${GREEN}✓ Development package created${NC}"
|
|
rm -rf "$temp_dir"
|
|
}
|
|
|
|
# Create GPU optimization package
|
|
create_gpu_package() {
|
|
echo -e "${BLUE}Creating GPU optimization package...${NC}"
|
|
|
|
local temp_dir="/tmp/aitbc-macos-gpu-$$"
|
|
mkdir -p "$temp_dir"
|
|
|
|
# Create package root
|
|
mkdir -p "$temp_dir/pkg-root/usr/local/bin"
|
|
mkdir -p "$temp_dir/pkg-root/usr/local/share/man/man1"
|
|
mkdir -p "$temp_dir/pkg-root/usr/local/lib/aitbc"
|
|
|
|
# Create GPU optimization executable
|
|
cat > "$temp_dir/pkg-root/usr/local/bin/aitbc-gpu" << EOF
|
|
#!/bin/bash
|
|
# AITBC CLI GPU Optimization - Apple Silicon
|
|
ARCH=\$(uname -m)
|
|
if [[ "\$ARCH" != "arm64" ]]; then
|
|
echo "❌ This package is for Apple Silicon Macs only"
|
|
exit 1
|
|
fi
|
|
|
|
echo "AITBC GPU Optimization v$PKG_VERSION (Apple Silicon)"
|
|
echo "Platform: Mac Studio GPU Acceleration"
|
|
echo "Architecture: \$ARCH"
|
|
echo ""
|
|
echo "🚀 GPU Features:"
|
|
echo " - Apple Neural Engine optimization"
|
|
echo " - Metal Performance Shaders"
|
|
echo " - GPU memory management"
|
|
echo " - AI/ML acceleration"
|
|
echo ""
|
|
echo "Usage: aitbc-gpu [--help] [--version] <command> [<args>]"
|
|
echo ""
|
|
echo "GPU Commands:"
|
|
echo " optimize Optimize GPU performance"
|
|
echo " benchmark Run GPU benchmarks"
|
|
echo " monitor Monitor GPU usage"
|
|
echo " neural-engine Apple Neural Engine tools"
|
|
echo " metal Metal shader optimization"
|
|
echo ""
|
|
echo "GPU Options:"
|
|
echo " --neural Use Apple Neural Engine"
|
|
echo " --metal Use Metal framework"
|
|
echo " --memory Optimize memory usage"
|
|
echo ""
|
|
echo "For full GPU functionality:"
|
|
echo "curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash"
|
|
EOF
|
|
|
|
chmod +x "$temp_dir/pkg-root/usr/local/bin/aitbc-gpu"
|
|
|
|
# Create GPU optimization tools
|
|
cat > "$temp_dir/pkg-root/usr/local/lib/aitbc/gpu-tools.sh" << 'EOF'
|
|
#!/bin/bash
|
|
# AITBC GPU Optimization Tools
|
|
|
|
# GPU optimizer
|
|
aitbc-gpu-optimize() {
|
|
echo "🚀 Optimizing GPU performance..."
|
|
echo "Apple Neural Engine: $(sysctl -n hw.optional.neuralengine)"
|
|
echo "GPU Cores: $(system_profiler SPDisplaysDataType | grep 'Chip' | head -1)"
|
|
echo "Memory: $(sysctl -n hw.memsize | awk '{print $1/1024/1024/1024 "GB"}')"
|
|
}
|
|
|
|
# GPU benchmark
|
|
aitbc-gpu-benchmark() {
|
|
echo "🏃 Running GPU benchmarks..."
|
|
echo "Neural Engine Performance Test"
|
|
echo "Metal Shader Performance Test"
|
|
echo "Memory Bandwidth Test"
|
|
}
|
|
|
|
# GPU monitor
|
|
aitbc-gpu-monitor() {
|
|
echo "📊 GPU Monitoring:"
|
|
echo "GPU Usage: $(top -l 1 | grep 'GPU usage' | awk '{print $3}')"
|
|
echo "Memory Pressure: $(memory_pressure | grep 'System-wide memory free percentage' | awk '{print $5}')"
|
|
}
|
|
|
|
# Neural Engine tools
|
|
aitbc-neural-engine() {
|
|
echo "🧠 Apple Neural Engine:"
|
|
echo "Status: Active"
|
|
echo "Model: $(system_profiler SPHardwareDataType | grep 'Chip' | head -1)"
|
|
echo "Capabilities: ANE, ML, AI acceleration"
|
|
}
|
|
EOF
|
|
|
|
chmod +x "$temp_dir/pkg-root/usr/local/lib/aitbc/gpu-tools.sh"
|
|
|
|
# Create package scripts
|
|
mkdir -p "$temp_dir/scripts"
|
|
|
|
cat > "$temp_dir/scripts/postinstall" << EOF
|
|
#!/bin/bash
|
|
|
|
# AITBC CLI GPU Optimization post-install script
|
|
|
|
echo "Installing AITBC CLI GPU Optimization package..."
|
|
|
|
# Check Apple Silicon
|
|
ARCH=\$(uname -m)
|
|
if [[ "\$ARCH" != "arm64" ]]; then
|
|
echo "❌ This package is for Apple Silicon Macs only"
|
|
exit 1
|
|
fi
|
|
|
|
# Set permissions
|
|
chmod 755 "/usr/local/bin/aitbc-gpu"
|
|
chmod 755 "/usr/local/lib/aitbc/gpu-tools.sh"
|
|
|
|
# Create GPU config
|
|
mkdir -p ~/.config/aitbc
|
|
if [[ ! -f ~/.config/aitbc/gpu-config.yaml ]]; then
|
|
cat > ~/.config/aitbc/gpu-config.yaml << 'CONFIG_EOF'
|
|
# AITBC CLI GPU Configuration
|
|
platform: macos-apple-silicon
|
|
gpu_optimization: true
|
|
neural_engine: true
|
|
metal_shaders: true
|
|
|
|
# GPU Settings
|
|
gpu_memory_optimization: true
|
|
neural_engine_acceleration: true
|
|
metal_performance: true
|
|
memory_bandwidth: true
|
|
|
|
# Performance Tuning
|
|
max_gpu_utilization: 80
|
|
memory_threshold: 0.8
|
|
thermal_limit: 85
|
|
power_efficiency: true
|
|
|
|
# Apple Neural Engine
|
|
ane_model_cache: true
|
|
ane_batch_size: 32
|
|
ane_precision: fp16
|
|
ane_optimization: true
|
|
|
|
# Metal Framework
|
|
metal_shader_cache: true
|
|
metal_compute_units: max
|
|
metal_memory_pool: true
|
|
metal_async_execution: true
|
|
CONFIG_EOF
|
|
fi
|
|
|
|
echo "✓ AITBC CLI GPU Optimization package installed"
|
|
echo "GPU tools: /usr/local/lib/aitbc/gpu-tools.sh"
|
|
echo "Configuration: ~/.config/aitbc/gpu-config.yaml"
|
|
|
|
exit 0
|
|
EOF
|
|
|
|
chmod +x "$temp_dir/scripts/postinstall"
|
|
|
|
# Create distribution file
|
|
cat > "$temp_dir/distribution.dist" << EOF
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<installer-gui-script minSpecVersion="1.0">
|
|
<title>AITBC CLI GPU Optimization (Apple Silicon)</title>
|
|
<organization>dev.aitbc</organization>
|
|
<domain system="true"/>
|
|
<options customize="never" allow-external-scripts="true"/>
|
|
<choices-outline>
|
|
<line choice="default"/>
|
|
</choices-outline>
|
|
<choice id="default" title="AITBC CLI GPU Optimization (Apple Silicon)">
|
|
<pkg-ref id="gpu.aitbc.cli"/>
|
|
</choice>
|
|
<pkg-ref id="gpu.aitbc.cli" version="$PKG_VERSION" onConclusion="none">AITBC CLI GPU Optimization.pkg</pkg-ref>
|
|
</installer-gui-script>
|
|
EOF
|
|
|
|
# Create package
|
|
cd "$temp_dir"
|
|
tar -czf "$OUTPUT_DIR/aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg" \
|
|
pkg-root/ \
|
|
scripts/ \
|
|
distribution.dist
|
|
|
|
echo -e "${GREEN}✓ GPU optimization package created${NC}"
|
|
rm -rf "$temp_dir"
|
|
}
|
|
|
|
# Create complete installer script
|
|
create_complete_installer() {
|
|
echo -e "${BLUE}Creating complete installer script...${NC}"
|
|
|
|
cat > "$OUTPUT_DIR/install-macos-complete.sh" << EOF
|
|
#!/bin/bash
|
|
|
|
# AITBC CLI Complete Installer for Mac Studio (Apple Silicon)
|
|
# Installs all available packages
|
|
|
|
set -e
|
|
|
|
# Colors
|
|
GREEN='\033[0;32m'
|
|
BLUE='\033[0;34m'
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
CYAN='\033[0;36m'
|
|
PURPLE='\033[0;35m'
|
|
NC='\033[0m'
|
|
|
|
echo -e "\${CYAN}"
|
|
echo "╔══════════════════════════════════════════════════════════════╗"
|
|
echo "║ AITBC CLI Complete Installer ║"
|
|
echo "║ Mac Studio (Apple Silicon) ║"
|
|
echo "║ All Packages ║"
|
|
echo "╚══════════════════════════════════════════════════════════════╝"
|
|
echo -e "\${NC}"
|
|
|
|
# Check if running on macOS
|
|
if [[ "\$OSTYPE" != "darwin"* ]]; then
|
|
echo -e "\${RED}❌ This installer is for macOS only\${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Check Apple Silicon
|
|
ARCH=\$(uname -m)
|
|
if [[ "\$ARCH" != "arm64" ]]; then
|
|
echo -e "\${RED}❌ This package is for Apple Silicon Macs only\${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Get script directory
|
|
SCRIPT_DIR="\$(cd "\$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
# Available packages
|
|
PACKAGES=(
|
|
"aitbc-cli-$PKG_VERSION-apple-silicon.pkg:Main CLI Package"
|
|
"aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg:Development Tools"
|
|
"aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg:GPU Optimization"
|
|
)
|
|
|
|
echo -e "\${BLUE}Available packages:\${NC}"
|
|
for i in "\${!PACKAGES[@]}"; do
|
|
IFS=':' read -r package_name description <<< "\${PACKAGES[$i]}"
|
|
echo " \$((i+1)). \$description"
|
|
done
|
|
|
|
echo ""
|
|
read -p "Select packages to install (e.g., 1,2,3 or all): " selection
|
|
|
|
# Parse selection
|
|
if [[ "\$selection" == "all" ]]; then
|
|
SELECTED_PACKAGES=("\${PACKAGES[@]}")
|
|
else
|
|
IFS=',' read -ra INDICES <<< "\$selection"
|
|
SELECTED_PACKAGES=()
|
|
for index in "\${INDICES[@]}"; do
|
|
idx=\$((index-1))
|
|
if [[ \$idx -ge 0 && \$idx -lt \${#PACKAGES[@]} ]]; then
|
|
SELECTED_PACKAGES+=("\${PACKAGES[\$idx]}")
|
|
fi
|
|
done
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "\${BLUE}Selected packages:\${NC}"
|
|
for package in "\${SELECTED_PACKAGES[@]}"; do
|
|
IFS=':' read -r package_name description <<< "\$package"
|
|
echo " ✓ \$description"
|
|
done
|
|
|
|
echo ""
|
|
echo -e "\${YELLOW}⚠ These are demo packages for demonstration purposes.\${NC}"
|
|
echo -e "\${YELLOW}⚠ For full functionality, use the Python-based installation:\${NC}"
|
|
echo ""
|
|
echo -e "\${BLUE}curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash\${NC}"
|
|
echo ""
|
|
|
|
read -p "Continue with installation? (y/N): " -n 1 -r
|
|
echo
|
|
if [[ ! \$REPLY =~ ^[Yy]\$ ]]; then
|
|
echo "Installation cancelled."
|
|
exit 0
|
|
fi
|
|
|
|
# Install packages
|
|
for package in "\${SELECTED_PACKAGES[@]}"; do
|
|
IFS=':' read -r package_name description <<< "\$package"
|
|
package_path="\$SCRIPT_DIR/\$package_name"
|
|
|
|
if [[ -f "\$package_path" ]]; then
|
|
echo -e "\${BLUE}Installing \$description...\${NC}"
|
|
cd "\$SCRIPT_DIR"
|
|
tar -xzf "\$package_name"
|
|
|
|
if [[ -f "scripts/postinstall" ]]; then
|
|
sudo bash scripts/postinstall
|
|
fi
|
|
|
|
# Clean up for next package
|
|
rm -rf pkg-root scripts distribution.dist *.pkg-info 2>/dev/null || true
|
|
|
|
echo -e "\${GREEN}✓ \$description installed\${NC}"
|
|
else
|
|
echo -e "\${YELLOW}⚠ Package not found: \$package_name\${NC}"
|
|
fi
|
|
done
|
|
|
|
# Test installation
|
|
echo -e "\${BLUE}Testing installation...\${NC}"
|
|
if command -v aitbc >/dev/null 2>&1; then
|
|
echo -e "\${GREEN}✓ Main CLI available\${NC}"
|
|
fi
|
|
|
|
if command -v aitbc-dev >/dev/null 2>&1; then
|
|
echo -e "\${GREEN}✓ Development CLI available\${NC}"
|
|
fi
|
|
|
|
if command -v aitbc-gpu >/dev/null 2>&1; then
|
|
echo -e "\${GREEN}✓ GPU CLI available\${NC}"
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "\${GREEN}🎉 Complete installation finished!\${NC}"
|
|
echo ""
|
|
echo "Installed commands:"
|
|
if command -v aitbc >/dev/null 2>&1; then
|
|
echo " aitbc - Main CLI"
|
|
fi
|
|
if command -v aitbc-dev >/dev/null 2>&1; then
|
|
echo " aitbc-dev - Development CLI"
|
|
fi
|
|
if command -v aitbc-gpu >/dev/null 2>&1; then
|
|
echo " aitbc-gpu - GPU Optimization CLI"
|
|
fi
|
|
|
|
echo ""
|
|
echo "Configuration files:"
|
|
echo " ~/.config/aitbc/config.yaml"
|
|
echo " ~/.config/aitbc/dev-config.yaml"
|
|
echo " ~/.config/aitbc/gpu-config.yaml"
|
|
|
|
echo ""
|
|
echo "For full AITBC CLI functionality:"
|
|
echo -e "\${BLUE}curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash\${NC}"
|
|
EOF
|
|
|
|
chmod +x "$OUTPUT_DIR/install-macos-complete.sh"
|
|
|
|
echo -e "${GREEN}✓ Complete installer script created${NC}"
|
|
}
|
|
|
|
# Update comprehensive checksums
|
|
update_checksums() {
|
|
echo -e "${BLUE}Updating comprehensive checksums...${NC}"
|
|
|
|
cd "$OUTPUT_DIR"
|
|
|
|
# Create checksums file
|
|
cat > checksums.txt << EOF
|
|
# AITBC macOS Complete Package Checksums
|
|
# Generated on $(date)
|
|
# Platform: Mac Studio (Apple Silicon M1/M2/M3/M4)
|
|
# Algorithm: SHA256
|
|
|
|
# Main packages
|
|
aitbc-cli-$PKG_VERSION-apple-silicon.pkg sha256:$(sha256sum "aitbc-cli-$PKG_VERSION-apple-silicon.pkg" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
|
|
aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg sha256:$(sha256sum "aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
|
|
aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg sha256:$(sha256sum "aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
|
|
|
|
# Installer scripts
|
|
install-macos-apple-silicon.sh sha256:$(sha256sum "install-macos-apple-silicon.sh" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
|
|
install-macos-complete.sh sha256:$(sha256sum "install-macos-complete.sh" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
|
|
|
|
# Legacy packages
|
|
aitbc-cli-$PKG_VERSION-demo.pkg sha256:$(sha256sum "aitbc-cli-$PKG_VERSION-demo.pkg" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
|
|
install-macos-demo.sh sha256:$(sha256sum "install-macos-demo.sh" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
|
|
EOF
|
|
|
|
echo -e "${GREEN}✓ Comprehensive checksums updated${NC}"
|
|
}
|
|
|
|
# Update README for complete collection
|
|
update_readme() {
|
|
echo -e "${BLUE}Updating README for complete package collection...${NC}"
|
|
|
|
cat > "$OUTPUT_DIR/README.md" << 'EOF'
|
|
# AITBC CLI Complete Package Collection
|
|
|
|
## 🍎 **Mac Studio (Apple Silicon) Complete Collection**
|
|
|
|
Complete package collection for **Mac Studio** with **Apple Silicon** processors (M1, M2, M3, M4).
|
|
|
|
## 📦 **Available Packages**
|
|
|
|
### **Core Package**
|
|
- **`aitbc-cli-0.1.0-apple-silicon.pkg`** - Main CLI package
|
|
|
|
### **Specialized Packages**
|
|
- **`aitbc-cli-dev-0.1.0-apple-silicon.pkg`** - Development tools and utilities
|
|
- **`aitbc-cli-gpu-0.1.0-apple-silicon.pkg`** - GPU optimization and acceleration
|
|
|
|
## 🚀 **Installation Options**
|
|
|
|
### **Option 1: Complete Installer (Recommended)**
|
|
```bash
|
|
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/packages/macos-packages/install-macos-complete.sh | bash
|
|
```
|
|
|
|
### **Option 2: Individual Packages**
|
|
```bash
|
|
# Main CLI
|
|
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/packages/macos-packages/install-macos-apple-silicon.sh | bash
|
|
|
|
# Development Tools
|
|
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/packages/macos-packages/aitbc-cli-dev-0.1.0-apple-silicon.pkg -o dev.pkg
|
|
sudo installer -pkg dev.pkg -target /
|
|
|
|
# GPU Optimization
|
|
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/packages/macos-packages/aitbc-cli-gpu-0.1.0-apple-silicon.pkg -o gpu.pkg
|
|
sudo installer -pkg gpu.pkg -target /
|
|
```
|
|
|
|
## 🎯 **Package Features**
|
|
|
|
### **Main CLI Package**
|
|
- ✅ **Core functionality** - Wallet, blockchain, marketplace
|
|
- ✅ **Apple Silicon optimization** - Native ARM64 performance
|
|
- ✅ **Shell completion** - Bash/Zsh completion
|
|
- ✅ **Man pages** - Complete documentation
|
|
|
|
### **Development Package**
|
|
- 🔧 **Debug mode** - Verbose logging and debugging
|
|
- 🔧 **Test utilities** - Test suite runner
|
|
- 🔧 **Development endpoints** - Development server
|
|
- 🔧 **Mock data** - Development testing
|
|
|
|
### **GPU Package**
|
|
- 🚀 **Apple Neural Engine** - AI/ML acceleration
|
|
- 🚀 **Metal shaders** - GPU optimization
|
|
- 🚀 **Memory management** - GPU memory optimization
|
|
- 🚀 **Benchmark tools** - Performance testing
|
|
|
|
## 📊 **Package Comparison**
|
|
|
|
| Package | Size | Features | Use Case |
|
|
|---------|------|----------|----------|
|
|
| `aitbc-cli` | ~3KB | Core CLI | General use |
|
|
| `aitbc-cli-dev` | ~4KB | Development tools | Developers |
|
|
| `aitbc-cli-gpu` | ~4KB | GPU optimization | AI/ML workloads |
|
|
|
|
## 🔧 **Command Overview**
|
|
|
|
### **Main CLI**
|
|
```bash
|
|
aitbc --help
|
|
aitbc wallet balance
|
|
aitbc marketplace gpu list
|
|
```
|
|
|
|
### **Development CLI**
|
|
```bash
|
|
aitbc-dev --debug
|
|
aitbc-dev test run
|
|
aitbc-dev debug info
|
|
```
|
|
|
|
### **GPU CLI**
|
|
```bash
|
|
aitbc-gpu optimize
|
|
aitbc-gpu benchmark
|
|
aitbc-gpu neural-engine
|
|
```
|
|
|
|
## ⚠️ **Important Notes**
|
|
|
|
### **Platform Requirements**
|
|
- **Required**: Apple Silicon Mac (Mac Studio recommended)
|
|
- **OS**: macOS 12.0+ (Monterey or later)
|
|
- **Memory**: 16GB+ recommended for GPU optimization
|
|
|
|
### **Demo Packages**
|
|
These are **demo packages** for demonstration:
|
|
- Show package structure and installation
|
|
- Demonstrate Apple Silicon optimization
|
|
- Provide installation framework
|
|
|
|
For **full functionality**, use Python installation:
|
|
```bash
|
|
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash
|
|
```
|
|
|
|
## ✅ **Verification**
|
|
|
|
### **Package Integrity**
|
|
```bash
|
|
sha256sum -c checksums.txt
|
|
```
|
|
|
|
### **Installation Test**
|
|
```bash
|
|
# Test all installed commands
|
|
aitbc --version
|
|
aitbc-dev --version
|
|
aitbc-gpu --version
|
|
```
|
|
|
|
### **Platform Verification**
|
|
```bash
|
|
# Verify Apple Silicon
|
|
uname -m
|
|
# Should output: arm64
|
|
|
|
# Check Mac Studio model
|
|
system_profiler SPHardwareDataType
|
|
```
|
|
|
|
## 🎯 **Configuration Files**
|
|
|
|
Each package creates its own configuration:
|
|
|
|
- **Main CLI**: `~/.config/aitbc/config.yaml`
|
|
- **Development**: `~/.config/aitbc/dev-config.yaml`
|
|
- **GPU**: `~/.config/aitbc/gpu-config.yaml`
|
|
|
|
## 🔄 **Future Production Packages**
|
|
|
|
Production packages will include:
|
|
- **Real native ARM64 executables** (~80MB each)
|
|
- **Apple Neural Engine integration**
|
|
- **Metal framework optimization**
|
|
- **Mac Studio hardware tuning**
|
|
- **Code signing and notarization**
|
|
|
|
## 📚 **Documentation**
|
|
|
|
- **[Main Documentation](../README.md)** - Complete installation guide
|
|
- **[Apple Silicon Optimization](../DEBIAN_TO_MACOS_BUILD.md)** - Build system details
|
|
- **[Package Distribution](../packages/README.md)** - Package organization
|
|
|
|
---
|
|
|
|
**Complete AITBC CLI package collection for Mac Studio!** 🚀
|
|
EOF
|
|
|
|
echo -e "${GREEN}✓ README updated for complete collection${NC}"
|
|
}
|
|
|
|
# Main function
|
|
main() {
|
|
echo -e "${BLUE}Building complete macOS package collection...${NC}"
|
|
echo ""
|
|
|
|
# Install tools
|
|
install_tools
|
|
|
|
# Create specialized packages
|
|
create_dev_package
|
|
create_gpu_package
|
|
|
|
# Create complete installer
|
|
create_complete_installer
|
|
|
|
# Update checksums
|
|
update_checksums
|
|
|
|
# Update README
|
|
update_readme
|
|
|
|
echo ""
|
|
echo -e "${GREEN}🎉 Complete macOS package collection built successfully!${NC}"
|
|
echo ""
|
|
echo "Packages created:"
|
|
echo " - $OUTPUT_DIR/aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg"
|
|
echo " - $OUTPUT_DIR/aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg"
|
|
echo " - $OUTPUT_DIR/install-macos-complete.sh"
|
|
echo ""
|
|
echo "Complete collection:"
|
|
echo " - Main CLI: aitbc-cli-$PKG_VERSION-apple-silicon.pkg"
|
|
echo " - Development: aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg"
|
|
echo " - GPU: aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg"
|
|
echo ""
|
|
echo "Platform: Mac Studio (Apple Silicon M1/M2/M3/M4)"
|
|
echo ""
|
|
echo -e "${YELLOW}⚠ These are demo packages for demonstration purposes.${NC}"
|
|
echo -e "${YELLOW}⚠ For production packages, use the full build process.${NC}"
|
|
}
|
|
|
|
# Run main function
|
|
main "$@"
|