docs(readme): enhance README with CLI tool documentation, GPU provider monetization focus, and performance metrics
- Add comprehensive CLI tool section with quick start guide and key features - Add "Earn Money with Your GPU" section highlighting provider benefits and success tips - Add CLI installation and usage examples for marketplace, agent management, and development - Add multi-language CLI support documentation - Add performance metrics section with response times, processing speed, and up
This commit is contained in:
132
cli/scripts/build_deb.sh
Executable file
132
cli/scripts/build_deb.sh
Executable file
@@ -0,0 +1,132 @@
|
||||
#!/bin/bash
|
||||
|
||||
# AITBC CLI Debian Package Build Script
|
||||
|
||||
set -e
|
||||
|
||||
# Colors for output
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${BLUE}Building AITBC CLI Debian packages...${NC}"
|
||||
|
||||
# Get script directory
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
DEBIAN_DIR="$SCRIPT_DIR/debian"
|
||||
DIST_DIR="$SCRIPT_DIR/dist"
|
||||
DEB_OUTPUT_DIR="$SCRIPT_DIR/../packages/deb"
|
||||
|
||||
# Create output directory
|
||||
mkdir -p "$DEB_OUTPUT_DIR"
|
||||
|
||||
# Create directories
|
||||
mkdir -p "$DEBIAN_DIR/usr/share/aitbc/dist"
|
||||
mkdir -p "$DEBIAN_DIR/usr/share/aitbc/man"
|
||||
mkdir -p "$DEBIAN_DIR/usr/share/aitbc/completion"
|
||||
mkdir -p "$DEBIAN_DIR/usr/share/man/man1"
|
||||
mkdir -p "$DEBIAN_DIR/etc/bash_completion.d"
|
||||
mkdir -p "$DEBIAN_DIR/etc/aitbc"
|
||||
|
||||
# Copy files to package structure
|
||||
echo -e "${BLUE}Copying files to package structure...${NC}"
|
||||
|
||||
# Copy wheel file
|
||||
if [ -f "$DIST_DIR/aitbc_cli-0.1.0-py3-none-any.whl" ]; then
|
||||
cp "$DIST_DIR/aitbc_cli-0.1.0-py3-none-any.whl" "$DEBIAN_DIR/usr/share/aitbc/dist/"
|
||||
echo -e "${GREEN}✓ Copied wheel file${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Wheel file not found! Please build it first.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Copy man page
|
||||
if [ -f "$SCRIPT_DIR/man/aitbc.1" ]; then
|
||||
cp "$SCRIPT_DIR/man/aitbc.1" "$DEBIAN_DIR/usr/share/aitbc/man/"
|
||||
cp "$SCRIPT_DIR/man/aitbc.1" "$DEBIAN_DIR/usr/share/man/man1/"
|
||||
echo -e "${GREEN}✓ Copied man page${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Man page not found!${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Copy completion script
|
||||
if [ -f "$SCRIPT_DIR/aitbc_completion.sh" ]; then
|
||||
cp "$SCRIPT_DIR/aitbc_completion.sh" "$DEBIAN_DIR/usr/share/aitbc/completion/"
|
||||
chmod +x "$DEBIAN_DIR/usr/share/aitbc/completion/aitbc_completion.sh"
|
||||
echo -e "${GREEN}✓ Copied completion script${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Completion script not found!${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Calculate package size
|
||||
echo -e "${BLUE}Calculating package size...${NC}"
|
||||
PACKAGE_SIZE=$(du -sm "$DEBIAN_DIR" | cut -f1)
|
||||
|
||||
# Update control file with size
|
||||
sed -i "s/Installed-Size:.*/Installed-Size: $PACKAGE_SIZE/" "$DEBIAN_DIR/DEBIAN/control" 2>/dev/null || echo "Installed-Size: $PACKAGE_SIZE" >> "$DEBIAN_DIR/DEBIAN/control"
|
||||
|
||||
# Generate md5sums
|
||||
echo -e "${BLUE}Generating md5sums...${NC}"
|
||||
cd "$DEBIAN_DIR"
|
||||
find . -type f ! -path './DEBIAN/*' -exec md5sum {} + | sed 's/\.\///' > DEBIAN/md5sums
|
||||
cd - > /dev/null
|
||||
|
||||
# Build the packages
|
||||
echo -e "${BLUE}Building Debian packages...${NC}"
|
||||
|
||||
# Build aitbc-cli package
|
||||
echo -e "${BLUE}Building aitbc-cli package...${NC}"
|
||||
dpkg-deb --build "$DEBIAN_DIR" "$DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb"
|
||||
|
||||
# Create dev package (just control file differences)
|
||||
echo -e "${BLUE}Building aitbc-cli-dev package...${NC}"
|
||||
cp -r "$DEBIAN_DIR" "${DEBIAN_DIR}_dev"
|
||||
|
||||
# Update dev package control
|
||||
cp "$DEBIAN_DIR/DEBIAN/control_dev" "${DEBIAN_DIR}_dev/DEBIAN/control"
|
||||
|
||||
# Build dev package
|
||||
dpkg-deb --build "${DEBIAN_DIR}_dev" "$DEB_OUTPUT_DIR/aitbc-cli-dev_0.1.0_all.deb"
|
||||
|
||||
# Clean up temporary directories
|
||||
rm -rf "${DEBIAN_DIR}_dev"
|
||||
|
||||
# Verify packages
|
||||
echo -e "${BLUE}Verifying packages...${NC}"
|
||||
if [ -f "$DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb" ]; then
|
||||
echo -e "${GREEN}✓ aitbc-cli package created: $DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb"
|
||||
dpkg-deb --info "$DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb" | head -10
|
||||
else
|
||||
echo -e "${RED}❌ aitbc-cli package creation failed${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f "$DEB_OUTPUT_DIR/aitbc-cli-dev_0.1.0_all.deb" ]; then
|
||||
echo -e "${GREEN}✓ aitbc-cli-dev package created: $DEB_OUTPUT_DIR/aitbc-cli-dev_0.1.0_all.deb"
|
||||
dpkg-deb --info "$DEB_OUTPUT_DIR/aitbc-cli-dev_0.1.0_all.deb" | head -10
|
||||
else
|
||||
echo -e "${RED}❌ aitbc-cli-dev package creation failed${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}🎉 Debian packages built successfully!${NC}"
|
||||
echo ""
|
||||
echo "Packages created:"
|
||||
echo " - $DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb"
|
||||
echo " - $DEB_OUTPUT_DIR/aitbc-cli-dev_0.1.0_all.deb"
|
||||
echo ""
|
||||
echo "To install on Debian 13 Trixie:"
|
||||
echo " sudo dpkg -i $DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb"
|
||||
echo " sudo apt-get install -f # Fix dependencies if needed"
|
||||
echo ""
|
||||
echo "Package contents:"
|
||||
echo " - CLI installed in /opt/aitbc/venv/bin/aitbc"
|
||||
echo " - Symlink at /usr/local/bin/aitbc"
|
||||
echo " - Man page: man aitbc"
|
||||
echo " - Bash completion: /etc/bash_completion.d/aitbc"
|
||||
echo " - Config file: /etc/aitbc/config.yaml"
|
||||
Reference in New Issue
Block a user