[Buildroot] [PATCH v2] <pkg>-rsync: support user custom cmds
Thomas De Schampheleire
patrickdepinguin+buildroot at gmail.com
Sun Jul 28 13:15:07 UTC 2013
On Sun, Jul 28, 2013 at 3:03 PM, Thomas Petazzoni
<thomas.petazzoni at free-electrons.com> wrote:
> Dear Tzu-Jung Lee,
> On Sun, 28 Jul 2013 18:39:23 +0800, Tzu-Jung Lee wrote:
>> This patch allows users to override the options or entire command
>> line of rsync. The default options filters out object or libraries
>> during rsync. For local packages which come with pre-built binaries,
>> the copy in build/ directory will not have complete files as src/
> Hum, I am not sure this is the right way to fix this. When it was
> introduced, I thought the --cvs-exclude option was only ignoring things
> like CVS/ directories, .svn/ directories or .git/ directories. But now
> that I read the rsync man page, I see that it excludes a huge number of
> other file name patterns, which I think isn't desirable.
> So rather than providing a way for the user to override the rsync
> command, I'd prefer the rsync command to behave appropriately. I
> believe it should simply copy /everything/, including version control
> directories. Yes that's longer, but there's no reasonable generic way
> to determine which files should be copied and which files should not.
In my version of 'man rsync', here is the list of excluded patterns
when using cvs-exclude:
RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state
.nse_depinfo *~ #* .#* ,* _$* *$ *.old *.bak *.BAK *.orig *.rej .del-*
*.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core .svn/ .git/ .hg/
I can see how excluding *.a *.o *.obj *.so *.exe can be debatable.
I would certainly like to keep excluding .svn, .git, .hg, and .bzr.
These directories can become very big, and in the general use case,
Frankly, I don't care a lot about the other patterns.
Here are three suggestions:
- follow the proposed patch, keeping the default as it is and
providing a way to overrule it per package.
- simplifying the default exclusion list to .svn, .git, .hg and .bzr
(but this wouldn't cover the use case of Tzu-Jung Lee)
- make the exclusion list a global config option, defaulting to e.g.
.svn, .git, .hg, .bzr and maybe others, but changeable by the user.
More information about the buildroot