|
|
|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
|
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
|
|
#
|
|
|
|
# Filename: package/.../embutils/losetup.patch
|
|
|
|
# Copyright (C) 2007 The OpenSDE Project
|
|
|
|
# Copyright (C) 2004 - 2006 The T2 SDE Project
|
|
|
|
#
|
|
|
|
# More information can be found in the files COPYING and README.
|
|
|
|
#
|
|
|
|
# This patch file is dual-licensed. It is available under the license the
|
|
|
|
# patched project is licensed under, as long as it is an OpenSource license
|
|
|
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
|
|
|
|
# of the GNU General Public License as published by the Free Software
|
|
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
|
|
# version.
|
|
|
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
|
|
|
|
|
|
|
Guess what ,-)
|
|
|
|
|
|
|
|
- Rene Rebe <rene@exactcode.de>
|
|
|
|
|
|
|
|
--- /dev/null 2005-06-19 08:33:32.285177368 +0200
|
|
|
|
+++ embutils-0.17/losetup.c 2005-06-19 13:44:28.000000000 +0200
|
|
|
|
@@ -0,0 +1,65 @@
|
|
|
|
+/*
|
|
|
|
+ * Tiny losetup
|
|
|
|
+ *
|
|
|
|
+ * Copyright (c) 2005 by Rene Rebe <rene@exactcode.de>
|
|
|
|
+ *
|
|
|
|
+ * License: GPL, version 2
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+#define _FILE_OFFSET_BITS 64
|
|
|
|
+#include <sys/types.h>
|
|
|
|
+#include <sys/stat.h>
|
|
|
|
+#include <fcntl.h>
|
|
|
|
+#include <sys/ioctl.h>
|
|
|
|
+#include <errno.h>
|
|
|
|
+
|
|
|
|
+#include <linux/posix_types.h>
|
|
|
|
+#include <linux/loop.h>
|
|
|
|
+
|
|
|
|
+#include "write12.h"
|
|
|
|
+
|
|
|
|
+void die(const char*msg) { __write2(msg); __write2("\n"); exit(1); }
|
|
|
|
+
|
|
|
|
+int main (int argc, char* argv[])
|
|
|
|
+{
|
|
|
|
+ int ffd, fd;
|
|
|
|
+ struct loop_info loopinfo;
|
|
|
|
+
|
|
|
|
+ if (argc != 3) {
|
|
|
|
+ die("usage: losetup [-d] loop_device\n losetup loop_device file");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!strcmp(argv[1], "-d"))
|
|
|
|
+ {
|
|
|
|
+ fd=open(argv[2], O_RDONLY);
|
|
|
|
+ if (fd < 0)
|
|
|
|
+ die(strerror(errno));
|
|
|
|
+
|
|
|
|
+ if (ioctl(fd, LOOP_CLR_FD, ffd))
|
|
|
|
+ die(strerror(errno));
|
|
|
|
+
|
|
|
|
+ close(fd);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ memset(&loopinfo, 0, sizeof(loopinfo));
|
|
|
|
+ strncpy(loopinfo.lo_name, argv[2], LO_NAME_SIZE);
|
|
|
|
+
|
|
|
|
+ ffd=open(argv[2], O_RDONLY);
|
|
|
|
+ if (ffd < 0)
|
|
|
|
+ die(strerror(errno));
|
|
|
|
+
|
|
|
|
+ fd=open(argv[1], O_RDONLY);
|
|
|
|
+ if (fd < 0)
|
|
|
|
+ die(strerror(errno));
|
|
|
|
+
|
|
|
|
+ if (ioctl(fd, LOOP_SET_FD, ffd))
|
|
|
|
+ die(strerror(errno));
|
|
|
|
+ if (ioctl(fd, LOOP_SET_STATUS, &loopinfo))
|
|
|
|
+ die(strerror(errno));
|
|
|
|
+
|
|
|
|
+ close(ffd);
|
|
|
|
+ close(fd);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
--- ./Makefile.orig 2007-03-28 00:46:09.000000000 -0400
|
|
|
|
+++ ./Makefile 2007-03-28 00:46:49.000000000 -0400
|
|
|
|
@@ -12,7 +12,7 @@
|
|
|
|
domainname id ln mv cp yes which cat rm wc ls whoami mkfifo head install \
|
|
|
|
sosrm soscp sosmv sosln soslns md5sum sleep2 allinone uniq tr mesg du \
|
|
|
|
uuencode uudecode nohup nice cmp mktemp truncate strings test date \
|
|
|
|
-printenv chrootuid renice free
|
|
|
|
+printenv chrootuid renice free losetup
|
|
|
|
|
|
|
|
OS:=$(shell uname)
|
|
|
|
ifeq ($(OS),Linux)
|