Author: pixel
Date: Tue Jan 23 16:01:13 2007
New Revision: 112483

Added:
   packages/cooker/mkdosfs-with-dir/current/SOURCES/mkdosfs-with-dir   
(contents, props changed)
   packages/cooker/mkdosfs-with-dir/current/SPECS/mkdosfs-with-dir.spec

Log:
creation


Added: packages/cooker/mkdosfs-with-dir/current/SOURCES/mkdosfs-with-dir
==============================================================================
--- (empty file)
+++ packages/cooker/mkdosfs-with-dir/current/SOURCES/mkdosfs-with-dir   Tue Jan 
23 16:01:13 2007
@@ -0,0 +1,34 @@
+#!/usr/bin/perl -T
+
+use File::Temp;
+
[EMAIL PROTECTED] == 2 or die "usage: mkdosfs-with-dir <dir> <dosfs image>\n";
+
+my ($dir, $img) = map {
+    m![^\w.+:/-]! and die "bad path $_\n";
+    /(.*)/;
+} @ARGV;
+
+($<, $>) = ($>, $<);
+
+-e $img or die "$img does not exist\n";
+-w $img or die "you don't have the rights to write into $img\n";
+-d $dir or die "$dir must be a directory\n";
+
+%ENV = (PATH => '/bin:/sbin:/usr/bin:/usr/sbin');
+
+sub __ { print @_, "\n"; system(@_) == 0 }
+
+my $tmp_mnt = File::Temp::tempdir('/tmp/mkdosfs-with-dir-XXXX', CLEANUP => 1);
+__ "mkdosfs $img" or die "mkdosfs failed\n";
+
+
+$> = $<;
+
+if (__ "mount -t vfat -o umask=0,loop $img $tmp_mnt") {
+    my $err;
+    __ "tar cC $dir --owner=root . | tar xC $tmp_mnt" or $err = "copying 
failed";
+    __ "umount $tmp_mnt" or $err ||= "umount failed";
+    !$err or die "$err\n";
+}
+print "succeded\n";

Added: packages/cooker/mkdosfs-with-dir/current/SPECS/mkdosfs-with-dir.spec
==============================================================================
--- (empty file)
+++ packages/cooker/mkdosfs-with-dir/current/SPECS/mkdosfs-with-dir.spec        
Tue Jan 23 16:01:13 2007
@@ -0,0 +1,28 @@
+%define name mkdosfs-with-dir
+%define version 1.0
+%define release %mkrel 1
+
+Summary: Create a DOS image from a directory
+Name: %{name}
+Version: %{version}
+Release: %{release}
+Source0: %{name}
+License: GPL
+Group: File tools
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+BuildArch: noarch
+
+
+%description
+Create a DOS image from a directory without being superuser.
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -D -m 4755 %SOURCE0 $RPM_BUILD_ROOT/usr/bin/%{name}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root)
+%{_bindir}/*

Reply via email to