[Notes] [Git][BuildStream/buildstream][jjardon/strip-binaries-removal] 4 commits: Merge branch 'jonathan/fix-identical-element' into 'master'



Title: GitLab

Javier Jardón pushed to branch jjardon/strip-binaries-removal at BuildStream / buildstream

Commits:

12 changed files:

Changes:

  • NEWS
    ... ... @@ -2,6 +2,10 @@
    2 2
     buildstream 1.3.1
    
    3 3
     =================
    
    4 4
     
    
    5
    +  o BREAKING CHANGE: Default strip-commands have been removed as they are too
    
    6
    +    specific. Recommendation is if you are building in Linux is to use the
    
    7
    +    ones begin used in freedesktop-sdk project, for example
    
    8
    +
    
    5 9
       o All elements must now be suffixed with `.bst`
    
    6 10
         Attempting to use an element that does not have the `.bst` extension,
    
    7 11
         will result in a warning.
    

  • buildstream/data/projectconfig.yaml
    ... ... @@ -44,38 +44,8 @@ variables:
    44 44
       # Indicates the build installation directory in the sandbox
    
    45 45
       install-root: /buildstream-install
    
    46 46
     
    
    47
    -  # Arguments for tooling used when stripping debug symbols
    
    48
    -  objcopy-link-args: --add-gnu-debuglink
    
    49
    -  objcopy-extract-args: |
    
    50
    -
    
    51
    -    --only-keep-debug --compress-debug-sections
    
    52
    -
    
    53
    -  strip-args: |
    
    54
    -
    
    55
    -    --remove-section=.comment --remove-section=.note --strip-unneeded
    
    56
    -
    
    57
    -  # Generic implementation for stripping debugging symbols
    
    58
    -  strip-binaries: |
    
    59
    -
    
    60
    -    cd "%{install-root}" && find -type f \
    
    61
    -      '(' -perm -111 -o -name '*.so*' \
    
    62
    -          -o -name '*.cmxs' -o -name '*.node' ')' \
    
    63
    -      -exec sh -ec \
    
    64
    -      'read -n4 hdr <"$1" # check for elf header
    
    65
    -       case "$1" in
    
    66
    -         %{install-root}%{debugdir}/*)
    
    67
    -           exit 0
    
    68
    -           ;;
    
    69
    -       esac
    
    70
    -       if [ "$hdr" != "$(printf \\x7fELF)" ]; then
    
    71
    -           exit 0
    
    72
    -       fi
    
    73
    -       debugfile="%{install-root}%{debugdir}/$1"
    
    74
    -       mkdir -p "$(dirname "$debugfile")"
    
    75
    -       objcopy %{objcopy-extract-args} "$1" "$debugfile"
    
    76
    -       chmod 644 "$debugfile"
    
    77
    -       strip %{strip-args} "$1"
    
    78
    -       objcopy %{objcopy-link-args} "$debugfile" "$1"' - {} ';'
    
    47
    +  # You need to override this with the commands specific for your system
    
    48
    +  strip-binaries: ""
    
    79 49
     
    
    80 50
       # Generic implementation for reproducible python builds
    
    81 51
       fix-pyc-timestamps: |
    
    ... ... @@ -196,4 +166,4 @@ shell:
    196 166
     
    
    197 167
       # Command to run when `bst shell` does not provide a command
    
    198 168
       #
    
    199
    -  command: [ 'sh', '-i' ]
    \ No newline at end of file
    169
    +  command: [ 'sh', '-i' ]

  • buildstream/plugins/elements/autotools.py
    ... ... @@ -51,6 +51,14 @@ Here is the default configuration for the ``autotools`` element in full:
    51 51
       .. literalinclude:: ../../../buildstream/plugins/elements/autotools.yaml
    
    52 52
          :language: yaml
    
    53 53
     
    
    54
    +.. note::
    
    55
    +
    
    56
    +   The `strip-binaries` variable is by default **empty**. You need to use the
    
    57
    +   appropiate commands depending of the system you are building.
    
    58
    +   If you are targetting Linux, ones known to work are the ones used by the
    
    59
    +   `freedesktop-sdk <https://freedesktop-sdk.io/>`_, you can take a look to them in their
    
    60
    +   `project.conf <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/blob/freedesktop-sdk-18.08.21/project.conf#L74>`_
    
    61
    +
    
    54 62
     See :ref:`built-in functionality documentation <core_buildelement_builtins>` for
    
    55 63
     details on common configuration options for build elements.
    
    56 64
     """
    

  • buildstream/plugins/elements/cmake.py
    ... ... @@ -50,6 +50,14 @@ Here is the default configuration for the ``cmake`` element in full:
    50 50
       .. literalinclude:: ../../../buildstream/plugins/elements/cmake.yaml
    
    51 51
          :language: yaml
    
    52 52
     
    
    53
    +.. note::
    
    54
    +
    
    55
    +   The `strip-binaries` variable is by default **empty**. You need to use the
    
    56
    +   appropiate commands depending of the system you are building.
    
    57
    +   If you are targetting Linux, ones known to work are the ones used by the
    
    58
    +   `freedesktop-sdk <https://freedesktop-sdk.io/>`_, you can take a look to them in their
    
    59
    +   `project.conf <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/blob/freedesktop-sdk-18.08.21/project.conf#L74>`_
    
    60
    +
    
    53 61
     See :ref:`built-in functionality documentation <core_buildelement_builtins>` for
    
    54 62
     details on common configuration options for build elements.
    
    55 63
     """
    

  • buildstream/plugins/elements/distutils.py
    ... ... @@ -27,6 +27,14 @@ The distutils default configuration:
    27 27
       .. literalinclude:: ../../../buildstream/plugins/elements/distutils.yaml
    
    28 28
          :language: yaml
    
    29 29
     
    
    30
    +.. note::
    
    31
    +
    
    32
    +   The `strip-binaries` variable is by default **empty**. You need to use the
    
    33
    +   appropiate commands depending of the system you are building.
    
    34
    +   If you are targetting Linux, ones known to work are the ones used by the
    
    35
    +   `freedesktop-sdk <https://freedesktop-sdk.io/>`_, you can take a look to them in their
    
    36
    +   `project.conf <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/blob/freedesktop-sdk-18.08.21/project.conf#L74>`_
    
    37
    +
    
    30 38
     See :ref:`built-in functionality documentation <core_buildelement_builtins>` for
    
    31 39
     details on common configuration options for build elements.
    
    32 40
     """
    

  • buildstream/plugins/elements/make.py
    ... ... @@ -32,6 +32,14 @@ Here is the default configuration for the ``make`` element in full:
    32 32
       .. literalinclude:: ../../../buildstream/plugins/elements/make.yaml
    
    33 33
          :language: yaml
    
    34 34
     
    
    35
    +.. note::
    
    36
    +
    
    37
    +   The `strip-binaries` variable is by default **empty**. You need to use the
    
    38
    +   appropiate commands depending of the system you are building.
    
    39
    +   If you are targetting Linux, ones known to work are the ones used by the
    
    40
    +   `freedesktop-sdk <https://freedesktop-sdk.io/>`_, you can take a look to them in their
    
    41
    +   `project.conf <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/blob/freedesktop-sdk-18.08.21/project.conf#L74>`_
    
    42
    +
    
    35 43
     See :ref:`built-in functionality documentation <core_buildelement_builtins>` for
    
    36 44
     details on common configuration options for build elements.
    
    37 45
     """
    

  • buildstream/plugins/elements/makemaker.py
    ... ... @@ -27,6 +27,14 @@ The MakeMaker default configuration:
    27 27
       .. literalinclude:: ../../../buildstream/plugins/elements/makemaker.yaml
    
    28 28
          :language: yaml
    
    29 29
     
    
    30
    +.. note::
    
    31
    +
    
    32
    +   The `strip-binaries` variable is by default **empty**. You need to use the
    
    33
    +   appropiate commands depending of the system you are building.
    
    34
    +   If you are targetting Linux, ones known to work are the ones used by the
    
    35
    +   `freedesktop-sdk <https://freedesktop-sdk.io/>`_, you can take a look to them in their
    
    36
    +   `project.conf <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/blob/freedesktop-sdk-18.08.21/project.conf#L74>`_
    
    37
    +
    
    30 38
     See :ref:`built-in functionality documentation <core_buildelement_builtins>` for
    
    31 39
     details on common configuration options for build elements.
    
    32 40
     """
    

  • buildstream/plugins/elements/manual.py
    ... ... @@ -27,6 +27,15 @@ The empty configuration is as such:
    27 27
       .. literalinclude:: ../../../buildstream/plugins/elements/manual.yaml
    
    28 28
          :language: yaml
    
    29 29
     
    
    30
    +.. note::
    
    31
    +
    
    32
    +   The `strip-binaries` variable is by default **empty**. You need to use the
    
    33
    +   appropiate commands depending of the system you are building.
    
    34
    +   If you are targetting Linux, ones known to work are the ones used by the
    
    35
    +   `freedesktop-sdk <https://freedesktop-sdk.io/>`_, you can take a look to them in their
    
    36
    +   `project.conf <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/blob/freedesktop-sdk-18.08.21/project.conf#L74>`_
    
    37
    +
    
    38
    +
    
    30 39
     See :ref:`built-in functionality documentation <core_buildelement_builtins>` for
    
    31 40
     details on common configuration options for build elements.
    
    32 41
     """
    

  • buildstream/plugins/elements/meson.py
    ... ... @@ -47,6 +47,14 @@ Here is the default configuration for the ``meson`` element in full:
    47 47
       .. literalinclude:: ../../../buildstream/plugins/elements/meson.yaml
    
    48 48
          :language: yaml
    
    49 49
     
    
    50
    +.. note::
    
    51
    +
    
    52
    +   The `strip-binaries` variable is by default **empty**. You need to use the
    
    53
    +   appropiate commands depending of the system you are building.
    
    54
    +   If you are targetting Linux, ones known to work are the ones used by the
    
    55
    +   `freedesktop-sdk <https://freedesktop-sdk.io/>`_, you can take a look to them in their
    
    56
    +   `project.conf <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/blob/freedesktop-sdk-18.08.21/project.conf#L74>`_
    
    57
    +
    
    50 58
     See :ref:`built-in functionality documentation <core_buildelement_builtins>` for
    
    51 59
     details on common configuration options for build elements.
    
    52 60
     """
    

  • buildstream/plugins/elements/modulebuild.py
    ... ... @@ -27,6 +27,14 @@ The modulebuild default configuration:
    27 27
       .. literalinclude:: ../../../buildstream/plugins/elements/modulebuild.yaml
    
    28 28
          :language: yaml
    
    29 29
     
    
    30
    +.. note::
    
    31
    +
    
    32
    +   The `strip-binaries` variable is by default **empty**. You need to use the
    
    33
    +   appropiate commands depending of the system you are building.
    
    34
    +   If you are targetting Linux, ones known to work are the ones used by the
    
    35
    +   `freedesktop-sdk <https://freedesktop-sdk.io/>`_, you can take a look to them in their
    
    36
    +   `project.conf <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/blob/freedesktop-sdk-18.08.21/project.conf#L74>`_
    
    37
    +
    
    30 38
     See :ref:`built-in functionality documentation <core_buildelement_builtins>` for
    
    31 39
     details on common configuration options for build elements.
    
    32 40
     """
    

  • buildstream/plugins/elements/pip.py
    ... ... @@ -27,6 +27,14 @@ The pip default configuration:
    27 27
       .. literalinclude:: ../../../buildstream/plugins/elements/pip.yaml
    
    28 28
          :language: yaml
    
    29 29
     
    
    30
    +.. note::
    
    31
    +
    
    32
    +   The `strip-binaries` variable is by default **empty**. You need to use the
    
    33
    +   appropiate commands depending of the system you are building.
    
    34
    +   If you are targetting Linux, ones known to work are the ones used by the
    
    35
    +   `freedesktop-sdk <https://freedesktop-sdk.io/>`_, you can take a look to them in their
    
    36
    +   `project.conf <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/blob/freedesktop-sdk-18.08.21/project.conf#L74>`_
    
    37
    +
    
    30 38
     See :ref:`built-in functionality documentation <core_buildelement_builtins>` for
    
    31 39
     details on common configuration options for build elements.
    
    32 40
     """
    

  • buildstream/plugins/elements/qmake.py
    ... ... @@ -27,6 +27,14 @@ The qmake default configuration:
    27 27
       .. literalinclude:: ../../../buildstream/plugins/elements/qmake.yaml
    
    28 28
          :language: yaml
    
    29 29
     
    
    30
    +.. note::
    
    31
    +
    
    32
    +   The `strip-binaries` variable is by default **empty**. You need to use the
    
    33
    +   appropiate commands depending of the system you are building.
    
    34
    +   If you are targetting Linux, ones known to work are the ones used by the
    
    35
    +   `freedesktop-sdk <https://freedesktop-sdk.io/>`_, you can take a look to them in their
    
    36
    +   `project.conf <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/blob/freedesktop-sdk-18.08.21/project.conf#L74>`_
    
    37
    +
    
    30 38
     See :ref:`built-in functionality documentation <core_buildelement_builtins>` for
    
    31 39
     details on common configuration options for build elements.
    
    32 40
     """
    



  • [Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]