boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
- 
16562e9c
by Nicolas Vigier at 2024-06-04T12:16:29+02:00
6 changed files:
- projects/linux-packages/build
- projects/linux-packages/config
- projects/linux-packages/debian/rules → projects/linux-packages/debian/rules.in
- projects/linux-packages/rpm-package.spec
- projects/mmdebstrap-image/config
- projects/release/config
Changes:
| ... | ... | @@ -10,6 +10,16 @@ export SOURCE_DATE_EPOCH='[% c("timestamp") %]' | 
| 10 | 10 |  umask 0022
 | 
| 11 | 11 | |
| 12 | 12 |  [% IF c("var/build_deb_pkg") -%]
 | 
| 13 | +  [% IF c("var/browser-linux-i686") -%]
 | |
| 14 | +    # When building an i386 deb package, dh_strip requires i686-linux-gnu-*
 | |
| 15 | +    # commands not provided by the binutils x86_64 package on debian stretch.
 | |
| 16 | +    # We can use the binutils-i686-gnu package when we switch to buster.
 | |
| 17 | +    mkdir -p /var/tmp/dist/binutils
 | |
| 18 | +    for bin in strip objcopy objdump; do
 | |
| 19 | +      ln -s /usr/bin/$bin /var/tmp/dist/binutils/i686-linux-gnu-$bin
 | |
| 20 | +    done
 | |
| 21 | +    export PATH="/var/tmp/dist/binutils:$PATH"
 | |
| 22 | +  [% END -%]
 | |
| 13 | 23 |    cd $distdir
 | 
| 14 | 24 |    project_dir=[% c("var/system_pkg/pkg_name") %]-[% c("var/system_pkg/pkg_version") %]
 | 
| 15 | 25 |    mkdir "$project_dir"
 | 
| ... | ... | @@ -41,20 +51,20 @@ umask 0022 | 
| 41 | 51 |    [% END -%]
 | 
| 42 | 52 |    [% IF c("var/browser-linux-i686") -%]
 | 
| 43 | 53 |      extract_src_tar \
 | 
| 44 | -      $rootdir/[% c('input_files_by_name/linux-x86_64') %]/[% c("var/project-name") %]-linux-i686-[% c("version") %].tar.xz \
 | |
| 54 | +      $rootdir/[% c('input_files_by_name/linux-i686') %]/[% c("var/project-name") %]-linux-i686-[% c("version") %].tar.xz \
 | |
| 45 | 55 |        i386
 | 
| 46 | 56 |    [% END -%]
 | 
| 47 | 57 | |
| 58 | +  dpkg-buildpackage --unsigned-source --unsigned-changes --build=source
 | |
| 48 | 59 |    [% FOREACH deb_arch = c("var_p/system_pkg/deb_archs") -%]
 | 
| 49 | -    dpkg-buildpackage --unsigned-source --unsigned-changes --build=full --host-arch=[% deb_arch %]
 | |
| 60 | +    dpkg-buildpackage --unsigned-source --unsigned-changes --build=binary --host-arch=[% deb_arch %]
 | |
| 50 | 61 |      deb_file_name='[% c("var/system_pkg/pkg_name") %]_[% c("var/system_pkg/pkg_version") %]-[% c("var/system_pkg/pkg_revision") %]_[% deb_arch %].deb'
 | 
| 51 | 62 |      dpkg-deb --info "../$deb_file_name"
 | 
| 52 | -    pushd ..
 | |
| 53 | -    mv -f "$deb_file_name" *.dsc *.orig.tar.xz *.debian.tar.xz "$OUTDIR/"
 | |
| 54 | -    popd
 | |
| 63 | +    mv -f ../"$deb_file_name" "$OUTDIR/"
 | |
| 55 | 64 |    [% END -%]
 | 
| 56 | 65 | |
| 57 | 66 |    cd ..
 | 
| 67 | +  mv -f *.dsc *.orig.tar.xz *.debian.tar.xz "$OUTDIR/"
 | |
| 58 | 68 |  [% END %]
 | 
| 59 | 69 | |
| 60 | 70 |  [% IF c("var/build_rpm_pkg") -%]
 | 
| ... | ... | @@ -77,10 +87,15 @@ EOF | 
| 77 | 87 |    [% END -%]
 | 
| 78 | 88 |    [% IF c("var/browser-linux-i686") -%]
 | 
| 79 | 89 |      cp -a $rootdir/[% c('input_files_by_name/linux-i686') %]/[% c("var/project-name") %]-linux-i686-[% c("version") %].tar.xz \
 | 
| 80 | -      SOURCES/[% c("var/system_pkg/pkg_name") %]-linux-i686-[% c("var/system_pkg/pkg_version") %].tar.xz
 | |
| 90 | +      SOURCES/[% c("var/system_pkg/pkg_name") %]-linux-i386-[% c("var/system_pkg/pkg_version") %].tar.xz
 | |
| 81 | 91 |    [% END -%]
 | 
| 82 | 92 |    rpmdir=$(pwd)
 | 
| 83 | -  rpmbuild --define "_topdir $rpmdir" -v -bb SPECS/[% c("var/system_pkg/pkg_name") %].spec
 | |
| 93 | +  [% IF c("var/browser-linux-x86_64") -%]
 | |
| 94 | +    rpmbuild --define "_topdir $rpmdir" -v -bb SPECS/[% c("var/system_pkg/pkg_name") %].spec
 | |
| 95 | +  [% END -%]
 | |
| 96 | +  [% IF c("var/browser-linux-i686") -%]
 | |
| 97 | +    rpmbuild --define "_topdir $rpmdir" --target i686-redhat-linux -v -bb SPECS/[% c("var/system_pkg/pkg_name") %].spec
 | |
| 98 | +  [% END -%]
 | |
| 84 | 99 |    mv RPMS/*/*.rpm "$OUTDIR/"
 | 
| 85 | 100 | |
| 86 | 101 |  [% END %] | 
| ... | ... | @@ -23,7 +23,12 @@ targets: | 
| 23 | 23 | |
| 24 | 24 |    deb:
 | 
| 25 | 25 |      var:
 | 
| 26 | -      build_deb_pkg: '[% c("var/mullvad-browser") %]'
 | |
| 26 | +      build_deb_pkg: 1
 | |
| 27 | +      pre_pkginst: |
 | |
| 28 | +        dpkg --add-architecture i386
 | |
| 29 | +        # some :i386 packages fail to install when /var/lib/dpkg/available
 | |
| 30 | +        # does not exist, so create it as an empty file
 | |
| 31 | +        echo > /var/lib/dpkg/available
 | |
| 27 | 32 |        arch_deps:
 | 
| 28 | 33 |          # Packages needed to build the deb package
 | 
| 29 | 34 |          - dpkg-dev
 | 
| ... | ... | @@ -40,10 +45,20 @@ targets: | 
| 40 | 45 |          - libpulse-dev
 | 
| 41 | 46 |          - libx11-xcb-dev
 | 
| 42 | 47 |          - libxt-dev
 | 
| 48 | +        - linux-libc-dev:i386
 | |
| 49 | +        - libasound2-dev:i386
 | |
| 50 | +        - libfontconfig1-dev:i386
 | |
| 51 | +        - libfreetype6-dev:i386
 | |
| 52 | +        - libgconf2-dev:i386
 | |
| 53 | +        - libgtk-3-dev:i386
 | |
| 54 | +        - libpango1.0-dev:i386
 | |
| 55 | +        - libpulse-dev:i386
 | |
| 56 | +        - libx11-xcb-dev:i386
 | |
| 57 | +        - libxt-dev:i386
 | |
| 43 | 58 | |
| 44 | 59 |    rpm:
 | 
| 45 | 60 |      var:
 | 
| 46 | -      build_rpm_pkg: '[% c("var/mullvad-browser") %]'
 | |
| 61 | +      build_rpm_pkg: 1
 | |
| 47 | 62 | |
| 48 | 63 |        arch_deps:
 | 
| 49 | 64 |          # Packages needed to build the rpm package
 | 
| ... | ... | @@ -71,6 +86,7 @@ targets: | 
| 71 | 86 |      var:
 | 
| 72 | 87 |        browser_type: torbrowser
 | 
| 73 | 88 |        system_pkg:
 | 
| 89 | +        pkg_description: 'Tor Browser is a privacy-focused web browser designed to minimize tracking and fingerprinting, using the Tor network to protect your privacy and anonymity.'
 | |
| 74 | 90 |          pkg_url: 'https://torproject.org/'
 | 
| 75 | 91 |    basebrowser:
 | 
| 76 | 92 |      var:
 | 
| ... | ... | @@ -149,6 +165,8 @@ input_files: | 
| 149 | 165 |      refresh_input: 1
 | 
| 150 | 166 |      enable: '[% c("var/build_deb_pkg") %]'
 | 
| 151 | 167 |    - filename: debian/rules
 | 
| 168 | +    content: "[% INCLUDE 'debian/rules.in' %]"
 | |
| 169 | +    refresh_input: 1
 | |
| 152 | 170 |      enable: '[% c("var/build_deb_pkg") %]'
 | 
| 153 | 171 | |
| 154 | 172 |    # rpm package
 | 
| ... | ... | @@ -7,4 +7,4 @@ override_dh_strip_nondeterminism: | 
| 7 | 7 |  	dh_strip_nondeterminism -Xxpi
 | 
| 8 | 8 | |
| 9 | 9 |  override_dh_shlibdeps:
 | 
| 10 | -	dh_shlibdeps -Xabicheck | |
| 10 | +	dh_shlibdeps -Xabicheck[% IF c("var/tor-browser") %] -l$(CURDIR)/debian/[% c("var/system_pkg/pkg_name") %]/[% c('var/system_pkg/install_path') %]/TorBrowser/Tor[% END %] | 
| ... | ... | @@ -34,7 +34,7 @@ Source1: [% c("var/system_pkg/pkg_name") %].desktop | 
| 34 | 34 |  Source2: %{name}-linux-x86_64-%{version}.tar.xz
 | 
| 35 | 35 |  [% END -%]
 | 
| 36 | 36 |  [% IF c("var/browser-linux-i686") -%]
 | 
| 37 | -Source3: %{name}-linux-i686-%{version}.tar.xz
 | |
| 37 | +Source3: %{name}-linux-i386-%{version}.tar.xz
 | |
| 38 | 38 |  [% END -%]
 | 
| 39 | 39 | |
| 40 | 40 |  %description
 | 
| ... | ... | @@ -42,6 +42,12 @@ targets: | 
| 42 | 42 |            "deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://archive.debian.org/debian-archive/debian/ stretch main"
 | 
| 43 | 43 |            "deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://archive.debian.org/debian-archive/debian-security/ stretch/updates main"
 | 
| 44 | 44 | |
| 45 | +  buster-amd64:
 | |
| 46 | +    var:
 | |
| 47 | +      minimal_apt_version: 1.8.2
 | |
| 48 | +      container:
 | |
| 49 | +        suite: buster
 | |
| 50 | +        arch: amd64
 | |
| 45 | 51 | |
| 46 | 52 |    bullseye-amd64:
 | 
| 47 | 53 |      var:
 | 
| ... | ... | @@ -47,7 +47,7 @@ targets: | 
| 47 | 47 |    browser-linux-x86_64:
 | 
| 48 | 48 |      var:
 | 
| 49 | 49 |        browser-linux-x86_64: 1
 | 
| 50 | -      linux-packages: '[% c("var/mullvad-browser") %]'
 | |
| 50 | +      linux-packages: '[% c("var/mullvad-browser") || c("var/tor-browser-linux-packages") %]'
 | |
| 51 | 51 |    browser-linux-x86_64-asan:
 | 
| 52 | 52 |      var:
 | 
| 53 | 53 |        browser-linux-x86_64: 1
 | 
| ... | ... | @@ -55,7 +55,7 @@ targets: | 
| 55 | 55 |    browser-linux-i686:
 | 
| 56 | 56 |      var:
 | 
| 57 | 57 |        browser-linux-i686: '[% c("var/browser_type") != "mullvadbrowser" %]'
 | 
| 58 | -      linux-packages: '[% c("var/mullvad-browser") %]'
 | |
| 58 | +      linux-packages: '[% c("var/mullvad-browser") || c("var/tor-browser-linux-packages") %]'
 | |
| 59 | 59 |    browser-windows-i686:
 | 
| 60 | 60 |      var:
 | 
| 61 | 61 |        browser-windows-i686: '[% c("var/browser_type") != "mullvadbrowser" %]'
 | 
| ... | ... | @@ -93,6 +93,7 @@ targets: | 
| 93 | 93 |      var:
 | 
| 94 | 94 |        browser_type: torbrowser
 | 
| 95 | 95 |        git_tag_prefix: tbb
 | 
| 96 | +      tor-browser-linux-packages: '[% ! c("var/release") %]'
 | |
| 96 | 97 |    basebrowser:
 | 
| 97 | 98 |      var:
 | 
| 98 | 99 |        browser_type: basebrowser
 |