[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH 02/12] Dereference symbolic links in om-gta02 directory



This done by
   tar cf temp.tar --dereference om-gta02/
   tar xf temp.tar
   rm temp.tar
   git add om-gta02/

Now "git" does see this as

	typechange: om-gta02/hooks/create_user
	typechange: om-gta02/hooks/empty_password
	typechange: om-gta02/hooks/firstboot
	typechange: om-gta02/hooks/serial_tty
	typechange: om-gta02/packages/audio
	typechange: om-gta02/packages/base
	typechange: om-gta02/packages/bluez
	typechange: om-gta02/packages/net
	typechange: om-gta02/packages/wlan
	typechange: om-gta02/packages/xorg
	typechange: om-gta02/root/etc/apt/apt.conf.d/99no-install-recommends
	typechange: om-gta02/root/etc/apt/apt.conf.d/99no-pdiffs
	typechange: om-gta02/root/etc/ld.so.conf
	typechange: om-gta02/root/etc/ssh/ssh_host_dsa_key
	typechange: om-gta02/root/etc/ssh/ssh_host_ecdsa_key
	typechange: om-gta02/root/etc/ssh/ssh_host_rsa_key
	typechange: om-gta02/root/sbin/ldconfig
	typechange: om-gta02/root/usr/bin/ldd
	typechange: om-gta02/root/usr/sbin/policy-rc.d
---
 om-gta02/hooks/create_user                         |    3 +-
 om-gta02/hooks/empty_password                      |    3 +-
 om-gta02/hooks/firstboot                           |   24 +++-
 om-gta02/hooks/serial_tty                          |    2 +-
 om-gta02/packages/audio                            |    6 +-
 om-gta02/packages/base                             |   13 ++-
 om-gta02/packages/bluez                            |    5 +-
 om-gta02/packages/net                              |   13 ++-
 om-gta02/packages/wlan                             |    3 +-
 om-gta02/packages/xorg                             |    6 +-
 .../etc/apt/apt.conf.d/99no-install-recommends     |    2 +-
 om-gta02/root/etc/apt/apt.conf.d/99no-pdiffs       |    2 +-
 om-gta02/root/etc/ld.so.conf                       |    3 +-
 om-gta02/root/etc/ssh/ssh_host_dsa_key             |    1 -
 om-gta02/root/etc/ssh/ssh_host_ecdsa_key           |    1 -
 om-gta02/root/etc/ssh/ssh_host_rsa_key             |    1 -
 om-gta02/root/sbin/ldconfig                        |    4 +-
 om-gta02/root/usr/bin/ldd                          |  202 +++++++++++++++++++-
 om-gta02/root/usr/sbin/policy-rc.d                 |    4 +-
 19 files changed, 279 insertions(+), 19 deletions(-)
 mode change 120000 => 100644 om-gta02/hooks/create_user
 mode change 120000 => 100644 om-gta02/hooks/empty_password
 mode change 120000 => 100644 om-gta02/hooks/firstboot
 mode change 120000 => 100644 om-gta02/hooks/serial_tty
 mode change 120000 => 100644 om-gta02/packages/audio
 mode change 120000 => 100644 om-gta02/packages/base
 mode change 120000 => 100644 om-gta02/packages/bluez
 mode change 120000 => 100644 om-gta02/packages/net
 mode change 120000 => 100644 om-gta02/packages/wlan
 mode change 120000 => 100644 om-gta02/packages/xorg
 mode change 120000 => 100644 om-gta02/root/etc/apt/apt.conf.d/99no-install-recommends
 mode change 120000 => 100644 om-gta02/root/etc/apt/apt.conf.d/99no-pdiffs
 mode change 120000 => 100644 om-gta02/root/etc/ld.so.conf
 mode change 120000 => 100644 om-gta02/root/etc/ssh/ssh_host_dsa_key
 mode change 120000 => 100644 om-gta02/root/etc/ssh/ssh_host_ecdsa_key
 mode change 120000 => 100644 om-gta02/root/etc/ssh/ssh_host_rsa_key
 mode change 120000 => 100755 om-gta02/root/sbin/ldconfig
 mode change 120000 => 100755 om-gta02/root/usr/bin/ldd
 mode change 120000 => 100755 om-gta02/root/usr/sbin/policy-rc.d

diff --git a/om-gta02/hooks/create_user b/om-gta02/hooks/create_user
deleted file mode 120000
index ae9b334..0000000
--- a/om-gta02/hooks/create_user
+++ /dev/null
@@ -1 +0,0 @@
-../../default/hooks/create_user
\ No newline at end of file
diff --git a/om-gta02/hooks/create_user b/om-gta02/hooks/create_user
new file mode 100644
index 0000000..0404ea2
--- /dev/null
+++ b/om-gta02/hooks/create_user
@@ -0,0 +1,2 @@
+fakechroot chroot $ROOTDIR useradd user -p `openssl passwd -crypt -salt // ""` -s /bin/bash --create-home
+fakechroot chroot $ROOTDIR usermod -a -G audio,dialout user
diff --git a/om-gta02/hooks/empty_password b/om-gta02/hooks/empty_password
deleted file mode 120000
index 613fec1..0000000
--- a/om-gta02/hooks/empty_password
+++ /dev/null
@@ -1 +0,0 @@
-../../default/hooks/empty_password
\ No newline at end of file
diff --git a/om-gta02/hooks/empty_password b/om-gta02/hooks/empty_password
new file mode 100644
index 0000000..1c48613
--- /dev/null
+++ b/om-gta02/hooks/empty_password
@@ -0,0 +1,2 @@
+sed -i 's/\(root:\)[^:]*\(:\)/\1'`openssl passwd -crypt -salt // "" | sed 's/\(\/\|\\\|&\)/\\\&/g'`'\2/' $ROOTDIR/etc/shadow
+sed -i 's/\(PermitEmptyPasswords\) no/\1 yes/' $ROOTDIR/etc/ssh/sshd_config
diff --git a/om-gta02/hooks/firstboot b/om-gta02/hooks/firstboot
deleted file mode 120000
index d978812..0000000
--- a/om-gta02/hooks/firstboot
+++ /dev/null
@@ -1 +0,0 @@
-../../default/hooks/firstboot
\ No newline at end of file
diff --git a/om-gta02/hooks/firstboot b/om-gta02/hooks/firstboot
new file mode 100644
index 0000000..7f1119e
--- /dev/null
+++ b/om-gta02/hooks/firstboot
@@ -0,0 +1,23 @@
+cat > $ROOTDIR/etc/init.d/firstboot << __END__
+#!/bin/sh -e
+### BEGIN INIT INFO
+# Provides: firstboot
+# Required-Start: \$all
+# Required-Stop:
+# Default-Start: S
+# Default-Stop:
+### END INIT INFO
+
+for f in rsa dsa ecdsa; do rm -rf /etc/ssh/ssh_host_\${f}_key; done
+echo "generating ssh rsa key..."
+ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -C "" -N ""
+echo "generating ssh dsa key..."
+ssh-keygen -q -t dsa -f /etc/ssh/ssh_host_dsa_key -C "" -N ""
+echo "generating ssh ecdsa key..."
+ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -C "" -N ""
+
+update-rc.d -f firstboot remove
+__END__
+
+chmod +x $ROOTDIR/etc/init.d/firstboot
+fakechroot chroot $ROOTDIR update-rc.d firstboot start 99 S
diff --git a/om-gta02/hooks/serial_tty b/om-gta02/hooks/serial_tty
deleted file mode 120000
index f77cf2e..0000000
--- a/om-gta02/hooks/serial_tty
+++ /dev/null
@@ -1 +0,0 @@
-../../default/hooks/serial_tty
\ No newline at end of file
diff --git a/om-gta02/hooks/serial_tty b/om-gta02/hooks/serial_tty
new file mode 100644
index 0000000..4066a73
--- /dev/null
+++ b/om-gta02/hooks/serial_tty
@@ -0,0 +1 @@
+echo "T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100" >> $ROOTDIR/etc/inittab
diff --git a/om-gta02/packages/audio b/om-gta02/packages/audio
deleted file mode 120000
index 8b2d702..0000000
--- a/om-gta02/packages/audio
+++ /dev/null
@@ -1 +0,0 @@
-../../default/packages/audio
\ No newline at end of file
diff --git a/om-gta02/packages/audio b/om-gta02/packages/audio
new file mode 100644
index 0000000..0ee1b96
--- /dev/null
+++ b/om-gta02/packages/audio
@@ -0,0 +1,5 @@
+alsa-base
+alsa-utils
+gstreamer-tools
+gstreamer0.10-plugins-base
+gstreamer0.10-plugins-good
diff --git a/om-gta02/packages/base b/om-gta02/packages/base
deleted file mode 120000
index 5b0599a..0000000
--- a/om-gta02/packages/base
+++ /dev/null
@@ -1 +0,0 @@
-../../default/packages/base
\ No newline at end of file
diff --git a/om-gta02/packages/base b/om-gta02/packages/base
new file mode 100644
index 0000000..e866da9
--- /dev/null
+++ b/om-gta02/packages/base
@@ -0,0 +1,12 @@
+udev
+module-init-tools
+apt
+locales
+procps
+conspy 
+man-db
+fbset
+openssh-server
+screen
+less
+vim
diff --git a/om-gta02/packages/bluez b/om-gta02/packages/bluez
deleted file mode 120000
index 1a3ab5f..0000000
--- a/om-gta02/packages/bluez
+++ /dev/null
@@ -1 +0,0 @@
-../../default/packages/bluez
\ No newline at end of file
diff --git a/om-gta02/packages/bluez b/om-gta02/packages/bluez
new file mode 100644
index 0000000..5b306d2
--- /dev/null
+++ b/om-gta02/packages/bluez
@@ -0,0 +1,4 @@
+bluez
+bluez-utils
+bluez-alsa
+bluez-gstreamer
diff --git a/om-gta02/packages/net b/om-gta02/packages/net
deleted file mode 120000
index 21c287e..0000000
--- a/om-gta02/packages/net
+++ /dev/null
@@ -1 +0,0 @@
-../../default/packages/net
\ No newline at end of file
diff --git a/om-gta02/packages/net b/om-gta02/packages/net
new file mode 100644
index 0000000..87d45ae
--- /dev/null
+++ b/om-gta02/packages/net
@@ -0,0 +1,12 @@
+curl
+wget
+ntpdate
+vpnc
+rsync
+dhcp3-client
+ifupdown
+net-tools
+iproute
+dnsutils
+iputils-ping
+ppp
diff --git a/om-gta02/packages/wlan b/om-gta02/packages/wlan
deleted file mode 120000
index 8328dad..0000000
--- a/om-gta02/packages/wlan
+++ /dev/null
@@ -1 +0,0 @@
-../../default/packages/wlan
\ No newline at end of file
diff --git a/om-gta02/packages/wlan b/om-gta02/packages/wlan
new file mode 100644
index 0000000..3152901
--- /dev/null
+++ b/om-gta02/packages/wlan
@@ -0,0 +1,2 @@
+wireless-tools
+wpasupplicant
diff --git a/om-gta02/packages/xorg b/om-gta02/packages/xorg
deleted file mode 120000
index 7c96297..0000000
--- a/om-gta02/packages/xorg
+++ /dev/null
@@ -1 +0,0 @@
-../../default/packages/xorg
\ No newline at end of file
diff --git a/om-gta02/packages/xorg b/om-gta02/packages/xorg
new file mode 100644
index 0000000..2b131f4
--- /dev/null
+++ b/om-gta02/packages/xorg
@@ -0,0 +1,5 @@
+xserver-xorg-input-evdev
+xserver-xorg
+xserver-xorg-video-fbdev
+xterm
+nodm
diff --git a/om-gta02/root/etc/apt/apt.conf.d/99no-install-recommends b/om-gta02/root/etc/apt/apt.conf.d/99no-install-recommends
deleted file mode 120000
index 9cf79f1..0000000
--- a/om-gta02/root/etc/apt/apt.conf.d/99no-install-recommends
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../default/root/etc/apt/apt.conf.d/99no-install-recommends
\ No newline at end of file
diff --git a/om-gta02/root/etc/apt/apt.conf.d/99no-install-recommends b/om-gta02/root/etc/apt/apt.conf.d/99no-install-recommends
new file mode 100644
index 0000000..25ec2b3
--- /dev/null
+++ b/om-gta02/root/etc/apt/apt.conf.d/99no-install-recommends
@@ -0,0 +1 @@
+APT::Install-Recommends "0";
diff --git a/om-gta02/root/etc/apt/apt.conf.d/99no-pdiffs b/om-gta02/root/etc/apt/apt.conf.d/99no-pdiffs
deleted file mode 120000
index a8c3da6..0000000
--- a/om-gta02/root/etc/apt/apt.conf.d/99no-pdiffs
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../default/root/etc/apt/apt.conf.d/99no-pdiffs
\ No newline at end of file
diff --git a/om-gta02/root/etc/apt/apt.conf.d/99no-pdiffs b/om-gta02/root/etc/apt/apt.conf.d/99no-pdiffs
new file mode 100644
index 0000000..07d01de
--- /dev/null
+++ b/om-gta02/root/etc/apt/apt.conf.d/99no-pdiffs
@@ -0,0 +1 @@
+Acquire::PDiffs "0";
diff --git a/om-gta02/root/etc/ld.so.conf b/om-gta02/root/etc/ld.so.conf
deleted file mode 120000
index e8d9ce9..0000000
--- a/om-gta02/root/etc/ld.so.conf
+++ /dev/null
@@ -1 +0,0 @@
-../../../default/root/etc/ld.so.conf
\ No newline at end of file
diff --git a/om-gta02/root/etc/ld.so.conf b/om-gta02/root/etc/ld.so.conf
new file mode 100644
index 0000000..a9d3ffc
--- /dev/null
+++ b/om-gta02/root/etc/ld.so.conf
@@ -0,0 +1,2 @@
+# supply ld.so.conf for fake ldd (running libc6 postinst script will fail)
+include /etc/ld.so.conf.d/*.conf
diff --git a/om-gta02/root/etc/ssh/ssh_host_dsa_key b/om-gta02/root/etc/ssh/ssh_host_dsa_key
deleted file mode 120000
index 3c63728..0000000
--- a/om-gta02/root/etc/ssh/ssh_host_dsa_key
+++ /dev/null
@@ -1 +0,0 @@
-../../../../default/root/etc/ssh/ssh_host_dsa_key
\ No newline at end of file
diff --git a/om-gta02/root/etc/ssh/ssh_host_dsa_key b/om-gta02/root/etc/ssh/ssh_host_dsa_key
new file mode 100644
index 0000000..e69de29
diff --git a/om-gta02/root/etc/ssh/ssh_host_ecdsa_key b/om-gta02/root/etc/ssh/ssh_host_ecdsa_key
deleted file mode 120000
index f5f2e31..0000000
--- a/om-gta02/root/etc/ssh/ssh_host_ecdsa_key
+++ /dev/null
@@ -1 +0,0 @@
-../../../../default/root/etc/ssh/ssh_host_ecdsa_key
\ No newline at end of file
diff --git a/om-gta02/root/etc/ssh/ssh_host_ecdsa_key b/om-gta02/root/etc/ssh/ssh_host_ecdsa_key
new file mode 100644
index 0000000..e69de29
diff --git a/om-gta02/root/etc/ssh/ssh_host_rsa_key b/om-gta02/root/etc/ssh/ssh_host_rsa_key
deleted file mode 120000
index 9753b5a..0000000
--- a/om-gta02/root/etc/ssh/ssh_host_rsa_key
+++ /dev/null
@@ -1 +0,0 @@
-../../../../default/root/etc/ssh/ssh_host_rsa_key
\ No newline at end of file
diff --git a/om-gta02/root/etc/ssh/ssh_host_rsa_key b/om-gta02/root/etc/ssh/ssh_host_rsa_key
new file mode 100644
index 0000000..e69de29
diff --git a/om-gta02/root/sbin/ldconfig b/om-gta02/root/sbin/ldconfig
deleted file mode 120000
index ba3ff23..0000000
--- a/om-gta02/root/sbin/ldconfig
+++ /dev/null
@@ -1 +0,0 @@
-../../../default/root/sbin/ldconfig
\ No newline at end of file
diff --git a/om-gta02/root/sbin/ldconfig b/om-gta02/root/sbin/ldconfig
new file mode 100755
index 0000000..a7b8b6d
--- /dev/null
+++ b/om-gta02/root/sbin/ldconfig
@@ -0,0 +1,3 @@
+#!/bin/sh -e
+
+exit
diff --git a/om-gta02/root/usr/bin/ldd b/om-gta02/root/usr/bin/ldd
deleted file mode 120000
index adf2fbc..0000000
--- a/om-gta02/root/usr/bin/ldd
+++ /dev/null
@@ -1 +0,0 @@
-../../../../default/root/usr/bin/ldd
\ No newline at end of file
diff --git a/om-gta02/root/usr/bin/ldd b/om-gta02/root/usr/bin/ldd
new file mode 100755
index 0000000..53e9533
--- /dev/null
+++ b/om-gta02/root/usr/bin/ldd
@@ -0,0 +1,201 @@
+#!/usr/bin/perl
+
+# fakeldd
+#
+# Replacement for ldd with usage of objdump
+#
+# (c) 2003-2010 Piotr Roszatycki <dexter@debian.org>, LGPL
+
+use strict;
+
+my @Libs = ();
+my %Libs = ();
+
+my $Status = 0;
+my $Dynamic = 0;
+my $Format = '';
+
+my $Ldsodir = "/lib";
+my @Ld_Library_Path = qw(/usr/lib /lib /usr/lib32 /lib32 /usr/lib64 /lib64);
+
+
+sub ldso {
+    my ($lib) = @_;
+
+    return if $Libs{$lib};
+
+    my $path;
+
+    if ($lib =~ /^\//) {
+        $path = $lib;
+    }
+    else {
+        foreach my $dir (@Ld_Library_Path) {
+            next unless -f "$dir/$lib";
+
+            my $badformat = 0;
+            local *PIPE;
+            open PIPE, "objdump -p '$dir/$lib' 2>/dev/null |";
+            while (my $line = <PIPE>) {
+                if ($line =~ /file format (\S*)$/) {
+                    $badformat = 1 unless $1 eq $Format;
+                    last;
+                }
+            }
+            close PIPE;
+
+            next if $badformat;
+
+            $path = "$dir/$lib";
+            last;
+        }
+    }
+
+    push @Libs, $lib;
+    if (-f $path) {
+        $Libs{$lib} = $path;
+        objdump($path);
+    }
+}
+
+
+sub objdump {
+    my (@files) = @_;
+
+    foreach my $file (@files) {
+        local *PIPE;
+        open PIPE, "objdump -p '$file' 2>/dev/null |";
+        while (my $line = <PIPE>) {
+            $line =~ s/^\s+//;
+
+            if ($line =~ /file format (\S*)$/) {
+                if (not $Format) {
+                    $Format = $1;
+
+                    if ($^O eq 'linux') {
+                        if ($Format =~ /^elf64-/) {
+                            push @Libs, 'linux-vdso.so.1';
+                            $Libs{'linux-vdso.so.1'} = '';
+                        }
+                        else {
+                            push @Libs, 'linux-gate.so.1';
+                            $Libs{'linux-gate.so.1'} = '';
+                        }
+                    }
+
+                    foreach my $lib (split /:/, $ENV{LD_PRELOAD}||'') {
+                        ldso($lib);
+                    }
+                }
+                else {
+                    next unless $Format eq $1;
+                }
+            }
+            if (not $Dynamic and $line =~ /^Dynamic Section:/) {
+                $Dynamic = 1;
+            }
+
+            next unless $line =~ /^ \s* NEEDED \s+ (.*) \s* $/x;
+
+            my $needed = $1;
+            if ($needed =~ /^ld(-linux)?(\.|-)/) {
+                $needed = "$Ldsodir/$needed";
+            }
+
+            ldso($needed);
+        }
+        close PIPE;
+    }
+}
+
+
+sub load_ldsoconf {
+    my ($file) = @_;
+
+    local *FH;
+    open FH, $file;
+    while (my $line = <FH>) {
+        chomp $line;
+        $line =~ s/#.*//;
+        next if $line =~ /^\s*$/;
+
+        if ($line =~ /^include\s+(.*)\s*/) {
+            my $include = $1;
+            foreach my $incfile (glob $include) {
+                load_ldsoconf($incfile);
+            }
+            next;
+        }
+
+        unshift @Ld_Library_Path, $line;
+    }
+    close FH;
+}
+
+
+MAIN: {
+    my @args = @ARGV;
+
+    if (not @args) {
+        print STDERR "fakeldd: missing file arguments\n";
+        exit 1;
+    }
+
+    if (not `which objdump`) {
+        print STDERR "fakeldd: objdump: command not found: install binutils package\n";
+        exit 1;
+    }
+
+    load_ldsoconf('/etc/ld.so.conf');
+    unshift @Ld_Library_Path, split(/:/, $ENV{LD_LIBRARY_PATH}||'');
+
+    while ($args[0] =~ /^-/) {
+        my $arg = $args[0];
+        shift @ARGV;
+        last if $arg eq "--";
+    }
+
+    foreach my $file (@args) {
+        %Libs = ();
+        $Dynamic = 0;
+
+        if (@args > 1) {
+            print "$file:\n";
+        }
+
+        if (not -f $file) {
+            print STDERR "ldd: $file: No such file or directory\n";
+            $Status = 1;
+            next;
+        }
+
+        objdump($file);
+
+        if ($Dynamic == 0) {
+            print "\tnot a dynamic executable\n";
+            $Status = 1;
+        }
+        elsif (scalar %Libs eq "0") {
+            print "\tstatically linked\n";
+        }
+
+        my $address = '0x' . '0' x ($Format =~ /^elf64-/ ? 16 : 8);
+
+        foreach my $lib (@Libs) {
+            if ($lib =~ /^\//) {
+                printf "\t%s (%s)\n", $lib, $address;
+            }
+            elsif (defined $Libs{$lib}) {
+                printf "\t%s => %s (%s)\n", $lib, $Libs{$lib}, $address;
+            }
+            else {
+                printf "\t%s => not found\n", $lib;
+            }
+        }
+
+    }
+}
+
+END {
+    $? = $Status;
+}
diff --git a/om-gta02/root/usr/sbin/policy-rc.d b/om-gta02/root/usr/sbin/policy-rc.d
deleted file mode 120000
index 93e300d..0000000
--- a/om-gta02/root/usr/sbin/policy-rc.d
+++ /dev/null
@@ -1 +0,0 @@
-../../../../default/root/usr/sbin/policy-rc.d
\ No newline at end of file
diff --git a/om-gta02/root/usr/sbin/policy-rc.d b/om-gta02/root/usr/sbin/policy-rc.d
new file mode 100755
index 0000000..85d823d
--- /dev/null
+++ b/om-gta02/root/usr/sbin/policy-rc.d
@@ -0,0 +1,3 @@
+#!/bin/sh
+echo "sysvinit: All runlevel operations denied by policy" >&2
+exit 101
-- 
1.7.2.3


Reply to: