From c49446712be5780f6afebb6e1d660937cbbe6fe6 Mon Sep 17 00:00:00 2001 From: abraunegg Date: Fri, 3 Jun 2022 09:49:22 +1000 Subject: [PATCH] Update Documentation (#1985) * Remove Travis CI as obsolete and not working * Update documentation --- .travis-ci.sh | 192 ------------------------------------------------ .travis.yml | 17 ----- README.md | 1 - docs/INSTALL.md | 14 ++-- 4 files changed, 7 insertions(+), 217 deletions(-) delete mode 100644 .travis-ci.sh delete mode 100644 .travis.yml diff --git a/.travis-ci.sh b/.travis-ci.sh deleted file mode 100644 index cf647a8c..00000000 --- a/.travis-ci.sh +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/bash -# Based on a test script from avsm/ocaml repo https://github.com/avsm/ocaml -# Adapted from https://www.tomaz.me/2013/12/02/running-travis-ci-tests-on-arm.html -# Adapted from https://github.com/PJK/libcbor/blob/master/.travis-qemu.sh -# Adapted from https://gist.github.com/oznu/b5efd7784e5a820ec3746820f2183dc0 -# Adapted from https://blog.lazy-evaluation.net/posts/linux/debian-armhf-bootstrap.html -# Adapted from https://blog.lazy-evaluation.net/posts/linux/debian-stretch-arm64.html - -set -e - -# CHROOT Directory -CHROOT_DIR=/tmp/chroot - -# Debian package dependencies for the host to run ARM under QEMU -DEBIAN_MIRROR="http://httpredir.debian.org/debian" -HOST_DEPENDENCIES=(qemu-user-static binfmt-support debootstrap sbuild wget) - -# Debian package dependencies for the chrooted environment -GUEST_DEPENDENCIES=(build-essential libcurl4-openssl-dev libsqlite3-dev libgnutls-openssl27 git pkg-config libxml2) - -# LDC Version -# Different versions due to https://github.com/ldc-developers/ldc/issues/3027 -# LDC v1.16.0 re-introduces ARMHF and ARM64 version - https://github.com/ldc-developers/ldc/releases/tag/v1.16.0 -LDC_VERSION_ARMHF=1.16.0 -LDC_VERSION_ARM64=1.16.0 - -function setup_arm32_chroot { - # Update apt repository details - sudo apt-get update - # 32Bit Variables - VERSION=jessie - CHROOT_ARCH=armhf - # Host dependencies - sudo apt-get install -qq -y "${HOST_DEPENDENCIES[@]}" - # Download LDC compiler - wget "https://github.com/ldc-developers/ldc/releases/download/v${LDC_VERSION_ARMHF}/ldc2-${LDC_VERSION_ARMHF}-linux-armhf.tar.xz" - tar -xf "ldc2-${LDC_VERSION_ARMHF}-linux-armhf.tar.xz" - mv "ldc2-${LDC_VERSION_ARMHF}-linux-armhf" "dlang-${ARCH}" - rm -rf "ldc2-${LDC_VERSION_ARMHF}-linux-armhf.tar.xz" - # Create chrooted environment - sudo mkdir "${CHROOT_DIR}" - sudo debootstrap --foreign --no-check-gpg --variant=buildd --arch="${CHROOT_ARCH}" "${VERSION}" "${CHROOT_DIR}" "${DEBIAN_MIRROR}" - sudo cp /usr/bin/qemu-arm-static "${CHROOT_DIR}"/usr/bin/ - sudo chroot "${CHROOT_DIR}" /debootstrap/debootstrap --second-stage - sudo sbuild-createchroot --arch=${CHROOT_ARCH} --foreign --setup-only ${VERSION} ${CHROOT_DIR} ${DEBIAN_MIRROR} - configure_chroot -} - -function setup_arm64_chroot { - # Update apt repository details - sudo apt-get update - # 64Bit Variables - VERSION64=stretch - CHROOT_ARCH64=arm64 - # Host dependencies - sudo apt-get install -qq -y "${HOST_DEPENDENCIES[@]}" - # Download LDC compiler - wget "https://github.com/ldc-developers/ldc/releases/download/v${LDC_VERSION_ARM64}/ldc2-${LDC_VERSION_ARM64}-linux-aarch64.tar.xz" - tar -xf "ldc2-${LDC_VERSION_ARM64}-linux-aarch64.tar.xz" - mv "ldc2-${LDC_VERSION_ARM64}-linux-aarch64" "dlang-${ARCH}" - rm -rf "ldc2-${LDC_VERSION_ARM64}-linux-aarch64.tar.xz" - - # ARM64 qemu-debootstrap needs to be 1.0.78, Trusty is 1.0.59 - #sudo echo "deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" >> /etc/apt/sources.list - echo "deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list > /dev/null - sudo apt-get update - sudo apt-get install -t xenial debootstrap - - # Create chrooted environment - sudo mkdir "${CHROOT_DIR}" - sudo qemu-debootstrap --arch=${CHROOT_ARCH64} ${VERSION64} ${CHROOT_DIR} ${DEBIAN_MIRROR} - configure_chroot -} - -function setup_x32_chroot { - # Update apt repository details - sudo apt-get update - # 32Bit Variables - VERSION=jessie - CHROOT_ARCH32=i386 - # Host dependencies - sudo apt-get install -qq -y "${HOST_DEPENDENCIES[@]}" - # Download DMD compiler - DMDVER=2.083.1 - wget "http://downloads.dlang.org/releases/2.x/${DMDVER}/dmd.${DMDVER}.linux.tar.xz" - tar -xf "dmd.${DMDVER}.linux.tar.xz" - mv dmd2 "dlang-${ARCH}" - rm -rf "dmd.${DMDVER}.linux.tar.xz" - # Create chrooted environment - sudo mkdir "${CHROOT_DIR}" - sudo debootstrap --foreign --no-check-gpg --variant=buildd --arch=${CHROOT_ARCH32} ${VERSION} ${CHROOT_DIR} ${DEBIAN_MIRROR} - sudo cp /usr/bin/qemu-i386-static "${CHROOT_DIR}/usr/bin/" - sudo cp /usr/bin/qemu-x86_64-static "${CHROOT_DIR}/usr/bin/" - sudo chroot "${CHROOT_DIR}" /debootstrap/debootstrap --second-stage - sudo sbuild-createchroot --arch=${CHROOT_ARCH32} --foreign --setup-only ${VERSION} ${CHROOT_DIR} ${DEBIAN_MIRROR} - configure_chroot -} - -function configure_chroot { - # Create file with environment variables which will be used inside chrooted environment - echo "export ARCH=${ARCH}" > envvars.sh - echo "export TRAVIS_BUILD_DIR=${TRAVIS_BUILD_DIR}" >> envvars.sh - chmod a+x envvars.sh - - # Install dependencies inside chroot - sudo chroot "${CHROOT_DIR}" apt-get update - sudo chroot "${CHROOT_DIR}" apt-get --allow-unauthenticated install -qq -y "${GUEST_DEPENDENCIES[@]}" - - # Create build dir and copy travis build files to our chroot environment - sudo mkdir -p "${CHROOT_DIR}"/"${TRAVIS_BUILD_DIR}" - sudo rsync -a "${TRAVIS_BUILD_DIR}"/ "${CHROOT_DIR}"/"${TRAVIS_BUILD_DIR}"/ - - # Indicate chroot environment has been set up - sudo touch "${CHROOT_DIR}"/.chroot_is_done - - # Call ourselves again which will cause tests to run - sudo chroot "${CHROOT_DIR}" bash -c "cd ${TRAVIS_BUILD_DIR} && chmod a+x ./.travis-ci.sh" - sudo chroot "${CHROOT_DIR}" bash -c "cd ${TRAVIS_BUILD_DIR} && ./.travis-ci.sh" -} - -function build_onedrive { - # Depending on architecture, build onedrive using applicable tool - echo "$(uname -a)" - HOMEDIR=$(pwd) - if [ "${ARCH}" = "x64" ]; then - # Build on x86_64 as normal - ./configure - make clean; make; - else - if [ "${ARCH}" = "x32" ]; then - # 32Bit DMD Build - ./configure DC="${HOMEDIR}"/dlang-"${ARCH}"/linux/bin32/dmd - make clean; - make - else - # LDC Build - ARM32, ARM64 - ./configure DC="${HOMEDIR}"/dlang-"${ARCH}"/bin/ldmd2 - make clean; - make - fi - fi - # Functional testing of built application - test_onedrive -} - -function test_onedrive { - # Testing onedrive client - does the built application execute? - ./onedrive --version - - # Functional testing on x64 only - if [ "${ARCH}" = "x64" ]; then - chmod a+x ./tests/makefiles.sh - cd ./tests/ - ./makefiles.sh - cd .. - mkdir -p ~/.config/onedrive/ - echo "$ODP" > ~/.config/onedrive/refresh_token - ./onedrive --synchronize --verbose --syncdir '~/OneDriveALT' - # OneDrive Cleanup - rm -rf ~/OneDriveALT/* - ./onedrive --synchronize --verbose --syncdir '~/OneDriveALT' - fi -} - -if [ "${ARCH}" = "arm32" ] || [ "${ARCH}" = "arm64" ] || [ "${ARCH}" = "x32" ]; then - if [ -e "/.chroot_is_done" ]; then - # We are inside ARM chroot - echo "Running inside chrooted QEMU ${ARCH} environment" - . ./envvars.sh - export PATH="$PATH:/usr/sbin:/sbin:/bin" - build_onedrive - else - # Need to set up chrooted environment first - echo "Setting up chrooted ${ARCH} build environment" - if [ "${ARCH}" = "x32" ]; then - # 32Bit i386 Environment - setup_x32_chroot - else - if [ "${ARCH}" = "arm32" ]; then - # 32Bit ARM Environment - setup_arm32_chroot - else - # 64Bit ARM Environment - setup_arm64_chroot - fi - fi - fi -else - # Proceed as normal - echo "Running an x86_64 Build" - build_onedrive -fi diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index afcc28a2..00000000 --- a/.travis.yml +++ /dev/null @@ -1,17 +0,0 @@ -# sudo access is required -sudo: required -# Compilation language -language: d -# Use latest DMD -d: - - dmd - -# What build architectures will we build on -env: - - ARCH=x64 - - ARCH=x32 - - ARCH=arm32 - - ARCH=arm64 - -script: - - "bash -ex .travis-ci.sh" \ No newline at end of file diff --git a/README.md b/README.md index 3df63c7b..9fcee3f6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # OneDrive Client for Linux [![Version](https://img.shields.io/github/v/release/abraunegg/onedrive)](https://github.com/abraunegg/onedrive/releases) [![Release Date](https://img.shields.io/github/release-date/abraunegg/onedrive)](https://github.com/abraunegg/onedrive/releases) -[![Travis CI](https://img.shields.io/travis/com/abraunegg/onedrive)](https://travis-ci.com/abraunegg/onedrive/builds) [![Docker Build](https://img.shields.io/docker/cloud/automated/driveone/onedrive)](https://hub.docker.com/r/driveone/onedrive) [![Docker Pulls](https://img.shields.io/docker/pulls/driveone/onedrive)](https://hub.docker.com/r/driveone/onedrive) diff --git a/docs/INSTALL.md b/docs/INSTALL.md index ac9cf586..775f91ff 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -6,27 +6,27 @@ This project has been packaged for the following Linux distributions as per belo Only the current release version or greater is supported. Earlier versions are not supported and should not be installed or used. #### Important Note: -Distribution packages may be of an older release when compared to the latest release that is [available](https://github.com/abraunegg/onedrive/releases). If any package version indicator below is ![#f03c15](https://via.placeholder.com/15/f03c15/000000?text=+) for your distribution, it is recommended that you build from source. Do not install the software from the available distribution package. If a package is out of date, please contact the package maintainer for resolution. +Distribution packages may be of an older release when compared to the latest release that is [available](https://github.com/abraunegg/onedrive/releases). If any package version indicator below is 'red' for your distribution, it is recommended that you build from source. Do not install the software from the available distribution package. If a package is out of date, please contact the package maintainer for resolution. | Distribution | Package Name & Package Link |   PKG_Version   |  i686  | x86_64 | ARMHF | AARCH64 | Extra Details | |---------------------------------|------------------------------------------------------------------------------|:---------------:|:----:|:------:|:-----:|:-------:|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Alpine Linux | [onedrive](https://pkgs.alpinelinux.org/packages?name=onedrive&branch=edge) |Alpine Linux Edge package|❌|✔|❌|✔ | | | Arch Linux

Manjaro Linux | [onedrive-abraunegg](https://aur.archlinux.org/packages/onedrive-abraunegg/) |AUR package|✔|✔|✔|✔ | Install via: `pamac build onedrive-abraunegg` from the Arch Linux User Repository (AUR)

**Note:** If asked regarding a provider for 'd-runtime' and 'd-compiler', select 'liblphobos' and 'ldc'

**Note:** System must have at least 1GB of memory & 1GB swap space -| Debian | [onedrive](https://packages.debian.org/search?keywords=onedrive) |Debian package|✔|✔|✔|✔| It is recommended that for Debian that you install from OpenSuSE Build Service using the Debian Package Install [Instructions](ubuntu-package-install.md) | +| Debian | [onedrive](https://packages.debian.org/search?keywords=onedrive) |Debian package|✔|✔|✔|✔| **Note:** Do not install from Debian Package Repositories

It is recommended that for Debian that you install from OpenSuSE Build Service using the Debian Package Install [Instructions](ubuntu-package-install.md) | | Fedora | [onedrive](https://koji.fedoraproject.org/koji/packageinfo?packageID=26044) |Fedora Rawhide package|✔|✔|✔|✔| | | Gentoo | [onedrive](https://gpo.zugaina.org/net-misc/onedrive) | No API Available |✔|✔|❌|❌| | | Homebrew | [onedrive](https://formulae.brew.sh/formula/onedrive) | Homebrew package |❌|✔|❌|❌| | | NixOS | [onedrive](https://search.nixos.org/packages?channel=20.09&from=0&size=50&sort=relevance&query=onedrive)|nixpkgs unstable package|❌|✔|❌|❌| Use package `onedrive` either by adding it to `configuration.nix` or by using the command `nix-env -iA .onedrive`. This does not install a service. To install a service, use unstable channel (will stabilize in 20.09) and add `services.onedrive.enable=true` in `configuration.nix`. You can also add a custom package using the `services.onedrive.package` option (recommended since package lags upstream). Enabling the service installs a default package too (based on the channel). You can also add multiple onedrive accounts trivially, see [documentation](https://github.com/NixOS/nixpkgs/pull/77734#issuecomment-575874225). | | OpenSuSE | [onedrive](https://software.opensuse.org/package/onedrive) |openSUSE Tumbleweed package|✔|✔|❌|❌| | | OpenSuSE Build Service | [onedrive](https://build.opensuse.org/package/show/home:npreining:debian-ubuntu-onedrive/onedrive) | No API Available |✔|✔|✔|✔| Package Build Service for Debian and Ubuntu | -| Raspbian | [onedrive](https://archive.raspbian.org/raspbian/pool/main/o/onedrive/) |Raspbian Stable package |❌|❌|✔|✔| **Note:** Do not install from Raspbian Package Repositories

Install from OpenSuSE Build Service using the Debian Package Install [Instructions](ubuntu-package-install.md) | +| Raspbian | [onedrive](https://archive.raspbian.org/raspbian/pool/main/o/onedrive/) |Raspbian Stable package |❌|❌|✔|✔| **Note:** Do not install from Raspbian Package Repositories

It is recommended that for Raspbian that you install from OpenSuSE Build Service using the Debian Package Install [Instructions](ubuntu-package-install.md) | | Slackware | [onedrive](https://slackbuilds.org/result/?search=onedrive&sv=) |SlackBuilds package|✔|✔|❌|❌| | | Solus | [onedrive](https://dev.getsol.us/search/query/FB7PIf1jG9Z9/#R) |Solus package|✔|✔|❌|❌| | | Ubuntu 18.04 | [onedrive](https://packages.ubuntu.com/bionic/onedrive) |Ubuntu 18.04 package |✔|✔|✔|❌| **Note:** Do not install from Ubuntu Universe

You must compile from source for this version of Ubuntu | -| Ubuntu 20.04 | [onedrive](https://packages.ubuntu.com/focal/onedrive) |Ubuntu 20.04 package |❌|✔|✔|✔| **Note:** Do not install from Ubuntu Universe

Install from OpenSuSE Build Service using the Ubuntu Package Install [Instructions](ubuntu-package-install.md) | -| Ubuntu 21.04 | [onedrive](https://packages.ubuntu.com/hirsute/onedrive) |Ubuntu 21.04 package |❌|✔|✔|✔| **Note:** Do not install from Ubuntu Universe

Install from OpenSuSE Build Service using the Ubuntu Package Install [Instructions](ubuntu-package-install.md) | -| Ubuntu 21.10 | [onedrive](https://packages.ubuntu.com/impish/onedrive) |Ubuntu 21.10 package |❌|✔|✔|✔| **Note:** Do not install from Ubuntu Universe

Install from OpenSuSE Build Service using the Ubuntu Package Install [Instructions](ubuntu-package-install.md) | -| Ubuntu 22.04 | [onedrive](https://packages.ubuntu.com/jammy/onedrive) |Ubuntu 22.04 package |❌|✔|✔|✔| **Note:** Do not install from Ubuntu Universe

Install from OpenSuSE Build Service using the Ubuntu Package Install [Instructions](ubuntu-package-install.md) | +| Ubuntu 20.04 | [onedrive](https://packages.ubuntu.com/focal/onedrive) |Ubuntu 20.04 package |❌|✔|✔|✔| **Note:** Do not install from Ubuntu Universe

It is recommended that for Ubuntu that you install from OpenSuSE Build Service using the Ubuntu Package Install [Instructions](ubuntu-package-install.md) | +| Ubuntu 21.04 | [onedrive](https://packages.ubuntu.com/hirsute/onedrive) |Ubuntu 21.04 package |❌|✔|✔|✔| **Note:** Do not install from Ubuntu Universe

It is recommended that for Ubuntu that you install from OpenSuSE Build Service using the Ubuntu Package Install [Instructions](ubuntu-package-install.md) | +| Ubuntu 21.10 | [onedrive](https://packages.ubuntu.com/impish/onedrive) |Ubuntu 21.10 package |❌|✔|✔|✔| **Note:** Do not install from Ubuntu Universe

It is recommended that for Ubuntu that you install from OpenSuSE Build Service using the Ubuntu Package Install [Instructions](ubuntu-package-install.md) | +| Ubuntu 22.04 | [onedrive](https://packages.ubuntu.com/jammy/onedrive) |Ubuntu 22.04 package |❌|✔|✔|✔| **Note:** Do not install from Ubuntu Universe

It is recommended that for Ubuntu that you install from OpenSuSE Build Service using the Ubuntu Package Install [Instructions](ubuntu-package-install.md) | | Void Linux | [onedrive](https://voidlinux.org/packages/?arch=x86_64&q=onedrive) |Void Linux x86_64 package|✔|✔|❌|❌| | #### Important information for all Ubuntu and Ubuntu based distribution users: