private void addArFile ( final File file, final String entryName ) throws IOException { final ArArchiveEntry entry = new ArArchiveEntry ( entryName, file.length (), 0, 0, AR_ARCHIVE_DEFAULT_MODE, timestampProvider.getModTime () / 1000 ); this.ar.putArchiveEntry ( entry ); ByteStreams.copy ( new FileInputStream ( file ), this.ar ); this.ar.closeArchiveEntry (); }
private void addArFile ( final File file, final String entryName ) throws IOException { final ArArchiveEntry entry = new ArArchiveEntry ( entryName, file.length (), 0, 0, AR_ARCHIVE_DEFAULT_MODE, timestampProvider.getModTime () / 1000 ); this.ar.putArchiveEntry ( entry ); ByteStreams.copy ( new FileInputStream ( file ), this.ar ); this.ar.closeArchiveEntry (); }
public DebianPackageWriter ( final OutputStream stream, final GenericControlFile packageControlFile, final TimestampProvider timestampProvider ) throws IOException { this.packageControlFile = packageControlFile; this.timestampProvider = timestampProvider; if ( getTimestampProvider () == null ) { throw new IllegalArgumentException ( "'timestampProvider' must not be null" ); } BinaryPackageControlFile.validate ( packageControlFile ); this.ar = new ArArchiveOutputStream ( stream ); this.ar.putArchiveEntry ( new ArArchiveEntry ( "debian-binary", this.binaryHeader.length, 0, 0, AR_ARCHIVE_DEFAULT_MODE, getTimestampProvider ().getModTime () / 1000 ) ); this.ar.write ( this.binaryHeader ); this.ar.closeArchiveEntry (); this.dataTemp = File.createTempFile ( "data", null ); this.dataStream = new TarArchiveOutputStream ( new GZIPOutputStream ( new FileOutputStream ( this.dataTemp ) ) ); this.dataStream.setLongFileMode ( TarArchiveOutputStream.LONGFILE_GNU ); }
public DebianPackageWriter ( final OutputStream stream, final GenericControlFile packageControlFile, final TimestampProvider timestampProvider ) throws IOException { this.packageControlFile = packageControlFile; this.timestampProvider = timestampProvider; if ( getTimestampProvider () == null ) { throw new IllegalArgumentException ( "'timestampProvider' must not be null" ); } BinaryPackageControlFile.validate ( packageControlFile ); this.ar = new ArArchiveOutputStream ( stream ); this.ar.putArchiveEntry ( new ArArchiveEntry ( "debian-binary", this.binaryHeader.length, 0, 0, AR_ARCHIVE_DEFAULT_MODE, getTimestampProvider ().getModTime () / 1000 ) ); this.ar.write ( this.binaryHeader ); this.ar.closeArchiveEntry (); this.dataTemp = File.createTempFile ( "data", null ); this.dataStream = new TarArchiveOutputStream ( new GZIPOutputStream ( new FileOutputStream ( this.dataTemp ) ) ); this.dataStream.setLongFileMode ( TarArchiveOutputStream.LONGFILE_GNU ); }
private static void applyInfo ( final TarArchiveEntry entry, final EntryInformation entryInformation, TimestampProvider timestampProvider ) { if ( entryInformation == null ) { return; } if ( entryInformation.getUser () != null ) { entry.setUserName ( entryInformation.getUser () ); } if ( entryInformation.getGroup () != null ) { entry.setGroupName ( entryInformation.getGroup () ); } entry.setMode ( entryInformation.getMode () ); entry.setModTime ( timestampProvider.getModTime () ); }
private void addControlContent ( final TarArchiveOutputStream out, final String name, final ContentProvider content, final int mode ) throws IOException { if ( content == null || !content.hasContent () ) { return; } final TarArchiveEntry entry = new TarArchiveEntry ( name ); if ( mode >= 0 ) { entry.setMode ( mode ); } entry.setUserName ( "root" ); entry.setGroupName ( "root" ); entry.setSize ( content.getSize () ); entry.setModTime ( this.getTimestampProvider ().getModTime () ); out.putArchiveEntry ( entry ); try ( InputStream stream = content.createInputStream () ) { ByteStreams.copy ( stream, out ); } out.closeArchiveEntry (); }
private static void applyInfo ( final TarArchiveEntry entry, final EntryInformation entryInformation, TimestampProvider timestampProvider ) { if ( entryInformation == null ) { return; } if ( entryInformation.getUser () != null ) { entry.setUserName ( entryInformation.getUser () ); } if ( entryInformation.getGroup () != null ) { entry.setGroupName ( entryInformation.getGroup () ); } entry.setMode ( entryInformation.getMode () ); entry.setModTime ( timestampProvider.getModTime () ); }
private void addControlContent ( final TarArchiveOutputStream out, final String name, final ContentProvider content, final int mode ) throws IOException { if ( content == null || !content.hasContent () ) { return; } final TarArchiveEntry entry = new TarArchiveEntry ( name ); if ( mode >= 0 ) { entry.setMode ( mode ); } entry.setUserName ( "root" ); entry.setGroupName ( "root" ); entry.setSize ( content.getSize () ); entry.setModTime ( this.getTimestampProvider ().getModTime () ); out.putArchiveEntry ( entry ); try ( InputStream stream = content.createInputStream () ) { ByteStreams.copy ( stream, out ); } out.closeArchiveEntry (); }