ps3dev / ps3toolchain

A script to autobuild an open source toolchain for the PS3.
BSD 2-Clause "Simplified" License
283 stars 92 forks source link

use 'git clone' instead of downloading tar files from github #32

Open ooPo opened 13 years ago

ooPo commented 13 years ago

See topic.

zeldin commented 13 years ago

To what end? If you are going to develop one of the packages built by ps3toolchain, I don't think it would be very convenient to use ps3toolchain to build it every time, and so you'd probably have it cloned elsewhere instead (I know I do...)

ooPo commented 13 years ago

It was a suggestion from a user as grabbing a tar file can apparently be very taxing on the server.

ghost commented 13 years ago

I think repo would work well here http://lwn.net/Articles/304488/ e.g.

?xml version="1.0" encoding="UTF-8"?>

manifest>

remote name="ps3dev" fetch="git://github.com/ps3dev/" />

remote name="HACKERCHANNEL" fetch="git://github.com/HACKERCHANNEL/" />

project path="build/gcc" name="gcc-4.5.2-PS3" remote="github" revision="master" /> 

project path="build/binutils" name="binutils-2.20.1-PS3" remote="github" revision="master" />

project path="build/newlib" name="newlib-1.19.0-PS3" remote="github" revision="master" />

project path="build/psl1ght" name="PSL1GHT" remote="HACKERCHANNEL" revision="vertex" />

project path="build/ps3libraries name="ps3libraries" remote="github" revision="a87fcd46c219db6b34b28c5e9f65bbc2ed908a5d" />

/manifest>

(removed leading < )

curl http://android.git.kernel.org/repo >~/bin/repo chomd a+x ~/bin/repo mkdir ps3dev;cd ps3dev

repo init -u git://github.com/ps3dev/manifest.git -b master repo sync

just an example to highlight some of the basics, like ability to pin to a commit

zeldin commented 13 years ago

Ok, I figured the tar files would be cached, but if it's undue load on the server it should be avoided of course. Not that a git:// clone is for free either...

I'd suggest using shallow clones if going that way though, since only the tree of head is wanted anyway. I.e. use --depth 1.

Another possibility would be to use git submodules, which has the same commit pinning feature as repo without the need for annoying external python scripts. :-) I don't think they can be shallow though.

ooPo commented 13 years ago

I'd like to avoid adding extra dependencies like python scripts, etc...

I'm going to assign this a low priority as there's no need for it yet.

inactive123 commented 12 years ago

Related to this issue - the tarball that 009-ps3libraries.sh attempts to download (ps3libraries.tar.gz) is now gone.

Using a git clone statement there allowed me to continue with the toolchain installation -

my local copy of 009-ps3libraries.sh now looks like this -


Download the source code.

git clone git://github.com/ps3dev/ps3libraries.git cd ps3libraries

Compile and install.

./libraries.sh


IMHO a git clone here should be preferred over an attempt to download a tarball that might no longer exist (such as is the case right now) unless you want to give users the impression that either the project is dead or it's no longer regularly maintained when issues like this happen.

Also, wgetting the URLs to Cairo tarballs/pixman seem to be crawling below acceptable speeds (perhaps the servers it grabs it from are throttled and/or really slow) - perhaps this was a temporary issue because I didn't get it again after trying it out later. IMHO Cairo should only be installed with the toolchain if the user absolutely requires it - in my case for RetroArch I will have no need for it - the toolchain installer should just install the bare essentials or provide some option to install external dependencies optionally.

ooPo commented 12 years ago
ooPo commented 12 years ago

I should also mention that the idea behind ps3libraries was to give the widest variety of ported software available. It normally wouldn't be built more than once by most users so there isn't a lot of reason to be worried about how long it took to build. As more libraries get added this may change but in the meantime I believe that the more we can make available to all developers as a standard suite the better.