Le 10 août 2014 à 11:55, kp kirchdoerfer <kap...@users.sourceforge.net> a écrit 
:

> Hi Yves;
> 
> Am Sonntag, 10. August 2014, 10:21:08 schrieb Yves Blusseau:
>> Hi all,
>> 
>> i have clone our leaf repository to github without any binaries in it. So
>> the repository has a size of 7MB. You can checkout it with:
>> git clone g...@github.com:LEAF-Bering-uClibc/bering-uclibc.git
> 
>> The purpose of this repository is to check and test the tools that is use to
>> manage this repository. It's a demo repository so you can made all that you
>> want on it. To manage this repository i have create a new tool:
>> tools/annex. It's mimic git and it is use to store and retrieve binary
>> files from another git repository (without getting all the history).
>> 
>> The best to use the buildtool scripts is like before:
>> source the contrib/buildtool-completion.bash script
>> source the contrib/tools-wrappers script
>> 
>> The best is to add lines like this in your $HOME/.bashrc file:
>> 
>> source leaf_workingdir/contrib/buildtool-completion.bash
>> source leaf_workingdir/contrib/tools-wrappers
>> 
>> with leaf_workingdir is your working directory.
>> 
>> With that you have bash completion in buildtool commands (buildtool,
>> buildpacket, buildimage, annex). Also you can call the scripts anywhere
>> without specifying the path, and you don't have to add sudo/fakeroot in
>> front of script like buildpacket.
>> 
>> The "alias" for the commands are:
>> buildtool for buildtool.pl
>> buildpacket for buildpacket.pl
>> buildimage for buildimage.pl
>> annex for tools/annex
> 
> Except running from the working dir I see 
> 
> #:/opt/buildtool-annex$ annex
> No tools/annex script in this worktree !
> 
> #:/opt/buildtool-annex$ buildtool
> No buildtool script in this worktree !
> 
> and so on. 
> 
> Is that expected?
> 
Yes if you are not in a working directory that is a clone of the github 
repository.

> 
>> About the annex tool you can see a little introduction in the wiki:
>> https://github.com/LEAF-Bering-uClibc/bering-uclibc/wiki/Annex-tool
>> 
>> About the migration from old symlink files and the new system is really
>> easy: just change the Server key in buildtool.cfg files from localrepo to
>> leaf-storage. Example: <File gcc-4.8.3.tar.bz2>
>>        Server = localrepo
>>        Directory = toolchain
>>        envname = GCC_SOURCE
>> </File>
>> 
>> become
>> 
>> <File gcc-4.8.3.tar.bz2>
>>        Server = leaf-storage
>>        Directory = toolchain
>>        envname = GCC_SOURCE
>> </File>
>> 
>> The binary files are retrieve directly in the repo/package directory like
>> where they are before. Also a symlink is create between the source
>> directory and the package repo directory during the buildtool source phase
>> like before.
> 
> I branched the repo and started building the toolchain.
> Downloading gcc etc went fine.
> 
> 
> I've read through the REAME for annex.
> 
> So the workflow to add a new version of foo.lrp will be:
> 
> change repo/foo/buildtool.*
> eventually add /repo/foo/somepatch.file
> add new source foo.2.gz
> 
> build and run test - if everything is ok:
> 
> git commit repo/foo/buildtool.*
> git add | commit repo/foo/somepatch.file
> 
You need to commit the local storage "database" file with the annex command 
before commiting with git because  the .annex and .gitignore files must be 
commited too.
> git merge branch with master | next
> 
> annex rm repo/foo.1.gz
> annex add repo/foo.2.gz
> annex commit
> annex push 
Yes but use this commands before commiting in git

> 
> Can I access the remote storage directly?
> 
No because there are no commit in the remote repository. Only blob.
But you can see waht the remote storage contain with the command: annex ls 
--remote

> And last question  - any idea how to create the complete Bering-
> uClibc_X.x_nn_src.tgz?
Easy, do:
annex cleanup
annex get --all
Then do exactly what you do before for creating the uClibc_X.x_nn_src.tgz file

> 
> Is there a local cache?
Yes of course, the file is download once. If you don't use the git gc command 
(garbage collector) the file will stay in cache.

> When prepapring a release I run builds for every toolchain from scratch. 
> Downloading all sources from remote storage will for shure increase build 
> time.
Try and you see you'll never download a file twice.

> 
>> To finish, can you play with it so we can switch to a clean repository
>> without binaries if everyone is okay.
> 
> I'll shurely will test it...
> building toolchain and a few packages went fine in the meantime :)
> 
:)

> 
>> To have write access to the github repository can you create a github
>> account and give me your logging so i can add you to the project.
> 
> I assume, I do have write access right now?

Yes you are already an admin.

Regards,
Yves
------------------------------------------------------------------------------

_______________________________________________
leaf-devel mailing list
leaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/leaf-devel

Reply via email to