)]}'
{"imagebuild/tinyipa/Makefile":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"eb4afd7323e6ae121f7a9b23dea245fc7aad75e6","unresolved":false,"context_lines":[{"line_number":11,"context_line":"iso:"},{"line_number":12,"context_line":"\t./build-iso.sh"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"clean: clean_build clean_iso "},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"clean_build:"},{"line_number":17,"context_line":"\tsudo -v"}],"source_content_type":"application/octet-stream","patch_set":17,"id":"9a68dd71_88ce0182","line":14,"updated":"2016-01-20 17:31:57.000000000","message":"nit: trailing space","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f2842ee38973dffd33195764d7050552fc5af665","unresolved":false,"context_lines":[{"line_number":11,"context_line":"iso:"},{"line_number":12,"context_line":"\t./build-iso.sh"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"clean: clean_build clean_iso "},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"clean_build:"},{"line_number":17,"context_line":"\tsudo -v"}],"source_content_type":"application/octet-stream","patch_set":17,"id":"9a68dd71_ad308e57","line":14,"in_reply_to":"9a68dd71_88ce0182","updated":"2016-01-21 11:46:56.000000000","message":"Done","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"}],"imagebuild/tinyipa/README.rst":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"759af2466a791304c7b8abe3bf1dc4d56b8a2d3e","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"WARNING: This is experimental!"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Build script requirements"},{"line_number":8,"context_line":"-------------------------"},{"line_number":9,"context_line":"- wget"},{"line_number":10,"context_line":"- pip"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_5209772b","line":7,"updated":"2015-11-04 14:52:38.000000000","message":"Any chance we could get details on what OS distributions it is known to run on?","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"fdeb2dc126f9f4a4347b561313393cafed90089a","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"WARNING: This is experimental!"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Build script requirements"},{"line_number":8,"context_line":"-------------------------"},{"line_number":9,"context_line":"- wget"},{"line_number":10,"context_line":"- pip"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_55e4da0b","line":7,"in_reply_to":"fa80f949_5209772b","updated":"2015-11-05 12:59:59.000000000","message":"Done","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"be90b669b15e0f8c6942e9fb66f91f01496f3c50","unresolved":false,"context_lines":[{"line_number":24,"context_line":"-------------"},{"line_number":25,"context_line":"To create a new ramdisk, run::"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"./build_tinyipa.sh"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"This will create two new files once completed:"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a7e1126_66b34fea","line":27,"updated":"2015-12-18 15:13:27.000000000","message":"Would you be opposed to using \u0027make\u0027 for consistency with the coreos builder?","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"e35501074708d78fc038a245def3f369d73771c1","unresolved":false,"context_lines":[{"line_number":14,"context_line":"* unzip"},{"line_number":15,"context_line":"* sudo"},{"line_number":16,"context_line":"* awk"},{"line_number":17,"context_line":"* advdef (from the package advancecomp)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"For building an ISO you\u0027ll also need:"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa69d971_530ec08c","line":17,"updated":"2016-01-06 13:42:41.000000000","message":"This is unnecessary unless we uncomment advdef usage in the build script.","commit_id":"9497650775e9628c45aa52e2664e5e72cdf604dd"},{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"e35501074708d78fc038a245def3f369d73771c1","unresolved":false,"context_lines":[{"line_number":15,"context_line":"* sudo"},{"line_number":16,"context_line":"* awk"},{"line_number":17,"context_line":"* advdef (from the package advancecomp)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"For building an ISO you\u0027ll also need:"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* genisoimage"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa69d971_d34390ad","line":18,"updated":"2016-01-06 13:42:41.000000000","message":"realpath is also necessary, unless we switch to \"readlink -f\"\nsquashfs-tools too","commit_id":"9497650775e9628c45aa52e2664e5e72cdf604dd"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"eb4afd7323e6ae121f7a9b23dea245fc7aad75e6","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"or::"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  make"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"This will create two new files once completed:"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"9a68dd71_887cc121","line":30,"updated":"2016-01-20 17:31:57.000000000","message":"nit: I\u0027d prefer to recommend \u0027make\u0027 as the primary method for consistency, but this is fine for now.","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f2842ee38973dffd33195764d7050552fc5af665","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"or::"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  make"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"This will create two new files once completed:"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"9a68dd71_4d5a3285","line":30,"in_reply_to":"9a68dd71_887cc121","updated":"2016-01-21 11:46:56.000000000","message":"Done","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"}],"imagebuild/tinyipa/boot/isolinux/f2":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"759af2466a791304c7b8abe3bf1dc4d56b8a2d3e","unresolved":false,"context_lines":[{"line_number":12,"context_line":" safebackup                 Saves a backup copy (mydatabk.tgz)"},{"line_number":13,"context_line":" showapps                   Display application names when booting"},{"line_number":14,"context_line":" iso\u003dsdb1                   Boot directly from iso file at sdb1"},{"line_number":15,"context_line":" iso\u003d\u003d/mnt/sdb1/multiboot/ISOS/iso_name.iso\t"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa80f949_b2522312","line":15,"updated":"2015-11-04 14:52:38.000000000","message":"Is the tab whitespace intentional?","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"fdeb2dc126f9f4a4347b561313393cafed90089a","unresolved":false,"context_lines":[{"line_number":12,"context_line":" safebackup                 Saves a backup copy (mydatabk.tgz)"},{"line_number":13,"context_line":" showapps                   Display application names when booting"},{"line_number":14,"context_line":" iso\u003dsdb1                   Boot directly from iso file at sdb1"},{"line_number":15,"context_line":" iso\u003d\u003d/mnt/sdb1/multiboot/ISOS/iso_name.iso\t"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa80f949_b5bbc6e4","line":15,"in_reply_to":"fa80f949_b2522312","updated":"2015-11-05 12:59:59.000000000","message":"File removed.","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"}],"imagebuild/tinyipa/boot/isolinux/f3":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"759af2466a791304c7b8abe3bf1dc4d56b8a2d3e","unresolved":false,"context_lines":[{"line_number":18,"context_line":" nodhcp                     Skip the dhcp request at boot"},{"line_number":19,"context_line":" noutc                      BIOS is using localtime"},{"line_number":20,"context_line":" pause                      Pause at completion of boot messages"},{"line_number":21,"context_line":" "}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa80f949_b279c395","line":21,"updated":"2015-11-04 14:52:38.000000000","message":"Is the whitespace intentional?","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"fdeb2dc126f9f4a4347b561313393cafed90089a","unresolved":false,"context_lines":[{"line_number":18,"context_line":" nodhcp                     Skip the dhcp request at boot"},{"line_number":19,"context_line":" noutc                      BIOS is using localtime"},{"line_number":20,"context_line":" pause                      Pause at completion of boot messages"},{"line_number":21,"context_line":" "}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa80f949_35d0361f","line":21,"in_reply_to":"fa80f949_b279c395","updated":"2015-11-05 12:59:59.000000000","message":"File removed","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"}],"imagebuild/tinyipa/boot/isolinux/f4":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"759af2466a791304c7b8abe3bf1dc4d56b8a2d3e","unresolved":false,"context_lines":[{"line_number":9,"context_line":" user\u003dabc                   Specify alternate user"},{"line_number":10,"context_line":" desktop\u003dyyy                Specify alternate window manager"},{"line_number":11,"context_line":" laptop                     Force load laptop related modules"},{"line_number":12,"context_line":" noembed                    Unpack initramfs to tmpfs "},{"line_number":13,"context_line":" nozswap                    Skip compressed swap in ram"},{"line_number":14,"context_line":" xvesa\u003d800x600x32           Set Xvesa default screen resolution"},{"line_number":15,"context_line":" mydata\u003dyyy                 Specify alternate backup file name."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa80f949_1269afbe","line":12,"updated":"2015-11-04 14:52:38.000000000","message":"Nit: Whitespace","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"fdeb2dc126f9f4a4347b561313393cafed90089a","unresolved":false,"context_lines":[{"line_number":9,"context_line":" user\u003dabc                   Specify alternate user"},{"line_number":10,"context_line":" desktop\u003dyyy                Specify alternate window manager"},{"line_number":11,"context_line":" laptop                     Force load laptop related modules"},{"line_number":12,"context_line":" noembed                    Unpack initramfs to tmpfs "},{"line_number":13,"context_line":" nozswap                    Skip compressed swap in ram"},{"line_number":14,"context_line":" xvesa\u003d800x600x32           Set Xvesa default screen resolution"},{"line_number":15,"context_line":" mydata\u003dyyy                 Specify alternate backup file name."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa80f949_b5a2e6ac","line":12,"in_reply_to":"fa80f949_1269afbe","updated":"2015-11-05 12:59:59.000000000","message":"File removed.","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"759af2466a791304c7b8abe3bf1dc4d56b8a2d3e","unresolved":false,"context_lines":[{"line_number":15,"context_line":" mydata\u003dyyy                 Specify alternate backup file name."},{"line_number":16,"context_line":" blacklist\u003dssb              Blacklist a single module"},{"line_number":17,"context_line":" multivt                    Allows for multiple virtual terminals"},{"line_number":18,"context_line":" "}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa80f949_b2a0e3f5","line":18,"updated":"2015-11-04 14:52:38.000000000","message":"Same","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"}],"imagebuild/tinyipa/build-iso.sh":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"5a5ba23d1dd3d51dbbde7ef45be4b9ffee1ce1c4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"set -ex"},{"line_number":2,"context_line":"WORKDIR\u003d$(realpath $0 | xargs dirname)"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"cd $WORKDIR"},{"line_number":5,"context_line":"rm -rf newiso"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_7c975eec","line":2,"updated":"2015-12-18 15:20:31.000000000","message":"Ditto on realpath here","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e8bfea8e901d1538951378add2147a91a310eede","unresolved":false,"context_lines":[{"line_number":2,"context_line":"WORKDIR\u003d$(realpath $0 | xargs dirname)"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"cd $WORKDIR"},{"line_number":5,"context_line":"rm -rf newiso"},{"line_number":6,"context_line":"mkdir -p newiso"},{"line_number":7,"context_line":"cp tinyipa.gz boot/corepure64.gz"},{"line_number":8,"context_line":"cp tinyipa.vmlinuz boot/vmlinuz64"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_97330314","line":5,"updated":"2015-12-18 15:53:27.000000000","message":"Perhaps given the way it\u0027s used, using a tempdir would be better than a dir in the source tree?","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e8bfea8e901d1538951378add2147a91a310eede","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"cd $WORKDIR"},{"line_number":5,"context_line":"rm -rf newiso"},{"line_number":6,"context_line":"mkdir -p newiso"},{"line_number":7,"context_line":"cp tinyipa.gz boot/corepure64.gz"},{"line_number":8,"context_line":"cp tinyipa.vmlinuz boot/vmlinuz64"},{"line_number":9,"context_line":"cp -a boot newiso"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_17287399","line":6,"updated":"2015-12-18 15:53:27.000000000","message":"Why -p - it\u0027s a single dir","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e8bfea8e901d1538951378add2147a91a310eede","unresolved":false,"context_lines":[{"line_number":4,"context_line":"cd $WORKDIR"},{"line_number":5,"context_line":"rm -rf newiso"},{"line_number":6,"context_line":"mkdir -p newiso"},{"line_number":7,"context_line":"cp tinyipa.gz boot/corepure64.gz"},{"line_number":8,"context_line":"cp tinyipa.vmlinuz boot/vmlinuz64"},{"line_number":9,"context_line":"cp -a boot newiso"},{"line_number":10,"context_line":"genisoimage -l -r -J -R -V TC-custom -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -o tinyipa.iso newiso"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_720c653b","line":7,"updated":"2015-12-18 15:53:27.000000000","message":"where does boot come from? You\u0027ve not ensure it exists. Also - why copy the files to boot, then copy boot to newiso - why not just mkdir -p newiso/boot then copy the files to newiso/boot?","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"0206398535840d811024ba313359f494e4329948","unresolved":false,"context_lines":[{"line_number":4,"context_line":"cd $WORKDIR"},{"line_number":5,"context_line":"rm -rf newiso"},{"line_number":6,"context_line":"mkdir -p newiso"},{"line_number":7,"context_line":"cp tinyipa.gz boot/corepure64.gz"},{"line_number":8,"context_line":"cp tinyipa.vmlinuz boot/vmlinuz64"},{"line_number":9,"context_line":"cp -a boot newiso"},{"line_number":10,"context_line":"genisoimage -l -r -J -R -V TC-custom -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -o tinyipa.iso newiso"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_4d7aee78","line":7,"in_reply_to":"3a7e1126_720c653b","updated":"2015-12-18 16:11:01.000000000","message":"boot directory is added in this patch and is part of the ipa repo and should always exist if they havn\u0027t deleted anything from their clone, although won\u0027t need to exist if we don\u0027t need to support building an iso","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"}],"imagebuild/tinyipa/build-tinyipa.sh":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"49d2fca54bdbae6730d54127739b75cdf7002336","unresolved":false,"context_lines":[{"line_number":1,"context_line":"set -ex"},{"line_number":2,"context_line":"cwd\u003d`pwd`"},{"line_number":3,"context_line":"builddir\u003d\"$cwd/tinyipabuild\""},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Log into sudo so that it can be used throughout the script"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a2ca52d_14c0a4df","line":2,"updated":"2015-10-14 19:05:43.000000000","message":"I think really want\n\n WORKDIR\u003d$(dirname $0)","commit_id":"6766afdf26e6627e49a3f6a98c1533ae7e5ee36f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"86b3b1242e7eae5e6013a9c4711f12ef145ed268","unresolved":false,"context_lines":[{"line_number":1,"context_line":"set -ex"},{"line_number":2,"context_line":"cwd\u003d`pwd`"},{"line_number":3,"context_line":"builddir\u003d\"$cwd/tinyipabuild\""},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Log into sudo so that it can be used throughout the script"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a2ca52d_980607cd","line":2,"in_reply_to":"5a2ca52d_14c0a4df","updated":"2015-10-15 11:44:48.000000000","message":"Done","commit_id":"6766afdf26e6627e49a3f6a98c1533ae7e5ee36f"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"49d2fca54bdbae6730d54127739b75cdf7002336","unresolved":false,"context_lines":[{"line_number":11,"context_line":"fi"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Download and cache required files from tinycorelinux"},{"line_number":14,"context_line":"cd $cwd/build_files"},{"line_number":15,"context_line":"wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/release/distribution_files/corepure64.gz"},{"line_number":16,"context_line":"wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/release/distribution_files/vmlinuz64"},{"line_number":17,"context_line":"cd $cwd"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a2ca52d_113516f6","line":14,"updated":"2015-10-14 19:05:43.000000000","message":"What creates this directory?","commit_id":"6766afdf26e6627e49a3f6a98c1533ae7e5ee36f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"c52b9d689c5a5c7e6fa96dca471a69c386360ec1","unresolved":false,"context_lines":[{"line_number":11,"context_line":"fi"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Download and cache required files from tinycorelinux"},{"line_number":14,"context_line":"cd $cwd/build_files"},{"line_number":15,"context_line":"wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/release/distribution_files/corepure64.gz"},{"line_number":16,"context_line":"wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/release/distribution_files/vmlinuz64"},{"line_number":17,"context_line":"cd $cwd"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a2ca52d_053b8c9d","line":14,"in_reply_to":"5a2ca52d_113516f6","updated":"2015-10-14 20:22:31.000000000","message":"This script is designed to be run from the directory its in inside the git repo, this is so it can use the version of IPA thats currently being worked by the person running the script without having to be passed a path to it.  The build_files dir is included in this patch and would be pulled in when you git clone.","commit_id":"6766afdf26e6627e49a3f6a98c1533ae7e5ee36f"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"49d2fca54bdbae6730d54127739b75cdf7002336","unresolved":false,"context_lines":[{"line_number":29,"context_line":"( cd $builddir/tmp \u0026\u0026 wget https://bootstrap.pypa.io/get-pip.py )"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Download IPA and requirements"},{"line_number":32,"context_line":"cd ../../."},{"line_number":33,"context_line":"pip install --no-use-wheel --download $builddir/tmp/localpip -r requirements.txt"},{"line_number":34,"context_line":"cp requirements.txt $builddir/tmp/ipa.txt"},{"line_number":35,"context_line":"echo \"ironic-python-agent\" \u003e\u003e $builddir/tmp/ipa.txt"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a2ca52d_743b18d2","line":32,"updated":"2015-10-14 19:05:43.000000000","message":"Where are we before this occurs?\n\nSeems like we are in $cwd before this happens as any \u0027cd\u0027 commands inside parenthesis are not kept.\n\nDoes this work if I call this script while I am in the /tmp directory?\n\n [/tmp]$ . ~/openstack/ironic-python-agent/imagebuild/tinyipa/build-tinyipa.sh","commit_id":"6766afdf26e6627e49a3f6a98c1533ae7e5ee36f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"c52b9d689c5a5c7e6fa96dca471a69c386360ec1","unresolved":false,"context_lines":[{"line_number":29,"context_line":"( cd $builddir/tmp \u0026\u0026 wget https://bootstrap.pypa.io/get-pip.py )"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Download IPA and requirements"},{"line_number":32,"context_line":"cd ../../."},{"line_number":33,"context_line":"pip install --no-use-wheel --download $builddir/tmp/localpip -r requirements.txt"},{"line_number":34,"context_line":"cp requirements.txt $builddir/tmp/ipa.txt"},{"line_number":35,"context_line":"echo \"ironic-python-agent\" \u003e\u003e $builddir/tmp/ipa.txt"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a2ca52d_e53770ae","line":32,"in_reply_to":"5a2ca52d_743b18d2","updated":"2015-10-14 20:22:31.000000000","message":"Yes, we\u0027re in $cwd which should always be \u003cwhereever you keep your git repos\u003e/ironic-python-agent/imagebuild/tinyipa so the cd ../../. should take the script into the ironic-python-agent dir so we can access the requirements file etc.","commit_id":"6766afdf26e6627e49a3f6a98c1533ae7e5ee36f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"86b3b1242e7eae5e6013a9c4711f12ef145ed268","unresolved":false,"context_lines":[{"line_number":29,"context_line":"( cd $builddir/tmp \u0026\u0026 wget https://bootstrap.pypa.io/get-pip.py )"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Download IPA and requirements"},{"line_number":32,"context_line":"cd ../../."},{"line_number":33,"context_line":"pip install --no-use-wheel --download $builddir/tmp/localpip -r requirements.txt"},{"line_number":34,"context_line":"cp requirements.txt $builddir/tmp/ipa.txt"},{"line_number":35,"context_line":"echo \"ironic-python-agent\" \u003e\u003e $builddir/tmp/ipa.txt"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a2ca52d_78b8cbe5","line":32,"in_reply_to":"5a2ca52d_e53770ae","updated":"2015-10-15 11:44:48.000000000","message":"In the latest version you should be able to run the script from anywhere and it\u0027ll always build everything relative to the location of script.","commit_id":"6766afdf26e6627e49a3f6a98c1533ae7e5ee36f"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"9bbbb7dfdc5ce9e390dc11561513105337379f2a","unresolved":false,"context_lines":[{"line_number":79,"context_line":"while [ ! -z \"$files\" ]"},{"line_number":80,"context_line":"do"},{"line_number":81,"context_line":"  # Parse dep files and download missing tczs"},{"line_number":82,"context_line":"  awk 1 *.dep | grep -v ^$ | sort -u | sed \"s/\\(.*\\)/http:\\/\\/distro\\.ibiblio\\.org\\/tinycorelinux\\/6\\.x\\/x86_64\\/tcz\\/\\1/\" | xargs wget -N --progress\u003dbar "},{"line_number":83,"context_line":"  # Pull dep files for downloaded tczs"},{"line_number":84,"context_line":"  set +e"},{"line_number":85,"context_line":"  ls *.tcz | sed \"s/\\(.*\\)/http:\\/\\/distro\\.ibiblio\\.org\\/tinycorelinux\\/6\\.x\\/x86_64\\/tcz\\/\\1.dep/\" | xargs wget -N -q"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a2ca52d_cab03ce0","line":82,"updated":"2015-10-14 22:23:02.000000000","message":"nit: trailing whitespace","commit_id":"6766afdf26e6627e49a3f6a98c1533ae7e5ee36f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"759af2466a791304c7b8abe3bf1dc4d56b8a2d3e","unresolved":false,"context_lines":[{"line_number":104,"context_line":"cp $WORKDIR/build_files/vmlinuz64 $WORKDIR/tinyipa.vmlinuz"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"# Remove BUILDDIR now that its been compressed"},{"line_number":107,"context_line":"# sudo rm -rf $BUILDDIR"}],"source_content_type":"text/x-sh","patch_set":2,"id":"fa80f949_32c2b386","line":107,"updated":"2015-11-04 14:52:38.000000000","message":"If this is uncommented, I\u0027d love to see this with string expansion restricted.","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"fdeb2dc126f9f4a4347b561313393cafed90089a","unresolved":false,"context_lines":[{"line_number":104,"context_line":"cp $WORKDIR/build_files/vmlinuz64 $WORKDIR/tinyipa.vmlinuz"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"# Remove BUILDDIR now that its been compressed"},{"line_number":107,"context_line":"# sudo rm -rf $BUILDDIR"}],"source_content_type":"text/x-sh","patch_set":2,"id":"fa80f949_55929a58","line":107,"in_reply_to":"fa80f949_32c2b386","updated":"2015-11-05 12:59:59.000000000","message":"Done","commit_id":"958cfc9176f915f80feb80d345467facf05075c2"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"be90b669b15e0f8c6942e9fb66f91f01496f3c50","unresolved":false,"context_lines":[{"line_number":1,"context_line":"set -ex"},{"line_number":2,"context_line":"WORKDIR\u003d$(realpath $0 | xargs dirname)"},{"line_number":3,"context_line":"BUILDDIR\u003d\"$WORKDIR/tinyipabuild\""},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Log into sudo so that it can be used throughout the script"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_b90158b1","line":2,"updated":"2015-12-18 15:13:27.000000000","message":"realpath doesn\u0027t seem to exist in Ubuntu 14.04. A little googling shows it\u0027s been mostly deprecated in favor of \"readlink -f\" (which worked for me); can we use that instead?","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e8bfea8e901d1538951378add2147a91a310eede","unresolved":false,"context_lines":[{"line_number":2,"context_line":"WORKDIR\u003d$(realpath $0 | xargs dirname)"},{"line_number":3,"context_line":"BUILDDIR\u003d\"$WORKDIR/tinyipabuild\""},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Log into sudo so that it can be used throughout the script"},{"line_number":6,"context_line":"sudo -v"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# If an old build directory exists remove it"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_d2b75938","line":5,"updated":"2015-12-18 15:53:27.000000000","message":"\"Log in\" isn\u0027t really accurate. -v extends the credential cache - this seems like a no-op","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e8bfea8e901d1538951378add2147a91a310eede","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Download and cache required files from tinycorelinux"},{"line_number":14,"context_line":"cd $WORKDIR/build_files"},{"line_number":15,"context_line":"wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/release/distribution_files/corepure64.gz"},{"line_number":16,"context_line":"wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/release/distribution_files/vmlinuz64"},{"line_number":17,"context_line":"cd $WORKDIR"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_b265edb5","line":15,"updated":"2015-12-18 15:53:27.000000000","message":"If this is intended to be used in the openstack gate, this will increase the probability of a gate failure due to network. i\u0027d see if we can\u0027t get these cached into the devstack images and then have this script attempt to use cached copies of the files if they exist, otherwise wget.","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"0206398535840d811024ba313359f494e4329948","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Download and cache required files from tinycorelinux"},{"line_number":14,"context_line":"cd $WORKDIR/build_files"},{"line_number":15,"context_line":"wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/release/distribution_files/corepure64.gz"},{"line_number":16,"context_line":"wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/release/distribution_files/vmlinuz64"},{"line_number":17,"context_line":"cd $WORKDIR"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_ad6a72ec","line":15,"in_reply_to":"3a7e1126_b265edb5","updated":"2015-12-18 16:11:01.000000000","message":"I need to learn more about how the gate works, and about caching in the devstack environment, but yes, any optimizations for that sort of thing would be great as long as they don\u0027t affect building this outside of the gate. Ideally we wouldn\u0027t be building these images in the gate at all except on a couple of jobs, the way ironic does it for the current image is that we download a prebuilt version of the deploy image, and use that for almost all tests.","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"be90b669b15e0f8c6942e9fb66f91f01496f3c50","unresolved":false,"context_lines":[{"line_number":29,"context_line":"( cd \"$BUILDDIR/tmp\" \u0026\u0026 wget https://bootstrap.pypa.io/get-pip.py )"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Download IPA and requirements"},{"line_number":32,"context_line":"cd ../../."},{"line_number":33,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" -r requirements.txt"},{"line_number":34,"context_line":"cp requirements.txt \"$BUILDDIR/tmp/ipa.txt\""},{"line_number":35,"context_line":"echo \"ironic-python-agent\" \u003e\u003e \"$BUILDDIR/tmp/ipa.txt\""}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_265ea744","line":32,"updated":"2015-12-18 15:13:27.000000000","message":"Why the trailing . here?","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e8bfea8e901d1538951378add2147a91a310eede","unresolved":false,"context_lines":[{"line_number":38,"context_line":"cd $WORKDIR"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# Download setuptools"},{"line_number":41,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" setuptools"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"# Download pip"},{"line_number":44,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" pip"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_12fba17a","line":41,"updated":"2015-12-18 15:53:27.000000000","message":"--no-use-wheel here looks weird. why not download the wheels - they\u0027re also compressed, and installing a wheel is less work at runtime than installing without a wheel (a wheel is literally just a pre-processed tar of an install)","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"0206398535840d811024ba313359f494e4329948","unresolved":false,"context_lines":[{"line_number":38,"context_line":"cd $WORKDIR"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# Download setuptools"},{"line_number":41,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" setuptools"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"# Download pip"},{"line_number":44,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" pip"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_8d2d3600","line":41,"in_reply_to":"3a7e1126_12fba17a","updated":"2015-12-18 16:11:01.000000000","message":"I don\u0027t use wheels because the C extensions get built on the build machine which didn\u0027t seem to link the C libraries correctly for tinycorelinux","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e8bfea8e901d1538951378add2147a91a310eede","unresolved":false,"context_lines":[{"line_number":41,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" setuptools"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"# Download pip"},{"line_number":44,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" pip"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# Download wheel"},{"line_number":47,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" wheel"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_f2a5b546","line":44,"updated":"2015-12-18 15:53:27.000000000","message":"If you\u0027re going to download this, I recommend downloading https://bootstrap.pypa.io/get-pip.py instead, which is the self-contained way to bootstrap pip on a system. It also bundles setuptools and wheel\n\nAlso, get-pip.py will already be on devstack nodes.","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"0206398535840d811024ba313359f494e4329948","unresolved":false,"context_lines":[{"line_number":41,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" setuptools"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"# Download pip"},{"line_number":44,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" pip"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# Download wheel"},{"line_number":47,"context_line":"pip install --no-use-wheel --download \"$BUILDDIR/tmp/localpip\" wheel"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_2d95223e","line":44,"in_reply_to":"3a7e1126_f2a5b546","updated":"2015-12-18 16:11:01.000000000","message":"I actually do use get-pip.py in the build, lines 28 and 29 download it, however unless I downloaded a cached version of the pip tar, get-pip.py insisted on trying to connect to the internet to download pip, even though it should have a version of it base64 encoded in the .py file not sure why this is.","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e8bfea8e901d1538951378add2147a91a310eede","unresolved":false,"context_lines":[{"line_number":59,"context_line":"cd \"$BUILDDIR/tmp/builtin/optional\""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"# Download required tczs"},{"line_number":62,"context_line":"cat ../onboot.lst | sed \"s/\\(.*\\)/http:\\/\\/distro\\.ibiblio\\.org\\/tinycorelinux\\/6\\.x\\/x86_64\\/tcz\\/\\1/\" | xargs wget -N -nv --progress\u003dbar"},{"line_number":63,"context_line":"set +e"},{"line_number":64,"context_line":"ls *.tcz | sed \"s/\\(.*\\)/http:\\/\\/distro\\.ibiblio\\.org\\/tinycorelinux\\/6\\.x\\/x86_64\\/tcz\\/\\1.dep/\" | xargs wget -N -q"},{"line_number":65,"context_line":"set -e"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_720f8588","line":62,"updated":"2015-12-18 15:53:27.000000000","message":"Same comment about wgets increasing gate fails","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"be90b669b15e0f8c6942e9fb66f91f01496f3c50","unresolved":false,"context_lines":[{"line_number":103,"context_line":"cp \"$WORKDIR/build_files/vmlinuz64\" \"$WORKDIR/tinyipa.vmlinuz\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"# Remove BUILDDIR now that its been compressed"},{"line_number":106,"context_line":"# sudo rm -rf \"$BUILDDIR\""}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_998fbc29","line":106,"updated":"2015-12-18 15:13:27.000000000","message":"Should this be commented out? Maybe it was commented for debugging?\n\nIf we move to a makefile, we could leave it here and then make it part of \"make clean\".","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"e35501074708d78fc038a245def3f369d73771c1","unresolved":false,"context_lines":[{"line_number":2,"context_line":"WORKDIR\u003d$(realpath $0 | xargs dirname)"},{"line_number":3,"context_line":"BUILDDIR\u003d\"$WORKDIR/tinyipabuild\""},{"line_number":4,"context_line":"FINALDIR\u003d\"$WORKDIR/tinyipafinal\""},{"line_number":5,"context_line":"BUILD_AND_INSTALL_TINYIPA\u003d${BUILD_AND_INSTALL_TINYIPA:-false}"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"# Log into sudo so that it can be used throughout the script"},{"line_number":8,"context_line":"sudo -v"}],"source_content_type":"text/x-sh","patch_set":8,"id":"fa69d971_f661e205","line":5,"updated":"2016-01-06 13:42:41.000000000","message":"I was expecting IPA to be already installed in my image. I would recommend this to default to true, but can live with it as long as that\u0027s a supported feature.","commit_id":"9497650775e9628c45aa52e2664e5e72cdf604dd"},{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"e35501074708d78fc038a245def3f369d73771c1","unresolved":false,"context_lines":[{"line_number":130,"context_line":"sudo sed -i \u0027/# Main/a NOZSWAP\u003d1\u0027 \"$FINALDIR/etc/init.d/tc-config\""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"# Rebuild build directory into gz file"},{"line_number":133,"context_line":"( cd \"$FINALDIR\" \u0026\u0026 sudo find | sudo cpio -o -H newc | gzip -2 \u003e \"$WORKDIR/tinyipa.gz\" )"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"# Attempt to compress the gz more"},{"line_number":136,"context_line":"# advdef -z4 \"$WORKDIR/tinyipa.gz\""}],"source_content_type":"text/x-sh","patch_set":8,"id":"fa69d971_3359cc8e","line":133,"updated":"2016-01-06 13:42:41.000000000","message":"Until advdef is uncommented (see previous comment), we could use gzip -9 here to save some space.","commit_id":"9497650775e9628c45aa52e2664e5e72cdf604dd"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"1d8136e1b087a7f0d36a697b188b27d25681db19","unresolved":false,"context_lines":[{"line_number":36,"context_line":"# Download get-pip into ramdisk"},{"line_number":37,"context_line":"( cd \"$BUILDDIR/tmp\" \u0026\u0026 wget https://bootstrap.pypa.io/get-pip.py )"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# Download TGT and Qemu-utils source"},{"line_number":40,"context_line":"git clone https://github.com/fujita/tgt.git $BUILDDIR/tmp/tgt"},{"line_number":41,"context_line":"git clone git://git.qemu-project.org/qemu.git $BUILDDIR/tmp/qemu"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"9a68dd71_d873554c","line":39,"updated":"2016-01-20 23:26:39.000000000","message":"Can we use a stable release of qemu and tgt instead of building it from master? Master could fail to build or break in the future.\n\nAlso you don\u0027t need the entire git history while cloning the repo please use depth\u003d1 which is much faster\n\nExample:\ngit clone git://git.qeemu..../qemu.git --depth\u003d1","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f2842ee38973dffd33195764d7050552fc5af665","unresolved":false,"context_lines":[{"line_number":36,"context_line":"# Download get-pip into ramdisk"},{"line_number":37,"context_line":"( cd \"$BUILDDIR/tmp\" \u0026\u0026 wget https://bootstrap.pypa.io/get-pip.py )"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# Download TGT and Qemu-utils source"},{"line_number":40,"context_line":"git clone https://github.com/fujita/tgt.git $BUILDDIR/tmp/tgt"},{"line_number":41,"context_line":"git clone git://git.qemu-project.org/qemu.git $BUILDDIR/tmp/qemu"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"9a68dd71_ad316ea4","line":39,"in_reply_to":"9a68dd71_d873554c","updated":"2016-01-21 11:46:56.000000000","message":"Great suggestion, that will help speed things up a lot!","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"1d8136e1b087a7f0d36a697b188b27d25681db19","unresolved":false,"context_lines":[{"line_number":44,"context_line":"cd \"$WORKDIR/build_files\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# Process dependecies required for build and download tczs"},{"line_number":47,"context_line":"for i in $( $WORKDIR/tczdepresolve.sh buildreqs.lst ); do"},{"line_number":48,"context_line":"  wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/tcz/$i"},{"line_number":49,"context_line":"done"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"9a68dd71_ec93fea1","line":47,"updated":"2016-01-20 23:26:39.000000000","message":"There are lot of 404s\n\nPlease see https://gist.github.com/sagarun/8f19b312ed95e678fc51","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f2842ee38973dffd33195764d7050552fc5af665","unresolved":false,"context_lines":[{"line_number":44,"context_line":"cd \"$WORKDIR/build_files\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# Process dependecies required for build and download tczs"},{"line_number":47,"context_line":"for i in $( $WORKDIR/tczdepresolve.sh buildreqs.lst ); do"},{"line_number":48,"context_line":"  wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/tcz/$i"},{"line_number":49,"context_line":"done"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"9a68dd71_921287b3","line":47,"in_reply_to":"9a68dd71_cf4b8c2a","updated":"2016-01-21 11:46:56.000000000","message":"Unfortunately the tinycorelinux package manager was never built to work in a chroot environment, so this is the best way that I could come up with to process the required packages for building like this, the reason for the 404s is because unless I request a dependency file I don\u0027t know if it exists or not, I could make the wget in tczdepresolve.sh quiet so that it does not pollute the build log with expected but not useful errors.","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"e0ac7cb4937c4df23cceac166c3ca75a7813adba","unresolved":false,"context_lines":[{"line_number":44,"context_line":"cd \"$WORKDIR/build_files\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# Process dependecies required for build and download tczs"},{"line_number":47,"context_line":"for i in $( $WORKDIR/tczdepresolve.sh buildreqs.lst ); do"},{"line_number":48,"context_line":"  wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/tcz/$i"},{"line_number":49,"context_line":"done"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"9a68dd71_cf4b8c2a","line":47,"in_reply_to":"9a68dd71_ec93fea1","updated":"2016-01-20 23:55:07.000000000","message":"Can\u0027t you use \u0027tce-load -wi $pkg\u0027 instead of doing this?","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"1d8136e1b087a7f0d36a697b188b27d25681db19","unresolved":false,"context_lines":[{"line_number":78,"context_line":"sudo chroot $BUILDDIR ldconfig"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# Build python wheels"},{"line_number":81,"context_line":"sudo chroot $BUILDDIR python /tmp/get-pip.py"},{"line_number":82,"context_line":"sudo chroot $BUILDDIR pip install pbr"},{"line_number":83,"context_line":"sudo chroot $BUILDDIR pip wheel --wheel-dir /tmp/wheels setuptools"},{"line_number":84,"context_line":"sudo chroot $BUILDDIR pip wheel --wheel-dir /tmp/wheels pip"}],"source_content_type":"text/x-sh","patch_set":17,"id":"9a68dd71_8ce7e23f","line":81,"updated":"2016-01-20 23:26:39.000000000","message":"This for some reason says \u0027python: No such file or directory\u0027 while building on a Fedora 23 machine\nhttps://gist.github.com/sagarun/8f19b312ed95e678fc51","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f2842ee38973dffd33195764d7050552fc5af665","unresolved":false,"context_lines":[{"line_number":78,"context_line":"sudo chroot $BUILDDIR ldconfig"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# Build python wheels"},{"line_number":81,"context_line":"sudo chroot $BUILDDIR python /tmp/get-pip.py"},{"line_number":82,"context_line":"sudo chroot $BUILDDIR pip install pbr"},{"line_number":83,"context_line":"sudo chroot $BUILDDIR pip wheel --wheel-dir /tmp/wheels setuptools"},{"line_number":84,"context_line":"sudo chroot $BUILDDIR pip wheel --wheel-dir /tmp/wheels pip"}],"source_content_type":"text/x-sh","patch_set":17,"id":"9a68dd71_8d058ac3","line":81,"in_reply_to":"9a68dd71_8ce7e23f","updated":"2016-01-21 11:46:56.000000000","message":"I\u0027ve seen a similar issue before to do with the ar program, can you tell me what the PATH environment variable is if you manually run:\n\nsudo chroot tinyipabuild env\n\nbecause I think it might be behaving differently on different host systems, on my Debian based build machine it works correctly and the PATH inside the chroot is:\n\nPATH\u003d/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"c0476cce8f0a8574ababbde881f1464b308362da","unresolved":false,"context_lines":[{"line_number":45,"context_line":"cd \"$WORKDIR/build_files\""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"# Process dependecies required for build and download tczs"},{"line_number":48,"context_line":"for i in $( $WORKDIR/tczdepresolve.sh buildreqs.lst ); do"},{"line_number":49,"context_line":"  wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/tcz/$i"},{"line_number":50,"context_line":"done"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-sh","patch_set":18,"id":"9a68dd71_cd91149b","line":48,"updated":"2016-01-22 01:32:33.000000000","message":"I agree that, the package manager was cranky,However i was able to get the tce-load work in chroot with some workarounds please try this\n\n$ sudo chroot --userspec\u003dtc:staff tinyipadbuild/ mkdir /etc/sysconfig/tcedir\n\n$ sudo chroot --userspec\u003dtc:staff tinyipabuild mkdir /etc/sysconfig/tcuser\n\n$ sudo chroot --userspec\u003dtc:staff tinyipabuild/ /usr/bin/tce-load -wi nano\nnano.tcz.dep OK\nDownloading: file.tcz\nConnecting to repo.tinycorelinux.net (89.22.99.37:80)\nfile.tcz             100% |*********************************************************************************************************************************************|   312k  0:00:00 ETA\nfile.tcz: OK\nDownloading: nano.tcz\nConnecting to repo.tinycorelinux.net (89.22.99.37:80)\nnano.tcz             100% |*********************************************************************************************************************************************|   116k  0:00:00 ETA\nnano.tcz: OK","commit_id":"40bfbef6e2b2736e35325fbae024aea7c0f8a030"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"ba956c52c2ead86fb69b0be4ec5e9a196f3a7101","unresolved":false,"context_lines":[{"line_number":45,"context_line":"cd \"$WORKDIR/build_files\""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"# Process dependecies required for build and download tczs"},{"line_number":48,"context_line":"for i in $( $WORKDIR/tczdepresolve.sh buildreqs.lst ); do"},{"line_number":49,"context_line":"  wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/tcz/$i"},{"line_number":50,"context_line":"done"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-sh","patch_set":18,"id":"9a68dd71_d3b4aa83","line":48,"in_reply_to":"9a68dd71_03c13d2e","updated":"2016-01-26 14:18:18.000000000","message":"Thanks! I\u0027ve refactored using this code now.","commit_id":"40bfbef6e2b2736e35325fbae024aea7c0f8a030"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"f33398ce782b8e30a0b603fa4d6c6ac8506b7476","unresolved":false,"context_lines":[{"line_number":45,"context_line":"cd \"$WORKDIR/build_files\""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"# Process dependecies required for build and download tczs"},{"line_number":48,"context_line":"for i in $( $WORKDIR/tczdepresolve.sh buildreqs.lst ); do"},{"line_number":49,"context_line":"  wget -N http://distro.ibiblio.org/tinycorelinux/6.x/x86_64/tcz/$i"},{"line_number":50,"context_line":"done"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-sh","patch_set":18,"id":"9a68dd71_03c13d2e","line":48,"in_reply_to":"9a68dd71_cd91149b","updated":"2016-01-22 03:05:29.000000000","message":"Here is the code to download packages using tce-load (note the -wci argument)\n\nsudo chroot --userspec\u003dtc:staff $BUILDDIR mkdir /etc/sysconfig/tcedir\nsudo chroot --userspec\u003dtc:staff $BUILDDIR mkdir /etc/sysconfig/tcuser\nsudo mount --bind /proc $BUILDDIR/proc\nsudo cp /etc/resolv.conf $BUILDDIR/etc/\n# Process dependecies required for build and download tczs\nwhile read line\ndo\n    sudo chroot --userspec\u003dtc:staff $BUILDDIR tce-load -wci $line\ndone \u003c buildreqs.lst\n\n\nYou don\u0027t need to unsquashfs anything if you use the above. Please make sure to clean up resolv.conf and unmount /proc once done.","commit_id":"40bfbef6e2b2736e35325fbae024aea7c0f8a030"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"f5ad243f5fa0e1a724d43b4a6e303fd8ee973aa1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"sudo chroot $BUILDDIR ldconfig"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"# Build python wheels"},{"line_number":82,"context_line":"sudo chroot $BUILDDIR python /tmp/get-pip.py"},{"line_number":83,"context_line":"sudo chroot $BUILDDIR pip install pbr"},{"line_number":84,"context_line":"sudo chroot $BUILDDIR pip wheel --wheel-dir /tmp/wheels setuptools"},{"line_number":85,"context_line":"sudo chroot $BUILDDIR pip wheel --wheel-dir /tmp/wheels pip"}],"source_content_type":"text/x-sh","patch_set":18,"id":"9a68dd71_8d90fc44","line":82,"updated":"2016-01-22 01:45:18.000000000","message":"As i mentioned earlier using full path would be nice. Not everyone has /usr/local/bin in their $PATH. It\u0027s up to you.","commit_id":"40bfbef6e2b2736e35325fbae024aea7c0f8a030"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"ba956c52c2ead86fb69b0be4ec5e9a196f3a7101","unresolved":false,"context_lines":[{"line_number":79,"context_line":"sudo chroot $BUILDDIR ldconfig"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"# Build python wheels"},{"line_number":82,"context_line":"sudo chroot $BUILDDIR python /tmp/get-pip.py"},{"line_number":83,"context_line":"sudo chroot $BUILDDIR pip install pbr"},{"line_number":84,"context_line":"sudo chroot $BUILDDIR pip wheel --wheel-dir /tmp/wheels setuptools"},{"line_number":85,"context_line":"sudo chroot $BUILDDIR pip wheel --wheel-dir /tmp/wheels pip"}],"source_content_type":"text/x-sh","patch_set":18,"id":"9a68dd71_1317a255","line":82,"in_reply_to":"9a68dd71_8d90fc44","updated":"2016-01-26 14:18:18.000000000","message":"Tinyipa has its own PATH, so I\u0027ve made sure that we set the PATH variable on the chroot commands to prevent the host OS affecting the build process. It was this that was causing issues with ar, and I had to had the fix below, but ensuring the PATH is right helps guarantee it\u0027ll work :)","commit_id":"40bfbef6e2b2736e35325fbae024aea7c0f8a030"}],"imagebuild/tinyipa/build_files/bootlocal.sh":[{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"be63c101b38006ea2a0a5f7e244deacf392694af","unresolved":false,"context_lines":[{"line_number":21,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/pbr*.tar.gz"},{"line_number":22,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/six*.tar.gz"},{"line_number":23,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/argparse*.tar.gz"},{"line_number":24,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip -r /tmp/ipa.txt"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Run IPA"},{"line_number":27,"context_line":"ironic-python-agent \u0026"}],"source_content_type":"text/x-sh","patch_set":3,"id":"5a710552_7941050b","line":24,"updated":"2015-12-15 13:55:36.000000000","message":"Does that mean IPA and it\u0027s dependencies are installed from source every time a node is booted? I\u0027m not familiar at all with TinyCoreLinux, but is there a way to compile IPA into a binary package like the other software? That would be similar to the chroot/container that is present in the CoreOS build.","commit_id":"9127022b6fae1b247714fb766cf22fd0d1628ca3"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"e27d9d121df71cac873e51d1ce7eeb142e4369ba","unresolved":false,"context_lines":[{"line_number":21,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/pbr*.tar.gz"},{"line_number":22,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/six*.tar.gz"},{"line_number":23,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/argparse*.tar.gz"},{"line_number":24,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip -r /tmp/ipa.txt"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Run IPA"},{"line_number":27,"context_line":"ironic-python-agent \u0026"}],"source_content_type":"text/x-sh","patch_set":3,"id":"5a710552_f9aad518","line":24,"in_reply_to":"5a710552_7941050b","updated":"2015-12-15 14:08:08.000000000","message":"I think there are definitely more optimizations to do, I would like to do compilation inside a chroot as part of the build process to generate prebuilt wheels for the python and packages for tgt and qemu_utils, however I\u0027ve had problems compiling software for tinycore inside a chroot environment so I stuck with doing the pip install on boot for now because it doesn\u0027t increase the size the ramdisk much, and doesn\u0027t slow down the deploy image much.","commit_id":"9127022b6fae1b247714fb766cf22fd0d1628ca3"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e8bfea8e901d1538951378add2147a91a310eede","unresolved":false,"context_lines":[{"line_number":7,"context_line":"export HOME\u003d/root"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"# Install setuptools"},{"line_number":10,"context_line":"(cd /tmp/localpip \u0026\u0026 tar xzfv setuptools-*.tar.gz \u0026\u0026 cd /tmp/localpip/setuptools-* \u0026\u0026 python setup.py install)"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"# Install pip and initial IPA virtualenv"},{"line_number":13,"context_line":"python /tmp/get-pip.py --no-index --find-links\u003dfile:///tmp/localpip"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_d27f59a9","line":10,"updated":"2015-12-18 15:53:27.000000000","message":"See previous comment about get-pip.py","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"be90b669b15e0f8c6942e9fb66f91f01496f3c50","unresolved":false,"context_lines":[{"line_number":21,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/pbr*.tar.gz"},{"line_number":22,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/six*.tar.gz"},{"line_number":23,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/argparse*.tar.gz"},{"line_number":24,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip -r /tmp/ipa.txt"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Run IPA"},{"line_number":27,"context_line":"ironic-python-agent"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_b92dd8a9","line":24,"updated":"2015-12-18 15:13:27.000000000","message":"AFAICT, all of this is local, right? \n\nI want to make sure that at runtime, this doesn\u0027t touch the internet at all. Often a provisioning network won\u0027t have internet access at all.","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"4f33541aeb33f7a176d741ebc43da9630fb10382","unresolved":false,"context_lines":[{"line_number":21,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/pbr*.tar.gz"},{"line_number":22,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/six*.tar.gz"},{"line_number":23,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip /tmp/localpip/argparse*.tar.gz"},{"line_number":24,"context_line":"pip install --no-index --no-use-wheel --find-links\u003dfile:///tmp/localpip -r /tmp/ipa.txt"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Run IPA"},{"line_number":27,"context_line":"ironic-python-agent"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a7e1126_7c33de14","line":24,"in_reply_to":"3a7e1126_b92dd8a9","updated":"2015-12-18 15:23:19.000000000","message":"Correct everything is installed from cached python tars in the ramdisk, no need to connect to PyPi","commit_id":"a43eb8569891947a8f13c16de5d62dbab57b7d69"}],"imagebuild/tinyipa/build_files/isolinux.cfg":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"eb4afd7323e6ae121f7a9b23dea245fc7aad75e6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"label corepure64"},{"line_number":5,"context_line":"\tkernel /boot/vmlinuz64"},{"line_number":6,"context_line":"\tinitrd /boot/corepure64.gz"},{"line_number":7,"context_line":"\tappend loglevel\u003d3"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"implicit 0"}],"source_content_type":"text/x-ttcn-cfg","patch_set":17,"id":"9a68dd71_f3244eb0","line":7,"updated":"2016-01-20 17:31:57.000000000","message":"Nit: switch tabs to spaces","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f2842ee38973dffd33195764d7050552fc5af665","unresolved":false,"context_lines":[{"line_number":4,"context_line":"label corepure64"},{"line_number":5,"context_line":"\tkernel /boot/vmlinuz64"},{"line_number":6,"context_line":"\tinitrd /boot/corepure64.gz"},{"line_number":7,"context_line":"\tappend loglevel\u003d3"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"implicit 0"}],"source_content_type":"text/x-ttcn-cfg","patch_set":17,"id":"9a68dd71_a88ddc32","line":7,"in_reply_to":"9a68dd71_f3244eb0","updated":"2016-01-21 11:46:56.000000000","message":"Done","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"}],"ironic_python_agent/shell/copy_configdrive_to_disk.sh":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"eb4afd7323e6ae121f7a9b23dea245fc7aad75e6","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    ISO_PARTITION\u003d`sfdisk --dump $DEVICE | grep -v \u0027 0,\u0027 | tail -n1 | awk \u0027{print $1}\u0027` || fail \"finding ISO partition created on ${DEVICE}\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    # Wait for udev to pick up the partition"},{"line_number":110,"context_line":"    udevadm settle --exit-if-exists\u003d$ISO_PARTITION"},{"line_number":111,"context_line":"  fi"},{"line_number":112,"context_line":"fi"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"9a68dd71_b33ed6b6","line":110,"updated":"2016-01-20 17:31:57.000000000","message":"Curious why this is necessary... I\u0027d prefer if it were at least added to the commit message.\n\nThat said, it surely can\u0027t hurt :)","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f2842ee38973dffd33195764d7050552fc5af665","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    ISO_PARTITION\u003d`sfdisk --dump $DEVICE | grep -v \u0027 0,\u0027 | tail -n1 | awk \u0027{print $1}\u0027` || fail \"finding ISO partition created on ${DEVICE}\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    # Wait for udev to pick up the partition"},{"line_number":110,"context_line":"    udevadm settle --exit-if-exists\u003d$ISO_PARTITION"},{"line_number":111,"context_line":"  fi"},{"line_number":112,"context_line":"fi"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"9a68dd71_48354044","line":110,"in_reply_to":"9a68dd71_b33ed6b6","updated":"2016-01-21 11:46:56.000000000","message":"Not sure why this was necessary in tinyipa vs the coreos one, but in tinyipa the script was fast enough to get to the dd command below before udev had picked up the partition created above, so this is just here to make sure that everything is ready before we dd the config drive.","commit_id":"3b8da018024b3a190f42439a56046d7343d44b4f"}]}
