1. 26 Feb, 2020 1 commit
    • Tom Powell's avatar
      roomservice: support new manifest formats. · f8adf067
      Tom Powell authored
      .repo/manifest.xml is no longer a symlink becuase apparently windows
      developers need to use repo and windows needs admin for symlinks.
      
      https: //gerrit.googlesource.com/git-repo/+/a269b1cb9dc21dfd598bfea3766206b606ad4589
      Change-Id: I88ea0295133959136d7214f13a76b66d89dc88d4
      f8adf067
  2. 10 Jan, 2020 1 commit
  3. 22 Nov, 2019 1 commit
    • Simon Shields's avatar
      repopick: fix --check-picked on Python 3 · d5e35c9d
      Simon Shields authored
      This is very subtly broken: we look for the string 'Change-Id:'
      in an array of byte strings. Fix this by decoding the git output
      to utf-8 strings.
      
      Change-Id: I708ad0adacb61c89bfba0fd88eeb2e37648317af
      d5e35c9d
  4. 30 Oct, 2019 1 commit
    • Adrian DC's avatar
      repopick: Support project paths detection on different branches · 045f664a
      Adrian DC authored
       * When some projects are declared in the manifests with specific
          changes (revision="refs/changes/../....../."), the path
          detection does not work, while most cases have a unique paths
      
       * Allow projects with unique branches to select their paths
          upon repopick with a warning about the selection
      
      Change-Id: Ic873d69f57c78f233db3d0de4ebd529f896799ea
      045f664a
  5. 27 Oct, 2019 5 commits
    • Mohd Faraz's avatar
      extract_utils: Added Suffix uses COMMON_SUFFIX · d1d72351
      Mohd Faraz authored
      
      
       * COMMON_JAVA_PACKAGE_SUFFIX for jar
      
       * COMMON_ANDROID_PACKAGE_SUFFIX for apk
      
      Change-Id: I812405dac12ef7183985c66a6e43b0ea5f85989c
      Signed-off-by: default avatarMohd Faraz <mohd.faraz.abc@gmail.com>
      d1d72351
    • Rashed Abdel-Tawab's avatar
      extract_files: Implement blueprint file generation · 34b5cdc1
      Rashed Abdel-Tawab authored
      Switch to blueprint on:
       - shared objects
       - $partiton/etc/ files
       - JARs
       - executable binaries and scripts
       - APKs
      
      Only /sbin binaries are still in Android.mk because blueprint
      doesn't handle sbin installation yet
      
      Change-Id: I1dfd7e8bb575367b2a7fa9e333c4c6fa3aa68180
      34b5cdc1
    • Rashed Abdel-Tawab's avatar
      extract_files: Add initial blueprint creation · 42752d4d
      Rashed Abdel-Tawab authored
      Start the copyrights for these at 2019 because the blueprints won't
      have existed before then.
      
      Change-Id: I5300109949785dd19555e35d17a1e80daef498b0
      42752d4d
    • Rashed Abdel-Tawab's avatar
      extract_files: Match non-treble path prefixes · 8aae50df
      Rashed Abdel-Tawab authored
      Some devices put stuff on /system, /system/vendor or even
      /system/vendor/odm. Search for these paths too when generating
      TARGET_COPY_OUT_$partition variables.
      
      Change-Id: Ie2c087e57aaca02d5ea93f290d5fc50d1315a600
      8aae50df
    • Rashed Abdel-Tawab's avatar
      extract_files: Support system/ prefixes · 8de76b20
      Rashed Abdel-Tawab authored
      With support for 4 independent partitions now, we seriously
      need to start putting /system blobs in their own directory.
      Add support for file lists with system/ prefixes while
      maintaining support for old file lists without it.
      
      Also, TARGET_COPY_OUT_SYSTEM is a thing now, and all devices,
      regardless of treble or not, set TARGET_COPY_OUT_$partition
      so let's get rid of the treble compat option and default it
      to true.
      
      Change-Id: I5b798d293768d7c1e16db3ba01e2de3e083088d7
      8de76b20
  6. 29 Sep, 2019 3 commits
  7. 27 Sep, 2019 1 commit
  8. 21 Sep, 2019 1 commit
    • LuK1337's avatar
      repopick: Print change subject as unicode · c62a9fbc
      LuK1337 authored
      * This prevents from seeing stuff like
        "b'frameworks: Add unlinked ringtone and notification volumes'"
        when using python3 as default.
      
      Change-Id: Ie1fa85681b648edcee65680d784da4dff1779616
      c62a9fbc
  9. 10 Sep, 2019 1 commit
  10. 18 Jul, 2019 1 commit
  11. 26 Jun, 2019 1 commit
  12. 07 Jun, 2019 1 commit
  13. 03 Mar, 2019 6 commits
    • Vladimir Oltean's avatar
      extract_utils: introduce support for executing blob fixups · 4818c230
      Vladimir Oltean authored
      
      
      * Traditionally, the task of hex-editing blobs has been approached in 2 ways:
        (1) Do it out-of-band, commit the modified blob, and record its edited
            sha1sum in proprietary-files.txt (aka pin it).
        (2) Do it in-band, by adding code to the device-level extract-files.sh
            (usually this performs patchelf or sed). This code runs after the
            extract_utils functions were invoked.
      * Problems of approach (1):
          - It relies on verbal (basically commit message) documentation of
            the hex-editing that was done. Makes it more difficult to reproduce.
          - Each time blobs are updated, pinning needs to be temporarily removed,
            hex-editing done again manually and new hash put back.
      * Problems of approach (2):
          - It is incompatible with the concept of pinning, which is useful
            for kanging blobs from another device. A pinned blob would either:
              - Match the hash, get hex-edited, then it won't match the hash
                next time around.
              - Not match the hash (because of, say, hex-editing), then the
                extraction script would use an unwanted blob version instead of the
                pinned one (either that, or say "!! file not found in source").
      
      * In summary, this patch adds system-wide support for approach (2) in order
        to address the aforementioned shortcomings.
      
      * At device level, users of extract_utils who wish to perform blob
        fixups can override a blob_fixup() Bash function in their
        extract-files.sh immediately after running "source ${HELPER}". The
        blob_fixup() function will be called by the common extract() function
        after extracting every individual blob, giving the user the
        opportunity to hook custom code after this operation takes place.
      
      * In proprietary-files.txt, the line corresponding to this blob which
        needs fixups can look in one of 2 ways:
      
      (a) vendor/lib64/vendor.qti.gnss@1.0_vendor.so
      
          Do this if you are taking the blob from the stock ROM. The fixup
          script will always run after the blob is extracted.
      
      (b) vendor/lib64/vendor.qti.gnss@1.0_vendor.so|249c76153f8de014bf2dd2ab623ee3d87741fbc8|f7e9ee8e3804887a2f3939128e860767e6f27258
      
          Do this if you are kanging the blob from somebody else. The pinning
          logic now applies for both the pre- and the post-fixup hashes. The
          fixup script will only run if the blob doesn't match the hex-edited blob,
          although the fixup script should really be idempotent.
      
      Change-Id: Ifdd73c885d995c645f6210597537693d1a2f903f
      Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
      4818c230
    • Vladimir Oltean's avatar
      extract_utils: make --section match words anywhere in the line · 5238ba8f
      Vladimir Oltean authored
      
      
      Change-Id: Ia3fe2160f0f4bc7da1b5bd31a21080af51b41fab
      Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
      5238ba8f
    • Vladimir Oltean's avatar
      extract_utils: introduce -k (kang mode) option · bec92eba
      Vladimir Oltean authored
      
      
      * The use case is easier updating of pinned blobs. When --kang is set,
        pinning is automatically ignored, and the script will print lines at
        its output that can be directly copied back into the
        proprietary-files.txt.
      * Best served together with --section ${SECTION}, and proper grouping
        of the proprietary-files.txt.
      
      Change-Id: I648fbcbd4580a4a002b00828bcfee18d1e265d7b
      Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
      bec92eba
    • Vladimir Oltean's avatar
      extract_utils: cleanup variable names and arguments passed to extract() function · c503446e
      Vladimir Oltean authored
      
      
      * This also makes the --section argument non-positional, since otherwise
        it is not possible to easily support more than one optional positional
        argument. This is in preparation of one more optional argument to come
        in a follow-up patch: --kang.
      
      Change-Id: Ieb142e0854319defb9a278ab68cd4aeefd0fbdd5
      Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
      c503446e
    • Vladimir Oltean's avatar
      extract_utils: be compatible with system-as-root layouts · 78d690d1
      Vladimir Oltean authored
      
      
      * The use case is that if you have the following layout:
        $TOP --- system.img
             |
             +-- vendor.img
        you should be able (from $TOP) to:
          mkdir system; mount -o ro,loop system.img system
          mkdir vendor; mount -o ro,loop vendor.img vendor
        and then (from device tree)
          ./extract-files.sh $TOP
      
        But this doesn't work if system.img is SAR and contains another
        "system" dir inside. This patch makes sure it searches for a "system"
        dir in the provided path as well, if it couldn't find the blob
        anywhere else.
      
      Change-Id: Ib49cd5b587b3a57478a66ff69cf840270c2b1403
      Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
      78d690d1
    • Vladimir Oltean's avatar
      extract_utils: drop the "/system/" prefix from prints of blob names · 4fe79b11
      Vladimir Oltean authored
      
      
      * This makes the printed output closer to the proprietary-files.txt syntax
      
      Change-Id: I81b844bb6bb1d1a2f91a39151a892fbfc0bed20b
      Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
      4fe79b11
  14. 17 Jan, 2019 1 commit
  15. 23 Dec, 2018 1 commit
  16. 13 Nov, 2018 1 commit
  17. 27 Oct, 2018 1 commit
  18. 21 Oct, 2018 1 commit
  19. 07 Oct, 2018 1 commit
  20. 05 Oct, 2018 1 commit
  21. 24 Sep, 2018 2 commits
  22. 05 Sep, 2018 1 commit
  23. 26 Jul, 2018 1 commit
  24. 12 Jul, 2018 1 commit
  25. 08 Jul, 2018 4 commits
    • Vladimir Oltean's avatar
      extract_utils: make get_file() able to search paths with and w/o /system prefix · d577325a
      Vladimir Oltean authored
      
      
      Change-Id: I75eba627646caa8ceb8a30575124c57e5ee9445c
      Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
      d577325a
    • Vladimir Oltean's avatar
      extract_utils: extract(): fix src not being searched in "src:dst;args" spec · 5f15e3e6
      Vladimir Oltean authored
      * Root cause of the issue is improper naming of variables. Turns out,
        there was no variable to even denote where the blob should have been
        searched for, at "src".
      * Previously there was one such variable, suggestively called "TARGET", that
        was desperately trying to serve as both, depending on who +2d hacks harder.
      * One such example is "c982836c
      
       extract_utils: Fix makefile generation issues".
        That patch deliberately trimmed the "src:" from a spec (therefore
        obviously breaking the search at src) but enabling the searching at
        dst, via the good-for-all TARGET variable.
      * This patch introduces the following variables:
        - SRC_FILE: absolute path corresponding to SPEC_SRC_FILE in the
          Android filesystem.
        - DST_FILE: absolute path corresponding to SPEC_DST_FILE in the
          Android filesystem. Somewhat analogous to the old TARGET variable,
          but actually contains the leading / as well (/system/bin/adsprpcd
          instead of system/bin/adsprpcd).
      * Use existing common get_file() function (which previously was
        impossible to use, because it was impossible to determine calling
        arguments properly) to reduce complexity of handling adb and disk
        image as blob sources.
      * Via the new SRC_FILE and DST_FILE variables, search for a blob in all
        possible locations (including paths stripped of "/system" which
        transforms an absolute path in the Android filesystem into a proper
        relative path to that file in a disk image).
      
      Change-Id: Ic40fb4dc93541d8b3f33fde586b773199cf4ded2
      Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
      5f15e3e6
    • Vladimir Oltean's avatar
      extract_utils: extract(): rename DEST variable to VENDOR_REPO_FILE · d6747717
      Vladimir Oltean authored
      
      
      * This denotes the path of the file that results from the extraction
        process, relative to the "proprietary" directory.
      * This is a cleanup patch.
      
      Change-Id: I38e759bb6ed697f0a31ca35a7aa9b9b92f8b6793
      Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
      d6747717
    • Vladimir Oltean's avatar
      extract_utils: extract(): rename ARGS variable to SPEC_ARGS · d652a067
      Vladimir Oltean authored
      
      
      * This is a cleanup patch.
      
      Change-Id: I2a4aac840c06c4f9b94b77b32ead33352ce395ff
      Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
      d652a067