diff options
-rw-r--r-- | app-admin/clsync/Manifest | 1 | ||||
-rw-r--r-- | app-admin/clsync/clsync-0.4.4.ebuild | 104 | ||||
-rw-r--r-- | app-admin/clsync/metadata.xml | 2 |
3 files changed, 106 insertions, 1 deletions
diff --git a/app-admin/clsync/Manifest b/app-admin/clsync/Manifest index 908a4bd9d9e1..bc0327932bec 100644 --- a/app-admin/clsync/Manifest +++ b/app-admin/clsync/Manifest @@ -1 +1,2 @@ DIST clsync-0.4.2.tar.gz 256042 BLAKE2B 28474fc66341b93705a502fcff390e3affcd89a9e1eb272dce9b28be709562e09c03e9c300cfeb5371e2e618a2239468a58c46212a39d751fbbfddeaab12bcf6 SHA512 d14a2efc4bf58d9d5c7a3fe5634cacdd182cd7cd814b0e9ebd99024a7282b056d1f7ceeec6903666391c3572d599a18e205af818b098ed7768d5c0e0f4cd1200 +DIST clsync-0.4.4.tar.gz 268276 BLAKE2B 0027760cfdee5c4410c4cea45aae2def6498d812d2f50038993c39a33c6029722ec2dd2cfff20815a3ffd8834eb8c439059e5f1d2cc3d2cf98ecb22ed22f2322 SHA512 cdafbf43fdeafe9cb53c08e0514ef356fb5b4bbd8da2226263180e7441d222c76e6c73f847f484b3688a8672e4a85df0346c0236d8d0ed4506d209189af02dcd diff --git a/app-admin/clsync/clsync-0.4.4.ebuild b/app-admin/clsync/clsync-0.4.4.ebuild new file mode 100644 index 000000000000..1da3d5f2bf3c --- /dev/null +++ b/app-admin/clsync/clsync-0.4.4.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools linux-info systemd + +DESCRIPTION="Live sync tool based on inotify, written in GNU C" +HOMEPAGE="https://github.com/clsync/clsync http://ut.mephi.ru/oss/clsync" +SRC_URI="https://github.com/clsync/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+caps cluster control-socket cgroups debug extra-debug +extra-hardened gio hardened +highload-locks +inotify mhash +namespaces seccomp" + +REQUIRED_USE=" + || ( gio inotify ) + extra-debug? ( debug ) + extra-hardened? ( hardened ) + mhash? ( cluster ) + seccomp? ( caps ) +" +BDEPEND=" + virtual/pkgconfig +" +DEPEND=" + dev-libs/glib:2 + cgroups? ( dev-libs/libcgroup ) + mhash? ( app-crypt/mhash ) +" +RDEPEND="${DEPEND} + ~app-doc/clsync-docs-${PV} +" + +pkg_pretend() { + use namespaces && CONFIG_CHECK="~NAMESPACES ~UTS_NS ~IPC_NS ~USER_NS ~PID_NS ~NET_NS" + use seccomp && CONFIG_CHECK+=" ~SECCOMP" + check_extra_config +} + +src_prepare() { + eapply_user + eautoreconf +} + +src_configure() { + local harden_level=0 + use hardened && harden_level=1 + use extra-hardened && harden_level=2 + + local debug_level=0 + use debug && debug_level=1 + use extra-debug && debug_level=2 + + econf \ + --disable-socket-library \ + --enable-clsync \ + --enable-debug=${debug_level} \ + --enable-paranoid=${harden_level} \ + --without-bsm \ + --without-kqueue \ + $(use_enable caps capabilities) \ + $(use_enable cluster) \ + $(use_enable control-socket socket) \ + $(use_enable highload-locks) \ + $(use_enable namespaces unshare) \ + $(use_enable seccomp) \ + $(use_with cgroups libcgroup) \ + $(use_with gio gio lib) \ + $(use_with inotify inotify native) \ + $(use_with mhash) +} + +src_install() { + emake DESTDIR="${D}" install + + # docs go into clsync-docs + rm -rf "${ED}/usr/share/doc" || die + + newinitd "${FILESDIR}/${PN}.initd" "${PN}" + newconfd "${FILESDIR}/${PN}.confd" "${PN}" + + # filter rules and sync scripts are supposed to be here + insinto /etc/${PN} + newins "${FILESDIR}/${PN}.conf" "${PN}.conf" + keepdir /etc/${PN} + + systemd_dounit "examples/clsync@.service" +} + +pkg_postinst() { + einfo "${PN} is just a convenient way to run synchronization tools on live data," + einfo "it doesn't copy data itself, so you need to install software to do actual" + einfo "data transfer. Usually net-misc/rsync is a good choise, but ${PN} is" + einfo "is flexible enough to use any user tool, see manual page for details." + einfo + einfo "${PN} init script can be multiplexed, to use symlink init script to" + einfo "othername and use conf.d/othername to configure it." + einfo + einfo "If you're interested in improved security, enable" + einfo "USE=\"caps cgroups hardened namespaces seccomp\"" +} diff --git a/app-admin/clsync/metadata.xml b/app-admin/clsync/metadata.xml index 9cbe60e8159c..824f11d2a130 100644 --- a/app-admin/clsync/metadata.xml +++ b/app-admin/clsync/metadata.xml @@ -25,6 +25,6 @@ <flag name="namespaces">Enable namespaces isolation.</flag> </use> <upstream> - <remote-id type="github">xaionaro/clsync</remote-id> + <remote-id type="github">clsync/clsync</remote-id> </upstream> </pkgmetadata> |