mirror of
https://github.com/Doodle3D/doodle3d-firmware.git
synced 2025-01-03 00:13:47 +01:00
Rework feed creation scripts: they now support uploading to doodle3d.com (with corresponding changes to opkg.conf) and they are more location independent.
This commit is contained in:
parent
2010c634c6
commit
b5d8f7895a
@ -1,55 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
OPENWRT_BASE=/Volumes/openwrt-image-10gb/openwrt
|
||||
PKG_SRC_DIR=$OPENWRT_BASE/bin/ar71xx/packages
|
||||
PKG_DEST_DIR=wifibox-packages
|
||||
MAKE_INDEX_SCRIPT=$OPENWRT_BASE/scripts/ipkg-make-index.sh
|
||||
INDEX_FILE=Packages
|
||||
INDEX_GZ_FILE=Packages.gz
|
||||
|
||||
if [ "x$1" == "x-h" ]; then
|
||||
echo "This script creates a directory with wifibox and ultifi ipk files found in the openWrt build environment. The feed dir is called $PKG_DEST_DIR and will be created in the current directory. (currently `pwd`)"
|
||||
echo "If specified, the -z option also compresses the result for easier transfer to a webserver."
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ ! -d $PKG_DEST_DIR ]; then mkdir $PKG_DEST_DIR; fi
|
||||
cp $PKG_SRC_DIR/wifibox*.ipk $PKG_DEST_DIR
|
||||
cp $PKG_SRC_DIR/ultifi*.ipk $PKG_DEST_DIR
|
||||
cp $PKG_SRC_DIR/print3d*.ipk $PKG_DEST_DIR
|
||||
cd $PKG_DEST_DIR
|
||||
rm -f $INDEX_FILE
|
||||
rm -f $INDEX_GZ_FILE
|
||||
|
||||
|
||||
# NOTE: the aliasing construct in the indexing script does not work (and even then, the md5 command defaults to a different output format), so we hack around it here.
|
||||
MD5_HACK_ENABLED=0
|
||||
which md5sum >/dev/null 2>&1
|
||||
if [ $? -eq 1 ]; then
|
||||
MD5_HACK_ENABLED=1
|
||||
TEMPBIN_DIR=/tmp/tempbin23QQDBR
|
||||
mkdir $TEMPBIN_DIR
|
||||
|
||||
cat <<EOF > $TEMPBIN_DIR/md5sum
|
||||
`type -p md5` -q \$1
|
||||
EOF
|
||||
|
||||
chmod +x $TEMPBIN_DIR/md5sum
|
||||
PATH=$PATH:$TEMPBIN_DIR
|
||||
fi
|
||||
|
||||
$MAKE_INDEX_SCRIPT . > $INDEX_FILE
|
||||
|
||||
if [ $MD5_HACK_ENABLED -eq 1 ]; then
|
||||
rm $TEMPBIN_DIR/md5sum
|
||||
rmdir $TEMPBIN_DIR
|
||||
fi
|
||||
|
||||
|
||||
gzip -c $INDEX_FILE > $INDEX_GZ_FILE
|
||||
|
||||
if [ "x$1" == "x-z" ]; then
|
||||
cd ..
|
||||
echo "Compressing generated package directory..."
|
||||
tar czvf $PKG_DEST_DIR.tgz $PKG_DEST_DIR
|
||||
fi
|
91
extra/scripts/create-wifibox-updates-dir.sh
Executable file
91
extra/scripts/create-wifibox-updates-dir.sh
Executable file
@ -0,0 +1,91 @@
|
||||
#!/bin/sh
|
||||
|
||||
OPENWRT_BASE=.
|
||||
PKG_SRC_DIR=$OPENWRT_BASE/bin/ar71xx/packages
|
||||
PKG_DEST_SUBPATH=updates
|
||||
MAKE_INDEX_SCRIPT=$OPENWRT_BASE/scripts/ipkg-make-index.sh
|
||||
INDEX_FILE=Packages
|
||||
INDEX_GZ_FILE=Packages.gz
|
||||
|
||||
COMPRESS_RESULT=0
|
||||
PKG_DEST_BASE=.
|
||||
|
||||
for arg in "$@"; do
|
||||
case $arg in
|
||||
-h)
|
||||
echo "This script creates a directory with wifibox and ultifi ipk files found in the openWrt build environment."
|
||||
echo "The feed dir is called $PKG_DEST_DIR and will be created in the current directory. (currently `pwd`)"
|
||||
echo "If specified, the -z option also compresses the result for easier transfer to a webserver."
|
||||
exit
|
||||
;;
|
||||
-z)
|
||||
COMPRESS_RESULT=1
|
||||
;;
|
||||
-*)
|
||||
echo "Unrecognized option '$arg'"
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
PKG_DEST_BASE=$arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
grep "^This is the buildsystem for the OpenWrt Linux distribution\.$" README >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Please run this script from the Openwrt build root (on OSX this is probably an image mounted under /Volumes)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#setup paths
|
||||
PKG_DEST_DIR=$PKG_DEST_BASE/$PKG_DEST_SUBPATH
|
||||
PKG_FEED_DIR=$PKG_DEST_DIR/feed
|
||||
PKG_IMG_DIR=$PKG_DEST_DIR/images
|
||||
if [ ! -d $PKG_DEST_DIR ]; then mkdir -p $PKG_DEST_DIR; fi
|
||||
echo "Using $PKG_DEST_DIR as target directory"
|
||||
|
||||
|
||||
#clear directory and copy package files
|
||||
if [ ! -d $PKG_FEED_DIR ]; then mkdir $PKG_FEED_DIR; fi
|
||||
cp $PKG_SRC_DIR/wifibox*.ipk $PKG_FEED_DIR
|
||||
cp $PKG_SRC_DIR/ultifi*.ipk $PKG_FEED_DIR
|
||||
cp $PKG_SRC_DIR/print3d*.ipk $PKG_FEED_DIR
|
||||
rm -f $PKG_FEED_DIR/$INDEX_FILE
|
||||
rm -f $PKG_FEED_DIR/$INDEX_GZ_FILE
|
||||
|
||||
|
||||
# NOTE: the aliasing construct in the indexing script does not work (and even then, the md5 command defaults to a different output format), so we hack around it here.
|
||||
MD5_HACK_ENABLED=0
|
||||
which md5sum >/dev/null 2>&1
|
||||
if [ $? -eq 1 ]; then
|
||||
MD5_HACK_ENABLED=1
|
||||
TEMPBIN_DIR=/tmp/tempbin23QQDBR
|
||||
mkdir $TEMPBIN_DIR
|
||||
|
||||
cat <<EOF > $TEMPBIN_DIR/md5sum
|
||||
`type -p md5` -q \$1
|
||||
EOF
|
||||
|
||||
chmod +x $TEMPBIN_DIR/md5sum
|
||||
PATH=$PATH:$TEMPBIN_DIR
|
||||
fi
|
||||
|
||||
#this cwd juggling is required to have the package indexer generate correct paths (i.e. no paths) in the Packages file
|
||||
OPENWRT_DIR=`pwd`
|
||||
pushd $PKG_FEED_DIR
|
||||
$OPENWRT_DIR/$MAKE_INDEX_SCRIPT . > $PKG_FEED_DIR/$INDEX_FILE
|
||||
popd
|
||||
|
||||
if [ $MD5_HACK_ENABLED -eq 1 ]; then
|
||||
rm $TEMPBIN_DIR/md5sum
|
||||
rmdir $TEMPBIN_DIR
|
||||
fi
|
||||
|
||||
gzip -c $PKG_FEED_DIR/$INDEX_FILE > $PKG_FEED_DIR/$INDEX_GZ_FILE
|
||||
|
||||
|
||||
if [ $COMPRESS_RESULT -eq 1 ]; then
|
||||
cd $PKG_DEST_BASE
|
||||
echo "Compressing generated package directory..."
|
||||
tar czvf "doodle3d-wifibox-update-dist.tgz" $PKG_DEST_SUBPATH
|
||||
fi
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script is merely for conveniently generating the packages feed directory in ~/Sites (e.g. for use with XAMPP or the like). Modify WIFIBOX_BASE_DIR to point to your wifibox directory tree.
|
||||
|
||||
WIFIBOX_BASE_DIR=~/Files/_devel/eclipse-workspace/wifibox
|
||||
|
||||
cd ~/Sites
|
||||
$WIFIBOX_BASE_DIR/extra/scripts/create-packages-feed-dir.sh
|
48
extra/scripts/release-wifibox-updates-dir.sh
Executable file
48
extra/scripts/release-wifibox-updates-dir.sh
Executable file
@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script copies the packages feed & images directory to ~/Sites (e.g. for use with XAMPP or the like).
|
||||
# Using the -u option, it can also upload to doodle3d.com/updates (make sure ssh automatically uses the correct username, or change the rsync command below).
|
||||
# Modify WIFIBOX_BASE_DIR to point to your wifibox directory tree.
|
||||
|
||||
WIFIBOX_BASE_DIR=~/Files/_devel/eclipse-workspace/wifibox
|
||||
DEST_DIR=~/Sites/wifibox
|
||||
UPDATES_DIR=updates
|
||||
BASE_URL=doodle3d.com
|
||||
|
||||
OPTIONS=$DEST_DIR
|
||||
UPLOAD_FILES=0
|
||||
|
||||
for arg in "$@"; do
|
||||
case $arg in
|
||||
-h)
|
||||
echo "This script calls 'create-wifibox-updates-dir.sh' to generate feed/image directories in $DEST_DIR"
|
||||
echo "Use '-z' to also create a compressed file containing the 'updates' directory."
|
||||
echo "Used '-u' to also upload the directory to doodle3d.com/updates"
|
||||
exit
|
||||
;;
|
||||
-z)
|
||||
OPTIONS="$OPTIONS -z"
|
||||
;;
|
||||
-u)
|
||||
UPLOAD_FILES=1
|
||||
;;
|
||||
*)
|
||||
echo "Unrecognized option '$arg'"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
$WIFIBOX_BASE_DIR/extra/scripts/create-wifibox-updates-dir.sh $OPTIONS
|
||||
|
||||
if [ $UPLOAD_FILES -eq 1 ]; then
|
||||
UPLOAD_PATH=$BASE_URL:public_html/updates
|
||||
|
||||
cat <<-'EOM' > $DEST_DIR/$UPDATES_DIR/.htaccess
|
||||
Options +Indexes
|
||||
EOM
|
||||
|
||||
echo "Uploading files to $UPLOAD_PATH (if you are asked for your password, please add an entry to your ~/.ssh/config and upload your public ssh key)"
|
||||
#options are: recursive, preserve perms, symlinks and timestamps, be verbose and use compression
|
||||
rsync -rpltvz -e ssh --progress $DEST_DIR/$UPDATES_DIR/.htaccess $DEST_DIR/$UPDATES_DIR/* $UPLOAD_PATH
|
||||
fi
|
@ -1,5 +1,5 @@
|
||||
#src/gz wifibox http://doodle3d.com/static/wifibox-packages
|
||||
src/gz wifibox http://192.168.5.2/~wouter/wifibox-packages
|
||||
src/gz wifibox http://doodle3d.com/updates/feed
|
||||
#src/gz wifibox http://192.168.5.2/~USERNAME/wifibox/updates/feed
|
||||
dest root /
|
||||
dest ram /tmp
|
||||
lists_dir ext /var/opkg-lists
|
||||
|
Loading…
Reference in New Issue
Block a user