[oe-commits] org.oe.dev merge of '4758ca456d2363e1b00659c33da6c72ea4ac3074'

freyther commit openembedded-commits at lists.openembedded.org
Tue Jan 8 10:08:56 UTC 2008


merge of '4758ca456d2363e1b00659c33da6c72ea4ac3074'
     and 'e2c29cfbd284f015d3c4165234bbaf65c184d38d'

Author: freyther at openembedded.org
Branch: org.openembedded.dev
Revision: 21616252251b32f34727208a44c2b0f66dbe7a73
ViewMTN: http://monotone.openembedded.org/revision/info/21616252251b32f34727208a44c2b0f66dbe7a73
Files:
1
contrib/distro-packages/debian/openembedded-essential-1.2
contrib/distro-packages/debian/openembedded-essential-1.3
contrib/distro-packages/debian/openembedded-essential-1.3/debian/changelog
contrib/distro-packages/debian/openembedded-essential-1.3/debian/control
packages/linux/linux-rp-2.6.23+2.6.24-rc0+git/defconfig-collie
packages/linux/linux-rp.inc
packages/linux/linux-rp_2.6.23+2.6.24-rc0+git.bb
packages/u-boot/u-boot-openmoko_svn.bb
contrib/mtn2git/mtn2git.py
Diffs:

#
# mt diff -r4758ca456d2363e1b00659c33da6c72ea4ac3074 -r21616252251b32f34727208a44c2b0f66dbe7a73
#
# 
# 
# rename "contrib/distro-packages/debian/openembedded-essential-1.2"
#     to "contrib/distro-packages/debian/openembedded-essential-1.3"
# 
# patch "contrib/distro-packages/debian/openembedded-essential-1.3/debian/changelog"
#  from [47ad5c3f748dbee72f444f29ab36a1e6ec39c68a]
#    to [0204de9ed50f15aad3a0a2d82a61c5c0a4b3388b]
# 
# patch "contrib/distro-packages/debian/openembedded-essential-1.3/debian/control"
#  from [83ae0939151da2c6327c23217ea8556867420a38]
#    to [5a6894800162b10b61fdc964dc9b169aa1acd734]
# 
# patch "packages/linux/linux-rp-2.6.23+2.6.24-rc0+git/defconfig-collie"
#  from [1ded8b2f91fa52cff90e08f938c3860fc94907a2]
#    to [1d0a3e54d0540b9d7fb266e65df279c450fcc317]
# 
# patch "packages/linux/linux-rp.inc"
#  from [0754d43aed9f1733a268bc5a327d596268b601e3]
#    to [fae5978f66ce47eb9bd8319f1cd9e61ed9288f26]
# 
# patch "packages/linux/linux-rp_2.6.23+2.6.24-rc0+git.bb"
#  from [d5e81e383b5b22fe28113f00aed76b14cdbccb3d]
#    to [0dad9c9f8cd8741095ce3f11996fb46de85e1c66]
# 
# patch "packages/u-boot/u-boot-openmoko_svn.bb"
#  from [d812cd2b7484ad3d696a1616eea6e3e80706d31c]
#    to [728dd133bb54e3b77f041e6046fba6405c2a6b2e]
# 
============================================================
--- contrib/distro-packages/debian/openembedded-essential-1.3/debian/changelog	47ad5c3f748dbee72f444f29ab36a1e6ec39c68a
+++ contrib/distro-packages/debian/openembedded-essential-1.3/debian/changelog	0204de9ed50f15aad3a0a2d82a61c5c0a4b3388b
@@ -1,3 +1,10 @@
+
+openembedded-essential (1.3) unstable; urgency=low
+
+  * add gfortran as dependency to complement a5c7b007eaa675cc904f5285291d2f8a597efc84
+
+ -- Rolf Leggewie <oe-devel at rolf.leggewie.biz>  Mon, 7 Jan 2008 20:25:00 +0100
+
 openembedded-essential (1.2) unstable; urgency=low
 
   * fixed packaging to make lintian happy
============================================================
--- contrib/distro-packages/debian/openembedded-essential-1.3/debian/control	83ae0939151da2c6327c23217ea8556867420a38
+++ contrib/distro-packages/debian/openembedded-essential-1.3/debian/control	5a6894800162b10b61fdc964dc9b169aa1acd734
@@ -7,7 +7,7 @@ Architecture: all
 
 Package: openembedded-essential
 Architecture: all
-Depends: python (>= 2.3), ccache, build-essential, quilt, bison, wget, cvs, subversion, git-core, monotone, coreutils, unzip, texi2html, texinfo, libsdl1.2-dev, docbook-utils, gawk
+Depends: python (>= 2.3), ccache, build-essential, quilt, bison, wget, cvs, subversion, git-core, monotone, coreutils, unzip, texi2html, texinfo, libsdl1.2-dev, docbook-utils, gawk, gfortran
 Description: Metapackage to install all needed packages to start using OpenEmbedded
  OpenEmbedded is a full-featured development environment allowing users to
  target a wide variety of devices. Supporting multiple build, release paths and
============================================================
--- packages/linux/linux-rp-2.6.23+2.6.24-rc0+git/defconfig-collie	1ded8b2f91fa52cff90e08f938c3860fc94907a2
+++ packages/linux/linux-rp-2.6.23+2.6.24-rc0+git/defconfig-collie	1d0a3e54d0540b9d7fb266e65df279c450fcc317
@@ -1,12 +1,18 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.20.4
-# Fri Apr  6 23:20:59 2007
+# Linux kernel version: 2.6.23-git9
+# Fri Jan  4 01:43:53 2008
 #
 CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
 # CONFIG_GENERIC_TIME is not set
+# CONFIG_GENERIC_CLOCKEVENTS is not set
 CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
 CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
 CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 CONFIG_HARDIRQS_SW_RESEND=y
 CONFIG_GENERIC_IRQ_PROBE=y
@@ -15,36 +21,36 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
 CONFIG_GENERIC_HWEIGHT=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
 CONFIG_ARCH_MTD_XIP=y
 CONFIG_VECTORS_BASE=0xffff0000
 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
 
 #
-# Code maturity level options
+# General setup
 #
 CONFIG_EXPERIMENTAL=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
 CONFIG_LOCALVERSION=""
 CONFIG_LOCALVERSION_AUTO=y
 CONFIG_SWAP=y
 CONFIG_SYSVIPC=y
-# CONFIG_IPC_NS is not set
+CONFIG_SYSVIPC_SYSCTL=y
 # CONFIG_POSIX_MQUEUE is not set
 CONFIG_BSD_PROCESS_ACCT=y
 # CONFIG_BSD_PROCESS_ACCT_V3 is not set
 # CONFIG_TASKSTATS is not set
-# CONFIG_UTS_NS is not set
+# CONFIG_USER_NS is not set
 # CONFIG_AUDIT is not set
 # CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_FAIR_USER_SCHED=y
 # CONFIG_SYSFS_DEPRECATED is not set
 # CONFIG_RELAY is not set
-CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_BLK_DEV_INITRD is not set
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 CONFIG_SYSCTL=y
 CONFIG_EMBEDDED=y
@@ -59,32 +65,29 @@ CONFIG_FUTEX=y
 # CONFIG_ELF_CORE is not set
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
 CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
-CONFIG_SLAB=y
 CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
 CONFIG_RT_MUTEXES=y
 # CONFIG_TINY_SHMEM is not set
 CONFIG_BASE_SMALL=0
-# CONFIG_SLOB is not set
-
-#
-# Loadable module support
-#
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 CONFIG_MODULE_FORCE_UNLOAD=y
 # CONFIG_MODVERSIONS is not set
 # CONFIG_MODULE_SRCVERSION_ALL is not set
 CONFIG_KMOD=y
-
-#
-# Block layer
-#
 CONFIG_BLOCK=y
 # CONFIG_LBD is not set
 # CONFIG_BLK_DEV_IO_TRACE is not set
 # CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
 
 #
 # IO Schedulers
@@ -116,13 +119,16 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
 # CONFIG_ARCH_NETX is not set
 # CONFIG_ARCH_H720X is not set
 # CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
 # CONFIG_ARCH_IOP32X is not set
 # CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
 # CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP23XX is not set
 # CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_MXC is not set
 # CONFIG_ARCH_PNX4008 is not set
 # CONFIG_ARCH_PXA is not set
 # CONFIG_ARCH_RPC is not set
@@ -130,6 +136,7 @@ CONFIG_ARCH_SA1100=y
 # CONFIG_ARCH_S3C2410 is not set
 # CONFIG_ARCH_SHARK is not set
 # CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
 # CONFIG_ARCH_OMAP is not set
 
 #
@@ -151,6 +158,14 @@ CONFIG_SA1100_COLLIE=y
 # CONFIG_SA1100_SSP is not set
 
 #
+# Boot options
+#
+
+#
+# Power management
+#
+
+#
 # Processor Type
 #
 CONFIG_CPU_32=y
@@ -168,21 +183,25 @@ CONFIG_CPU_CP15_MMU=y
 #
 # CONFIG_CPU_ICACHE_DISABLE is not set
 # CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
 CONFIG_SHARP_LOCOMO=y
 CONFIG_SHARP_PARAM=y
+CONFIG_SHARPSL_PM=y
 CONFIG_SHARP_SCOOP=y
 
 #
 # Bus support
 #
 CONFIG_ISA=y
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
 
 #
 # PCCARD (PCMCIA/CardBus) support
 #
-CONFIG_PCCARD=y
+CONFIG_PCCARD=m
 # CONFIG_PCMCIA_DEBUG is not set
-CONFIG_PCMCIA=y
+CONFIG_PCMCIA=m
 CONFIG_PCMCIA_LOAD_CIS=y
 CONFIG_PCMCIA_IOCTL=y
 
@@ -191,11 +210,12 @@ CONFIG_PCMCIA_IOCTL=y
 #
 # CONFIG_I82365 is not set
 # CONFIG_TCIC is not set
-CONFIG_PCMCIA_SA1100=y
+CONFIG_PCMCIA_SA1100=m
 
 #
 # Kernel Features
 #
+# CONFIG_TICK_ONESHOT is not set
 CONFIG_PREEMPT=y
 CONFIG_NO_IDLE_HZ=y
 CONFIG_HZ=100
@@ -212,6 +232,9 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096
 # CONFIG_SPARSEMEM_STATIC is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4096
 # CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
 # CONFIG_LEDS is not set
 CONFIG_ALIGNMENT_TRAP=y
 
@@ -220,6 +243,7 @@ CONFIG_ZBOOT_ROM_BSS=0x0
 #
 CONFIG_ZBOOT_ROM_TEXT=0x0
 CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttySA0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 mem=64M fbcon=rotate:1 dyntick=enable debug"
 # CONFIG_XIP_KERNEL is not set
 CONFIG_KEXEC=y
 
@@ -253,8 +277,10 @@ CONFIG_PM=y
 CONFIG_PM=y
 # CONFIG_PM_LEGACY is not set
 # CONFIG_PM_DEBUG is not set
-# CONFIG_PM_SYSFS_DEPRECATED is not set
-CONFIG_APM=y
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND_UP_POSSIBLE=y
+CONFIG_SUSPEND=y
+CONFIG_APM_EMULATION=y
 
 #
 # Networking
@@ -264,13 +290,13 @@ CONFIG_NET=y
 #
 # Networking options
 #
-# CONFIG_NETDEBUG is not set
 CONFIG_PACKET=m
 CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
+CONFIG_UNIX=m
 CONFIG_XFRM=y
 CONFIG_XFRM_USER=m
 # CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
 # CONFIG_NET_KEY is not set
 CONFIG_INET=y
 # CONFIG_IP_MULTICAST is not set
@@ -285,24 +311,22 @@ CONFIG_SYN_COOKIES=y
 # CONFIG_INET_ESP is not set
 # CONFIG_INET_IPCOMP is not set
 # CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+# CONFIG_INET_LRO is not set
 CONFIG_INET_DIAG=m
 CONFIG_INET_TCP_DIAG=m
 # CONFIG_TCP_CONG_ADVANCED is not set
 CONFIG_TCP_CONG_CUBIC=y
 CONFIG_DEFAULT_TCP_CONG="cubic"
 # CONFIG_TCP_MD5SIG is not set
-
-#
-# IP: Virtual Server Configuration
-#
 # CONFIG_IP_VS is not set
 CONFIG_IPV6=m
 # CONFIG_IPV6_PRIVACY is not set
 # CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
 CONFIG_INET6_AH=m
 CONFIG_INET6_ESP=m
 CONFIG_INET6_IPCOMP=m
@@ -325,31 +349,23 @@ CONFIG_NETFILTER=y
 #
 # CONFIG_NETFILTER_NETLINK is not set
 # CONFIG_NF_CONNTRACK_ENABLED is not set
+# CONFIG_NF_CONNTRACK is not set
 # CONFIG_NETFILTER_XTABLES is not set
 
 #
 # IP: Netfilter Configuration
 #
 CONFIG_IP_NF_QUEUE=m
+# CONFIG_IP_NF_IPTABLES is not set
+# CONFIG_IP_NF_ARPTABLES is not set
 
 #
 # IPv6: Netfilter Configuration (EXPERIMENTAL)
 #
 # CONFIG_IP6_NF_QUEUE is not set
-
-#
-# DCCP Configuration (EXPERIMENTAL)
-#
+# CONFIG_IP6_NF_IPTABLES is not set
 # CONFIG_IP_DCCP is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
 # CONFIG_IP_SCTP is not set
-
-#
-# TIPC Configuration (EXPERIMENTAL)
-#
 # CONFIG_TIPC is not set
 # CONFIG_ATM is not set
 # CONFIG_BRIDGE is not set
@@ -403,6 +419,9 @@ CONFIG_IRTTY_SIR=m
 # Dongle support
 #
 # CONFIG_DONGLE is not set
+# CONFIG_KINGSUN_DONGLE is not set
+# CONFIG_KSDAZZLE_DONGLE is not set
+# CONFIG_KS959_DONGLE is not set
 
 #
 # Old SIR device drivers
@@ -445,13 +464,22 @@ CONFIG_BT_HCIVHCI=m
 CONFIG_BT_HCIBLUECARD=m
 CONFIG_BT_HCIBTUART=m
 CONFIG_BT_HCIVHCI=m
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+CONFIG_WIRELESS_EXT=y
+# CONFIG_MAC80211 is not set
 CONFIG_IEEE80211=m
 # CONFIG_IEEE80211_DEBUG is not set
 CONFIG_IEEE80211_CRYPT_WEP=m
 CONFIG_IEEE80211_CRYPT_CCMP=m
 CONFIG_IEEE80211_CRYPT_TKIP=m
 # CONFIG_IEEE80211_SOFTMAC is not set
-CONFIG_WIRELESS_EXT=y
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
 
 #
 # Device Drivers
@@ -460,20 +488,14 @@ CONFIG_WIRELESS_EXT=y
 #
 # Generic Driver Options
 #
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_FW_LOADER=y
 # CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
 # CONFIG_SYS_HYPERVISOR is not set
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
 # CONFIG_CONNECTOR is not set
-
-#
-# Memory Technology Devices (MTD)
-#
 CONFIG_MTD=y
 # CONFIG_MTD_DEBUG is not set
 # CONFIG_MTD_CONCAT is not set
@@ -493,6 +515,7 @@ CONFIG_MTD_BLOCK=y
 # CONFIG_INFTL is not set
 # CONFIG_RFD_FTL is not set
 # CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
 
 #
 # RAM/ROM/Flash chip drivers
@@ -512,15 +535,13 @@ CONFIG_MTD_ROM=y
 # CONFIG_MTD_RAM is not set
 CONFIG_MTD_ROM=y
 # CONFIG_MTD_ABSENT is not set
-CONFIG_MTD_OBSOLETE_CHIPS=y
-CONFIG_MTD_SHARP=y
+# CONFIG_MTD_SHARP is not set
 
 #
 # Mapping drivers for chip access
 #
 # CONFIG_MTD_COMPLEX_MAPPINGS is not set
 # CONFIG_MTD_PHYSMAP is not set
-CONFIG_MTD_SA1100=y
 # CONFIG_MTD_PLATRAM is not set
 
 #
@@ -539,43 +560,26 @@ CONFIG_MTD_SA1100=y
 # CONFIG_MTD_DOC2000 is not set
 # CONFIG_MTD_DOC2001 is not set
 # CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
 # CONFIG_MTD_NAND is not set
-
-#
-# OneNAND Flash Device Drivers
-#
 # CONFIG_MTD_ONENAND is not set
 
 #
-# Parallel port support
+# UBI - Unsorted block images
 #
+# CONFIG_MTD_UBI is not set
 # CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
 # CONFIG_PNP is not set
-
-#
-# Block devices
-#
+CONFIG_BLK_DEV=y
 # CONFIG_BLK_DEV_COW_COMMON is not set
 CONFIG_BLK_DEV_LOOP=m
 # CONFIG_BLK_DEV_CRYPTOLOOP is not set
 # CONFIG_BLK_DEV_NBD is not set
 # CONFIG_BLK_DEV_UB is not set
 # CONFIG_BLK_DEV_RAM is not set
-# CONFIG_BLK_DEV_INITRD is not set
 # CONFIG_CDROM_PKTCDVD is not set
 # CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
+CONFIG_MISC_DEVICES=y
+# CONFIG_EEPROM_93CX6 is not set
 CONFIG_IDE=m
 CONFIG_IDE_MAX_HWIFS=4
 CONFIG_BLK_DEV_IDE=m
@@ -592,15 +596,29 @@ CONFIG_BLK_DEV_IDECS=m
 # CONFIG_BLK_DEV_IDEFLOPPY is not set
 # CONFIG_BLK_DEV_IDESCSI is not set
 # CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
 
 #
 # IDE chipset support/bugfixes
 #
 # CONFIG_IDE_GENERIC is not set
+# CONFIG_BLK_DEV_PLATFORM is not set
 # CONFIG_IDE_ARM is not set
-# CONFIG_IDE_CHIPSETS is not set
+
+#
+# Other IDE chipsets support
+#
+
+#
+# Note: most of these also require special kernel boot parameters
+#
+# CONFIG_BLK_DEV_4DRIVES is not set
+# CONFIG_BLK_DEV_ALI14XX is not set
+# CONFIG_BLK_DEV_DTC2278 is not set
+# CONFIG_BLK_DEV_HT6560B is not set
+# CONFIG_BLK_DEV_QD65XX is not set
+# CONFIG_BLK_DEV_UMC8672 is not set
 # CONFIG_BLK_DEV_IDEDMA is not set
-# CONFIG_IDEDMA_AUTO is not set
 # CONFIG_BLK_DEV_HD is not set
 
 #
@@ -608,6 +626,7 @@ CONFIG_SCSI=m
 #
 # CONFIG_RAID_ATTRS is not set
 CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
 # CONFIG_SCSI_TGT is not set
 # CONFIG_SCSI_NETLINK is not set
 CONFIG_SCSI_PROC_FS=y
@@ -630,6 +649,7 @@ CONFIG_SCSI_MULTI_LUN=y
 # CONFIG_SCSI_CONSTANTS is not set
 # CONFIG_SCSI_LOGGING is not set
 # CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
 
 #
 # SCSI Transports
@@ -637,15 +657,13 @@ CONFIG_SCSI_MULTI_LUN=y
 # CONFIG_SCSI_SPI_ATTRS is not set
 # CONFIG_SCSI_FC_ATTRS is not set
 # CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
 # CONFIG_SCSI_SAS_LIBSAS is not set
-
-#
-# SCSI low-level drivers
-#
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
 # CONFIG_ISCSI_TCP is not set
 # CONFIG_SCSI_AHA152X is not set
 # CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_ADVANSYS is not set
 # CONFIG_SCSI_IN2000 is not set
 # CONFIG_SCSI_DTC3280 is not set
 # CONFIG_SCSI_FUTURE_DOMAIN is not set
@@ -658,24 +676,8 @@ CONFIG_SCSI_MULTI_LUN=y
 # CONFIG_SCSI_SYM53C416 is not set
 # CONFIG_SCSI_T128 is not set
 # CONFIG_SCSI_DEBUG is not set
-
-#
-# PCMCIA SCSI adapter support
-#
-# CONFIG_PCMCIA_AHA152X is not set
-# CONFIG_PCMCIA_FDOMAIN is not set
-# CONFIG_PCMCIA_NINJA_SCSI is not set
-# CONFIG_PCMCIA_QLOGIC is not set
-# CONFIG_PCMCIA_SYM53C500 is not set
-
-#
-# Serial ATA (prod) and Parallel ATA (experimental) drivers
-#
+# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
 # CONFIG_ATA is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
 CONFIG_MD=y
 # CONFIG_BLK_DEV_MD is not set
 CONFIG_BLK_DEV_DM=m
@@ -686,44 +688,21 @@ CONFIG_DM_MULTIPATH_EMC=m
 CONFIG_DM_ZERO=m
 CONFIG_DM_MULTIPATH=m
 CONFIG_DM_MULTIPATH_EMC=m
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-
-#
-# I2O device support
-#
-
-#
-# Network device support
-#
+# CONFIG_DM_MULTIPATH_RDAC is not set
+# CONFIG_DM_DELAY is not set
 CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
 # CONFIG_DUMMY is not set
 # CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
 # CONFIG_EQUALIZER is not set
 CONFIG_TUN=m
-
-#
-# ARCnet devices
-#
+# CONFIG_VETH is not set
 # CONFIG_ARCNET is not set
-
-#
-# PHY device support
-#
 # CONFIG_PHYLIB is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
 CONFIG_NET_ETHERNET=y
 CONFIG_MII=m
+# CONFIG_AX88796 is not set
 # CONFIG_NET_VENDOR_3COM is not set
 # CONFIG_NET_VENDOR_SMC is not set
 # CONFIG_SMC91X is not set
@@ -733,64 +712,47 @@ CONFIG_MII=m
 # CONFIG_DEPCA is not set
 # CONFIG_HP100 is not set
 # CONFIG_NET_ISA is not s%s
>>> DIFF TRUNCATED @ 16K


#
# mt diff -re2c29cfbd284f015d3c4165234bbaf65c184d38d -r21616252251b32f34727208a44c2b0f66dbe7a73
#
# 
# 
# patch "contrib/mtn2git/mtn2git.py"
#  from [ef2f536d1f3ef8e1e749df1cc8645740a9accdfd]
#    to [1dc47dab2559790034012f5f42eccdb5978bf054]
# 
============================================================
--- contrib/mtn2git/mtn2git.py	ef2f536d1f3ef8e1e749df1cc8645740a9accdfd
+++ contrib/mtn2git/mtn2git.py	1dc47dab2559790034012f5f42eccdb5978bf054
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 """
-  Copyright (C) 2006, 2007 Holger Hans Peter Freyther
+  Copyright (C) 2006, 2007, 2008 Holger Hans Peter Freyther
 
   Permission is hereby granted, free of charge, to any person obtaining a copy
   of this software and associated documentation files (the "Software"), to deal
@@ -27,18 +27,6 @@
 #   -tag handling
 #   -work with n-merges
 #
-# DISCUSSION:
-#   -For some reason the get_revision information might be inaccurate
-#    and I should consider just comparing the manifests.
-#    I would use the manifests of the parents and consider all files deleted
-#    and then remove every dir/file that is inside the new manifest from this
-#    list.
-#      Benefits:
-#         - 1:1 match of the manifest regardles of get_revision information
-#         - Renaming is handled by git anyway
-#      Downsides:
-#         - The size of the import will grow.
-#
 
 import mtn
 import os
@@ -48,7 +36,18 @@ import status
 
 import status
 
+# Interesting revisions:
+# Rename with dest==src: 24cba5923360fef7c5cc81d51000e30b90355eb9
+# Recursive rename: fca159c5c00ae4158c289f5aabce995378d4e41b
+# Delete+Rename: 91da98265a39c93946e00adf5d7bf92b341de847
+#
+#
+#
 
+# Our manifest/tree fifo construct
+cached_tree = {}
+cached_fifo = []
+
 def get_mark(revision):
     """
     Get a mark for a specific revision. If the revision is known the former
@@ -104,21 +103,6 @@ def reset_git(ops, revision):
     cmd += [""]
     print "\n".join(cmd)
 
-def filter_renamed(manifest, renamed):
-    """
-    If we base from a revision that has already done
-    the move, git-fast-import will complain that the file
-    has been already moved
-    """
-    if len(renamed) == 0:
-        return renamed
-
-    for line in manifest:
-        if line[0] == "file":
-            renamed = filter(lambda (to,from_,manifest): to != line[1], renamed)
-            
-    return renamed
-
 def get_git_date(revision):
     """
     Convert the "date" cert of monotone to a time understandable by git. No timezone
@@ -127,136 +111,61 @@ def get_git_date(revision):
     dt = datetime.datetime.strptime(revision["date"], "%Y-%m-%dT%H:%M:%S").strftime("%a, %d %b %Y %H:%M:%S +0000")
     return dt
 
-def recursively_delete(ops, manifest, revision, dir_name, to_delete):
-    """
-    Recursively delete all files that dir_name inside the name
-    """
-    for line in manifest:
-        if line[0] == "dir" or line[0] == "file":
-            if line[1].startswith(dir_name):
-                print >> sys.stderr, "Deleting '%s'" % line[1]
-                to_delete.add((line[1], revision))
-        elif line[0] in ["format_version"]:
-            assert(line[1] == "1")
-        else:
-            print >> sys.stderr, line[0]
-            assert(False)
+def is_executable_attribute_set(attributes, rev):
+    assert(len(attributes) % 3 == 0), rev
 
-    return to_delete
+    if len(attributes) >= 3:
+        for i in range(0, len(attributes)%3+1):
+            if attributes[i] == "attr" and attributes[i+1] == "mtn:execute" and attributes[i+2] == "true":
+                return True
+    return False
 
-def recursively_rename(ops, manifest, revision, old_name, new_name, to_add_dirs, to_add_files, to_remove_items, files_deleted, files_sticky):
-    """
-    mtn has a rename command and can rename entrie directories. For git we will have to do the recursive renaming
-    ourselves. Basicly we will get all files and replace old_name with new_name but only:
 
-        If the file of the old_manifest is not in our to be deleted list
-    """
-    old_dir = old_name + "/"
-    for line in manifest:
-        if line[1].startswith(old_dir) or line[1] == old_name:
-            already_handled = False
-            for (deleted,_) in files_deleted:
-                if line[1] == deleted:
-                    already_handled = True
-                    break 
+def build_tree(manifest, rev):
+    """Assemble a filesystem tree from a given manifest"""
 
-            # Don't rename files that should be in the same directory
-            if line[1] in files_sticky:
-                already_handled = True
+    class tree:
+        def __init__(self):
+            self.dirs = {}
+            self.files= {}
 
-            if already_handled:
-                pass
-            elif line[0] == "file":
-                print >> sys.stderr, "Will add '%s' old: '%s' new: '%s' => result: '%s'" % (line[1], old_name, new_name, line[1].replace(old_name, new_name, 1))
-                to_add_files.add((line[1].replace(old_name, new_name, 1), None, revision))
-            elif line[0] == "dir":
-                to_add_dirs.add((line[1].replace(old_name, new_name, 1), revision))
-            elif line[0] in ["format_version"]:
-                assert(line[1] == "1")
-            else:
-                print >> sys.stderr, line[0]
-                assert(False)
-
-    return (to_add_files, to_add_dirs)
-
-#
-#    We need to recursively rename the directories. Now the difficult part is to undo certain operations.
-#    
-#    e.g we rename the whole dir and then rename a file back. We could revive a directory that was marked
-#    for deletion.
-#
-#    rename "weird/two/three"
-#    to "unweird/four"
-#
-#    rename "weird/two/three/four"
-#    to "weird/two/three"
-#
-#    Here we would schedule weird/two/three for deletion but then revive it again. So three does not
-#    get copied to unweird/four/three
-#    """
-def recursively_rename_directories(ops, manifests, rename_commands, files_deleted, files_moved_sticky):
-    to_add_directories = set()
-    to_add_files = set()
-    to_remove_items = set()
-
-    for (old_name, new_name, old_revision) in rename_commands:
-        # Check if we have the above case and rename a more specific directory
-        # and then we will alter the result...
-        inner_rename = False
-        for (other_old_name, other_new_name, other_rev) in rename_commands:
-            if old_name.startswith(other_old_name + "/") and other_old_name != old_name:
-                inner_rename = True
-                print >> sys.stderr, "Inner rename detected", old_name, other_old_name
-                # Fixup the renaming
-                def rename(filename, filerev, rev, would_be_new_name):
-                    if filename.startswith(would_be_new_name + "/"):
-                        return filename.replace(would_be_new_name, new_name, 1), filerev, rev
-                    return filename, filerev, rev
-                    
-                would_be_new_name = other_new_name + "/" + old_name[len(other_old_name)+1:]
-                to_remove_items = set(filter(lambda (item,_): item != new_name, to_remove_items))
-                to_add_directories = set(filter(lambda (item,_): item != would_be_new_name, to_add_directories))
-                to_add_directories.add((new_name, old_revision))
-                to_add_files = set(map(lambda (fn, fr, r): rename(fn, fr, r, would_be_new_name), to_add_files))
-
-        if not inner_rename:
-            to_remove_items.add((old_name, old_revision))
-            recursively_delete(ops, manifests[old_revision], old_revision, old_name + "/", to_remove_items)
-            recursively_rename(ops, manifests[old_revision], old_revision, old_name, new_name, to_add_directories, to_add_files, to_remove_items, files_deleted, files_moved_sticky)
-
-    return (to_add_directories, to_add_files, to_remove_items)
-
-
-def build_tree(manifest):
-    dirs = {}
-    files = {}
+    tree = tree()
     for line in manifest:
         if line[0] == "file":
-            files[line[1]] = (line[3],line[4:])
+            tree.files[line[1]] = (line[3], is_executable_attribute_set(line[4:], rev))
         elif line[0] == "dir":
-            dirs[line[1]] = 1
+            tree.dirs[line[1]] = 1
         elif line[0] != "format_version":
-            print >> sys.stderr, line[0]
-            assert(False)
-    return (dirs,files)
+            assert(False), "Rev: %s: Line[0]: '%s'" % (rev, line[0])
 
-def compare_with_manifest(all_added, all_modified, all_deleted, new_manifest, old_manifests):
-    """
-    Sanity check that the difference between the old and the new manifest is the one
-    we have in all_added, all_modified, all_deleted
-    """
-    old_trees = {}
-    really_added = {}
-    really_modified = {}
-    really_removed = {}
+    return tree
 
-    current_dirs, current_files = build_tree(new_manifest)
+def get_and_cache_tree(ops, revision):
+    """Simple FIFO to cache a number of trees"""
+    global cached_tree, cached_fifo
 
-    for parent in old_manifests.keys():
-        old_trees[parent] = build_tree(old_manifests[parent])
+    if revision in cached_tree:
+        return cached_tree[revision]
 
-    print >> sys.stderr, len(old_manifests)
+    tree = build_tree([line for line in ops.get_manifest_of(revision)], revision)
+    cached_tree[revision] = tree
+    cached_fifo.append(revision)
 
+    # Shrink
+    if len(cached_fifo) > 100:
+        old_name = cached_fifo[0]
+        cached_fifo = cached_fifo[1:]
+        del cached_tree[old_name]
+    
+def diff_manifest(old_tree, new_tree):
+    """Find additions, modifications and deletions"""
+    added = set()
+    modified = set()
+    deleted = set()
+
+    return (added, modified, deleted)
+
+
 def fast_import(ops, revision):
     """Import a revision into git using git-fast-import.
 
@@ -292,27 +201,31 @@ def fast_import(ops, revision):
             return
         
     # Use the manifest to find dirs and files
-    manifest = [line for line in ops.get_manifest_of(revision["revision"])]
-    manifests = {}
-    dirs = {}
-    for parent in revision["parent"]:
-        manifests[parent] = [line for line in ops.get_manifest_of(parent)]
-        for line in manifests[parent]:
-            if line[0] == "dir":
-                if not parent in dirs:
-                    dirs[parent] = {}
-                dirs[parent][line[1]] = 1
+    current_tree = get_and_cache_tree(ops, revision["revision"])
 
+    all_added = set()
+    all_modifications = set()
+    all_deleted = set()
+
     # We can not just change the mode of a file but we need to modifiy the whole file. We
     # will simply add it to the modified list and ask to retrieve the status from the manifest
     for (file, attribute, value, rev) in revision["set_attributes"]:
         if attribute == "mtn:execute":
-            revision["modified"].append((file, None, rev))
+            all_modifications.add( (file, None, rev) )
     for (file, attribute, rev) in revision["clear_attributes"]:
         if attribute == "mtn:execute":
-            revision["modified"].append((file, None, rev))
+            all_modifications.add( (file, None, rev) )
 
+    # Now diff the manifests
+    for parent in revision["parent"]:
+        (added, modified, deleted) = diff_manifest(get_and_cache_tree(ops, parent), current_tree)
+        all_added = all_added.union(added)
+        all_modifications = all_modifications.union(modified)
+        all_deleted = all_modifications.union(deleted) 
 
+    # TODO:
+    # Readd the sanity check to see if we deleted and modified an entry. This
+    # could probably happen if we have more than one parent (on a merge)?
 
     cmd = []
     cmd += ["commit refs/heads/%s" % branch]
@@ -322,82 +235,14 @@ def fast_import(ops, revision):
     cmd += ["data  %d" % len(revision["changelog"])]
     cmd += ["%s" % revision["changelog"]]
 
-    # Emulation for renaming. We will split them into two lists
-    file_renamed_del = set()
-    file_renamed_new = set()
-    file_moved_sticky = set()
-
     if len(revision["parent"]) != 0:
         cmd += ["from :%s" % get_mark(revision["parent"][0])]
-    renamed = revision["renamed"]
 
-    to_rename_directories = []
-    for (new_name, old_name, old_revision) in renamed:
-        # 24cba5923360fef7c5cc81d51000e30b90355eb9 is a rev where src == dest but the
-        # directory got renamed, so this means this file got added to the new directory
-        # TODO, XXX, FIXME check if this can be done for directories as well
-        if new_name == old_name and not old_name in dirs[old_revision]:
-            print >> sys.stderr, "Bogus rename in %s (%s, %s)?" % (revision["revision"], new_name, old_name)
-            file_moved_sticky.add(old_name)
-
-        # Check if the old_name was a directory in the old manifest
-        # If we rename a directory we will need to recursively remove and recursively
-        # add...
-        # Add the '/' otherwise we might rename the wrong directory which shares the
-        # same prefix.
-        # fca159c5c00ae4158c289f5aabce995378d4e41b is quite funny. It renames a directory
-        # and then renames another directory within the renamed one and in the worse case
-        # we will revive a deleted directory, file...
-        elif old_name in dirs[old_revision]:
-            print >> sys.stderr, "Detected directory rename '%s' => '%s'" %  (old_name, new_name)
-            assert(old_revision in manifests)
-            to_rename_directories.append((old_name, new_name, old_revision))
-        else: 
-            print >> sys.stderr, "Renaming %s => %s" % (old_name, new_name)
-            file_renamed_new.add((new_name, None, revision["revision"]))
-            file_renamed_del.add((old_name, old_revision))
-
     # The first parent is our from.
     for parent in revision["parent"][1:]:
         cmd += ["merge :%s" % get_mark(parent)]
 
-    # Do the renaming now
-    (renamed_dirs, renamed_new, renamed_old) = recursively_rename_directories(ops, manifests, to_rename_directories, file_renamed_del.union(set(revision["removed"])), file_moved_sticky)
 
-    # Sanity check, don't remove anything we modify
-    all_added = set(revision["added_dirs"]).union(renamed_dirs)
-    all_modifications = set(revision["modified"]).union(set(revision["added_files"])).union(renamed_new).union(file_renamed_new)
-    all_deleted = set(revision["removed"]).union(renamed_old).union(file_renamed_del)
-    all_deleted_new = all_deleted
-
-    # Check if we delete and add at the same time
-    for (deleted,rev) in all_deleted:
-        for (added,_) in all_added:
-            if added == deleted:
-                print >> sys.stderr, "Added and Deleted", added, deleted
-                all_deleted_new = set(filter(lambda (dele,_): dele != added, all_deleted_new))
-                assert((added,rev) not in all_deleted_new)
-                
-        for (modified,_,_) in all_modifications:
-            if modified == deleted:
-                print >> sys.stderr, "Modified and Deleted", modified, deleted
-                all_deleted_new = set(filter(lambda (dele,_): dele != modified, all_deleted_new))
-                assert((modified,rev) not in all_deleted_new)
-
-    # Filtered list of to be deleted items
-    all_deleted = all_deleted_new
-
-    # Check if we delete but the manifest has a file like this
-    for line in manifest:
-        if line[0] == "dir" or line[0] == "file":
-            for (deleted,rev) in all_deleted:
-                if line[1] == deleted:
-                    # 91da98265a39c93946e00adf5d7bf92b341de847 of mtn has a delete + rename
-                    print >> sys.stderr, "Trying to delete a file which is in the new manifest", line[1], deleted
-                    assert(False)
-
-    compare_with_manifest(all_added, all_modifications, all_deleted, manifest, manifests)
-
     for (dir_name, rev) in all_added:
         cmd += ["M 644 inline %s" % os.path.join(dir_name, ".mtn2git_empty")]
         cmd += ["data <<EOF"]
@@ -405,14 +250,13 @@ def fast_import(ops, revision):
         cmd += [""]
 
     for (file_name, file_revision, rev) in all_modifications:
-        (mode, file) = get_file_and_mode(ops, manifest, file_name, file_revision, revision["revision"])
+        (mode, file) = get_file_and_mode(ops, current_tree, file_name, file_revision, revision["revision"])
         cmd += ["M %d inline %s" % (mode, fi%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list