-
Notifications
You must be signed in to change notification settings - Fork 451
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename *_all.deb in release to *_x64.deb #8171
Comments
Thanks for the suggestion. Just in time for the 8.0 release 👍 |
Alright, I looked into what generates this name. It seems that our build name is left completely to tribler/build/debian/makedist_debian.sh Line 29 in 8c457b9
If I interpret the manpage correctly:
The only way I see the output name including the Nope, that breaks everything. Perhaps there is some other command to specify the name? |
I burned a few hours on this. Long story short, for the upcoming release I think we should just rename the output manually. This ties into #5345 and #5327. If we want to do this the "right" way (like the Debian docs recommend, giving us proper file names), we should either (a) ship the source in the I will try a bit more to get a "proper" |
For the simple output renaming, I have the following ugly-but-automated solution: diff --git a/build/debian/tribler/debian/rules b/build/debian/tribler/debian/rules
index d760a8242..70adbe290 100755
--- a/build/debian/tribler/debian/rules
+++ b/build/debian/tribler/debian/rules
@@ -13,6 +13,29 @@
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_SOURCE_PACKAGE := $(strip $(shell egrep '^Source: ' debian/control | cut -f 2 -d ':'))
+DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
+
+dh binary:
+ dh_testroot
+ dh_prep
+ dh_auto_install --destdir=debian/tribler/
+ dh_install
+ dh_installdocs
+ dh_installchangelogs
+ dh_installmenu
+ dh_icons
+ dh_perl
+ dh_link
+ dh_strip_nondeterminism
+ dh_compress
+ dh_fixperms
+ dh_missing
+ dh_installdeb
+ dh_gencontrol -- "-n${DEB_SOURCE_PACKAGE}_${DEB_VERSION}_${DEB_HOST_ARCH}.deb"
+ dh_md5sums
+ dh_builddeb --filename=${DEB_SOURCE_PACKAGE}_${DEB_VERSION}_${DEB_HOST_ARCH}.deb
%:
dh $@ Still looking for something nicer. I feel like there should be a better solution. |
I don't think it's worth delaying |
Documenting my random searches. I came across two promising ways to handle compilation on other architectures for use with GitHub Actions.
|
I think I have a successful https://github.com/qstokkink/tribler/actions/runs/11255571313
However, I have no way to test this. @Dmole are you willing to test the build? |
That should be just "libcrypt.so" (a static build may be a security issue, as would Flatpack etc). qemu or cloud providers (like amazon) can be used for aarch64 testing. |
Thanks for testing 👍 I had hoped that getting the build running under a different arch was enough. However, it seems I'll have to get deep into how |
Why use cx_Freeze at all; Why not the good old platform independent "python tribler.py" on Linux/MacOS/BSD? |
Something (cx_Freeze? dpkg-buildpackage?) breaks reproducible builds :/ |
I do see the appeal of zero-effort releases by just shipping Python, but there are some issues with Python's import system that can cause a nightmare when trying to debug issues (let alone people making custom patches). For example, I recall when our networking library imported half of its files from a system-wide install and the other half from the local directory. Especially when limited to a reported traceback, it is nice to have a stable version and isolation. For more experienced people, like yourself I think, the added value of a build is probably a lot less. I think |
I integrated a test run into the builder action and I can now reproduce the missing - uses: uraimo/run-on-arch-action@v2
name: Run commands
id: runcmd
with:
arch: aarch64
distro: ubuntu22.04
githubToken: ${{ github.token }}
dockerRunArgs: |
--volume "${PWD}:/tribler"
env: |
GITHUB_TAG: '8.0.1'
shell: /bin/sh
install: |
apt-get update -q -y
apt-get install -q -y --allow-downgrades alien cpio=2.13+dfsg-7 devscripts fakeroot gir1.2-gtk-4.0 libgirepository1.0-dev rpm python3-pip libcairo2-dev
run: |
cd /tribler
python3 -m pip install --upgrade -r build/requirements.txt
python3 -m pip install meson ninja
export PATH="/usr/local/bin:$PATH"
./build/debian/makedist_debian.sh
cd build/debian
apt-get install -y --fix-broken ./tribler_8.0.1_all.deb
timeout 10s tribler -s || true
cat /tmp/*tribler*.log Getting back to the original issue, my goal was to see what the output name would be. The answer is that this also produces a tribler/.github/workflows/build.yml Line 100 in c296e08
|
The text was updated successfully, but these errors were encountered: