{"action":"created","comment":{"url":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/comments/40779998","id":40779998,"diff_hunk":"@@ -4624,8 +4639,200 @@ install_opensuse_check_services() {\n \n #######################################################################################################################\n #\n-#    SuSE Install Functions.\n+#   SUSE Enterprise 12\n #\n+\n+install_suse_12_stable_deps() {\n+    SUSE_PATCHLEVEL=$(awk '/PATCHLEVEL/ {print $3}' /etc/SuSE-release )\n+\n+    if [ \"${SUSE_PATCHLEVEL}\" != \"\" ]; then\n+        DISTRO_PATCHLEVEL=\"_SP${SUSE_PATCHLEVEL}\"\n+    fi\n+\n+    # SLES 12 repo name does not use a patch level so PATCHLEVEL will need to be updated with SP1\n+    #DISTRO_REPO=\"SLE_${DISTRO_MAJOR_VERSION}${DISTRO_PATCHLEVEL}\"\n+\n+    DISTRO_REPO=\"SLE_${DISTRO_MAJOR_VERSION}\"\n+\n+    # Is the repository already known\n+    __zypper repos | grep devel_languages_python >/dev/null 2>&1\n+    if [ $? -eq 1 ]; then\n+        # zypper does not yet know nothing about devel_languages_python\n+        __zypper addrepo --refresh \\\n+            \"http://download.opensuse.org/repositories/devel:/languages:/python/${DISTRO_REPO}/devel:languages:python.repo\" || return 1\n+    fi\n+\n+    __zypper --gpg-auto-import-keys refresh || return 1\n+\n+    if [ \"$_UPGRADE_SYS\" -eq $BS_TRUE ]; then\n+        __zypper --gpg-auto-import-keys update || return 1\n+    fi\n+\n+    # Salt needs python-zypp installed in order to use the zypper module\n+    __PACKAGES=\"python-zypp\"\n+    # shellcheck disable=SC2089\n+    __PACKAGES=\"${__PACKAGES} libzmq3 python python-Jinja2 python-msgpack-python\"\n+    __PACKAGES=\"${__PACKAGES} python-pycrypto python-pyzmq python-pip python-xml python-requests\"\n+\n+    if [ \"$SUSE_PATCHLEVEL\" -eq 1 ]; then\n+        check_pip_allowed\n+        echowarn \"PyYaml will be installed using pip\"\n+    else\n+        __PACKAGES=\"${__PACKAGES} python-PyYAML\"\n+    fi\n+\n+    if [ \"$_INSTALL_CLOUD\" -eq $BS_TRUE ]; then\n+        __PACKAGES=\"${__PACKAGES} python-apache-libcloud\"\n+    fi\n+\n+    # SLES 11 SP3 ships with both python-M2Crypto-0.22.* and python-m2crypto-0.21 and we will be asked which\n+    # we want to install, even with --non-interactive.\n+    # Let's try to install the higher version first and then the lower one in case of failure\n+    __zypper_install 'python-M2Crypto>=0.22' || __zypper_install 'python-M2Crypto>=0.21' || return 1\n+    # shellcheck disable=SC2086,SC2090\n+    __zypper_install ${__PACKAGES} || return 1\n+\n+    if [ \"$SUSE_PATCHLEVEL\" -eq 1 ]; then\n+        # There's no python-PyYaml in SP1, let's install it using pip\n+        pip install PyYaml || return 1\n+    fi\n+\n+    # PIP based installs need to copy configuration files \"by hand\".\n+    if [ \"$SUSE_PATCHLEVEL\" -eq 1 ]; then\n+        # Let's trigger config_salt()\n+        if [ \"$_TEMP_CONFIG_DIR\" = \"null\" ]; then\n+            # Let's set the configuration directory to /tmp\n+            _TEMP_CONFIG_DIR=\"/tmp\"\n+            CONFIG_SALT_FUNC=\"config_salt\"\n+\n+            for fname in minion master syndic api; do\n+\n+                # Skip if not meant to be installed\n+                [ $fname = \"minion\" ] && [ \"$_INSTALL_MINION\" -eq $BS_FALSE ] && continue\n+                [ $fname = \"master\" ] && [ \"$_INSTALL_MASTER\" -eq $BS_FALSE ] && continue\n+                [ $fname = \"api\" ] && ([ \"$_INSTALL_MASTER\" -eq $BS_FALSE ] || [ \"$(which salt-${fname} 2>/dev/null)\" = \"\" ]) && continue\n+                [ $fname = \"syndic\" ] && [ \"$_INSTALL_SYNDIC\" -eq $BS_FALSE ] && continue\n+\n+                # Syndic uses the same configuration file as the master\n+                [ $fname = \"syndic\" ] && fname=master\n+\n+                # Let's download, since they were not provided, the default configuration files\n+                if [ ! -f \"$_SALT_ETC_DIR/$fname\" ] && [ ! -f \"$_TEMP_CONFIG_DIR/$fname\" ]; then\n+                    # shellcheck disable=SC2086\n+                    curl $_CURL_ARGS -s -o \"$_TEMP_CONFIG_DIR/$fname\" -L \\\n+                        \"https://raw.githubusercontent.com/saltstack/salt/develop/conf/$fname\" || return 1\n+                fi\n+            done\n+        fi\n+    fi\n+\n+    if [ \"${_EXTRA_PACKAGES}\" != \"\" ]; then\n+        echoinfo \"Installing the following extra packages as requested: ${_EXTRA_PACKAGES}\"\n+        # shellcheck disable=SC2086\n+        __zypper_install ${_EXTRA_PACKAGES} || return 1\n+    fi\n+\n+    return 0\n+}\n+\n+install_suse_12_git_deps() {\n+    install_suse_11_stable_deps || return 1\n+\n+    if [ \"$(which git)\" = \"\" ]; then\n+        __zypper_install git  || return 1\n+    fi\n+\n+    __git_clone_and_checkout || return 1\n+\n+    if [ -f \"${__SALT_GIT_CHECKOUT_DIR}/requirements/base.txt\" ]; then\n+        # We're on the develop branch, install whichever tornado is on the requirements file\n+        __REQUIRED_TORNADO=\"$(grep tornado \"${__SALT_GIT_CHECKOUT_DIR}/requirements/base.txt\")\"\n+        if [ \"${__REQUIRED_TORNADO}\" != \"\" ]; then\n+            __zypper_install python-tornado\n+        fi\n+    fi\n+\n+    # Let's trigger config_salt()\n+    if [ \"$_TEMP_CONFIG_DIR\" = \"null\" ]; then\n+        _TEMP_CONFIG_DIR=\"${__SALT_GIT_CHECKOUT_DIR}/conf/\"\n+        CONFIG_SALT_FUNC=\"config_salt\"\n+    fi\n+\n+    return 0\n+}\n+\n+install_suse_12_stable() {\n+    if [ \"$SUSE_PATCHLEVEL\" -gt 1 ]; then\n+        install_opensuse_stable || return 1\n+    else\n+        # USE_SETUPTOOLS=1 To work around\n+        # error: option --single-version-externally-managed not recognized\n+        USE_SETUPTOOLS=1 pip install salt || return 1","path":"bootstrap-salt.sh","position":189,"original_position":189,"commit_id":"9d08e8bab553c4915bd3644f0bd58ac3d8f49fee","original_commit_id":"9d08e8bab553c4915bd3644f0bd58ac3d8f49fee","user":{"login":"s0undt3ch","id":300048,"avatar_url":"https://avatars.githubusercontent.com/u/300048?v=3","gravatar_id":"","url":"https://api.github.com/users/s0undt3ch","html_url":"https://github.com/s0undt3ch","followers_url":"https://api.github.com/users/s0undt3ch/followers","following_url":"https://api.github.com/users/s0undt3ch/following{/other_user}","gists_url":"https://api.github.com/users/s0undt3ch/gists{/gist_id}","starred_url":"https://api.github.com/users/s0undt3ch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/s0undt3ch/subscriptions","organizations_url":"https://api.github.com/users/s0undt3ch/orgs","repos_url":"https://api.github.com/users/s0undt3ch/repos","events_url":"https://api.github.com/users/s0undt3ch/events{/privacy}","received_events_url":"https://api.github.com/users/s0undt3ch/received_events","type":"User","site_admin":false},"body":"The openSUSE stable packages don't work in SuSE? Why are we pip installing here?","created_at":"2015-09-30T10:38:18Z","updated_at":"2015-09-30T10:38:18Z","html_url":"https://github.com/saltstack/salt-bootstrap/pull/662#discussion_r40779998","pull_request_url":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/662","_links":{"self":{"href":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/comments/40779998"},"html":{"href":"https://github.com/saltstack/salt-bootstrap/pull/662#discussion_r40779998"},"pull_request":{"href":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/662"}}},"pull_request":{"url":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/662","id":46288529,"html_url":"https://github.com/saltstack/salt-bootstrap/pull/662","diff_url":"https://github.com/saltstack/salt-bootstrap/pull/662.diff","patch_url":"https://github.com/saltstack/salt-bootstrap/pull/662.patch","issue_url":"https://api.github.com/repos/saltstack/salt-bootstrap/issues/662","number":662,"state":"open","locked":false,"title":"RedHat based distros now point to SaltStack corporate repo. ","user":{"login":"grep4linux","id":4633821,"avatar_url":"https://avatars.githubusercontent.com/u/4633821?v=3","gravatar_id":"","url":"https://api.github.com/users/grep4linux","html_url":"https://github.com/grep4linux","followers_url":"https://api.github.com/users/grep4linux/followers","following_url":"https://api.github.com/users/grep4linux/following{/other_user}","gists_url":"https://api.github.com/users/grep4linux/gists{/gist_id}","starred_url":"https://api.github.com/users/grep4linux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grep4linux/subscriptions","organizations_url":"https://api.github.com/users/grep4linux/orgs","repos_url":"https://api.github.com/users/grep4linux/repos","events_url":"https://api.github.com/users/grep4linux/events{/privacy}","received_events_url":"https://api.github.com/users/grep4linux/received_events","type":"User","site_admin":false},"body":"Added SLE 12 support. Fixed OpenSUSE.","created_at":"2015-09-29T14:59:21Z","updated_at":"2015-09-30T10:38:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"05c0776b3ff7013b76372b945f96f0dbd4d1c857","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/662/commits","review_comments_url":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/662/comments","review_comment_url":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/comments{/number}","comments_url":"https://api.github.com/repos/saltstack/salt-bootstrap/issues/662/comments","statuses_url":"https://api.github.com/repos/saltstack/salt-bootstrap/statuses/9d08e8bab553c4915bd3644f0bd58ac3d8f49fee","head":{"label":"grep4linux:saltstackrepos/develop","ref":"saltstackrepos/develop","sha":"9d08e8bab553c4915bd3644f0bd58ac3d8f49fee","user":{"login":"grep4linux","id":4633821,"avatar_url":"https://avatars.githubusercontent.com/u/4633821?v=3","gravatar_id":"","url":"https://api.github.com/users/grep4linux","html_url":"https://github.com/grep4linux","followers_url":"https://api.github.com/users/grep4linux/followers","following_url":"https://api.github.com/users/grep4linux/following{/other_user}","gists_url":"https://api.github.com/users/grep4linux/gists{/gist_id}","starred_url":"https://api.github.com/users/grep4linux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grep4linux/subscriptions","organizations_url":"https://api.github.com/users/grep4linux/orgs","repos_url":"https://api.github.com/users/grep4linux/repos","events_url":"https://api.github.com/users/grep4linux/events{/privacy}","received_events_url":"https://api.github.com/users/grep4linux/received_events","type":"User","site_admin":false},"repo":{"id":43365175,"name":"salt-bootstrap","full_name":"grep4linux/salt-bootstrap","owner":{"login":"grep4linux","id":4633821,"avatar_url":"https://avatars.githubusercontent.com/u/4633821?v=3","gravatar_id":"","url":"https://api.github.com/users/grep4linux","html_url":"https://github.com/grep4linux","followers_url":"https://api.github.com/users/grep4linux/followers","following_url":"https://api.github.com/users/grep4linux/following{/other_user}","gists_url":"https://api.github.com/users/grep4linux/gists{/gist_id}","starred_url":"https://api.github.com/users/grep4linux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grep4linux/subscriptions","organizations_url":"https://api.github.com/users/grep4linux/orgs","repos_url":"https://api.github.com/users/grep4linux/repos","events_url":"https://api.github.com/users/grep4linux/events{/privacy}","received_events_url":"https://api.github.com/users/grep4linux/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/grep4linux/salt-bootstrap","description":"Generic Salt Bootstrap Script","fork":true,"url":"https://api.github.com/repos/grep4linux/salt-bootstrap","forks_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/forks","keys_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/teams","hooks_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/hooks","issue_events_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/issues/events{/number}","events_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/events","assignees_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/assignees{/user}","branches_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/branches{/branch}","tags_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/tags","blobs_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/git/refs{/sha}","trees_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/statuses/{sha}","languages_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/languages","stargazers_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/stargazers","contributors_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/contributors","subscribers_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/subscribers","subscription_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/subscription","commits_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/commits{/sha}","git_commits_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/git/commits{/sha}","comments_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/comments{/number}","issue_comment_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/issues/comments{/number}","contents_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/contents/{+path}","compare_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/merges","archive_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/downloads","issues_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/issues{/number}","pulls_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/pulls{/number}","milestones_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/milestones{/number}","notifications_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/labels{/name}","releases_url":"https://api.github.com/repos/grep4linux/salt-bootstrap/releases{/id}","created_at":"2015-09-29T12:11:51Z","updated_at":"2015-09-29T12:11:52Z","pushed_at":"2015-09-29T14:58:15Z","git_url":"git://github.com/grep4linux/salt-bootstrap.git","ssh_url":"git@github.com:grep4linux/salt-bootstrap.git","clone_url":"https://github.com/grep4linux/salt-bootstrap.git","svn_url":"https://github.com/grep4linux/salt-bootstrap","homepage":"","size":5407,"stargazers_count":0,"watchers_count":0,"language":"Shell","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"saltstack:develop","ref":"develop","sha":"a8d4992393457718fe7528323fc94127cf5a3345","user":{"login":"saltstack","id":1147473,"avatar_url":"https://avatars.githubusercontent.com/u/1147473?v=3","gravatar_id":"","url":"https://api.github.com/users/saltstack","html_url":"https://github.com/saltstack","followers_url":"https://api.github.com/users/saltstack/followers","following_url":"https://api.github.com/users/saltstack/following{/other_user}","gists_url":"https://api.github.com/users/saltstack/gists{/gist_id}","starred_url":"https://api.github.com/users/saltstack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saltstack/subscriptions","organizations_url":"https://api.github.com/users/saltstack/orgs","repos_url":"https://api.github.com/users/saltstack/repos","events_url":"https://api.github.com/users/saltstack/events{/privacy}","received_events_url":"https://api.github.com/users/saltstack/received_events","type":"Organization","site_admin":false},"repo":{"id":6910286,"name":"salt-bootstrap","full_name":"saltstack/salt-bootstrap","owner":{"login":"saltstack","id":1147473,"avatar_url":"https://avatars.githubusercontent.com/u/1147473?v=3","gravatar_id":"","url":"https://api.github.com/users/saltstack","html_url":"https://github.com/saltstack","followers_url":"https://api.github.com/users/saltstack/followers","following_url":"https://api.github.com/users/saltstack/following{/other_user}","gists_url":"https://api.github.com/users/saltstack/gists{/gist_id}","starred_url":"https://api.github.com/users/saltstack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saltstack/subscriptions","organizations_url":"https://api.github.com/users/saltstack/orgs","repos_url":"https://api.github.com/users/saltstack/repos","events_url":"https://api.github.com/users/saltstack/events{/privacy}","received_events_url":"https://api.github.com/users/saltstack/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/saltstack/salt-bootstrap","description":"Generic Salt Bootstrap Script","fork":false,"url":"https://api.github.com/repos/saltstack/salt-bootstrap","forks_url":"https://api.github.com/repos/saltstack/salt-bootstrap/forks","keys_url":"https://api.github.com/repos/saltstack/salt-bootstrap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/saltstack/salt-bootstrap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/saltstack/salt-bootstrap/teams","hooks_url":"https://api.github.com/repos/saltstack/salt-bootstrap/hooks","issue_events_url":"https://api.github.com/repos/saltstack/salt-bootstrap/issues/events{/number}","events_url":"https://api.github.com/repos/saltstack/salt-bootstrap/events","assignees_url":"https://api.github.com/repos/saltstack/salt-bootstrap/assignees{/user}","branches_url":"https://api.github.com/repos/saltstack/salt-bootstrap/branches{/branch}","tags_url":"https://api.github.com/repos/saltstack/salt-bootstrap/tags","blobs_url":"https://api.github.com/repos/saltstack/salt-bootstrap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/saltstack/salt-bootstrap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/saltstack/salt-bootstrap/git/refs{/sha}","trees_url":"https://api.github.com/repos/saltstack/salt-bootstrap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/saltstack/salt-bootstrap/statuses/{sha}","languages_url":"https://api.github.com/repos/saltstack/salt-bootstrap/languages","stargazers_url":"https://api.github.com/repos/saltstack/salt-bootstrap/stargazers","contributors_url":"https://api.github.com/repos/saltstack/salt-bootstrap/contributors","subscribers_url":"https://api.github.com/repos/saltstack/salt-bootstrap/subscribers","subscription_url":"https://api.github.com/repos/saltstack/salt-bootstrap/subscription","commits_url":"https://api.github.com/repos/saltstack/salt-bootstrap/commits{/sha}","git_commits_url":"https://api.github.com/repos/saltstack/salt-bootstrap/git/commits{/sha}","comments_url":"https://api.github.com/repos/saltstack/salt-bootstrap/comments{/number}","issue_comment_url":"https://api.github.com/repos/saltstack/salt-bootstrap/issues/comments{/number}","contents_url":"https://api.github.com/repos/saltstack/salt-bootstrap/contents/{+path}","compare_url":"https://api.github.com/repos/saltstack/salt-bootstrap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/saltstack/salt-bootstrap/merges","archive_url":"https://api.github.com/repos/saltstack/salt-bootstrap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/saltstack/salt-bootstrap/downloads","issues_url":"https://api.github.com/repos/saltstack/salt-bootstrap/issues{/number}","pulls_url":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls{/number}","milestones_url":"https://api.github.com/repos/saltstack/salt-bootstrap/milestones{/number}","notifications_url":"https://api.github.com/repos/saltstack/salt-bootstrap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/saltstack/salt-bootstrap/labels{/name}","releases_url":"https://api.github.com/repos/saltstack/salt-bootstrap/releases{/id}","created_at":"2012-11-28T21:30:33Z","updated_at":"2015-09-29T18:17:33Z","pushed_at":"2015-09-29T14:59:21Z","git_url":"git://github.com/saltstack/salt-bootstrap.git","ssh_url":"git@github.com:saltstack/salt-bootstrap.git","clone_url":"https://github.com/saltstack/salt-bootstrap.git","svn_url":"https://github.com/saltstack/salt-bootstrap","homepage":"","size":5407,"stargazers_count":436,"watchers_count":436,"language":"Shell","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":280,"mirror_url":null,"open_issues_count":44,"forks":280,"open_issues":44,"watchers":436,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/662"},"html":{"href":"https://github.com/saltstack/salt-bootstrap/pull/662"},"issue":{"href":"https://api.github.com/repos/saltstack/salt-bootstrap/issues/662"},"comments":{"href":"https://api.github.com/repos/saltstack/salt-bootstrap/issues/662/comments"},"review_comments":{"href":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/662/comments"},"review_comment":{"href":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/saltstack/salt-bootstrap/pulls/662/commits"},"statuses":{"href":"https://api.github.com/repos/saltstack/salt-bootstrap/statuses/9d08e8bab553c4915bd3644f0bd58ac3d8f49fee"}}}}