Update the script for building in Ubuntu 24.04

It builds now 7z.so with rar support, so no codecs are needed at runtime, YACReader no longer loads separated codecs.
This commit is contained in:
Luis Ángel San Martín 2024-09-22 17:22:30 +02:00
parent f0c142b300
commit 60413d9c9f
3 changed files with 12 additions and 5 deletions

View File

@ -1,6 +1,6 @@
## Ubuntu 22.04 build script ## Ubuntu 22.04 build script
You can use `build.sh` to build YACReader from scratch in `Ubuntu 22.04` with `7zip` (including `RAR5` support) and `poppler` (pdf). This build uses Qt5. You can use `build.sh` to build YACReader from scratch in `Ubuntu 22.04` with `7zip` (including `RAR5` support) and `poppler` (pdf). This build uses Qt5.
The script will create a folder next to it where all the downloads and building will happen, it will also install all the required dependencies. 7zip 23.01 is not available in `Ubuntu 22.04` so the script builds it and installs 7z.so in /usr/lib/7zip/. Once the scrip finishes succesfully `YACReader`, `YACReaderLibrary` and `YACReaderLibraryServer` should be installed in your system. The script will create a folder next to it where all the downloads and building will happen, it will also install all the required dependencies. The installs 7z.so in /usr/lib/7zip/. Once the scrip finishes succesfully `YACReader`, `YACReaderLibrary` and `YACReaderLibraryServer` should be installed in your system.
WARNIG: This doesn't work with the latest release (9.14), there is a bug and some of the code is still looking for the old p7zip library, you need to build from develop, to do so run: `build.sh develop`. WARNIG: This doesn't work with the latest release (9.14), there is a bug and some of the code is still looking for the old p7zip library, you need to build from develop, to do so run: `build.sh develop`.

View File

@ -1,6 +1,6 @@
## Ubuntu 24.04 build script ## Ubuntu 24.04 build script
You can use `build.sh` to build YACReader from scratch in `Ubuntu 24.04` with `7zip` (including `RAR5` support) and `poppler` (pdf). This build uses `Qt6`. You can use `build.sh` to build YACReader from scratch in `Ubuntu 24.04` with `7zip` (including `RAR5` support) and `poppler` (pdf). This build uses `Qt6`.
The script will create a folder next to it where all the downloads and building will happen, it will also install all the required dependencies. Once the scrip finishes succesfully `YACReader`, `YACReaderLibrary` and `YACReaderLibraryServer` should be installed in your system. The script will create a folder next to it where all the downloads and building will happen, it will also install all the required dependencies. The script builds it and installs 7z.so in /usr/lib/7zip/. Once the scrip finishes succesfully `YACReader`, `YACReaderLibrary` and `YACReaderLibraryServer` should be installed in your system.
WARNIG: This doesn't work with the latest release (9.14), there is a bug and some of the code is still looking for the old p7zip library, you need to build from develop, to do so run: `build.sh develop`. WARNIG: This doesn't work with the latest release (9.14), there is a bug and some of the code is still looking for the old p7zip library, you need to build from develop, to do so run: `build.sh develop`.

View File

@ -40,7 +40,7 @@ mkdir -p "$COMPRESSED_ARCHIVE_DIR"
# Step 2: Install required packages # Step 2: Install required packages
echo "Updating package list and installing required packages..." echo "Updating package list and installing required packages..."
sudo apt-get update sudo apt-get update
sudo apt-get install -y qtchooser qt6-tools-dev qt6-base-dev-tools qmake6 qmake6-bin qt6-base-dev qt6-multimedia-dev qt6-tools-dev-tools libgl-dev qt6-l10n-tools libqt6opengl6-dev qt6-declarative-dev libqt6svg6-dev libqt6core5compat6-dev qml6-module-qt5compat-graphicaleffects qt6-5compat-dev libpoppler-qt6-dev qt6-image-formats-plugins qml6-module-qtquick-controls qml6-module-qtquick-layouts qml6-module-qtqml-workerscript qml6-module-qtquick-templates p7zip-full p7zip-rar git build-essential sudo apt-get install -y qtchooser qt6-tools-dev qt6-base-dev-tools qmake6 qmake6-bin qt6-base-dev qt6-multimedia-dev qt6-tools-dev-tools libgl-dev qt6-l10n-tools libqt6opengl6-dev qt6-declarative-dev libqt6svg6-dev libqt6core5compat6-dev qml6-module-qt5compat-graphicaleffects qt6-5compat-dev libpoppler-qt6-dev qt6-image-formats-plugins qml6-module-qtquick-controls qml6-module-qtquick-layouts qml6-module-qtqml-workerscript qml6-module-qtquick-templates 7zip-full 7zip-rar git build-essential
# Step 3: Download YACReader source code # Step 3: Download YACReader source code
if [ "$1" == "develop" ]; then if [ "$1" == "develop" ]; then
@ -60,14 +60,21 @@ wget "$SEVENZIP_URL" -O "$SEVENZIP_ARCHIVE"
echo "Extracting 7zip source code..." echo "Extracting 7zip source code..."
7z x "$SEVENZIP_ARCHIVE" -o"$SEVENZIP_DIR" 7z x "$SEVENZIP_ARCHIVE" -o"$SEVENZIP_DIR"
# Step 5: Build YACReader # Step 5: Build and install 7z.so with RAR support
echo "Building and installing 7z.so with RAR support..."
cd "$SEVENZIP_DIR/CPP/7zip/Bundles/Format7zF"
make -f makefile.gcc
sudo mkdir -p /usr/lib/7zip
sudo cp ./_o/7z.so /usr/lib/7zip
# Step 6: Build YACReader
echo "Building YACReader..." echo "Building YACReader..."
cd "$YACREADER_DIR" cd "$YACREADER_DIR"
export DEFINES_VAR=DEFINES+\=\"BUILD_NUMBER=\\\\\\\"CUSTOM_BUILD\\\\\\\"\" export DEFINES_VAR=DEFINES+\=\"BUILD_NUMBER=\\\\\\\"CUSTOM_BUILD\\\\\\\"\"
qmake6 CONFIG+="7zip" $DEFINES_VAR qmake6 CONFIG+="7zip" $DEFINES_VAR
make make
# Step 6: Install YACReader # Step 7: Install YACReader
echo "Installing YACReader..." echo "Installing YACReader..."
sudo make install sudo make install