diff options
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/dropbox/Manifest | 2 | ||||
-rw-r--r-- | net-misc/dropbox/dropbox-223.4.4909-r10.ebuild | 109 | ||||
-rw-r--r-- | net-misc/dropbox/files/dropbox.conf | 14 | ||||
-rw-r--r-- | net-misc/dropbox/files/dropbox.initd | 65 | ||||
-rw-r--r-- | net-misc/dropbox/files/dropbox_at.service-r2 | 37 |
5 files changed, 227 insertions, 0 deletions
diff --git a/net-misc/dropbox/Manifest b/net-misc/dropbox/Manifest new file mode 100644 index 00000000..271f6a46 --- /dev/null +++ b/net-misc/dropbox/Manifest @@ -0,0 +1,2 @@ +DIST dropbox-icon.svg 574 BLAKE2B a73a0906b5b03dc3214010736164fcdbceb6d91463ed95133b5117277cd635c8a77ec3e7ca8338538e5a6a2c4a23f3ef0186184bc1dc770b3c7f3a219f00faa6 SHA512 cd7ad8fea652f0713a00e7fbd88d6c22949dde216040f2ba7c903db70cb6c5c9ec85202831c0863c3bb2cf339b4ea0c6731d7b2d56750b63a4f36160815e4346 +DIST dropbox-lnx.x86_64-223.4.4909.tar.gz 112292043 BLAKE2B 2f9ab179f2900c6fac1e3ef496ffc2527461b8c5caf5a9a170eae6524e20f02539988ead70a199f0e767e8bc57dc1e00e557dba33efad3d2012f4c5f5918d1ba SHA512 990cece1725b698ac6cc7dcdeb1871715ae1cfad93f9891cd45debc2824905c79fca4dc511ebe0a631ca3abb9e594556edce8f094e071689438bc9c27e45351d diff --git a/net-misc/dropbox/dropbox-223.4.4909-r10.ebuild b/net-misc/dropbox/dropbox-223.4.4909-r10.ebuild new file mode 100644 index 00000000..d7da346a --- /dev/null +++ b/net-misc/dropbox/dropbox-223.4.4909-r10.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop pax-utils systemd xdg + +DESCRIPTION="Dropbox daemon (pretends to be GUI-less)" +HOMEPAGE="https://www.dropbox.com/" +SRC_URI=" + https://clientupdates.dropboxstatic.com/dbx-releng/client/dropbox-lnx.x86_64-${PV}.tar.gz + https://uxwing.com/wp-content/themes/uxwing/download/brands-and-social-media/dropbox-icon.svg +" + +LICENSE="BSD-2 CC-BY-ND-3.0 FTL MIT LGPL-2 openssl dropbox" +SLOT="0" +KEYWORDS="-* ~amd64" +IUSE="selinux X" + +RESTRICT="mirror strip" + +QA_PREBUILT="opt/.*" +QA_EXECSTACK="opt/dropbox/dropbox" + +BDEPEND="dev-util/patchelf" + +# Be sure to have GLIBCXX_3.4.9, #393125 +RDEPEND=" + X? ( + x11-themes/hicolor-icon-theme + ) + selinux? ( sec-policy/selinux-dropbox ) + app-arch/bzip2 + dev-libs/glib:2 + dev-libs/libffi-compat:7 + media-libs/fontconfig + media-libs/freetype + net-misc/wget + sys-libs/zlib + sys-libs/ncurses-compat:5 + virtual/opengl + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXrender + x11-libs/libxcb +" + +src_unpack() { + unpack ${A} + mkdir -p "${S}" || die + mv "${WORKDIR}"/.dropbox-dist/* "${S}" || die + mv "${S}"/dropbox-lnx.*-${PV}/* "${S}" || die + rmdir "${S}"/dropbox-lnx.*-${PV}/ || die + rmdir .dropbox-dist || die +} + +src_prepare() { + default + # we supply all of these in RDEPEND + rm -vf libGL.so.1 libX11* libffi.so.7 || die + # some of these do not appear to be used + rm -vf libQt5{OpenGL,PrintSupport,Qml,Quick,Sql,WebKit,WebKitWidgets}.so.5 \ + PyQt5.QtPrintSupport.* PyQt5.QtQml.* PyQt5.QtQuick.* \ + wmctrl libdrm.so.2 libpopt.so.0 || die + if use X ; then + mv images/hicolor/16x16/status "${T}" || die + else + rm -vrf images || die + fi + patchelf --set-rpath '$ORIGIN' \ + apex._apex.*.so \ + nucleus_python.*.so \ + tprt.*.so \ + || die + pax-mark cm dropbox + mv README ACKNOWLEDGEMENTS "${T}" || die +} + +src_install() { + local targetdir="/opt/dropbox" + + insinto "${targetdir}" + doins -r * + fperms a+x "${targetdir}"/{dropbox,dropboxd} + dosym "${targetdir}/dropboxd" "/opt/bin/dropbox" + + if use X; then + doicon -s 16 -c status "${T}"/status + newicon -s scalable "${DISTDIR}/dropbox-icon.svg" dropbox.svg + fi + + make_desktop_entry "${PN}" "Dropbox" "dropbox" + + newinitd "${FILESDIR}"/dropbox.initd dropbox + newconfd "${FILESDIR}"/dropbox.conf dropbox + systemd_newunit "${FILESDIR}"/dropbox_at.service-r2 "dropbox@.service" + + dodoc "${T}"/{README,ACKNOWLEDGEMENTS} +} + +pkg_postinst() { + einfo "Warning: while running, dropbox may attempt to autoupdate itself in" + einfo " your user's home directory. To prevent this, run the following as" + einfo " each user who will run dropbox:" + einfo "" + einfo "install -dm0 ~/.dropbox-dist" +} diff --git a/net-misc/dropbox/files/dropbox.conf b/net-misc/dropbox/files/dropbox.conf new file mode 100644 index 00000000..c20c3c46 --- /dev/null +++ b/net-misc/dropbox/files/dropbox.conf @@ -0,0 +1,14 @@ +# /etc/conf.d/dropbox.conf: config file for /etc/init.d/dropbox + +# Users to run dropbox +DROPBOX_USERS="" + +# integer [-20 .. 19 ] default 0 +# change the priority of the server -20 (high) to 19 (low) +# see nice(1) for description +#NICE=0 + +# See start-stop-daemon(8) for possible settings +#IONICE=2 + +PID_DIR=/var/run/dropbox diff --git a/net-misc/dropbox/files/dropbox.initd b/net-misc/dropbox/files/dropbox.initd new file mode 100644 index 00000000..4f8dd706 --- /dev/null +++ b/net-misc/dropbox/files/dropbox.initd @@ -0,0 +1,65 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +depend() { + need localmount net + after bootmisc +} + +start() { + local tmpnice="${NICE:+"--nicelevel "}${NICE}" + local tmpionice="${IONICE:+"--ionice "}${IONICE}" + local started="" + + ebegin "Starting dropbox" + for dbuser in ${DROPBOX_USERS}; do + local homedir=$(eval echo ~${dbuser}) + if test -d "${homedir}" && \ + echo 0 > ${homedir}/.dropbox/dropbox.pid && \ + start-stop-daemon -S -b \ + ${tmpnice} ${tmpionice} \ + -u ${dbuser} -v \ + -p ${homedir}/.dropbox/dropbox.pid \ + -e HOME=${homedir} \ + -x /opt/bin/dropbox; then + started="${started} ${dbuser}" + else + eend $? + eerror "Failed to start dropbox for ${dbuser}" + if [ -n "${started}" ]; then + eerror "Stopping already started dropbox" + DROPBOX_USERS=${started} stop + fi + return 1 + fi + done + if [ -z "${started}" ];then + eerror "No dropbox started" + eend 1 + else + eend 0 + fi +} + +stop() { + local retval=0 + ebegin "Stopping dropbox" + for dbuser in ${DROPBOX_USERS}; do + local homedir=$(eval echo ~${dbuser}) + start-stop-daemon --stop \ + --pidfile ${homedir}/.dropbox/dropbox.pid || retval=$? + done + eend ${retval} +} + +status() { + for dbuser in ${DROPBOX_USERS}; do + local homedir=$(eval echo ~${dbuser}) + if [ -e ${homedir}/.dropbox/dropbox.pid ] ; then + echo "dropboxd for USER $dbuser: running." + else + echo "dropboxd for USER $dbuser: not running." + fi + done +} diff --git a/net-misc/dropbox/files/dropbox_at.service-r2 b/net-misc/dropbox/files/dropbox_at.service-r2 new file mode 100644 index 00000000..a21362f3 --- /dev/null +++ b/net-misc/dropbox/files/dropbox_at.service-r2 @@ -0,0 +1,37 @@ +# Copyright (c) 2015, Joe Roback +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +[Unit] +Description=Dropbox as a system service +After=local-fs.target network.target + +[Service] +Type=simple +ExecStart=/usr/bin/env "/home/%i/.dropbox-dist/dropboxd" +Restart=on-failure +RestartSec=1 +User=%i + +[Install] +WantedBy=multi-user.target |