Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavide Beatrici <git@davidebeatrici.dev>2020-07-18 01:18:25 +0300
committerDavide Beatrici <git@davidebeatrici.dev>2020-07-18 01:18:25 +0300
commitc182bc6db05736dd0f801187e8998cb7da2756f8 (patch)
tree2c168f3ce4f7c7a70bd7f7b4f84bb26aab6ed54b /scripts
parent530426961f47dea45fd54c1d872559d9f10d8eb1 (diff)
REFAC(ci): move scripts to dedicated ".ci" folder
The "scripts" folder is quite cluttered, let's make it a bit better.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/azure-pipelines/assertNoTranslationChanges.sh35
-rwxr-xr-xscripts/azure-pipelines/build_linux.bash38
-rwxr-xr-xscripts/azure-pipelines/build_macos.bash26
-rw-r--r--scripts/azure-pipelines/build_windows.bat73
-rwxr-xr-xscripts/azure-pipelines/install-environment_linux.bash17
-rwxr-xr-xscripts/azure-pipelines/install-environment_linux_translations.bash13
-rwxr-xr-xscripts/azure-pipelines/install-environment_macos.bash28
-rw-r--r--scripts/azure-pipelines/install-environment_windows.ps188
-rwxr-xr-xscripts/travis-ci/before_install.bash64
-rwxr-xr-xscripts/travis-ci/script.bash50
10 files changed, 0 insertions, 432 deletions
diff --git a/scripts/azure-pipelines/assertNoTranslationChanges.sh b/scripts/azure-pipelines/assertNoTranslationChanges.sh
deleted file mode 100755
index 34ec2b3d9..000000000
--- a/scripts/azure-pipelines/assertNoTranslationChanges.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-#
-# Copyright 2020 The Mumble Developers. All rights reserved.
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file at the root of the
-# Mumble source tree or at <https://www.mumble.info/LICENSE>.
-
-set -e
-
-# Get path to the updatetranslations script
-updateScript="`dirname $0`/../updatetranslations.sh"
-
-# Get current commit hash
-oldHash=`git rev-parse HEAD`
-
-# In order for any commits to be possible, we'll have to set up a dummy user
-git config user.name "CI"
-git config user.email "ci@mumble.info"
-
-# Execute updatetranslations that'll commit any translation changes
-"./$updateScript" > /dev/null
-echo
-
-# Ger new commit hash
-newHash=`git rev-parse HEAD`
-
-# Check if the commit hash has changed (aka whether a commit has been made).
-# If so that means that there are unprocessed translation changes.
-if [[ "$oldHash" = "$newHash" ]]; then
- echo "No translations have changed"
- exit 0
-else
- echo "[ERROR]: There are unprocessed translation changes!"
- exit 1
-fi
diff --git a/scripts/azure-pipelines/build_linux.bash b/scripts/azure-pipelines/build_linux.bash
deleted file mode 100755
index dc0e72bac..000000000
--- a/scripts/azure-pipelines/build_linux.bash
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash -ex
-#
-# Copyright 2019-2020 The Mumble Developers. All rights reserved.
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file at the root of the
-# Mumble source tree or at <https://www.mumble.info/LICENSE>.
-#
-# Below is a list of configuration variables used from environment.
-#
-# BUILD_BINARIESDIRECTORY - The local path on the agent that can be used
-# as an output folder for compiled binaries.
-# BUILD_SOURCESDIRECTORY - The local path on the agent where the
-# repository is downloaded.
-#
-
-VER=$(python scripts/mumble-version.py)
-
-cd $BUILD_BINARIESDIRECTORY
-
-# QSslDiffieHellmanParameters was introduced in Qt 5.8, Ubuntu 16.04 has 5.5.
-cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=appdir/usr -DBUILD_TESTING=ON -Dversion=$VER -Dsymbols=ON -Dqssldiffiehellmanparameters=OFF $BUILD_SOURCESDIRECTORY
-cmake --build .
-ctest
-cmake --install .
-
-wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
-chmod a+x linuxdeployqt-continuous-x86_64.AppImage
-ARCH=x86_64 ./linuxdeployqt-continuous-x86_64.AppImage $(find $HOME -type d -name 'appdir'| head -n 1)/usr/share/applications/*.desktop -appimage -extra-plugins=sqldrivers/libqsqlite.so
-
-for f in Mumble*.AppImage; do
- # Embed update information into AppImage
- echo -n "zsync|https://dl.mumble.info/nightly/latest-x86_64.AppImage.zsync" | dd of=$f seek=175720 conv=notrunc oflag=seek_bytes
-
- # Generate zsync file for AppImage
- zsyncmake $f
-done
-
-mv Mumble*.AppImage* $BUILD_ARTIFACTSTAGINGDIRECTORY
diff --git a/scripts/azure-pipelines/build_macos.bash b/scripts/azure-pipelines/build_macos.bash
deleted file mode 100755
index f05256837..000000000
--- a/scripts/azure-pipelines/build_macos.bash
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash -ex
-#
-# Copyright 2019-2020 The Mumble Developers. All rights reserved.
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file at the root of the
-# Mumble source tree or at <https://www.mumble.info/LICENSE>.
-#
-# Below is a list of configuration variables used from environment.
-#
-# BUILD_BINARIESDIRECTORY - The local path on the agent that can be used
-# as an output folder for compiled binaries.
-# BUILD_SOURCESDIRECTORY - The local path on the agent where the
-# repository is downloaded.
-#
-
-VER=$(python scripts/mumble-version.py)
-
-cd $BUILD_BINARIESDIRECTORY
-
-cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=$MUMBLE_ENVIRONMENT_TOOLCHAIN -DIce_HOME="$MUMBLE_ENVIRONMENT_PATH/installed/x64-osx" -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -Dversion=$VER -Dstatic=ON -Dsymbols=ON $BUILD_SOURCESDIRECTORY
-cmake --build .
-ctest
-
-$BUILD_SOURCESDIRECTORY/macx/scripts/osxdist.py --version=$VER --source-dir=$BUILD_SOURCESDIRECTORY --binary-dir=.
-
-mv *.dmg $BUILD_ARTIFACTSTAGINGDIRECTORY
diff --git a/scripts/azure-pipelines/build_windows.bat b/scripts/azure-pipelines/build_windows.bat
deleted file mode 100644
index d9e2eb03a..000000000
--- a/scripts/azure-pipelines/build_windows.bat
+++ /dev/null
@@ -1,73 +0,0 @@
-:: Copyright 2020 The Mumble Developers. All rights reserved.
-:: Use of this source code is governed by a BSD-style license
-:: that can be found in the LICENSE file at the root of the
-:: Mumble source tree or at <https://www.mumble.info/LICENSE>.
-::
-:: Builds Mumble using the specified build script.
-:: The path to the script is relative to the build environment's root.
-:: The configuration we build with is adjusted to be close to
-:: our release builds.
-::
-:: Below is a list of configuration variables used from environment.
-::
-:: Predefined variables:
-::
-:: BUILD_BINARIESDIRECTORY - The local path on the agent that can be used
-:: as an output folder for compiled binaries.
-:: BUILD_SOURCESDIRECTORY - The local path on the agent where the
-:: repository is downloaded.
-:: AGENT_TOOLSDIRECTORY - The directory used by tasks such as
-:: Node Tool Installer and Use Python Version
-:: to switch between multiple versions of a tool.
-:: We store our build environment there, in the
-:: folder specified by MUMBLE_ENVIRONMENT_DIR.
-::
-:: Defined in .azure-pipelines.yml:
-::
-:: MUMBLE_ENVIRONMENT_STORE - Path to the folder the build environment is stored in.
-:: MUMBLE_ENVIRONMENT_SOURCE - Build environment web source folder URL
-:: MUMBLE_ENVIRONMENT_VERSION - Full build environment version
-:: Must match archive and extracted folder name.
-:: MUMBLE_ENVIRONMENT_TOOLCHAIN - Path to the vcpkg CMake toolchain, used for CMake.
-::
-
-@echo on
-
-for /f "tokens=* USEBACKQ" %%g in (`python "scripts/mumble-version.py"`) do (SET "VER=%%g")
-
-cd /d %BUILD_BINARIESDIRECTORY%
-
-call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
-
-:: Delete MinGW, otherwise CMake picks it over MSVC.
-:: We don't delete the (Chocolatey) packages because it takes ~10 minutes...
-del C:\ProgramData\chocolatey\bin\gcc.exe
-del C:\ProgramData\chocolatey\bin\g++.exe
-del C:\ProgramData\chocolatey\bin\c++.exe
-del C:\Strawberry\c\bin\gcc.exe
-del C:\Strawberry\c\bin\g++.exe
-del C:\Strawberry\c\bin\c++.exe
-
-cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE="%MUMBLE_ENVIRONMENT_TOOLCHAIN%" -DVCPKG_TARGET_TRIPLET=x64-windows-static-md -DIce_HOME="%MUMBLE_ENVIRONMENT_PATH%\installed\x64-windows-static-md" -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -Dversion=%VER% -Dpackaging=ON -Dstatic=ON -Dsymbols=ON -Dasio=ON -Dg15=ON "%BUILD_SOURCESDIRECTORY%"
-
-if errorlevel 1 (
- exit /b %errorlevel%
-)
-
-cmake --build .
-
-if errorlevel 1 (
- exit /b %errorlevel%
-)
-
-ctest
-
-if errorlevel 1 (
- exit /b %errorlevel%
-)
-
-cmake --install .
-
-if errorlevel 1 (
- exit /b %errorlevel%
-)
diff --git a/scripts/azure-pipelines/install-environment_linux.bash b/scripts/azure-pipelines/install-environment_linux.bash
deleted file mode 100755
index 05fc4c6c5..000000000
--- a/scripts/azure-pipelines/install-environment_linux.bash
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash -ex
-#
-# Copyright 2019-2020 The Mumble Developers. All rights reserved.
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file at the root of the
-# Mumble source tree or at <https://www.mumble.info/LICENSE>.
-
-sudo apt-get update
-
-sudo apt-get -y install build-essential g++-multilib ninja-build pkg-config \
- qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev \
- libboost-dev libssl-dev libprotobuf-dev protobuf-compiler \
- libcap-dev libxi-dev \
- libasound2-dev libpulse-dev \
- libogg-dev libsndfile1-dev libspeechd-dev \
- libavahi-compat-libdnssd-dev libzeroc-ice-dev \
- zsync
diff --git a/scripts/azure-pipelines/install-environment_linux_translations.bash b/scripts/azure-pipelines/install-environment_linux_translations.bash
deleted file mode 100755
index bcd162cb5..000000000
--- a/scripts/azure-pipelines/install-environment_linux_translations.bash
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env bash
-#
-# Copyright 2020 The Mumble Developers. All rights reserved.
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file at the root of the
-# Mumble source tree or at <https://www.mumble.info/LICENSE>.
-
-set -e
-set -x
-
-sudo apt-get update
-
-sudo apt-get -y install qttools5-dev-tools qt5-qmake
diff --git a/scripts/azure-pipelines/install-environment_macos.bash b/scripts/azure-pipelines/install-environment_macos.bash
deleted file mode 100755
index 944e8da2e..000000000
--- a/scripts/azure-pipelines/install-environment_macos.bash
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash -ex
-#
-# Copyright 2019-2020 The Mumble Developers. All rights reserved.
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file at the root of the
-# Mumble source tree or at <https://www.mumble.info/LICENSE>.
-
-cd $AGENT_TEMPDIRECTORY
-
-brew install ninja
-
-if [ -d $MUMBLE_ENVIRONMENT_PATH ]; then
- exit 0
-fi
-
-echo "Environment not cached. Downloading..."
-
-wget "$MUMBLE_ENVIRONMENT_SOURCE/$MUMBLE_ENVIRONMENT_VERSION.tar.xz"
-
-echo "Extracting build environment to $MUMBLE_ENVIRONMENT_STORE..."
-
-mkdir -p $MUMBLE_ENVIRONMENT_STORE
-
-tar xf "$MUMBLE_ENVIRONMENT_VERSION.tar.xz" -C $MUMBLE_ENVIRONMENT_STORE
-
-chmod +x "$MUMBLE_ENVIRONMENT_PATH/installed/x64-osx/tools/Ice/slice2cpp"
-
-ls -l $MUMBLE_ENVIRONMENT_STORE
diff --git a/scripts/azure-pipelines/install-environment_windows.ps1 b/scripts/azure-pipelines/install-environment_windows.ps1
deleted file mode 100644
index 0cd923849..000000000
--- a/scripts/azure-pipelines/install-environment_windows.ps1
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 2019-2020 The Mumble Developers. All rights reserved.
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file at the root of the
-# Mumble source tree or at <https://www.mumble.info/LICENSE>.
-#
-# Ensures we have downloaded and extracted a build environment
-# into our Azure Pipelines VM before we attempt to build. If the
-# environment archive is already present, this script will just extract it.
-#
-# Below is a list of configuration variables used from environment.
-#
-# Predefined variables:
-#
-# AGENT_TEMPDIRECTORY - A temporary folder that is cleaned after each pipeline job.
-# This directory is used by tasks such as .NET Core CLI task
-# to hold temporary items like test results before they are published.
-# AGENT_TOOLSDIRECTORY - The directory used by tasks such as
-# Node Tool Installer and Use Python Version
-# to switch between multiple versions of a tool.
-# We store our build environment there, in the
-# folder specified by MUMBLE_ENVIRONMENT_DIR.
-#
-# Defined in .azure-pipelines.yml:
-#
-# MUMBLE_ENVIRONMENT_STORE - Path to the folder the build environment is stored in.
-# (e.g. c:\hostedtoolcache\windows\MumbleBuild).
-# MUMBLE_ENVIRONMENT_SOURCE - Build environment web source folder URL
-# (e.g. https://somehost/folder).
-# MUMBLE_ENVIRONMENT_VERSION - Full build environment version
-# (e.g. win64-static-1.4.x-2020-05-27-ecb3c64-1151).
-# Must match .7z and extracted folder name.
-#
-
-Set-Location -Path $env:AGENT_TEMPDIRECTORY
-
-$SOURCE_DIR = $env:BUILD_SOURCESDIRECTORY
-
-$MUMBLE_ENVIRONMENT_STORE = $env:MUMBLE_ENVIRONMENT_STORE
-$MUMBLE_ENVIRONMENT_VERSION = $env:MUMBLE_ENVIRONMENT_VERSION
-
-if (-Not (Test-Path $MUMBLE_ENVIRONMENT_STORE)) {
- New-Item $MUMBLE_ENVIRONMENT_STORE -ItemType Directory | Out-Null
-}
-
-if (-Not (Test-Path (Join-Path $MUMBLE_ENVIRONMENT_STORE $MUMBLE_ENVIRONMENT_VERSION))) {
- Write-Host "Environment not cached. Downloading..."
-
- $env_url = "$env:MUMBLE_ENVIRONMENT_SOURCE/$MUMBLE_ENVIRONMENT_VERSION.7z"
- $env_7z = Join-Path $MUMBLE_ENVIRONMENT_STORE "$MUMBLE_ENVIRONMENT_VERSION.7z";
- try {
- # According to https://github.com/PowerShell/PowerShell/issues/2138 disabling the
- # progress bar can significantly increase the speed of Invoke-Web-Request.
- $ProgressPreference = 'SilentlyContinue'
-
- Invoke-WebRequest -Uri $env_url -OutFile $env_7z
-
- # Reset progress bar
- $ProgressPreference = 'Continue'
- } catch {
- Write-Host "Failed to download build-environment: $PSItem"
- exit 1
- }
-
- Write-Host "Extracting build environment to $MUMBLE_ENVIRONMENT_STORE..."
- 7z x $env_7z -o"$MUMBLE_ENVIRONMENT_STORE"
-}
-
-Write-Host "Downloading ASIO SDK..."
-
-try {
- Invoke-WebRequest -Uri "https://dl.mumble.info/build/extra/asio_sdk.zip" -OutFile "asio_sdk.zip"
- 7z x "asio_sdk.zip"
- Move-Item -Path "asiosdk_2.3.3_2019-06-14" -Destination "$SOURCE_DIR/3rdparty/asio"
-} catch {
- Write-Host "Failed to download ASIO SDK: $PSItem"
- exit 1
-}
-
-Write-Host "Downloading G15 SDK..."
-
-try {
- Invoke-WebRequest -Uri "https://dl.mumble.info/build/extra/g15_sdk.zip" -OutFile "g15_sdk.zip"
- 7z x "g15_sdk.zip"
- Move-Item -Path "G15SDK/LCDSDK" -Destination "$SOURCE_DIR/3rdparty/g15"
-} catch {
- Write-Host "Failed to download G15 SDK: $PSItem"
- exit 1
-}
diff --git a/scripts/travis-ci/before_install.bash b/scripts/travis-ci/before_install.bash
deleted file mode 100755
index 3c0719f35..000000000
--- a/scripts/travis-ci/before_install.bash
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/bash -ex
-#
-# Copyright 2005-2020 The Mumble Developers. All rights reserved.
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file at the root of the
-# Mumble source tree or at <https://www.mumble.info/LICENSE>.
-
-MUMBLE_HOST_DEB=${MUMBLE_HOST/_/-}
-
-if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
- if [ "${MUMBLE_HOST}" == "aarch64-linux-gnu" ] || [ "${MUMBLE_HOST}" == "x86_64-linux-gnu" ]; then
- sudo apt-get -qq update
- sudo apt-get -y install build-essential ninja-build pkg-config \
- qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev \
- libboost-dev libssl-dev libprotobuf-dev protobuf-compiler \
- libcap-dev libxi-dev \
- libasound2-dev libpulse-dev \
- libogg-dev libsndfile1-dev libspeechd-dev \
- libavahi-compat-libdnssd-dev libzeroc-ice-dev
- if [ "${MUMBLE_HOST}" == "aarch64-linux-gnu" ]; then
- # Kitware's APT repository doesn't provide packages for ARM64.
- cd ${HOME}
- if [ -d "cmake-3.17.2" ] && [ "$(ls -A cmake-3.17.2)" ]; then
- # Directory cached, CMake has already been compiled in a previous build.
- cd cmake-3.17.2 && sudo make install
- else
- # Build a recent version of CMake.
- wget https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2.tar.gz && tar -xzvf cmake-3.17.2.tar.gz && cd cmake-3.17.2
- ./bootstrap && make -j $(nproc) && sudo make install
- fi
- else
- sudo apt-get -y install g++-multilib
- fi
- elif [ "${MUMBLE_HOST}" == "i686-w64-mingw32" ] || [ "${MUMBLE_HOST}" == "x86_64-w64-mingw32" ]; then
- sudo dpkg --add-architecture i386
-
- sudo apt-get -qq update
- sudo apt-get -y install ninja-build wine32-development wine-development
-
- mkdir ${HOME}/mxe && cd ${HOME}/mxe
-
- # Download lists of MXE packages to install.
- wget https://dl.mumble.info/build/mxe/mxe.deb-list
- wget https://dl.mumble.info/build/mxe/mxe-x86-64-pc-linux-gnu.deb-list
- wget https://dl.mumble.info/build/mxe/mxe-${MUMBLE_HOST_DEB}.static.deb-list
-
- # Merge the lists into a single one.
- cat *.deb-list > packages.deb-list
-
- # Download the MXE packages, if not cached.
- while read package; do
- if [ ! -z "$package" ] && [ ! -f "$package" ]; then
- wget https://dl.mumble.info/build/mxe/$package
- fi
- done <packages.deb-list
-
- # Install the MXE packages.
- sudo dpkg -i *.deb
- else
- exit 1
- fi
-else
- exit 1
-fi
diff --git a/scripts/travis-ci/script.bash b/scripts/travis-ci/script.bash
deleted file mode 100755
index 9e09f389d..000000000
--- a/scripts/travis-ci/script.bash
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/bash -ex
-#
-# Copyright 2005-2020 The Mumble Developers. All rights reserved.
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file at the root of the
-# Mumble source tree or at <https://www.mumble.info/LICENSE>.
-
-if [ "${TRAVIS_REPO_SLUG}" == "mumble-voip/mumble" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
- if [ "${TRAVIS_BRANCH}" == "master" ]; then
- MASTER_BRANCH=1
- fi
-fi
-
-VER=$(python scripts/mumble-version.py)
-
-if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
- if [ "${MUMBLE_HOST}" == "aarch64-linux-gnu" ]; then
- mkdir build && cd build
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -Dversion=$VER -Dsymbols=ON ..
- cmake --build .
- # We don't execute tests on ARM64 because TestPacketDataStream fails.
- # See https://github.com/mumble-voip/mumble/issues/3845.
- #ctest
- sudo cmake --install .
- elif [ "${MUMBLE_HOST}" == "x86_64-linux-gnu" ]; then
- mkdir build && cd build
- # We specify the absolute path because otherwise Travis CI's CMake is used.
- /usr/bin/cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -Dversion=$VER -Dsymbols=ON ..
- /usr/bin/cmake --build .
- /usr/bin/ctest
- sudo /usr/bin/cmake --install .
- elif [ "${MUMBLE_HOST}" == "i686-w64-mingw32" ] || [ "${MUMBLE_HOST}" == "x86_64-w64-mingw32" ]; then
- wget https://dl.mumble.info/build/extra/asio_sdk.zip -P /tmp/
- unzip /tmp/asio_sdk.zip
- mv asiosdk_2.3.3_2019-06-14 3rdparty/asio
-
- mkdir build && cd build
-
- PATH=$PATH:/usr/lib/mxe/usr/bin
-
- ${MUMBLE_HOST}.static-cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -Dversion=$VER -Dstatic=ON -Dsymbols=ON -Dasio=ON -Dbonjour=OFF -Dice=OFF -Doverlay=OFF ..
- cmake --build .
- # TODO: investigate why tests fail.
- #ctest
- else
- exit 1
- fi
-else
- exit 1
-fi