Q: How to recompile LibreOffice from experimental on Buster

Programming languages, Coding, executables, and scripting.
Post Reply
Message
Author
macguru
Posts: 12
Joined: 2018-09-13 18:09

Q: How to recompile LibreOffice from experimental on Buster

#1 Post by macguru »

Hi!

I'm trying to recompile LibreOffice 7.1.1 from experimental on Buster ARM64 / Raspberry Pi.
The last available version on Buster is 7.04 from backports, yet I need 7.1.1 which has some useful additions like ScriptForge.
LibreOffice 7.1.1 from experimental compiled with dependency on Python 3.9 and a large number of other libs more recent version than those available in Buster.
I edited the file

Code: Select all

/src/debian/libreoffice-7.1.1~rc1/debian/control
fields Build-Depends, Build-Depends, Build-Depends with values from 7.04.
However, invoking

Code: Select all

sudo apt-get build-dep libreoffice
still shows unmet dependencies with no regard I made in "control".

How to fix that?
Thanks in advance.

PS. May be LibreOffice 7.1.1 ARM64/RaspberryPi debs (for Buster) are available from any repository I'm not aware of? Deadsnakes PPA doesn't have them.

User avatar
craigevil
Posts: 5257
Joined: 2006-09-17 03:17
Location: Oz
Has thanked: 3 times
Been thanked: 3 times

Re: Q: How to recompile LibreOffice from experimental on Bus

#2 Post by craigevil »

Assuming experimental has a deb-src repos, follow the advice in this thread.
http://forums.debian.net/viewtopic.php?f=16&t=38976


Edit: Flahub/Flatpak has LibreOffice 7.1.0.3. https://flathub.org/apps/details/org.li ... ibreOffice
It runs just fine on my PI 400 running the 64bit OS.

BTW the best place to ask about Rsapberry PI is the official PI forums: https://www.raspberrypi.org/forums/
Raspberry PI 400 Distro: Raspberry Pi OS (Unstable) Kernel: 5.10.52-v8+ aarch64 DE: MATE Ram 4GB
Debian - "If you can't apt install something, it isn't useful or doesn't exist"

User avatar
stevepusser
Posts: 12408
Joined: 2009-10-06 05:53
Has thanked: 7 times
Been thanked: 5 times

Re: Q: How to recompile LibreOffice from experimental on Bus

#3 Post by stevepusser »

I've only backported LO for MX a few times, but I had to either add source tarballs to the debian/tarballs or orig source tarballs that are system libraries in upstream Debian, and then figure out how to set the build system to use those tarballs instead of the system libraries.

Anyway, it's not a trivial backport, plus if you cross-compile the build on an x86 install, there's about a 10X performance hit, so it might take fifty hours straight instead of five. Note that I do MX Linux's armhf chromium backports in the cloud on the OBS, because though it takes 98,500 seconds to do so, at least it's not on my machine: https://build.opensuse.org/package/live ... _10/armv7l
MX Linux packager and developer

macguru
Posts: 12
Joined: 2018-09-13 18:09

Re: Q: How to recompile LibreOffice from experimental on Bus

#4 Post by macguru »

craigevil wrote:Assuming experimental has a deb-src repos, follow the advice in this thread.
http://forums.debian.net/viewtopic.php?f=16&t=38976
Thanks for the help! Unfortunately, the article by this link doesn't explain how why editing Build-Depends in "debian/control" file has no effect on these dependencies. It should be something simple I'm missing there.
craigevil wrote:Edit: Flahub/Flatpak has LibreOffice 7.1.0.3. https://flathub.org/apps/details/org.li ... ibreOffice
It runs just fine on my PI 400 running the 64bit OS.
I had issues with Flatpak build in the past with my custom Python scripts invoked from LibreOffice.
craigevil wrote:BTW the best place to ask about Rsapberry PI is the official PI forums: https://www.raspberrypi.org/forums/
Nope, there are much more Debian developers on this forum.

macguru
Posts: 12
Joined: 2018-09-13 18:09

Re: Q: How to recompile LibreOffice from experimental on Bus

#5 Post by macguru »

stevepusser wrote: Anyway, it's not a trivial backport, plus if you cross-compile the build on an x86 install, there's about a 10X performance hit, so it might take fifty hours straight instead of five. Note that I do MX Linux's armhf chromium backports in the cloud on the OBS, because though it takes 98,500 seconds to do so, at least it's not on my machine: https://build.opensuse.org/package/live ... _10/armv7l
Oh, I already noticed that :-) Time is not an issue, I can leave Raspberry Pi run 24/7 for a whole week, or cross-compile on our servers.

User avatar
stevepusser
Posts: 12408
Joined: 2009-10-06 05:53
Has thanked: 7 times
Been thanked: 5 times

Re: Q: How to recompile LibreOffice from experimental on Bus

#6 Post by stevepusser »

macguru wrote:
craigevil wrote:Assuming experimental has a deb-src repos, follow the advice in this thread.
http://forums.debian.net/viewtopic.php?f=16&t=38976
Thanks for the help! Unfortunately, the article by this link doesn't explain how why editing Build-Depends in "debian/control" file has no effect on these dependencies. It should be something simple I'm missing there.

The build-depends in debian/control get regenerated, depending on what distro is on the top stanza of debian/changelog. Use "buster-backports" for your backport instead of "unstable", but I think you'll still be missing some tarballs. You might try getting those from the 7.0.4 in buster-backports at the moment, or backporting the build-depends that aren't in Buster first.
MX Linux packager and developer

macguru
Posts: 12
Joined: 2018-09-13 18:09

Re: Q: How to recompile LibreOffice from experimental on Bus

#7 Post by macguru »

craigevil wrote: Edit: Flahub/Flatpak has LibreOffice 7.1.0.3. https://flathub.org/apps/details/org.li ... ibreOffice
It runs just fine on my PI 400 running the 64bit OS.
Just tried. Flatpak apps run in a sandboxed environment, and therefore, all python modules and scripts I have in host OS are not accessible. Even JRE is "flapacked" in this LO install.

macguru
Posts: 12
Joined: 2018-09-13 18:09

Re: Q: How to recompile LibreOffice from experimental on Bus

#8 Post by macguru »

stevepusser wrote: The build-depends in debian/control get regenerated, depending on what distro is on the top stanza of debian/changelog. Use "buster-backports" for your backport instead of "unstable", but I think you'll still be missing some tarballs. You might try getting those from the 7.0.4 in buster-backports at the moment or backporting the build-depends that aren't in Buster first.
OK, what is the original source of "debian/control -> Build-Depends", where this info is taken from when invoking "build-dep"?

User avatar
stevepusser
Posts: 12408
Joined: 2009-10-06 05:53
Has thanked: 7 times
Been thanked: 5 times

Re: Q: How to recompile LibreOffice from experimental on Bus

#9 Post by stevepusser »

Oh, jeesh, this is getting to be a real time sink. First, you should see what the last buster-backports build had to do, since you'll no doubt have to repeat it:

Code: Select all

libreoffice (1:7.0.4~rc2-1~bpo10+2) buster-backports; urgency=medium

  * actually include the tarballs...

 -- Rene Engelhard <rene@debian.org>  Fri, 18 Dec 2020 16:16:02 +0100

libreoffice (1:7.0.4~rc2-1~bpo10+1) buster-backports; urgency=medium

  * Rebuild for buster-backports.

  * debian/source/include-binaries:
    - include tarballs/libmwaw-0.3.16.tar.xz
    - include tarballs/mdds-1.6.0.tar.bz2
    - include tarballs/liborcus-0.16.1.tar.bz2
    - include tarballs/xmlsec1-1.2.30.tar.gz
    - include tarballs/libnumbertext-1.0.6.tar.xz
  * debian/rules:
    - revert clang (>= 1:11) build-dep for buster-backports; doesn't exist in
      buster and we resort back to gcc
I'm pretty sure those tarballs go in the /tarballs folder in the extracted source. Take a look in yours to see if you have those, and add those if missing as I suspect they are. Get the buster-backports debianized sources, extract them, get the missing tarballs, put them in /tarballs, and list them in debian/source/include-binaries so the build system accepts them.

As for what regenerates the control file, it's in the rules file, and it acts upon debian/control.in.

Code: Select all

#############
# Distro-specific overrides

# Debian Buster
ifeq "$(DEB_DISTRIBUTION)" "buster-backports"
  BUGS=mailto:debian-backports@lists.debian.org
  SYSTEM_STUFF := $(filter-out libmwaw xmlsec mdds orcus libnumbertext,$(SYSTEM_STUFF))
  USE_DWZ := n
  BUSTER_BACKPORT=y
endif
I actually backported all the SYSTEM_STUFF for MX Linux before I figured out how the system worked, so now I have a choice whether to use those or the tarballs, if I had the time to try another backport for MX. I also have dwz backports, so I could change that to "y" if desired...but you don't, so don't change it. What you can do is add your new stanza to the top of debian/changelog, use "buster-backports" for the distribution, then instead of the build command, regenerate the source files with (you have devscripts installed, right?)

Code: Select all

debuild -S -uc -us -d && cd .. &&rm -f *.buildinfo *.changes *.build && exit
Then take a look to see how the build-depends came out.
MX Linux packager and developer

User avatar
stevepusser
Posts: 12408
Joined: 2009-10-06 05:53
Has thanked: 7 times
Been thanked: 5 times

Re: Q: How to recompile LibreOffice from experimental on Bus

#10 Post by stevepusser »

Well, I was looking at the 7.0.4-3 in Sid. Experimental's 7.1.1 doesn't even have the backports support framework in it yet, and also needs a newer dpkg-dev than Buster has, making it even more complicated! I don't have all day to hack away at it... :(
MX Linux packager and developer

User avatar
stevepusser
Posts: 12408
Joined: 2009-10-06 05:53
Has thanked: 7 times
Been thanked: 5 times

Re: Q: How to recompile LibreOffice from experimental on Bus

#11 Post by stevepusser »

I haven't tried any arm libreoffice builds yet on the OBS---let's see what happens if I do with the Bullseye 7.0.4 version, after adding the sources for the buster-backports dwz for that repo: https://build.opensuse.org/package/show ... ibreoffice
MX Linux packager and developer

Post Reply