Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 223295 - ecopy does not copy subdirectories under files/
Summary: ecopy does not copy subdirectories under files/
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
: 245945 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-05-23 05:25 UTC by Qiangning Hong
Modified: 2010-01-26 22:34 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch for ecopy script to download all aux files (ecopy-files.patch,817 bytes, patch)
2008-05-23 05:41 UTC, Qiangning Hong
Details | Diff
a patch to get files in subdirectory (ecopy.patch,540 bytes, patch)
2008-06-21 23:12 UTC, Masatomo Nakano
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Qiangning Hong 2008-05-23 05:25:15 UTC
When I tried to ecopy www-servers/lighttpd, I found the generated ebuild directory lacks the subdirectories under www-servers/lighttpd/files/


Reproducible: Always

Steps to Reproduce:
1. cd ~/Gentoo/usr/local/portage
2. ecopy www-servers/lighttpd
3. cd www-servers/lighttpd/files
4. ls -F

Actual Results:  
lighttpd.conf             lighttpd.logrotate  mod_fastcgi.conf-1.4.13-r2
lighttpd.confd            mime-types.conf     spawn-fcgi.confd
lighttpd.initd-1.4.13-r3  mod_cgi.conf        spawn-fcgi.initd

Expected Results:  
1.4.16/     1.4.18-r3/  conf/                     lighttpd.logrotate
1.4.18/     1.4.19/     lighttpd.confd            spawn-fcgi.confd
1.4.18-r1/  1.4.19-r1/  lighttpd.initd            spawn-fcgi.initd
1.4.18-r2/  1.4.19-r2/  lighttpd.initd-1.4.13-r3

I checked the source code of ecopy, and found that it is using the lines containing "${FILESDIR}" in ebuilds to fetch the mentioned files.  Because lighttpd's ebuilds use "${FILESDIR}"/"${PVR}" to point a bunch of files, they are ignored by ecopy.  Maybe it is better to use the Manifest file to get filenames to copy?

$ emerge --info
Portage 2.2.00.10385-prefix (default-prefix/darwin/macos/10.5/x86, gcc-4.0.1, unavailable, 9.2.2 i386)
=================================================================
System uname: 9.2.2 i386 i386
Timestamp of tree: Fri, 23 May 2008 04:51:31 +0000
distcc 2.18.5-Apple.1 powerpc-apple-darwin9.0 (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p33
dev-lang/python:     2.5.2-r2
dev-util/ccache:     2.4-r7
sys-devel/autoconf:  2.61-r01.1
sys-devel/automake:  1.10.1
sys-devel/libtool:   1.5.26
ACCEPT_KEYWORDS="~x86-macos"
CBUILD="i686-apple-darwin9"
CFLAGS="-O2 -pipe -march=nocona"
CHOST="i686-apple-darwin9"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS=""
DISTDIR="/Users/hongqn/Gentoo/usr/portage/distfiles"
EPREFIX="/Users/hongqn/Gentoo"
FEATURES="collision-protect distlocks nostrip parallel-fetch preserve-libs sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LC_ALL="en_US.UTF-8"
LDFLAGS=""
MAKEOPTS="-j3"
PKGDIR="/Users/hongqn/Gentoo/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/Users/hongqn/Gentoo/var/tmp"
PORTDIR="/Users/hongqn/Gentoo/usr/portage"
PORTDIR_OVERLAY="/Users/hongqn/Gentoo/usr/local/portage"
SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix"
USE="aqua coreaudio cracklib midi mmx mmxext ncurses nls objc objc++ prefix readline sse sse2 ssl unicode x86-macos zlib" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="Darwin" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Qiangning Hong 2008-05-23 05:41:05 UTC
Created attachment 154035 [details, diff]
patch for ecopy script to download all aux files

I wrote a rough patch for ecopy script to download all AUX files mentioned in Manifest file.
Comment 2 Jeremy Olexa (darkside) (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2008-05-23 14:55:05 UTC
(In reply to comment #1)
> I wrote a rough patch for ecopy script to download all AUX files mentioned in
> Manifest file.

This is a bad thing for the prefix tree. In lighttpd's case, we don't want ALL the files. We only want ${FILESDIR}/${PVR} not the rest of the dirs. Make sense? 

Comment 3 Jeremy Olexa (darkside) (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2008-05-23 15:02:15 UTC
/me should check his email first ;-)

Basically, I agree with grobian[1]. And I don't really have a better idea for how to accomplish this ATM, although I *do* think it is a good idea.

[1]: http://archives.gentoo.org/gentoo-alt/msg_2b168af02a294179508b6e4f115f8d18.xml
Comment 4 Masatomo Nakano 2008-06-21 23:12:25 UTC
Created attachment 157961 [details, diff]
a patch to get files in subdirectory

I met this problem and wrote a patch, then found this bug.
This patch doesn't get all files in FILES.

A problem in this patch is that it depends on the url. (--cut-dirs=6)
But at the current ecopy, url is hard coded. so, i think it's ok for now.
Comment 5 Fabian Groffen gentoo-dev 2008-06-22 09:19:54 UTC
ok, looks good.  As far as I understand the patch, it is just set up to fetch all entries listed in "files" directory and go recursive if that entry happens to be a directory, right?  If that's the idea, I'm happy to apply it.
Comment 6 Jeremy Olexa (darkside) (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2008-09-15 16:04:53 UTC
(In reply to comment #4)
> Created an attachment (id=157961) [edit]
> a patch to get files in subdirectory

Even though this user isn't CC'd on the bug, I thought I should chime in here.

Definately will not apply as this patch will break things. eg:

%% wget -nv -nH --cut-dirs=6 -x --no-glob -P files http://prefix.gentooexperimental.org/rsync-gentoo-x86/www-servers/lighttpd/files/1.4.19-r2/03_all_lighttpd-1.4.11-errorlog-pipe.diff
2008-09-15 11:02:36 URL:http://prefix.gentooexperimental.org/rsync-gentoo-x86/www-servers/lighttpd/files/1.4.19-r2/03_all_lighttpd-1.4.11-errorlog-pipe.diff [5267/5267] -> "files/03_all_lighttpd-1.4.11-errorlog-pipe.diff" [1]

%% ls files/
03_all_lighttpd-1.4.11-errorlog-pipe.diff

It lost the subdir completely. We will need a better solution, unfortunetly, I don't have one right now.
Comment 7 Jeremy Olexa (darkside) (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2008-11-09 18:01:10 UTC
*** Bug 245945 has been marked as a duplicate of this bug. ***
Comment 8 Carmine Paolino 2009-05-08 08:11:52 UTC
Same here! It's particularly annoying when ecopying emacs' modes not in prefix 
Comment 9 Fabian Groffen gentoo-dev 2009-10-25 09:46:26 UTC
target the right people/herd
Comment 10 Fabian Groffen gentoo-dev 2009-10-25 09:47:56 UTC
This bug is eligable for a WONTFIX anyway, as ecopy is just a hack, and we should be close to get rid of it.  darkside, to you the decision.
Comment 11 Jeremy Olexa (darkside) (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2010-01-26 22:34:46 UTC
(In reply to comment #10)
> This bug is eligable for a WONTFIX anyway, as ecopy is just a hack, and we
> should be close to get rid of it.  darkside, to you the decision.
> 

this bug needs to go away from our queue. It is clutter that can't easily be fixed.