summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/sitecopy')
-rw-r--r--net-misc/sitecopy/Manifest2
-rw-r--r--net-misc/sitecopy/files/sitecopy-0.16.6-01-remote-dynamic-rc.patch134
-rw-r--r--net-misc/sitecopy/files/sitecopy-0.16.6-02-french-po-fix.patch22
-rw-r--r--net-misc/sitecopy/files/sitecopy-0.16.6-03-wrong-memory-397155.patch15
-rw-r--r--net-misc/sitecopy/files/sitecopy-0.16.6-06-sftpdriver.c-fix-for-new-openssh.patch13
-rw-r--r--net-misc/sitecopy/files/sitecopy-0.16.6-10-bts410703-preserve-storage-files-sigint.patch52
-rw-r--r--net-misc/sitecopy/files/sitecopy-0.16.6-20-bts549721-add-compatibility-for-neon-0.29.0.patch17
-rw-r--r--net-misc/sitecopy/files/sitecopy-0.16.6-30-bts320586-manpage-document-sftp.patch59
-rw-r--r--net-misc/sitecopy/metadata.xml14
-rw-r--r--net-misc/sitecopy/sitecopy-0.16.6-r1.ebuild88
10 files changed, 416 insertions, 0 deletions
diff --git a/net-misc/sitecopy/Manifest b/net-misc/sitecopy/Manifest
new file mode 100644
index 000000000000..e607df2f3dc4
--- /dev/null
+++ b/net-misc/sitecopy/Manifest
@@ -0,0 +1,2 @@
+DIST sitecopy-0.16.6-04-manpages-addition-fixes.patch 46803 SHA256 09a8e30ca37ec86e7bbdc59b1b59789a6a3172d423a71382774732f19d0e9173 SHA512 4d50eee14111dd817e9b484ecad22fe2b5af234d719a732133114fcff47f2dd12557f53f8e65a4e275bf52e4f9709f78e672174ef5195bcb4f9ca9c91976b965 WHIRLPOOL 0ca06284a408ba9fe6ff5b2aac0b2f8808226812b80403a9cf45b575a9b15320a03391882eb42b5e000a3c475cc5fbc531b657ca01434a7e9061b2bc49405534
+DIST sitecopy-0.16.6.tar.gz 1022265 SHA256 e06fdda007e54ddc6fae90a4e79768e5bfb7770c1139bcaac2e10d841d7458af SHA512 9dee1d499d8faf4a3cd91c9e3d47e3b2777f5deac26bb5e8a1d3e988391a1e7188d52338ef2bddbb4e194f50a328ab5c7b54b4964fcaea9d467c924ef9c71734 WHIRLPOOL 7f9e40649e20720bcb3dcfd397c1df6525bc8de5d08779770fe094cc7d2ce9c750d74bad6dbf8e307ee4a2bf8d1e1df21a4616becec3f03fbb6e0e604df5585f
diff --git a/net-misc/sitecopy/files/sitecopy-0.16.6-01-remote-dynamic-rc.patch b/net-misc/sitecopy/files/sitecopy-0.16.6-01-remote-dynamic-rc.patch
new file mode 100644
index 000000000000..803dc50b0423
--- /dev/null
+++ b/net-misc/sitecopy/files/sitecopy-0.16.6-01-remote-dynamic-rc.patch
@@ -0,0 +1,134 @@
+From: Jesus Climent <jesus dot climent at hispalinux dot es>
+Subject: A patch for generating dynamic rc files
+
+diff -u sitecopy-0.16.3-orig/src/console_fe.c sitecopy-0.16.3/src/console_fe.c
+--- sitecopy-0.16.3-orig/src/console_fe.c 2006-10-27 18:55:19.000000000 +0530
++++ sitecopy-0.16.3/src/console_fe.c 2006-10-27 18:39:06.000000000 +0530
+@@ -155,7 +155,8 @@
+ show_progress, /* Do they want the %-complete messages */
+ prompting, /* Did they say --prompting? */
+ keepgoing, /* Did they say --keep-going? */
+- dry_run; /* Did they say --dry-run? */
++ dry_run, /* Did they say --dry-run? */
++ createremoteroot=false; /* Did they say --create-remote? */
+
+ /* Functions prototypes */
+ static void init(int, char **);
+@@ -222,9 +223,9 @@
+ exit(-1);
+ }
+
+- for (current=all_sites; current!=NULL; current=current->next) {
++ for (current=all_sites; current!=NULL; current=current->next) {
+
+- if (current->use_this || allsites) {
++ if (current->use_this || allsites) {
+ if (!listflat && quiet == 0) {
+ /* Display the banner line */
+ const char *str_action = _(actions[action].doing);
+@@ -507,6 +508,9 @@
+ }
+ } break;
+ #endif
++ case 'x':
++ createremoteroot = true;
++ break;
+ case 'y':
+ prompting = true;
+ break;
+@@ -1210,7 +1214,8 @@
+ int ret = 0, verify_removed;
+
+ /* Set the options */
+- site->keep_going = keepgoing;
++ site->keep_going = keepgoing;
++ site->create_remote_root = createremoteroot;
+
+ switch (act) {
+ case action_update:
+@@ -1354,6 +1359,7 @@
+ " -p, --storepath=PATH Use alternate site storage directory\n"
+ " -y, --prompting Request confirmation before making each update\n"
+ " -a, --allsites Perform the operation on ALL defined sites\n"
++" -x, --create-remote Create root for remote site\n"
+ " -k, --keep-going Carry on an update regardless of errors\n"
+ " -o, --show-progress Display total percentage file transfer complete\n"
+ " -q, --quiet Be quiet while performing the operation\n"
+diff -u sitecopy-0.16.3-orig/src/sites.c sitecopy-0.16.3/src/sites.c
+--- sitecopy-0.16.3-orig/src/sites.c 2006-03-02 01:08:21.000000000 +0530
++++ sitecopy-0.16.3/src/sites.c 2006-10-27 19:12:30.000000000 +0530
+@@ -94,7 +94,6 @@
+ struct site_file *current;
+ char *full_local;
+ int ret;
+-
+ ret = 0;
+
+ for_each_file(current, site) {
+@@ -312,11 +311,52 @@
+ free(full_remote);
+ }
+
++static int create_remote_root_dirs(struct site *site, void *session)
++{
++ char *buffer;
++ int i,j=0,ret=1,flag=1;
++
++ buffer = (char *) calloc(strlen(site->remote_root)+1,sizeof(char));
++
++ buffer[j++] = '/';
++
++ for( i=1 ; site->remote_root[i] != '\0' ; i++ )
++ {
++ if (site->remote_root[i] == '/')
++ flag = 0;
++
++ if (flag)
++ buffer[j++] = site->remote_root[i];
++ else
++ if (j > 0)
++ {
++ buffer[j] = '\0';
++ ret = CALL(dir_create)(session, buffer);
++
++ if (ret != SITE_OK)
++ ret = 0;
++
++ buffer[j++] = '/';
++ flag=1;
++ }
++ }
++
++ return ret;
++}
++
+ /* Create new directories and change permissions on existing directories. */
+ static int update_create_directories(struct site *site, void *session)
+ {
+ struct site_file *current;
+- int ret = 0;
++ int ret = 0, ret_root_dir;
++
++ if (site->create_remote_root) /* We create remote init struct before updating the whole stuff */
++ {
++ ret_root_dir = create_remote_root_dirs(site,session);
++
++ if (!ret_root_dir)
++ fe_warning (_("I couldn't create some dir. already exists?"),NULL,NULL);
++ }
+
+ for_each_file(current, site) {
+ if ((current->type == file_dir)
+diff -u sitecopy-0.16.3-orig/src/sites.h sitecopy-0.16.3/src/sites.h
+--- sitecopy-0.16.3-orig/src/sites.h 2006-02-04 17:46:36.000000000 +0530
++++ sitecopy-0.16.3/src/sites.h 2006-10-27 18:39:06.000000000 +0530
+@@ -381,6 +381,8 @@
+ char *rsh_cmd;
+ char *rcp_cmd;
+
++ unsigned int create_remote_root:1; /* to create remote root in case it doesn't exist */
++
+ unsigned int nodelete; /* whether to delete any files remotely */
+ unsigned int checkmoved; /* whether to check for moved files */
+ unsigned int checkrenames; /* whether to check for renamed files */
+
diff --git a/net-misc/sitecopy/files/sitecopy-0.16.6-02-french-po-fix.patch b/net-misc/sitecopy/files/sitecopy-0.16.6-02-french-po-fix.patch
new file mode 100644
index 000000000000..8dda2589eb01
--- /dev/null
+++ b/net-misc/sitecopy/files/sitecopy-0.16.6-02-french-po-fix.patch
@@ -0,0 +1,22 @@
+From: Ludovic Rousseau <rousseau@debian.org>
+Subject: Fixed the french translation issue
+
+--- sitecopy-0.16.3.orig/po/fr.po 2006-03-12 11:07:42.000000000 +0100
++++ sitecopy-0.16.3/po/fr.po 2007-05-05 10:14:08.000000000 +0200
+@@ -2,7 +2,6 @@
+ # Copyright (C) YEAR Free Software Foundation, Inc.
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+ #
+-#, fuzzy
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: sitecopy 0.9.3\n"
+@@ -12,7 +11,7 @@
+ "Last-Translator: Sylvain Glaize <mokona@puupuu.org>\n"
+ "Language-Team: fr\n"
+ "MIME-Version: 1.0\n"
+-"Content-Type: text/plain; charset=latin-1\n"
++"Content-Type: text/plain; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+ #: src/console_fe.c:119
diff --git a/net-misc/sitecopy/files/sitecopy-0.16.6-03-wrong-memory-397155.patch b/net-misc/sitecopy/files/sitecopy-0.16.6-03-wrong-memory-397155.patch
new file mode 100644
index 000000000000..5b397c01b05b
--- /dev/null
+++ b/net-misc/sitecopy/files/sitecopy-0.16.6-03-wrong-memory-397155.patch
@@ -0,0 +1,15 @@
+From: Ludovic Rousseau <rousseau at debian dot org>
+Subject: A patch for fixing wrong memory intialization
+
+diff -u sitecopy-0.16.3-orig/src/rcfile.c sitecopy-0.16.3/src/rcfile.c
+--- sitecopy-0.16.3-orig/src/rcfile.c 2006-02-04 17:46:36.000000000 +0530
++++ sitecopy-0.16.3/src/rcfile.c 2006-11-08 22:24:51.000000000 +0530
+@@ -260,7 +260,7 @@
+ if (this_site != &default_site)
+ last_site = this_site;
+ /* Allocate new item */
+- this_site = ne_malloc(sizeof(struct site));
++ this_site = ne_calloc(sizeof(struct site));
+ /* Copy over the defaults */
+ memcpy(this_site, &default_site, sizeof(struct site));
+ /* Deep-copy the string lists */
diff --git a/net-misc/sitecopy/files/sitecopy-0.16.6-06-sftpdriver.c-fix-for-new-openssh.patch b/net-misc/sitecopy/files/sitecopy-0.16.6-06-sftpdriver.c-fix-for-new-openssh.patch
new file mode 100644
index 000000000000..ef9f83621e19
--- /dev/null
+++ b/net-misc/sitecopy/files/sitecopy-0.16.6-06-sftpdriver.c-fix-for-new-openssh.patch
@@ -0,0 +1,13 @@
+From: Agustin Martin Domingo <agmartin@debian.org>
+Subject: Patch for sftp protocol doesn't work with >= 1:4.2p1-1
+
+diff -urNad sitecopy-0.16.3~/src/sftpdriver.c sitecopy-0.16.3/src/sftpdriver.c
+--- sitecopy-0.16.3~/src/sftpdriver.c 2005-06-29 11:44:47.000000000 +0200
++++ sitecopy-0.16.3/src/sftpdriver.c 2007-10-22 14:58:51.000000000 +0200
+@@ -140,7 +140,6 @@
+ }
+ close(c_in);
+ close(c_out);
+- read_sftp(sess); /* wait for prompt */
+ return SITE_OK;
+ }
diff --git a/net-misc/sitecopy/files/sitecopy-0.16.6-10-bts410703-preserve-storage-files-sigint.patch b/net-misc/sitecopy/files/sitecopy-0.16.6-10-bts410703-preserve-storage-files-sigint.patch
new file mode 100644
index 000000000000..5902282357c5
--- /dev/null
+++ b/net-misc/sitecopy/files/sitecopy-0.16.6-10-bts410703-preserve-storage-files-sigint.patch
@@ -0,0 +1,52 @@
+From: Andreas Henriksson <andreas@fatal.se>
+Subject: Preserve storage files it SIGINT (Ctrl+C) is sent
+
+--- sitecopy-0.16.3/src/sitestore.c 2006-02-04 11:18:08.000000000 +0100
++++ sitecopy-0.16.3-pending/src/sitestore.c 2008-06-08 21:56:23.000000000 +0200
+@@ -60,17 +60,42 @@
+ /* Opens the storage file for writing */
+ FILE *site_open_storage_file(struct site *site)
+ {
++ char filebuf[PATH_MAX];
++
++ /* open a temporary "pending" file, to not corrupt the site file in case
++ * the program aborts while we are updating it.
++ * The site_close_storage_file() function will rename it to it's proper
++ * name.
++ * FIXME: something should clean up old *.pending files,
++ * which never got properly closed.
++ */
++ snprintf(filebuf, sizeof(filebuf), "%s.pending", site->infofile);
++
+ if (site->storage_file == NULL) {
+- site->storage_file = fopen(site->infofile, "w" FOPEN_BINARY_FLAGS);
++ site->storage_file = fopen(filebuf, "w" FOPEN_BINARY_FLAGS);
+ }
+ return site->storage_file;
+ }
+
+ int site_close_storage_file(struct site *site)
+ {
+- int ret = fclose(site->storage_file);
++ char filebuf[PATH_MAX];
++ int err;
++
++ /* close filehandle */
++ err = fclose(site->storage_file);
+ site->storage_file = NULL;
+- return ret;
++ if (err) {
++ perror("fclose");
++ return err;
++ }
++
++ /* rename pending file to real filename (overwriting existing file). */
++ snprintf(filebuf, sizeof(filebuf), "%s.pending", site->infofile);
++ err = rename(filebuf, site->infofile);
++ if (err)
++ perror("rename");
++ return err;
+ }
+
+ /* Return escaped form of 'filename'; any XML-unsafe characters are
+
diff --git a/net-misc/sitecopy/files/sitecopy-0.16.6-20-bts549721-add-compatibility-for-neon-0.29.0.patch b/net-misc/sitecopy/files/sitecopy-0.16.6-20-bts549721-add-compatibility-for-neon-0.29.0.patch
new file mode 100644
index 000000000000..0b53e2e4e395
--- /dev/null
+++ b/net-misc/sitecopy/files/sitecopy-0.16.6-20-bts549721-add-compatibility-for-neon-0.29.0.patch
@@ -0,0 +1,17 @@
+From: Sandro Tosi <morph@debian.org>
+Subject: Add support for libneon 0.29.0 and 0.30.0
+
+diff -urNad sitecopy~/configure.in sitecopy/configure.in
+--- sitecopy~/configure.in 2008-07-20 18:21:15.000000000 +0200
++++ sitecopy/configure.in 2009-10-05 23:44:00.764858219 +0200
+@@ -112,8 +112,8 @@
+ AC_LIBOBJ(lib/fnmatch)
+ fi
+
+-# Support neon 0.24 through 0.28
+-NE_REQUIRE_VERSIONS([0], [24 25 26 27 28])
++# Support neon 0.24 through 0.30
++NE_REQUIRE_VERSIONS([0], [24 25 26 27 28 29 30])
+
+ dnl But we don't use zlib or ACL support
+ NEON_WITHOUT_ZLIB
diff --git a/net-misc/sitecopy/files/sitecopy-0.16.6-30-bts320586-manpage-document-sftp.patch b/net-misc/sitecopy/files/sitecopy-0.16.6-30-bts320586-manpage-document-sftp.patch
new file mode 100644
index 000000000000..cc4e4c754171
--- /dev/null
+++ b/net-misc/sitecopy/files/sitecopy-0.16.6-30-bts320586-manpage-document-sftp.patch
@@ -0,0 +1,59 @@
+From: Christian Kujau <lists@nerdbynature.de>
+Subject: Document SFTP sitecopy functionality
+
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg'
+'--exclude=_darcs' '--exclude=.bzr' sitecopy~/doc/sitecopy.1 sitecopy/doc/sitecopy.1
+--- sitecopy~/doc/sitecopy.1 2011-01-03 00:03:07.596559823 +0100
++++ sitecopy/doc/sitecopy.1 2011-01-03 00:03:07.852560823 +0100
+@@ -16,7 +16,7 @@
+ files using an FTP client. sitecopy will also optionally try to spot
+ files you move locally, and move them remotely.
+
+-FTP, WebDAV and other HTTP-based authoring servers (for instance,
++FTP, SFTP, WebDAV and other HTTP-based authoring servers (for instance,
+ AOLserver and Netscape Enterprise) are supported.
+
+ .SH GETTING STARTED
+@@ -229,6 +229,8 @@
+ .br
+ ftp FTP driver
+ .br
++ sftp SFTP driver
++.br
+ xml XML parsing information
+ .br
+ xmlparse Low-level XML parsing information
+@@ -297,7 +299,7 @@
+ .BR "url " "siteURL ]"
+ .br
+ [
+-.BR "protocol " "{ ftp | webdav } ]"
++.BR "protocol " "{ ftp | sftp | webdav } ]"
+ .br
+ [
+ .BR ftp " nopasv ]"
+@@ -353,12 +355,12 @@
+ to the default port for the protocol used, or that given by the
+ .B port
+ key.
+-sitecopy supports the WebDAV or FTP protocols - the
++sitecopy supports the WebDAV or (S)FTP protocols - the
+ .B protocol
+ key specifies which to use, taking the value of either
+ .B webdav
+ or
+-.B ftp
++.B ftp/sftp
+ respectively. By default, FTP will be used.
+
+ The
+@@ -769,7 +771,7 @@
+ be a useful resource for others.
+
+ .SH SEE ALSO
+-rsync(1), ftp(1), mirror(1)
++rsync(1), ftp(1), sftp(1), mirror(1)
+
+ .SH STANDARDS
+
+
diff --git a/net-misc/sitecopy/metadata.xml b/net-misc/sitecopy/metadata.xml
new file mode 100644
index 000000000000..06dbd3e5c3f6
--- /dev/null
+++ b/net-misc/sitecopy/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>rogerx.oss@gmail.com</email>
+ <name>Roger Zauner</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <use>
+ <flag name="rsh">This allows the use of rsh (remote shell) and rcp (remote copy) for authoring websites. sftp is a much more secure protocol and is preferred.</flag>
+ <flag name="webdav">Enable WebDav (Web-based Distributed Authoring and Versioning) support. This system allows users to collaborate on websites using a web based interface. See the ebuild for an FAQ page. Enables neon as well to handle webdav support.</flag>
+ </use>
+</pkgmetadata>
diff --git a/net-misc/sitecopy/sitecopy-0.16.6-r1.ebuild b/net-misc/sitecopy/sitecopy-0.16.6-r1.ebuild
new file mode 100644
index 000000000000..afbefbad54f1
--- /dev/null
+++ b/net-misc/sitecopy/sitecopy-0.16.6-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="Maintain remote web sites with ease"
+SRC_URI="http://www.manyfish.co.uk/sitecopy/${P}.tar.gz
+ http://dev.gentoo.org/~idella4/sitecopy-0.16.6-04-manpages-addition-fixes.patch"
+HOMEPAGE=" http://www.manyfish.co.uk/sitecopy/"
+# Removed all Debian related stuff. If you want more patches, they can be ported from
+# http://ftp.debian.org/debian/pool/main/s/sitecopy/
+# The sitecopy_0.16.6-5.debian.tar.gz contains their build scripts and patches.
+# This SiteCopy now builds using the original sources.
+KEYWORDS="amd64 x86"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="expat nls rsh ssl webdav xml zlib"
+
+# TODO: Depends copied over from old ebuild file, ensure they're still correct!
+DEPEND="rsh? ( net-misc/netkit-rsh )
+ >=net-libs/neon-0.24.6[zlib?,ssl?,expat?]
+ <=net-libs/neon-0.30.9999[zlib?,ssl?,expat?]
+ xml? ( >=net-libs/neon-0.24.6[-expat] )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # NOTE: Insert patches here.
+ # SiteCopy patches are being currently pulled & ported from
+ # http://ftp.debian.org/debian/pool/main/s/sitecopy/
+ # Consider SiteCopy to be more or less being actively maintained by
+ # Debian maintainers, but GPL patches ported into Gentoo.
+
+ # NOTE: epatch is provided by 'inherit eutils'
+ # Patch File Naming Format
+ # files/package_name - package_version - patch_order - patch_description
+
+ epatch "${FILESDIR}/sitecopy-0.16.6-01-remote-dynamic-rc.patch" \
+ "${FILESDIR}/sitecopy-0.16.6-02-french-po-fix.patch" \
+ "${FILESDIR}/sitecopy-0.16.6-03-wrong-memory-397155.patch" \
+ "${FILESDIR}/sitecopy-0.16.6-06-sftpdriver.c-fix-for-new-openssh.patch" \
+ "${FILESDIR}/sitecopy-0.16.6-10-bts410703-preserve-storage-files-sigint.patch" \
+ "${FILESDIR}/sitecopy-0.16.6-20-bts549721-add-compatibility-for-neon-0.29.0.patch" \
+ "${FILESDIR}/sitecopy-0.16.6-30-bts320586-manpage-document-sftp.patch" \
+ "${DISTDIR}/sitecopy-0.16.6-04-manpages-addition-fixes.patch"
+
+ # Source package uses incorrect '/usr/doc' for the doc folder. So use
+ # sed to correct this error.
+ sed -i -e "s:docdir \= .*:docdir \= \$\(prefix\)\/share/doc\/${PF}:" \
+ Makefile.in || die "Documentation directory patching failed"
+
+ # NOTE: eautoconf/eautomake is provided by 'inherit autotools'
+ # Need to recreate the source package provided configure script,
+ # because the package provided configure script only supports
+ # <neon-0.30.0 support. A patch above patches the configure.in
+ # providing neon-0.30.0 support, and we then recreate the configure
+ # script based upon configure.in using autotools.
+
+ # First move configure.in to configure.ac, required by newer >autoconf-2.13
+ # per Bug #426262 automake-1.14 compatibility
+ # Should check first, autoconf-2.13 is still in the tree requiring configure.in!
+ # mv configure.in configure.ac || die
+
+ eautoconf
+ eautomake
+}
+
+src_configure() {
+ # TODO: USE functions copied over from old ebuild file, ensure they're still correct!
+ econf $(use_with ssl ssl openssl) \
+ $(use_enable webdav) \
+ $(use_enable nls) \
+ $(use_enable rsh) \
+ $(use_with expat) \
+ $(use_with xml libxml2 ) \
+ --with-neon \
+ || die "econf failed"
+}
+
+src_compile() {
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+}