X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftar.cpp;h=6dee843df7ef4de8bee1baae45509a7fb2f34699;hb=HEAD;hp=797bf240425e4fe78451376a55c6e7ecaca38b79;hpb=242c55b17e6608b29a77ca17a5b677e202a3ca90;p=builder.git diff --git a/source/tar.cpp b/source/tar.cpp deleted file mode 100644 index 797bf24..0000000 --- a/source/tar.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/* $Id$ - -This file is part of builder -Copyright © 2007-2009 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - -#include -#include -#include -#include -#include -#include "builder.h" -#include "sourcepackage.h" -#include "tar.h" -#include "tarball.h" - -using namespace std; -using namespace Msp; - -Tar::Tar(Builder &b, const TarBall &t): - InternalAction(b), - tarball(t) -{ - string basename=tarball.get_name().substr(tarball.get_name().rfind('/')+1); - announce(tarball.get_package()->get_name(), "TAR ", basename); - if(builder.get_verbose()>=2) - cout<<"Create "<get_source(); - FS::Path basedir=FS::basepart(FS::basename(tar.tarball.get_name())); - - IO::File out(tar.tarball.get_name(), IO::M_WRITE); - const TargetList &deps=tar.tarball.get_depends(); - for(TargetList::const_iterator i=deps.begin(); i!=deps.end(); ++i) - { - char buf[4096]; - memset(buf, 0, 512); - - string rel_path=(basedir/relative((*i)->get_name(), pkg_src)).str(); - if(rel_path.size()>99) - { - cout<<"Can't store "<get_name()); - store_number(buf+100, st.st_mode, 7); - store_number(buf+108, st.st_uid, 7); - store_number(buf+116, st.st_gid, 7); - store_number(buf+124, st.st_size, 11); - store_number(buf+136, st.st_mtime, 11); - buf[156]='0'; - - memset(buf+148, ' ', 8); - unsigned chk=0; - for(unsigned j=0; j<512; ++j) - chk+=static_cast(buf[j]); - store_number(buf+148, chk, 7); - buf[155]=0; - - out.write(buf, 512); - IO::File in((*i)->get_name()); - for(int j=0; j