{"action":"created","comment":{"url":"https://api.github.com/repos/endlessm/eos-meta/pulls/comments/75722573","id":75722573,"diff_hunk":"@@ -0,0 +1,272 @@\n+#!/bin/bash -e\n+set -o pipefail\n+\n+# Writes an Endless OS image to a device (e.g., USB drive or SD card) so that it\n+# can be used both as a live system, and to install itself. The image is\n+# extracted to an exFAT partition, and is booted using a GRUB and\n+# initramfs which know how to loopback-mount the image.\n+#\n+# NOTE: the partition table will not be in physical order so Windows can mount\n+# the image partition. Additional images copied to the image partition will be\n+# detected by the installer, but will not be bootable.\n+\n+EOS_WRITE_IMAGE=$(dirname $0)/eos-write-image\n+if [ ! -f $EOS_WRITE_IMAGE ]; then\n+    EOS_WRITE_IMAGE='eos-write-image'\n+fi\n+EOS_DOWNLOAD_IMAGE=$(dirname $0)/eos-download-image\n+if [ ! -f $EOS_DOWNLOAD_IMAGE ]; then\n+    EOS_DOWNLOAD_IMAGE='eos-download-image'\n+fi\n+\n+ARGS=$(getopt -o o:x:,lnmwfh -l \"os-image:,windows-tool:,latest,ntfs,mbr,writable,force,help\" -n \"$0\" -- \"$@\")\n+eval set -- \"$ARGS\"\n+\n+usage() {\n+    cat <<EOF\n+Usage:\n+   $0 [options] DEVICE\n+\n+Arguments:\n+    DEVICE                 Device path (e.g. '/dev/sdb')\n+\n+Options:\n+   -o,--os-image PATH      Path to Endless OS image\n+   -x,--windows-tool PATH  Path to Endless OS installer tool for Windows\n+   -l,--latest             Fetch latest OS image and/or Windows tool\n+   -w,--writable           Allow image to be modified when run (which\n+                           prevents installing it later)\n+   -f,--force              don't ask to proceed before writing\n+   -h,--help               Show this message\n+\n+Developer options (you probably don't want to use these):\n+   -n,--ntfs               Format the image partition as NTFS, not exFAT\n+   -m,--mbr                Format DEVICE as MBR, not GPT (implies --ntfs)\n+EOF\n+}\n+\n+function check_exists() {\n+    if [ ! -f \"$1\" ]; then\n+        echo \"$2 $1 does not exist or is not a file\" >&2\n+        exit 1\n+    fi\n+}\n+\n+NTFS=false\n+MBR=false\n+WRITABLE=false\n+FORCE=false\n+while true; do\n+    case \"$1\" in\n+        -o|--os-image)\n+            shift\n+            OS_IMAGE=\"$1\"\n+            shift\n+            ;;\n+        -x|--windows-tool)\n+            shift\n+            WINDOWS_TOOL=\"$1\"\n+            shift\n+            ;;\n+        -l|--latest)\n+            shift\n+            FETCH_LATEST=true\n+            ;;\n+        -n|--ntfs)\n+            shift\n+            NTFS=true\n+            ;;\n+        -m|--mbr)\n+            shift\n+            MBR=true\n+            NTFS=true\n+            ;;\n+        -w|--writable)\n+            shift\n+            WRITABLE=true\n+            ;;\n+        -f|--force)\n+            shift\n+            FORCE=true\n+            ;;\n+        -h|--help)\n+            usage\n+            exit 0\n+            ;;\n+        --)\n+            shift\n+            break\n+            ;;\n+    esac\n+done\n+\n+if [ $# -lt 1 ] ; then\n+    echo \"Missing DEVICE\" >&2\n+    usage >&2\n+    exit 1\n+fi\n+\n+DEVICE=\"$1\"\n+\n+USERID=$(id -u)\n+if [ \"$USERID\" != \"0\" ]; then\n+    echo \"Program requires superuser privileges\" >&2\n+    exit 1\n+fi\n+\n+# Check for required tools\n+if $NTFS; then\n+    MKFS_IMAGES=\"mkfs.ntfs\"\n+    MKFS_ARGS='--quick -L'\n+    MKFS_PACKAGE=ntfs-3g\n+else\n+    MKFS_IMAGES=\"mkfs.exfat\"\n+    MKFS_ARGS=-n\n+    MKFS_PACKAGE=exfat-utils\n+fi\n+\n+command -v $MKFS_IMAGES >/dev/null || {\n+    echo \"$MKFS_IMAGES is not installed... aborting!\" >&2\n+    echo \"Try 'sudo apt-get install $MKFS_PACKAGE'\" >&2\n+    exit 1\n+}\n+\n+command -v dd >/dev/null || {\n+    echo \"dd is not installed... aborting!\" >&2\n+    echo \"Try 'sudo apt-get install coreutils'\" >&2\n+    exit 1\n+}\n+\n+command -v unzip >/dev/null || {\n+    echo \"unzip is not installed... aborting!\" >&2\n+    echo \"Try 'sudo apt-get install unzip'\" >&2\n+    exit 1\n+}\n+\n+if test \\! -b $DEVICE; then\n+    echo \"$DEVICE does not exist or is not a block device... aborting!\" >&2\n+    exit 1\n+fi\n+\n+if grep -qs $DEVICE /proc/mounts; then\n+    # Protect against overwriting the device currently in use\n+    echo \"$DEVICE is currently in use -- please unmount and try again\" >&2\n+    exit 1\n+fi\n+\n+if ! $FORCE; then\n+    read -p \"Are you sure you want to overwrite all data on $DEVICE? [y/N] \"\n+    response=${REPLY,,} # to lower\n+    if [[ ! $response =~ ^(yes|y)$ ]]; then\n+        exit 1\n+    fi\n+fi\n+\n+if [ ! -z \"$FETCH_LATEST\" ]; then\n+    if [ -z \"$OS_IMAGE\" ]; then\n+        OS_IMAGE=$($EOS_DOWNLOAD_IMAGE --product eos)\n+    fi\n+    if [ -z \"$WINDOWS_TOOL\" ]; then\n+        WINDOWS_TOOL=$($EOS_DOWNLOAD_IMAGE --windows-tool)\n+    fi\n+fi\n+\n+if [ ! -f \"$WINDOWS_TOOL\" -o ! -f \"$OS_IMAGE\" ]; then\n+    echo \"--os-image and --windows-tool are required if --latest is not specified\" >&2\n+    usage >&2\n+    exit 2\n+fi\n+\n+check_exists \"$OS_IMAGE\" \"image\"\n+\n+EXTRACTED_SIGNATURE=\"${OS_IMAGE%.gz}.asc\"\n+check_exists \"$EXTRACTED_SIGNATURE\" \"uncompressed image signature\"\n+\n+BOOT_ZIP=\"${OS_IMAGE%.img.gz}.boot.zip\"\n+check_exists \"$BOOT_ZIP\" \"bootloader bundle\"\n+check_exists \"$BOOT_ZIP.asc\" \"bootloader bundle signature\"\n+\n+check_exists \"$WINDOWS_TOOL\" \"Windows tool\"\n+\n+echo\n+echo \"Partitioning $DEVICE...\"\n+\n+DEVICE_IMAGES=\"${DEVICE}1\"\n+if $MBR; then\n+    (\n+        echo \"1 : type=07\"\n+    ) | sfdisk --label dos $DEVICE\n+else\n+    # https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs\n+    PARTITION_SYSTEM_GUID=\"c12a7328-f81f-11d2-ba4b-00a0c93ec93b\"\n+    PARTITION_BIOS_BOOT_GUID=\"21686148-6449-6E6F-744E-656564454649\"\n+    PARTITION_BASIC_DATA_GUID=\"ebd0a0a2-b9e5-4433-87c0-68b6b72699c7\"\n+\n+    # We want the data partition, \"eosimages\", to occupy all the space on the disk\n+    # after the UEFI and BIOS boot partitions. But, we also want it to be numbered\n+    # first: apparently Windows will only mount the partition numbered first,\n+    # regardless of where it is on the disk.\n+    DEVICE_EFI=\"${DEVICE}2\"\n+    DEVICE_BIOS=\"${DEVICE}3\"\n+    (\n+        echo \"2 : start=2048, size=62MiB, type=$PARTITION_SYSTEM_GUID\"\n+        echo \"3 : size=1MiB, type=$PARTITION_BIOS_BOOT_GUID\"\n+        echo \"1 : name=eosimages, type=$PARTITION_BASIC_DATA_GUID\"\n+    ) | sfdisk --label gpt $DEVICE\n+fi\n+\n+partprobe\n+udevadm settle\n+\n+echo\n+echo \"Creating partitions\"\n+if ! $MBR; then\n+    mkfs.vfat -n efi \"${DEVICE_EFI}\"\n+fi\n+$MKFS_IMAGES $MKFS_ARGS eosimages \"${DEVICE_IMAGES}\"\n+\n+# Give udisks a chance to notice the new partitions\n+partprobe\n+udevadm settle\n+\n+udisks_mount() {\n+    udisksctl mount -b \"$1\" --no-user-interaction >&2\n+    MOUNT_POINT=$(udisksctl info -b \"$1\" | grep \"MountPoints:\" | cut -f2 -d':')\n+    test -d \"$MOUNTPOINT\"\n+    echo $MOUNT_POINT\n+}","path":"eos-tech-support/eos-write-live","position":237,"original_position":237,"commit_id":"5e55a0db94050573090bcb9cfbbf66cc96384239","original_commit_id":"5e55a0db94050573090bcb9cfbbf66cc96384239","user":{"login":"dbnicholson","id":6495518,"avatar_url":"https://avatars.githubusercontent.com/u/6495518?v=3","gravatar_id":"","url":"https://api.github.com/users/dbnicholson","html_url":"https://github.com/dbnicholson","followers_url":"https://api.github.com/users/dbnicholson/followers","following_url":"https://api.github.com/users/dbnicholson/following{/other_user}","gists_url":"https://api.github.com/users/dbnicholson/gists{/gist_id}","starred_url":"https://api.github.com/users/dbnicholson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dbnicholson/subscriptions","organizations_url":"https://api.github.com/users/dbnicholson/orgs","repos_url":"https://api.github.com/users/dbnicholson/repos","events_url":"https://api.github.com/users/dbnicholson/events{/privacy}","received_events_url":"https://api.github.com/users/dbnicholson/received_events","type":"User","site_admin":false},"body":"I guess you're using udisks for mounting to make sure that all mount points get unmounted if udisks decides to mount it. However, in that case, should you check if it's mounted first before calling `udiskctl mount`?","created_at":"2016-08-22T17:39:19Z","updated_at":"2016-08-22T17:39:19Z","html_url":"https://github.com/endlessm/eos-meta/pull/293#discussion_r75722573","pull_request_url":"https://api.github.com/repos/endlessm/eos-meta/pulls/293","_links":{"self":{"href":"https://api.github.com/repos/endlessm/eos-meta/pulls/comments/75722573"},"html":{"href":"https://github.com/endlessm/eos-meta/pull/293#discussion_r75722573"},"pull_request":{"href":"https://api.github.com/repos/endlessm/eos-meta/pulls/293"}}},"pull_request":{"url":"https://api.github.com/repos/endlessm/eos-meta/pulls/293","id":82211639,"html_url":"https://github.com/endlessm/eos-meta/pull/293","diff_url":"https://github.com/endlessm/eos-meta/pull/293.diff","patch_url":"https://github.com/endlessm/eos-meta/pull/293.patch","issue_url":"https://api.github.com/repos/endlessm/eos-meta/issues/293","number":293,"state":"open","locked":false,"title":"Add eos-write-live","user":{"login":"wjt","id":86760,"avatar_url":"https://avatars.githubusercontent.com/u/86760?v=3","gravatar_id":"","url":"https://api.github.com/users/wjt","html_url":"https://github.com/wjt","followers_url":"https://api.github.com/users/wjt/followers","following_url":"https://api.github.com/users/wjt/following{/other_user}","gists_url":"https://api.github.com/users/wjt/gists{/gist_id}","starred_url":"https://api.github.com/users/wjt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wjt/subscriptions","organizations_url":"https://api.github.com/users/wjt/orgs","repos_url":"https://api.github.com/users/wjt/repos","events_url":"https://api.github.com/users/wjt/events{/privacy}","received_events_url":"https://api.github.com/users/wjt/received_events","type":"User","site_admin":false},"body":"https://phabricator.endlessm.com/T12549\r\nhttps://phabricator.endlessm.com/T12753","created_at":"2016-08-22T15:27:18Z","updated_at":"2016-08-22T17:39:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"590272de37c7bcd2fa99d123c69fac52a90ee7ef","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/endlessm/eos-meta/pulls/293/commits","review_comments_url":"https://api.github.com/repos/endlessm/eos-meta/pulls/293/comments","review_comment_url":"https://api.github.com/repos/endlessm/eos-meta/pulls/comments{/number}","comments_url":"https://api.github.com/repos/endlessm/eos-meta/issues/293/comments","statuses_url":"https://api.github.com/repos/endlessm/eos-meta/statuses/5e55a0db94050573090bcb9cfbbf66cc96384239","head":{"label":"endlessm:T12549","ref":"T12549","sha":"5e55a0db94050573090bcb9cfbbf66cc96384239","user":{"login":"endlessm","id":1930958,"avatar_url":"https://avatars.githubusercontent.com/u/1930958?v=3","gravatar_id":"","url":"https://api.github.com/users/endlessm","html_url":"https://github.com/endlessm","followers_url":"https://api.github.com/users/endlessm/followers","following_url":"https://api.github.com/users/endlessm/following{/other_user}","gists_url":"https://api.github.com/users/endlessm/gists{/gist_id}","starred_url":"https://api.github.com/users/endlessm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endlessm/subscriptions","organizations_url":"https://api.github.com/users/endlessm/orgs","repos_url":"https://api.github.com/users/endlessm/repos","events_url":"https://api.github.com/users/endlessm/events{/privacy}","received_events_url":"https://api.github.com/users/endlessm/received_events","type":"Organization","site_admin":false},"repo":{"id":13453106,"name":"eos-meta","full_name":"endlessm/eos-meta","owner":{"login":"endlessm","id":1930958,"avatar_url":"https://avatars.githubusercontent.com/u/1930958?v=3","gravatar_id":"","url":"https://api.github.com/users/endlessm","html_url":"https://github.com/endlessm","followers_url":"https://api.github.com/users/endlessm/followers","following_url":"https://api.github.com/users/endlessm/following{/other_user}","gists_url":"https://api.github.com/users/endlessm/gists{/gist_id}","starred_url":"https://api.github.com/users/endlessm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endlessm/subscriptions","organizations_url":"https://api.github.com/users/endlessm/orgs","repos_url":"https://api.github.com/users/endlessm/repos","events_url":"https://api.github.com/users/endlessm/events{/privacy}","received_events_url":"https://api.github.com/users/endlessm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/endlessm/eos-meta","description":"Repository for keeping track of changes to the main meta-package for OBS","fork":false,"url":"https://api.github.com/repos/endlessm/eos-meta","forks_url":"https://api.github.com/repos/endlessm/eos-meta/forks","keys_url":"https://api.github.com/repos/endlessm/eos-meta/keys{/key_id}","collaborators_url":"https://api.github.com/repos/endlessm/eos-meta/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/endlessm/eos-meta/teams","hooks_url":"https://api.github.com/repos/endlessm/eos-meta/hooks","issue_events_url":"https://api.github.com/repos/endlessm/eos-meta/issues/events{/number}","events_url":"https://api.github.com/repos/endlessm/eos-meta/events","assignees_url":"https://api.github.com/repos/endlessm/eos-meta/assignees{/user}","branches_url":"https://api.github.com/repos/endlessm/eos-meta/branches{/branch}","tags_url":"https://api.github.com/repos/endlessm/eos-meta/tags","blobs_url":"https://api.github.com/repos/endlessm/eos-meta/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/endlessm/eos-meta/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/endlessm/eos-meta/git/refs{/sha}","trees_url":"https://api.github.com/repos/endlessm/eos-meta/git/trees{/sha}","statuses_url":"https://api.github.com/repos/endlessm/eos-meta/statuses/{sha}","languages_url":"https://api.github.com/repos/endlessm/eos-meta/languages","stargazers_url":"https://api.github.com/repos/endlessm/eos-meta/stargazers","contributors_url":"https://api.github.com/repos/endlessm/eos-meta/contributors","subscribers_url":"https://api.github.com/repos/endlessm/eos-meta/subscribers","subscription_url":"https://api.github.com/repos/endlessm/eos-meta/subscription","commits_url":"https://api.github.com/repos/endlessm/eos-meta/commits{/sha}","git_commits_url":"https://api.github.com/repos/endlessm/eos-meta/git/commits{/sha}","comments_url":"https://api.github.com/repos/endlessm/eos-meta/comments{/number}","issue_comment_url":"https://api.github.com/repos/endlessm/eos-meta/issues/comments{/number}","contents_url":"https://api.github.com/repos/endlessm/eos-meta/contents/{+path}","compare_url":"https://api.github.com/repos/endlessm/eos-meta/compare/{base}...{head}","merges_url":"https://api.github.com/repos/endlessm/eos-meta/merges","archive_url":"https://api.github.com/repos/endlessm/eos-meta/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/endlessm/eos-meta/downloads","issues_url":"https://api.github.com/repos/endlessm/eos-meta/issues{/number}","pulls_url":"https://api.github.com/repos/endlessm/eos-meta/pulls{/number}","milestones_url":"https://api.github.com/repos/endlessm/eos-meta/milestones{/number}","notifications_url":"https://api.github.com/repos/endlessm/eos-meta/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/endlessm/eos-meta/labels{/name}","releases_url":"https://api.github.com/repos/endlessm/eos-meta/releases{/id}","deployments_url":"https://api.github.com/repos/endlessm/eos-meta/deployments","created_at":"2013-10-09T20:19:08Z","updated_at":"2016-01-12T14:23:09Z","pushed_at":"2016-08-22T15:39:59Z","git_url":"git://github.com/endlessm/eos-meta.git","ssh_url":"git@github.com:endlessm/eos-meta.git","clone_url":"https://github.com/endlessm/eos-meta.git","svn_url":"https://github.com/endlessm/eos-meta","homepage":null,"size":4460,"stargazers_count":0,"watchers_count":0,"language":"Shell","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":3,"forks":2,"open_issues":3,"watchers":0,"default_branch":"master"}},"base":{"label":"endlessm:master","ref":"master","sha":"1a87aee243945208104452e88ad15f27a14dd473","user":{"login":"endlessm","id":1930958,"avatar_url":"https://avatars.githubusercontent.com/u/1930958?v=3","gravatar_id":"","url":"https://api.github.com/users/endlessm","html_url":"https://github.com/endlessm","followers_url":"https://api.github.com/users/endlessm/followers","following_url":"https://api.github.com/users/endlessm/following{/other_user}","gists_url":"https://api.github.com/users/endlessm/gists{/gist_id}","starred_url":"https://api.github.com/users/endlessm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endlessm/subscriptions","organizations_url":"https://api.github.com/users/endlessm/orgs","repos_url":"https://api.github.com/users/endlessm/repos","events_url":"https://api.github.com/users/endlessm/events{/privacy}","received_events_url":"https://api.github.com/users/endlessm/received_events","type":"Organization","site_admin":false},"repo":{"id":13453106,"name":"eos-meta","full_name":"endlessm/eos-meta","owner":{"login":"endlessm","id":1930958,"avatar_url":"https://avatars.githubusercontent.com/u/1930958?v=3","gravatar_id":"","url":"https://api.github.com/users/endlessm","html_url":"https://github.com/endlessm","followers_url":"https://api.github.com/users/endlessm/followers","following_url":"https://api.github.com/users/endlessm/following{/other_user}","gists_url":"https://api.github.com/users/endlessm/gists{/gist_id}","starred_url":"https://api.github.com/users/endlessm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endlessm/subscriptions","organizations_url":"https://api.github.com/users/endlessm/orgs","repos_url":"https://api.github.com/users/endlessm/repos","events_url":"https://api.github.com/users/endlessm/events{/privacy}","received_events_url":"https://api.github.com/users/endlessm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/endlessm/eos-meta","description":"Repository for keeping track of changes to the main meta-package for OBS","fork":false,"url":"https://api.github.com/repos/endlessm/eos-meta","forks_url":"https://api.github.com/repos/endlessm/eos-meta/forks","keys_url":"https://api.github.com/repos/endlessm/eos-meta/keys{/key_id}","collaborators_url":"https://api.github.com/repos/endlessm/eos-meta/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/endlessm/eos-meta/teams","hooks_url":"https://api.github.com/repos/endlessm/eos-meta/hooks","issue_events_url":"https://api.github.com/repos/endlessm/eos-meta/issues/events{/number}","events_url":"https://api.github.com/repos/endlessm/eos-meta/events","assignees_url":"https://api.github.com/repos/endlessm/eos-meta/assignees{/user}","branches_url":"https://api.github.com/repos/endlessm/eos-meta/branches{/branch}","tags_url":"https://api.github.com/repos/endlessm/eos-meta/tags","blobs_url":"https://api.github.com/repos/endlessm/eos-meta/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/endlessm/eos-meta/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/endlessm/eos-meta/git/refs{/sha}","trees_url":"https://api.github.com/repos/endlessm/eos-meta/git/trees{/sha}","statuses_url":"https://api.github.com/repos/endlessm/eos-meta/statuses/{sha}","languages_url":"https://api.github.com/repos/endlessm/eos-meta/languages","stargazers_url":"https://api.github.com/repos/endlessm/eos-meta/stargazers","contributors_url":"https://api.github.com/repos/endlessm/eos-meta/contributors","subscribers_url":"https://api.github.com/repos/endlessm/eos-meta/subscribers","subscription_url":"https://api.github.com/repos/endlessm/eos-meta/subscription","commits_url":"https://api.github.com/repos/endlessm/eos-meta/commits{/sha}","git_commits_url":"https://api.github.com/repos/endlessm/eos-meta/git/commits{/sha}","comments_url":"https://api.github.com/repos/endlessm/eos-meta/comments{/number}","issue_comment_url":"https://api.github.com/repos/endlessm/eos-meta/issues/comments{/number}","contents_url":"https://api.github.com/repos/endlessm/eos-meta/contents/{+path}","compare_url":"https://api.github.com/repos/endlessm/eos-meta/compare/{base}...{head}","merges_url":"https://api.github.com/repos/endlessm/eos-meta/merges","archive_url":"https://api.github.com/repos/endlessm/eos-meta/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/endlessm/eos-meta/downloads","issues_url":"https://api.github.com/repos/endlessm/eos-meta/issues{/number}","pulls_url":"https://api.github.com/repos/endlessm/eos-meta/pulls{/number}","milestones_url":"https://api.github.com/repos/endlessm/eos-meta/milestones{/number}","notifications_url":"https://api.github.com/repos/endlessm/eos-meta/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/endlessm/eos-meta/labels{/name}","releases_url":"https://api.github.com/repos/endlessm/eos-meta/releases{/id}","deployments_url":"https://api.github.com/repos/endlessm/eos-meta/deployments","created_at":"2013-10-09T20:19:08Z","updated_at":"2016-01-12T14:23:09Z","pushed_at":"2016-08-22T15:39:59Z","git_url":"git://github.com/endlessm/eos-meta.git","ssh_url":"git@github.com:endlessm/eos-meta.git","clone_url":"https://github.com/endlessm/eos-meta.git","svn_url":"https://github.com/endlessm/eos-meta","homepage":null,"size":4460,"stargazers_count":0,"watchers_count":0,"language":"Shell","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":3,"forks":2,"open_issues":3,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/endlessm/eos-meta/pulls/293"},"html":{"href":"https://github.com/endlessm/eos-meta/pull/293"},"issue":{"href":"https://api.github.com/repos/endlessm/eos-meta/issues/293"},"comments":{"href":"https://api.github.com/repos/endlessm/eos-meta/issues/293/comments"},"review_comments":{"href":"https://api.github.com/repos/endlessm/eos-meta/pulls/293/comments"},"review_comment":{"href":"https://api.github.com/repos/endlessm/eos-meta/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/endlessm/eos-meta/pulls/293/commits"},"statuses":{"href":"https://api.github.com/repos/endlessm/eos-meta/statuses/5e55a0db94050573090bcb9cfbbf66cc96384239"}}}}
{"actor":{"display_login":"dbnicholson"}}