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
|