diff options
author | Yves Fischer <yvesf-git@xapek.org> | 2015-12-20 18:47:45 +0100 |
---|---|---|
committer | Yves Fischer <yvesf-git@xapek.org> | 2015-12-20 18:47:45 +0100 |
commit | 570c0a93fb24a393a2bf013a5aad5b6759713ce7 (patch) | |
tree | 430499b41b4defac779fa3f3967bf0fa7af9f418 | |
download | debian-packages-570c0a93fb24a393a2bf013a5aad5b6759713ce7.tar.gz debian-packages-570c0a93fb24a393a2bf013a5aad5b6759713ce7.zip |
start migrating from shell scripts
26 files changed, 1065 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..64053d4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/.idea +*.iml +/packages/*/build
\ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..1d69d90 --- /dev/null +++ b/build.gradle @@ -0,0 +1,54 @@ +plugins { + id "nebula.ospackage" version "3.2.0" +} +ext { + sshKeyfile = new File(System.getProperty('user.home'), '.ssh/id_rsa') + sshKnownHosts =new File(System.getProperty('user.home'), '.ssh/known_hosts') + sshUser = 'yvesf' + sshHost = 'xapek.org' + sshTargetDir = 'public_html/public/debian/files' + sshRebuildCommand = 'public_html/public/debian/rebuild.sh' +} + +subprojects { + configurations { sshAntTask } + repositories { + mavenCentral() + } + dependencies { sshAntTask 'org.apache.ant:ant-jsch:1.9.2' } + ant.taskdef( + name: 'scp', + classname: 'org.apache.tools.ant.taskdefs.optional.ssh.Scp', + classpath: configurations.sshAntTask.asPath) + + ant.taskdef( + name: 'ssh', + classname: 'org.apache.tools.ant.taskdefs.optional.ssh.SSHExec', + classpath: configurations.sshAntTask.asPath) + + group 'org.xapek.yvesf.debian' + version '1.0-SNAPSHOT' + + apply plugin: 'nebula.ospackage' + + def buildDeb = project.getTasks().getByName('buildDeb') + task upload() << { + ant.scp( + file: new File(project.buildDir, "distributions/${buildDeb.assembleArchiveName()}"), + todir: "${sshUser}@${sshHost}:${sshTargetDir}", + keyfile: file(sshKeyfile), + knownhosts: file(sshKnownHosts), + verbose: true, + ) + ant.ssh( + host: sshHost, + username: sshUser, + keyfile: file(sshKeyfile), + knownhosts: file(sshKnownHosts), + command: sshRebuildCommand, + verbose: true, + + ) + } + upload.dependsOn(buildDeb) +}
\ No newline at end of file diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle new file mode 100644 index 0000000..17d9385 --- /dev/null +++ b/buildSrc/build.gradle @@ -0,0 +1,7 @@ +repositories { + mavenCentral() +} + +dependencies { + compile 'commons-codec:commons-codec:1.10' +} diff --git a/buildSrc/src/main/groovy/buildSrc/DownloadTask.groovy b/buildSrc/src/main/groovy/buildSrc/DownloadTask.groovy new file mode 100644 index 0000000..1a49dd5 --- /dev/null +++ b/buildSrc/src/main/groovy/buildSrc/DownloadTask.groovy @@ -0,0 +1,61 @@ +package buildSrc + +import org.apache.commons.codec.binary.Hex +import org.gradle.api.DefaultTask +import org.gradle.api.tasks.* + +import java.security.MessageDigest + +class DownloadTask extends DefaultTask { + @OutputFile + File destFile + + @Input + URL source + + String sha256sum + + void setSource(URL url) { + this.@source = url + if (destFile == null) { + final basename = url.path.substring(url.path.lastIndexOf('/') + 1) + destFile = new File(project.buildDir, basename) + } + } + + void source(URL url) { + setSource(url) + } + + void source(String sourceUrl) { + source new URL(sourceUrl) + } + + void sha256sum(String sha256sum) { + this.@sha256sum = sha256sum + } + + private void checkSha256Sum(File file, String sum) { + final md = MessageDigest.getInstance('SHA-256') + final digestBytes = md.digest(file.bytes) + final digestHex = Hex.encodeHexString(digestBytes) + if (digestHex != sum) { + throw new TaskExecutionException(this, + new Exception("Checksum mismatch, expected ${sum} got ${digestHex}")) + } + } + + @TaskAction + void doExecute() { + final tempFile = new File(destFile.path + '_download') + project.logger.info("Download ${source} to ${tempFile}") + ant.get(src: source, dest: tempFile, verbose: true) + + if (sha256sum) { + checkSha256Sum(tempFile, sha256sum) + } + + project.logger.info("Rename downloaded ${tempFile} to ${destFile}") + ant.rename(src: tempFile, dest: destFile) + } +}
\ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differnew file mode 100644 index 0000000..2322723 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..12ac71e --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Sat Dec 19 22:03:27 CET 2015 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/packages/grails3/build.gradle b/packages/grails3/build.gradle new file mode 100644 index 0000000..2e4e041 --- /dev/null +++ b/packages/grails3/build.gradle @@ -0,0 +1,11 @@ +version '3.0.10' + +task downloadFiles(type: buildSrc.DownloadTask) { + source "https://github.com/grails/grails-core/releases/download/v${project.version}/grails-${project.version}.zip" + sha256sum '31b0627cfabca76cc38a4f32f5e7e1cc31979ec9e9eaf45243514d1306e96ccd' +} + +ospackage { + into "/opt/${project.name}" + from downloadFiles.outputs.files +} diff --git a/packages/gwt-chromium/build.gradle b/packages/gwt-chromium/build.gradle new file mode 100644 index 0000000..5b3c467 --- /dev/null +++ b/packages/gwt-chromium/build.gradle @@ -0,0 +1,43 @@ +//chrome nightly build, one of the last with npapi +final revision = '242519' +version "34-r${revision}" + +task downloadChrome(type: buildSrc.DownloadTask) { + source "http://gsdview.appspot.com/chromium-browser-continuous/Linux_x64/${revision}/chrome-linux.zip" + sha256sum '7269d35b51fb16ebd11af92cdaba933fb73f8984949952888e30fab63dc78df8' +} + +task unpackChrome(type: Copy) { + from zipTree(downloadChrome.destFile) + into file("${buildDir}/unpacked/dist") +} +unpackChrome.dependsOn(downloadChrome) + +task downloadGwtPlugin(type: buildSrc.DownloadTask) { + source 'https://clients2.googleusercontent.com/crx/blobs/QgAAAC6zw0qH2DJtnXe8Z7rUJP3brylTnXsqSLH8EJLp' + + 'Cpq2560pdQWMapnnCQsWYAxwMN2Pa2mZkH4aA9in1i3WTJKG0OUyFhe7lScnMNxhS1yjAMZSmuVxRW6MIEDyZkO8bJcfTSNy6GZA2g/' + + 'extension_1_0_11357.crx' + sha256sum '5716f39ca4dadb47f571f65f631a00854487971f42ad24aa3a36a99e78d33134' +} + +task downloadPdfPlugin(type: buildSrc.DownloadTask) { + source 'https://clients2.googleusercontent.com/crx/blobs/QgAAAC6zw0qH2DJtnXe8Z7rUJP2i3UKpz0eTiopC2Qlk_FXWm-wYwG' + + 'N2MPtjDt7LaoCfAScKzPva1bZi2q-9pYXZOibTl1nwFns1ZGCCvKGnyPQ0AMZSmuVlD6-IvZI2Yaw8Sj800M072EC85w/'+ + 'extension_1_1_527.crx' + sha256sum '' +} + +ospackage { + into("/opt/${project.name}") + from(unpackChrome.outputs.files) + from(fileTree(dir: 'resources/chrome-profile')) + from('resources/rewrite-locale/output.pak') { + into '/chrome-linux/locales/en-US.pak' + } + from(downloadGwtPlugin.outputs.files) { + into "/opt/${project.name}/chrome-profile/Default/Extensions/jpjpnpmbddbjkfaccnmhnkdgjideieim" + } + from(downloadPdfPlugin.outputs.files) { + into "/opt/${project.name}/chrome-profile/Default/Extensions/oemmndcbldboiebfnladdacbdfmadadm" + } +}
\ No newline at end of file diff --git a/packages/gwt-chromium/resources/chrome-profile/bin/gwt-chrome-persistent b/packages/gwt-chromium/resources/chrome-profile/bin/gwt-chrome-persistent new file mode 100755 index 0000000..c0b2ef1 --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/bin/gwt-chrome-persistent @@ -0,0 +1,12 @@ +#!/bin/sh +HERE=`dirname "$0"` +profile="$HOME/.config/gwt-chrome" +if ! [ -e "$profile" ]; then + mkdir -p "$profile" + cp -r "$HERE/../chrome-profile"/* "$profile" +fi +chmod -R u+w "$profile" +LD_LIBRARY_PATH="$HERE/../lib/chrome-support" \ + "$HERE"/../chrome-linux/chrome \ + --auth-server-whitelist="*cern.ch" \ + --disable-setuid-sandbox --user-data-dir="$profile" $* diff --git a/packages/gwt-chromium/resources/chrome-profile/bin/gwt-chrome-volatile b/packages/gwt-chromium/resources/chrome-profile/bin/gwt-chrome-volatile new file mode 100755 index 0000000..99f2a21 --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/bin/gwt-chrome-volatile @@ -0,0 +1,16 @@ +#!/bin/sh +HERE=`dirname "$0"` +persistent_profile="$HOME/.config/gwt-chrome" +tmp_profile=`mktemp -d` +cp -r "$HERE/../chrome-profile"/* "$tmp_profile" +chmod -R u+w "$tmp_profile" + +# copy from persistent profile +test -e "$persistent_profile/Default/Bookmarks" && \ + cp "$persistent_profile/Default/Bookmarks" "$tmp_profile/Default/Bookmarks" + +LD_LIBRARY_PATH="$HERE/../lib/chrome-support" \ + "$HERE/../chrome-linux/"/chrome \ + --auth-server-whitelist="*cern.ch" \ + --disable-setuid-sandbox --user-data-dir="$tmp_profile" $* +rm -r "$tmp_profile" diff --git a/packages/gwt-chromium/resources/chrome-profile/bin/product_logo_48.png b/packages/gwt-chromium/resources/chrome-profile/bin/product_logo_48.png Binary files differnew file mode 100644 index 0000000..7690049 --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/bin/product_logo_48.png diff --git a/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/000003.log b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/000003.log Binary files differnew file mode 100644 index 0000000..da73f93 --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/000003.log diff --git a/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/CURRENT b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/CURRENT new file mode 100644 index 0000000..1a84852 --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/CURRENT @@ -0,0 +1 @@ +MANIFEST-000002 diff --git a/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/LOCK b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/LOCK new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/LOCK diff --git a/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/LOG b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/LOG new file mode 100644 index 0000000..1f2a05e --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/LOG @@ -0,0 +1 @@ +2015/02/16-10:24:53.226 17564 Delete type=3 #1 diff --git a/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/MANIFEST-000002 b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/MANIFEST-000002 Binary files differnew file mode 100644 index 0000000..bbbc585 --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Extension State/MANIFEST-000002 diff --git a/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Preferences b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Preferences new file mode 100644 index 0000000..8d11020 --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Default/Preferences @@ -0,0 +1,529 @@ +{ + "apps": { + "shortcuts_have_been_created": true + }, + "bookmark_bar": { + "show_on_all_tabs": true + }, + "browser": { + "last_known_google_url": "https://www.google.ch/", + "last_prompted_google_url": "https://www.google.ch/", + "window_placement": { + "bottom": 1029, + "left": 1330, + "maximized": false, + "right": 2275, + "top": 33, + "work_area_bottom": 1058, + "work_area_left": 1280, + "work_area_right": 3200, + "work_area_top": 33 + } + }, + "countryid_at_install": 21843, + "default_apps_install_state": 3, + "default_search_provider": { + "alternate_urls": [ "{google:baseURL}#q={searchTerms}", "{google:baseURL}search#q={searchTerms}", "{google:baseURL}webhp#q={searchTerms}" ], + "enabled": true, + "encodings": "UTF-8", + "icon_url": "http://www.google.com/favicon.ico", + "id": "2", + "image_url": "{google:baseURL}searchbyimage/upload", + "image_url_post_params": "encoded_image={google:imageThumbnail},image_url={google:imageURL},sbisrc={google:imageSearchSource},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight}", + "instant_url": "{google:baseURL}webhp?sourceid=chrome-instant&{google:RLZ}{google:forceInstantResults}{google:instantExtendedEnabledParameter}{google:ntpIsThemedParameter}{google:omniboxStartMarginParameter}ie={inputEncoding}", + "instant_url_post_params": "", + "keyword": "google.ch", + "name": "Google", + "new_tab_url": "{google:baseURL}_/chrome/newtab?{google:RLZ}{google:instantExtendedEnabledParameter}{google:ntpIsThemedParameter}ie={inputEncoding}", + "prepopulate_id": "1", + "search_terms_replacement_key": "espv", + "search_url": "{google:baseURL}search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:bookmarkBarPinned}{google:searchClient}{google:sourceId}{google:instantExtendedEnabledParameter}{google:omniboxStartMarginParameter}ie={inputEncoding}", + "search_url_post_params": "", + "suggest_url": "{google:baseSuggestURL}search?{google:searchFieldtrialParameter}client={google:suggestClient}&gs_ri={google:suggestRid}&xssi=t&q={searchTerms}&{google:cursorPosition}{google:currentPageUrl}{google:pageClassification}sugkey={google:suggestAPIKeyParameter}", + "suggest_url_post_params": "" + }, + "dns_prefetching": { + "host_referral_list": [ 2, [ "https://accounts.google.com/", [ "https://apis.google.com/", 2.2733802, "https://oauth.googleusercontent.com/", 2.2733802, "https://ssl.gstatic.com/", 2.2733802 ] ], [ "https://apis.google.com/", [ "https://apis.google.com/", 2.6037003999999997, "https://fonts.gstatic.com/", 2.2733802 ] ], [ "https://www.google.com/", [ "https://accounts.google.com/", 2.2733802, "https://apis.google.com/", 3.2643407999999994, "https://fonts.googleapis.com/", 2.2733802, "https://fonts.gstatic.com/", 3.2643407999999994, "https://ssl.google-analytics.com/", 2.6037003999999997, "https://ssl.gstatic.com/", 2.2733802, "https://www.google.com/", 5.246261999999999, "https://www.gstatic.com/", 2.2733802, "https://www.youtube.com/", 2.2733802 ] ], [ "https://www.youtube.com/", [ "https://i.ytimg.com/", 2.2733802, "https://s.ytimg.com/", 3.5946609999999994, "https://www.google.com/", 2.2733802 ] ] ], + "startup_list": [ 1, "http://tools.google.com/", "https://clients2.google.com/", "https://clients2.googleusercontent.com/", "https://fonts.googleapis.com/", "https://fonts.gstatic.com/", "https://ssl.google-analytics.com/", "https://ssl.gstatic.com/", "https://www.google.com/", "https://www.gstatic.com/", "https://www.youtube.com/" ] + }, + "extensions": { + "alerts": { + "initialized": true + }, + "autoupdate": { + "next_check": "13068571833446583" + }, + "chrome_url_overrides": { + "bookmarks": [ "chrome-extension://eemcgdkfndhakfknompkggombfjjjeno/main.html" ] + }, + "known_disabled": [ ], + "last_chrome_version": "34.0.1761.0", + "settings": { + "hnmkfcicjochbbdloamlldphmhbbkenb": { + "active_permissions": { + "api": [ "plugin", "tabs" ], + "manifest_permissions": [ ] + }, + "content_settings": [ ], + "creation_flags": 38, + "events": [ ], + "from_bookmark": false, + "from_webstore": false, + "granted_permissions": { + "api": [ "plugin", "tabs" ], + "manifest_permissions": [ ] + }, + "incognito_content_settings": [ ], + "incognito_preferences": { + + }, + "initial_keybindings_set": true, + "install_time": "13068552374378446", + "location": 4, + "newAllowFileAccess": true, + "path": "jpjpnpmbddbjkfaccnmhnkdgjideieim", + "preferences": { + + }, + "regular_only_preferences": { + + }, + "state": 1, + "was_installed_by_default": false + }, + "mfehgcgbbipciphmccgaenjidiccnmng": { + "active_permissions": { + "api": [ "cloudPrintPrivate" ], + "manifest_permissions": [ ] + }, + "content_settings": [ ], + "creation_flags": 1, + "events": [ ], + "from_bookmark": false, + "from_webstore": false, + "incognito_content_settings": [ ], + "incognito_preferences": { + + }, + "install_time": "13068552291983812", + "location": 5, + "manifest": { + "app": { + "launch": { + "web_url": "https://www.google.com/cloudprint" + }, + "urls": [ "https://www.google.com/cloudprint/enable_chrome_connector" ] + }, + "description": "Cloud Print", + "display_in_launcher": false, + "icons": { + + }, + "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqOhnwk4+HXVfGyaNsAQdU/js1Na56diW08oF1MhZiwzSnJsEaeuMN9od9q9N4ZdK3o1xXOSARrYdE+syV7Dl31nf6qz3A6K+D5NHe6sSB9yvYlIiN37jdWdrfxxE0pRYEVYZNTe3bzq3NkcYJlOdt1UPcpJB+isXpAGUKUvt7EQIDAQAB", + "name": "Cloud Print", + "permissions": [ "cloudPrintPrivate" ], + "version": "0.1" + }, + "path": "/home/yfischer/.nixpkgs/store/wmzb416rhym02j7rp19ffnqjdi2q093v-gwt-chromium/opt/chrome-linux/resources/cloud_print", + "preferences": { + + }, + "regular_only_preferences": { + + }, + "was_installed_by_default": false + }, + "oemmndcbldboiebfnladdacbdfmadadm": { + "active_permissions": { + "api": [ "fileBrowserHandler", "fileBrowserHandlerInternal", "storage", "tabs", "webNavigation", "webRequest", "webRequestBlocking", "webRequestInternal" ], + "explicit_host": [ "\u003Call_urls>", "chrome://favicon/*" ], + "manifest_permissions": [ ], + "scriptable_host": [ "file:///*", "ftp://*/*", "http://*/*", "https://*/*" ] + }, + "content_settings": [ ], + "creation_flags": 9, + "events": [ ], + "from_bookmark": false, + "from_webstore": true, + "granted_permissions": { + "api": [ "fileBrowserHandler", "fileBrowserHandlerInternal", "storage", "tabs", "webNavigation", "webRequest", "webRequestBlocking", "webRequestInternal" ], + "explicit_host": [ "\u003Call_urls>", "chrome://favicon/*" ], + "manifest_permissions": [ ], + "scriptable_host": [ "file:///*", "ftp://*/*", "http://*/*", "https://*/*" ] + }, + "incognito_content_settings": [ ], + "incognito_preferences": { + + }, + "initial_keybindings_set": true, + "install_time": "13069340611715590", + "location": 1, + "manifest": { + "background": { + "page": "pdfHandler.html" + }, + "content_scripts": [ { + "all_frames": true, + "css": [ "contentstyle.css" ], + "js": [ "contentscript.js" ], + "matches": [ "http://*/*", "https://*/*", "ftp://*/*", "file://*/*" ], + "run_at": "document_start" + } ], + "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'", + "description": "Uses HTML5 to display PDF files directly in the browser.", + "file_browser_handlers": [ { + "default_title": "Open with PDF Viewer", + "file_filters": [ "filesystem:*.pdf" ], + "id": "open-as-pdf" + } ], + "icons": { + "128": "icon128.png", + "16": "icon16.png", + "48": "icon48.png" + }, + "incognito": "split", + "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDb5PIb8ayK6vHvEIY1nJKRSCDE8iJ1T43qFN+5dvCVQrmyEkgqB9ZuZNT24Lwot96HV51VoITHKRNIVKI2Nrbfn0M49t7qtaP34g/GXJ7mAIbSzsY4+i+Wsz8EL2SNEIw6uH8RmXG7nZ29NJ7sk7jn17QmMsO2UJ01UT8hfOOOEQIDAQAB", + "manifest_version": 2, + "mime_types": [ "application/pdf" ], + "name": "PDF Viewer", + "options_page": "options/options.html", + "options_ui": { + "chrome_style": true, + "page": "options/options.html" + }, + "page_action": { + "default_icon": { + "19": "icon19.png", + "38": "icon38.png" + }, + "default_popup": "pageActionPopup.html", + "default_title": "Show PDF URL" + }, + "permissions": [ "fileBrowserHandler", "webRequest", "webRequestBlocking", "\u003Call_urls>", "tabs", "webNavigation", "storage", "streamsPrivate" ], + "storage": { + "managed_schema": "preferences_schema.json" + }, + "update_url": "https://clients2.google.com/service/update2/crx", + "version": "1.0.1143", + "web_accessible_resources": [ "getFrameId", "content/web/viewer.html", "http:/*", "https:/*", "ftp:/*", "file:/*", "chrome-extension:/*", "filesystem:/*", "drive:*" ] + }, + "path": "oemmndcbldboiebfnladdacbdfmadadm", + "preferences": { + + }, + "regular_only_preferences": { + + }, + "state": 1, + "was_installed_by_default": false + }, + "pafkbggdmjlpgkdkcbjmhmfcdpncadgh": { + "active_permissions": { + "api": [ "alarms", "identity", "location", "metricsPrivate", "notifications", "preferencesPrivate", "pushMessaging", "storage", "tabs", "webstorePrivate" ], + "explicit_host": [ "\u003Call_urls>", "chrome://favicon/*" ], + "manifest_permissions": [ ] + }, + "content_settings": [ ], + "creation_flags": 1, + "events": [ "alarms.onAlarm", "identity.onSignInChanged", "location.onLocationUpdate", "notifications.onButtonClicked", "notifications.onClicked", "notifications.onClosed", "notifications.onPermissionLevelChanged", "notifications.onShowSettings", "pushMessaging.onMessage", "runtime.onInstalled", "runtime.onStartup", "runtime.onSuspend", "types.private.ChromeDirectSetting.googlegeolocationaccess.enabled.onChange" ], + "from_bookmark": false, + "from_webstore": false, + "incognito_content_settings": [ ], + "incognito_preferences": { + + }, + "initial_keybindings_set": true, + "install_time": "13068552291985445", + "location": 5, + "manifest": { + "background": { + "persistent": false, + "scripts": [ "utility.js", "cards.js", "background.js" ] + }, + "description": "Integrates Google Now into Chrome.", + "icons": { + "128": "images/icon128.png", + "16": "images/icon16.png", + "48": "images/icon48.png" + }, + "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkhqJr32OFD/bMXW4Md7jMfd7LbwHXVc6x5bBQG5U+dloofoxrICDR20yur/40mQ8O//0sS1b8srvbab1CRlSrxoNCr9T80NAkfzx0gHyVS+p1Zow+1FzLMu9PiGwwFyN80HIB7GI/dIa0wC9K/2OrrzcHEhVH96DacTtWQqjfDVtZPjT7Xwv23dgoWcpbkRC86jMJot3dmX9xnn0KzoVc9gDOHSIkBLbkkr6Sp3LGXCCM4L0DJgxdFwaLr5WBzgC3y5x0/wwPIwN4PtIaK3BhH6njlksfnKwwIJ9iRT41V4BqbWu4mszO/7VJ3HJyw2DBpIc2grU9ZRRxrV3fRQG4wIDAQAB", + "manifest_version": 2, + "name": "Google Now", + "oauth2": { + "auto_approve": true, + "scopes": [ "https://www.googleapis.com/auth/googlenow" ] + }, + "optional_permissions": [ "background" ], + "permissions": [ "alarms", "identity", "location", "metricsPrivate", "notifications", "preferencesPrivate", "pushMessaging", "storage", "tabs", "webstorePrivate", "\u003Call_urls>" ], + "version": "1.2.0.1" + }, + "path": "/home/yfischer/.nixpkgs/store/wmzb416rhym02j7rp19ffnqjdi2q093v-gwt-chromium/opt/chrome-linux/resources/google_now", + "preferences": { + + }, + "regular_only_preferences": { + + }, + "was_installed_by_default": false + }, + "pmjbhfmaphnpbehdanbjphdcniaelfie": { + "active_bit": true, + "active_permissions": { + "api": [ "background", "storage", "tabs", "webRequest", "webRequestBlocking", "webRequestInternal" ], + "explicit_host": [ "\u003Call_urls>", "chrome://favicon/*" ], + "manifest_permissions": [ ] + }, + "content_settings": [ ], + "creation_flags": 9, + "events": [ ], + "from_bookmark": false, + "from_webstore": true, + "granted_permissions": { + "api": [ "background", "storage", "tabs", "webRequest", "webRequestBlocking", "webRequestInternal" ], + "explicit_host": [ "\u003Call_urls>", "chrome://favicon/*" ], + "manifest_permissions": [ ] + }, + "incognito_content_settings": [ ], + "incognito_preferences": { + + }, + "initial_keybindings_set": true, + "install_time": "13069340790430209", + "last_launch_time": "13069340811551561", + "location": 1, + "manifest": { + "background": { + "persistent": true, + "scripts": [ "lib/dojo.js", "code/background.js" ] + }, + "browser_action": { + "default_icon": "icons/icon.png", + "default_popup": "popup.html" + }, + "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'", + "description": "An Extension for chrome to easily change the language. This makes testing locale related problems easier", + "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAge4+rEOVAsU1R7JIe8HE/wiaU5SnyrGPWFkSOk5uRfXdxcfZdj9UnTnIpGdexs8iGD1G63+NMeL0R0sxeZEAb4FLdRKAcslf4DwbxZPrV+rb8j4GcEzwaz/VEBvblE8TyfJTymWO3ZjpR93PvEIwjkDLiAXUabfL0JrPGGTYXg+rcINJDnXc8+8FIYfrXlaY76HtCEXRplqIFxEB8lxcXUyPtoD2Ugg7tXbKGQCkWjxiCA3ZFQneEymWmXWhS9NOpH0cf1qnvqtLt4cHGAFB/vRP1hKIwNE63NNsbB2DYrOtaGs2bglNrsKHLCjjVoTt58cZQaUbBwR1vczjpdqtFQIDAQAB", + "manifest_version": 2, + "name": "Quick Language Switcher", + "options_page": "options.html", + "permissions": [ "\u003Call_urls>", "webRequest", "webRequestBlocking", "background", "storage", "tabs" ], + "update_url": "https://clients2.google.com/service/update2/crx", + "version": "0.0.0.4" + }, + "path": "pmjbhfmaphnpbehdanbjphdcniaelfie", + "preferences": { + + }, + "regular_only_preferences": { + + }, + "state": 1, + "was_installed_by_default": false + } + }, + "theme": { + "use_system": false + }, + "ui": { + "developer_mode": true + } + }, + "google": { + "services": { + "signin": { + "LSID": "", + "SID": "" + } + } + }, + "intl": { + "accept_languages": "en-US,en" + }, + "invalidator": { + "client_id": "l+abZwfh80KDwgMJkMLA1g==" + }, + "media": { + "device_id_salt": "FtrdBPEmfQM7NJMrmjg9KQ==" + }, + "net": { + "http_server_properties": { + "servers": { + "accounts.google.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + }, + "apis.google.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + }, + "clients2.google.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + }, + "clients2.googleusercontent.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + }, + "fonts.googleapis.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + }, + "fonts.gstatic.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "supports_spdy": false + }, + "i.ytimg.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "supports_spdy": false + }, + "oauth.googleusercontent.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + }, + "s.ytimg.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + }, + "ssl.google-analytics.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + }, + "ssl.gstatic.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "supports_spdy": false + }, + "tools.google.com:80": { + "alternate_protocol": { + "port": 80, + "protocol_str": "quic" + }, + "supports_spdy": false + }, + "www.google.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + }, + "www.google.com:80": { + "alternate_protocol": { + "port": 80, + "protocol_str": "quic" + }, + "supports_spdy": false + }, + "www.gstatic.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + }, + "www.youtube.com:443": { + "alternate_protocol": { + "port": 443, + "protocol_str": "quic" + }, + "settings": { + "4": 100 + }, + "supports_spdy": true + } + }, + "version": 2 + } + }, + "pinned_tabs": [ ], + "plugins": { + "plugins_list": [ ], + "removed_old_component_pepper_flash_settings": true + }, + "profile": { + "avatar_index": 0, + "content_settings": { + "clear_on_exit_migrated": true, + "pattern_pairs": { + + }, + "pref_version": 1 + }, + "created_by_version": "34.0.1761.0", + "exit_type": "Normal", + "exited_cleanly": true, + "local_profile_id": 11453368, + "managed_user_id": "", + "name": "First user" + }, + "session": { + "restore_on_startup_migrated": true, + "startup_urls_migration_time": "13068552291979007" + }, + "translate_blocked_languages": [ "en" ], + "translate_whitelists": { + + } +} diff --git a/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Local State b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Local State new file mode 100644 index 0000000..df85908 --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/chrome-profile/Local State @@ -0,0 +1,5 @@ +{ + "background_mode": { + "enabled": false + } +} diff --git a/packages/gwt-chromium/resources/chrome-profile/lib/chrome-support/libudev.so.0 b/packages/gwt-chromium/resources/chrome-profile/lib/chrome-support/libudev.so.0 Binary files differnew file mode 100755 index 0000000..2786d6a --- /dev/null +++ b/packages/gwt-chromium/resources/chrome-profile/lib/chrome-support/libudev.so.0 diff --git a/packages/gwt-chromium/resources/rewrite-locale/data_pack.py b/packages/gwt-chromium/resources/rewrite-locale/data_pack.py new file mode 100755 index 0000000..ba9790b --- /dev/null +++ b/packages/gwt-chromium/resources/rewrite-locale/data_pack.py @@ -0,0 +1,115 @@ +#!/usr/bin/env python +# Copyright (c) 2012 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Support for formatting a data pack file used for platform agnostic resource +files. +""" + +import collections +import exceptions +import os +import struct +import sys +if __name__ == '__main__': + sys.path.append(os.path.join(os.path.dirname(__file__), '../..')) + + +PACK_FILE_VERSION = 4 +HEADER_LENGTH = 2 * 4 + 1 # Two uint32s. (file version, number of entries) and + # one uint8 (encoding of text resources) +BINARY, UTF8, UTF16 = range(3) + + +class WrongFileVersion(Exception): + pass + + +DataPackContents = collections.namedtuple( + 'DataPackContents', 'resources encoding') + + +def ReadDataPack(input_file): + """Reads a data pack file and returns a dictionary.""" + data = open(input_file, "rb").read() + original_data = data + + # Read the header. + version, num_entries, encoding = struct.unpack('<IIB', data[:HEADER_LENGTH]) + if version != PACK_FILE_VERSION: + print 'Wrong file version in ', input_file + raise WrongFileVersion + + resources = {} + if num_entries == 0: + return DataPackContents(resources, encoding) + + # Read the index and data. + data = data[HEADER_LENGTH:] + kIndexEntrySize = 2 + 4 # Each entry is a uint16 and a uint32. + for _ in range(num_entries): + id, offset = struct.unpack('<HI', data[:kIndexEntrySize]) + data = data[kIndexEntrySize:] + next_id, next_offset = struct.unpack('<HI', data[:kIndexEntrySize]) + resources[id] = original_data[offset:next_offset] + + return DataPackContents(resources, encoding) + + +def WriteDataPackToString(resources, encoding): + """Returns a string with a map of id=>data in the data pack format.""" + ids = sorted(resources.keys()) + ret = [] + + # Write file header. + ret.append(struct.pack('<IIB', PACK_FILE_VERSION, len(ids), encoding)) + HEADER_LENGTH = 2 * 4 + 1 # Two uint32s and one uint8. + + # Each entry is a uint16 + a uint32s. We have one extra entry for the last + # item. + index_length = (len(ids) + 1) * (2 + 4) + + # Write index. + data_offset = HEADER_LENGTH + index_length + for id in ids: + ret.append(struct.pack('<HI', id, data_offset)) + data_offset += len(resources[id]) + + ret.append(struct.pack('<HI', 0, data_offset)) + + # Write data. + for id in ids: + ret.append(resources[id]) + return ''.join(ret) + + +def WriteDataPack(resources, output_file, encoding): + """Writes a map of id=>data into output_file as a data pack.""" + content = WriteDataPackToString(resources, encoding) + with open(output_file, 'wb') as file: + file.write(content) + + + + + +# Temporary hack for external programs that import data_pack. +# TODO(benrg): Remove this. +class DataPack(object): + pass +DataPack.ReadDataPack = staticmethod(ReadDataPack) +DataPack.WriteDataPackToString = staticmethod(WriteDataPackToString) +DataPack.WriteDataPack = staticmethod(WriteDataPack) + + +def main(): + data = ReadDataPack("input.pak").resources + for (key,val) in data.items(): + if "Chromium" in val: + data[key] = val.replace("Chromium", "GWT-Chromium") + WriteDataPack(data, "output.pak", UTF8) + + +if __name__ == '__main__': + main() diff --git a/packages/gwt-chromium/resources/rewrite-locale/input.pak b/packages/gwt-chromium/resources/rewrite-locale/input.pak Binary files differnew file mode 100644 index 0000000..689c22f --- /dev/null +++ b/packages/gwt-chromium/resources/rewrite-locale/input.pak diff --git a/packages/gwt-chromium/resources/rewrite-locale/output.pak b/packages/gwt-chromium/resources/rewrite-locale/output.pak Binary files differnew file mode 100644 index 0000000..fe141a2 --- /dev/null +++ b/packages/gwt-chromium/resources/rewrite-locale/output.pak diff --git a/packages/idea-iu/build.gradle b/packages/idea-iu/build.gradle new file mode 100644 index 0000000..5ea9000 --- /dev/null +++ b/packages/idea-iu/build.gradle @@ -0,0 +1,17 @@ +version '14.1.5' + +task download(type: buildSrc.DownloadTask) { + source "https://download.jetbrains.com/idea/ideaIU-${project.version}.tar.gz" + sha256sum '1a7a07871e31f8628e17be2b066665a596e758f8' +} + +task untar(type: Copy) { + from tarTree(download.destFile) + into file("${buildDir}/unpacked/dist") +} +untar.dependsOn(download) + +ospackage { + into "/opt/${project.name}" + from untar.outputs.files +} diff --git a/packages/scheme2ddl/build.gradle b/packages/scheme2ddl/build.gradle new file mode 100644 index 0000000..6ab84aa --- /dev/null +++ b/packages/scheme2ddl/build.gradle @@ -0,0 +1,12 @@ +version '2.3.12' + +task downloadFiles(type: buildSrc.DownloadTask) { + source "https://bintray.com/artifact/download/qwazer/maven/com/googlecode/" + + "scheme2ddl/${project.version}/scheme2ddl-${project.version}.jar" + sha256sum '31b0627cfabca76cc38a4f32f5e7e1cc31979ec9e9eaf45243514d1306e96ccd' +} + +ospackage { + into "/opt/${project.name}" + from downloadFiles.outputs.files +} diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..5f70845 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,8 @@ +rootProject.name = 'debian-packages' + +fileTree('.') { + include 'packages/**/build.gradle' +}.collect { + relativePath(it.parent).replace(File.separator, ':') +}.each { include(it) } + |