[oe-commits] org.oe.dev merge of '29c3523123b5b4cd06600394ae12aa149df07c8a'

rpurdie commit openembedded-commits at lists.openembedded.org
Tue Feb 19 13:12:08 UTC 2008


merge of '29c3523123b5b4cd06600394ae12aa149df07c8a'
     and 'c9d03a40dbab3e176a210a0dd6f1204d9ae94f49'

Author: rpurdie at openembedded.org
Branch: org.openembedded.dev
Revision: b83225dcd49eb877a625aae635d50afb7e9fb1e9
ViewMTN: http://monotone.openembedded.org/revision/info/b83225dcd49eb877a625aae635d50afb7e9fb1e9
Files:
1
packages/linux/linux-2.6.24/qemux86
packages/linux/linux-2.6.24/qemux86/defconfig
packages/sylpheed/claws-mail_3.2.0.bb
packages/sylpheed/claws-mail_3.3.0.bb
packages/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.bb
packages/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.1.bb
packages/sylpheed/claws-plugin-rssyl_0.17.bb
packages/sylpheed/claws-plugin-rssyl_0.18.bb
packages/linux/linux-rp-2.6.24/defconfig-qemux86
packages/linux/linux-rp_2.6.24.bb
packages/linux/linux_2.6.24.bb
classes/packaged-staging.bbclass
classes/packaged-staging2.bbclass
classes/package.bbclass
classes/package_deb.bbclass
classes/package_ipk.bbclass
classes/package_rpm.bbclass
classes/package_tar.bbclass
conf/sanity.conf
packages/gcc/gcc-package.inc
Diffs:

#
# mt diff -r29c3523123b5b4cd06600394ae12aa149df07c8a -rb83225dcd49eb877a625aae635d50afb7e9fb1e9
#
# 
# 
# delete "packages/linux/linux-2.6.24/qemux86"
# 
# delete "packages/linux/linux-2.6.24/qemux86/defconfig"
# 
# rename "packages/sylpheed/claws-mail_3.2.0.bb"
#     to "packages/sylpheed/claws-mail_3.3.0.bb"
# 
# rename "packages/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.bb"
#     to "packages/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.1.bb"
# 
# rename "packages/sylpheed/claws-plugin-rssyl_0.17.bb"
#     to "packages/sylpheed/claws-plugin-rssyl_0.18.bb"
# 
# patch "packages/linux/linux-rp-2.6.24/defconfig-qemux86"
#  from [e957ede99acce329ffd597dabb3188d4ccc3fa35]
#    to [abcf23ccda1d1691e725575e21a8b0334e72f671]
# 
# patch "packages/linux/linux-rp_2.6.24.bb"
#  from [660ace9202cedafc6cbeb0a7336411637f497bd5]
#    to [206f93d5f5951b555e53ecc7af105a4727b43f56]
# 
# patch "packages/linux/linux_2.6.24.bb"
#  from [137e91ccd4f8d96893ebb04109227b68406774c7]
#    to [90c088b9a606dde51c1eb8148602236bd47b8e9f]
# 
============================================================
--- packages/linux/linux-rp-2.6.24/defconfig-qemux86	e957ede99acce329ffd597dabb3188d4ccc3fa35
+++ packages/linux/linux-rp-2.6.24/defconfig-qemux86	abcf23ccda1d1691e725575e21a8b0334e72f671
@@ -396,42 +396,70 @@ CONFIG_NETFILTER=y
 #
 # Core Netfilter Configuration
 #
-# CONFIG_NETFILTER_NETLINK is not set
-# CONFIG_NF_CONNTRACK_ENABLED is not set
-# CONFIG_NF_CONNTRACK is not set
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK_ENABLED=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+CONFIG_NF_CT_PROTO_GRE=m
+# CONFIG_NF_CT_PROTO_SCTP is not set
+# CONFIG_NF_CT_PROTO_UDPLITE is not set
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+# CONFIG_NF_CONNTRACK_H323 is not set
+CONFIG_NF_CONNTRACK_IRC=m
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+CONFIG_NF_CONNTRACK_PPTP=m
+# CONFIG_NF_CONNTRACK_SANE is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+CONFIG_NF_CONNTRACK_TFTP=m
+# CONFIG_NF_CT_NETLINK is not set
 CONFIG_NETFILTER_XTABLES=m
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
-# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
-# CONFIG_NETFILTER_XT_MATCH_ESP is not set
-# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
-# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_MAC is not set
-# CONFIG_NETFILTER_XT_MATCH_MARK is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
 # CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
-# CONFIG_NETFILTER_XT_MATCH_STRING is not set
-# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_TIME is not set
-# CONFIG_NETFILTER_XT_MATCH_U32 is not set
-# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
 
 #
 # IP: Netfilter Configuration
 #
-CONFIG_IP_NF_QUEUE=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+# CONFIG_IP_NF_QUEUE is not set
 CONFIG_IP_NF_IPTABLES=m
 CONFIG_IP_NF_MATCH_IPRANGE=m
 CONFIG_IP_NF_MATCH_TOS=m
@@ -445,10 +473,26 @@ CONFIG_IP_NF_TARGET_ULOG=m
 CONFIG_IP_NF_TARGET_REJECT=m
 CONFIG_IP_NF_TARGET_LOG=m
 CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+# CONFIG_IP_NF_TARGET_SAME is not set
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+# CONFIG_NF_NAT_H323 is not set
+# CONFIG_NF_NAT_SIP is not set
 CONFIG_IP_NF_MANGLE=m
 CONFIG_IP_NF_TARGET_TOS=m
 CONFIG_IP_NF_TARGET_ECN=m
 CONFIG_IP_NF_TARGET_TTL=m
+# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
 CONFIG_IP_NF_RAW=m
 CONFIG_IP_NF_ARPTABLES=m
 CONFIG_IP_NF_ARPFILTER=m
@@ -457,6 +501,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
 #
 # IPv6: Netfilter Configuration (EXPERIMENTAL)
 #
+# CONFIG_NF_CONNTRACK_IPV6 is not set
 # CONFIG_IP6_NF_QUEUE is not set
 # CONFIG_IP6_NF_IPTABLES is not set
 # CONFIG_IP_DCCP is not set
@@ -474,6 +519,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
 # CONFIG_ECONET is not set
 # CONFIG_WAN_ROUTER is not set
 # CONFIG_NET_SCHED is not set
+CONFIG_NET_CLS_ROUTE=y
 
 #
 # Network testing
============================================================
--- packages/linux/linux-rp_2.6.24.bb	660ace9202cedafc6cbeb0a7336411637f497bd5
+++ packages/linux/linux-rp_2.6.24.bb	206f93d5f5951b555e53ecc7af105a4727b43f56
@@ -1,9 +1,10 @@ require linux-rp.inc
 require linux-rp.inc
 
-PR = "r4"
+PR = "r5"
 
 DEFAULT_PREFERENCE = "-1"
 DEFAULT_PREFERENCE_collie = "1"
+DEFAULT_PREFERENCE_qemux86 = "1"
 
 # Handy URLs
 # git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046
============================================================
--- packages/linux/linux_2.6.24.bb	137e91ccd4f8d96893ebb04109227b68406774c7
+++ packages/linux/linux_2.6.24.bb	90c088b9a606dde51c1eb8148602236bd47b8e9f
@@ -1,10 +1,9 @@ DEFAULT_PREFERENCE_mpc8313e-rdb = "1"
 require linux.inc
 
 # Mark archs/machines that this kernel supports
 DEFAULT_PREFERENCE = "-1"
 DEFAULT_PREFERENCE_gesbc-9302 = "1"
 DEFAULT_PREFERENCE_mpc8313e-rdb = "1"
-DEFAULT_PREFERENCE_qemux86 = "1"
 
 DEPENDS_append_mpc8313e-rdb = " dtc-native"
 


#
# mt diff -rc9d03a40dbab3e176a210a0dd6f1204d9ae94f49 -rb83225dcd49eb877a625aae635d50afb7e9fb1e9
#
# 
# 
# delete "classes/packaged-staging.bbclass"
# 
# rename "classes/packaged-staging2.bbclass"
#     to "classes/packaged-staging.bbclass"
# 
# patch "classes/package.bbclass"
#  from [31efdfccff0ea3fd6bdb3476c5dd2c61c54179f9]
#    to [dc63605ba8dcffa74084780d9c48b0ca2578fd0e]
# 
# patch "classes/package_deb.bbclass"
#  from [a66d4de9c722f1036751451a493943d826067859]
#    to [7d3c717409e185acf693d9654d2623edca784403]
# 
# patch "classes/package_ipk.bbclass"
#  from [026a54435a436ef29405fa6b02afea519cc76ce7]
#    to [fdf9fdf2855198b24b017026dd3777995b2977d2]
# 
# patch "classes/package_rpm.bbclass"
#  from [544d06eecdf8053fd26fb5ad0149bf70d704de12]
#    to [a1fb065dd1092df200d5baf08e48408748eea688]
# 
# patch "classes/package_tar.bbclass"
#  from [cb0aff337888acb90332c226a3b5ba7c508f5190]
#    to [890d4262a3d5d0dcbe7a0ed77680af01177555e8]
# 
# patch "conf/sanity.conf"
#  from [9ad5f1d9953217df59e03a3c6727b8246f383334]
#    to [8074d545842c568a6a98bad4358a6da7c037e6c6]
# 
# patch "packages/gcc/gcc-package.inc"
#  from [760299e5f8168507c53a5d73b89438f7a75d5c7c]
#    to [29d6e860f56905f8f155890e57612975fabd4f9b]
# 
============================================================
--- classes/package.bbclass	31efdfccff0ea3fd6bdb3476c5dd2c61c54179f9
+++ classes/package.bbclass	dc63605ba8dcffa74084780d9c48b0ca2578fd0e
@@ -291,76 +291,6 @@ python package_do_split_locales() {
 	#bb.data.setVar('RDEPENDS_%s' % mainpkg, ' '.join(rdep), d)
 }
 
-def copyfile(src,dest,newmtime=None,sstat=None):
-    """
-    Copies a file from src to dest, preserving all permissions and
-    attributes; mtime will be preserved even when moving across
-    filesystems.  Returns true on success and false on failure.
-    """
-    import os, stat, shutil, commands
-
-    #print "copyfile("+src+","+dest+","+str(newmtime)+","+str(sstat)+")"
-    try:
-        if not sstat:
-            sstat=os.lstat(src)
-    except Exception, e:
-        print "copyfile: Stating source file failed...", e
-        return False
-
-    destexists=1
-    try:
-        dstat=os.lstat(dest)
-    except:
-        dstat=os.lstat(os.path.dirname(dest))
-        destexists=0
-
-    if destexists:
-        if stat.S_ISLNK(dstat[stat.ST_MODE]):
-            try:
-                os.unlink(dest)
-                destexists=0
-            except Exception, e:
-                pass
-
-    if stat.S_ISLNK(sstat[stat.ST_MODE]):
-        try:
-            target=os.readlink(src)
-            if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]):
-                os.unlink(dest)
-            os.symlink(target,dest)
-            #os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
-            return os.lstat(dest)
-        except Exception, e:
-            print "copyfile: failed to properly create symlink:", dest, "->", target, e
-            return False
-
-    if stat.S_ISREG(sstat[stat.ST_MODE]):
-            try: # For safety copy then move it over.
-                shutil.copyfile(src,dest+"#new")
-                os.rename(dest+"#new",dest)
-            except Exception, e:
-                print 'copyfile: copy', src, '->', dest, 'failed.', e
-                return False
-    else:
-            #we don't yet handle special, so we need to fall back to /bin/mv
-            a=commands.getstatusoutput("/bin/cp -f "+"'"+src+"' '"+dest+"'")
-            if a[0]!=0:
-                print "copyfile: Failed to copy special file:" + src + "' to '" + dest + "'", a
-                return False # failure
-    try:
-        os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
-        os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown
-    except Exception, e:
-        print "copyfile: Failed to chown/chmod/unlink", dest, e
-        return False
-
-    if newmtime:
-        os.utime(dest,(newmtime,newmtime))
-    else:
-        os.utime(dest, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME]))
-        newmtime=sstat[stat.ST_MTIME]
-    return newmtime
-
 python populate_packages () {
 	import glob, stat, errno, re
 
@@ -462,7 +392,7 @@ python populate_packages () {
 			fpath = os.path.join(root,file)
 			dpath = os.path.dirname(fpath)
 			bb.mkdirhier(dpath)
-			ret = copyfile(file, fpath)
+			ret = bb.copyfile(file, fpath)
 			if ret is False or ret == 0:
 				raise bb.build.FuncFailed("File population failed")
 		del localdata
@@ -578,7 +508,8 @@ python emit_pkgdata() {
 		os.chdir(root)
 		g = glob('*')
 		if g or allow_empty == "1":
-			file(bb.data.expand('${PKGDATA_DIR}/runtime/%s.packaged' % pkg, d), 'w').close()
+			packagedfile = bb.data.expand('${PKGDATA_DIR}/runtime/%s.packaged' % pkg, d)
+			file(packagedfile, 'w').close()
 }
 emit_pkgdata[dirs] = "${PKGDATA_DIR}/runtime"
 
@@ -588,6 +519,8 @@ fi
 fi
 }
 
+SHLIBSDIR = "${STAGING_DIR}/${HOST_SYS}/shlibs"
+
 python package_do_shlibs() {
 	import os, re, os.path
 
@@ -606,25 +539,14 @@ python package_do_shlibs() {
 		bb.error("WORKDIR not defined")
 		return
 
-	staging = bb.data.getVar('STAGING_DIR', d, 1)
-	if not staging:
-		bb.error("STAGING_DIR not defined")
-		return
-
 	ver = bb.data.getVar('PV', d, 1)
 	if not ver:
 		bb.error("PV not defined")
 		return
 
-	target_sys = bb.data.getVar('TARGET_SYS', d, 1)
-	if not target_sys:
-		bb.error("TARGET_SYS not defined")
-		return
-
 	pkgdest = bb.data.getVar('PKGDEST', d, 1)
 
-	shlibs_dir = os.path.join(staging, target_sys, "shlibs")
-	old_shlibs_dir = os.path.join(staging, "shlibs")
+	shlibs_dir = bb.data.getVar('SHLIBSDIR', d, 1)
 	bb.mkdirhier(shlibs_dir)
 
 	needed = {}
@@ -681,7 +603,7 @@ python package_do_shlibs() {
 
 	shlib_provider = {}
 	list_re = re.compile('^(.*)\.list$')
-	for dir in [old_shlibs_dir, shlibs_dir]: 
+	for dir in [shlibs_dir]: 
 		if not os.path.exists(dir):
 			continue
 		for file in os.listdir(dir):
@@ -751,20 +673,9 @@ python package_do_pkgconfig () {
 		bb.error("WORKDIR not defined")
 		return
 
-	staging = bb.data.getVar('STAGING_DIR', d, 1)
-	if not staging:
-		bb.error("STAGING_DIR not defined")
-		return
-
-	target_sys = bb.data.getVar('TARGET_SYS', d, 1)
-	if not target_sys:
-		bb.error("TARGET_SYS not defined")
-		return
-
 	pkgdest = bb.data.getVar('PKGDEST', d, 1)
 
-	shlibs_dir = os.path.join(staging, target_sys, "shlibs")
-	old_shlibs_dir = os.path.join(staging, "shlibs")
+	shlibs_dir = bb.data.getVar('SHLIBSDIR', d, 1)
 	bb.mkdirhier(shlibs_dir)
 
 	pc_re = re.compile('(.*)\.pc$')
@@ -814,7 +725,7 @@ python package_do_pkgconfig () {
 				f.write('%s\n' % p)
 			f.close()
 
-	for dir in [old_shlibs_dir, shlibs_dir]:
+	for dir in [shlibs_dir]:
 		if not os.path.exists(dir):
 			continue
 		for file in os.listdir(dir):
@@ -882,14 +793,39 @@ python package_depchains() {
 	postfixes = (bb.data.getVar('DEPCHAIN_POST', d, 1) or '').split()
 	prefixes  = (bb.data.getVar('DEPCHAIN_PRE', d, 1) or '').split()
 
+	def pkg_adddeprrecs(pkg, base, suffix, getname, depends, d):
+
+		#bb.note('depends for %s is %s' % (base, depends))
+		rreclist = explode_deps(bb.data.getVar('RRECOMMENDS_' + pkg, d, 1) or bb.data.getVar('RRECOMMENDS', d, 1) or "")
+
+		for depend in depends:
+			if depend.find('-native') != -1 or depend.find('-cross') != -1 or depend.startswith('virtual/'):
+				#bb.note("Skipping %s" % depend)
+				continue
+			if depend.endswith('-dev'):
+				depend = depend.replace('-dev', '')
+			if depend.endswith('-dbg'):
+				depend = depend.replace('-dbg', '')
+			pkgname = getname(depend, suffix)
+			#bb.note("Adding %s for %s" % (pkgname, depend))
+			if not pkgname in rreclist:
+				rreclist.append(pkgname)
+
+		#bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
+		bb.data.setVar('RRECOMMENDS_%s' % pkg, ' '.join(rreclist), d)
+
 	def pkg_addrrecs(pkg, base, suffix, getname, rdepends, d):
-        #bb.note('rdepends for %s is %s' % (base, rdepends))
 
+		#bb.note('rdepends for %s is %s' % (base, rdepends))
 		rreclist = explode_deps(bb.data.getVar('RRECOMMENDS_' + pkg, d, 1) or bb.data.getVar('RRECOMMENDS', d, 1) or "")
 
 		for depend in rdepends:
+			if depend.endswith('-dev'):
+				depend = depend.replace('-dev', '')
+			if depend.endswith('-dbg'):
+				depend = depend.replace('-dbg', '')
 			pkgname = getname(depend, suffix)
-			if not pkgname in rreclist and packaged(pkgname, d):
+			if not pkgname in rreclist:
 				rreclist.append(pkgname)
 
 		#bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
@@ -900,6 +836,10 @@ python package_depchains() {
 		if dep not in list:
 			list.append(dep)
 
+	depends = []
+	for dep in explode_deps(bb.data.getVar('DEPENDS', d, 1) or ""):
+		add_dep(depends, dep)
+
 	rdepends = []
 	for dep in explode_deps(bb.data.getVar('RDEPENDS', d, 1) or ""):
 		add_dep(rdepends, dep)
@@ -932,6 +872,8 @@ python package_depchains() {
 	for suffix in pkgs:
 		for pkg in pkgs[suffix]:
 			(base, func) = pkgs[suffix][pkg]
+			if suffix == "-dev":
+				pkg_adddeprrecs(pkg, base, suffix, func, depends, d)
 			if len(pkgs[suffix]) == 1:
 				pkg_addrrecs(pkg, base, suffix, func, rdepends, d)
 			else:
============================================================
--- classes/package_deb.bbclass	a66d4de9c722f1036751451a493943d826067859
+++ classes/package_deb.bbclass	7d3c717409e185acf693d9654d2623edca784403
@@ -54,7 +54,7 @@ python do_package_deb_install () {
     # env of the fork+execve'd processs
 
     # Set up environment
-    apt_config = os.getenv('APT_CONFIG')
+    apt_config_backup = os.getenv('APT_CONFIG')
     os.putenv('APT_CONFIG', os.path.join(stagingdir, 'etc', 'apt', 'apt.conf'))
     path = os.getenv('PATH')
     os.putenv('PATH', '%s:%s' % (stagingbindir, os.getenv('PATH')))
@@ -64,12 +64,12 @@ python do_package_deb_install () {
     commands.getstatusoutput('apt-get install -y %s' % pkgfn)
 
     # revert environment
-    os.putenv('APT_CONFIG', apt_config)
+    os.putenv('APT_CONFIG', apt_config_backup)
     os.putenv('PATH', path)
 }
 
 python do_package_deb () {
-    import sys, re, fcntl, copy
+    import sys, re, copy
 
     workdir = bb.data.getVar('WORKDIR', d, 1)
     if not workdir:
@@ -102,20 +102,12 @@ python do_package_deb () {
         bb.debug(1, "No packages; nothing to do")
         return
 
-    def lockfile(name):
-        lf = open(name, "a+")
-        fcntl.flock(lf.fileno(), fcntl.LOCK_EX)
-        return lf
-
-    def unlockfile(lf):
-        fcntl.flock(lf.fileno(), fcntl.LOCK_UN)
-        lf.close
-
     for pkg in packages.split():
         localdata = bb.data.createCopy(d)
-        root = "%s/install/%s" % (workdir, pkg)
+        pkgdest = bb.data.getVar('PKGDEST', d, 1)
+        root = "%s/%s" % (pkgdest, pkg)
 
-        lf = lockfile(root + ".lock")
+        lf = bb.utils.lockfile(root + ".lock")
 
         bb.data.setVar('ROOT', '', localdata)
         bb.data.setVar('ROOT_%s' % pkg, root, localdata)
@@ -147,7 +139,7 @@ python do_package_deb () {
         if not g and bb.data.getVar('ALLOW_EMPTY', localdata) != "1":
             from bb import note
             note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
-            unlockfile(lf)
+            bb.utils.unlockfile(lf)
             continue
 
         controldir = os.path.join(root, 'DEBIAN')
@@ -158,6 +150,7 @@ python do_package_deb () {
             # import codecs
             # ctrlfile = codecs.open("someFile", "w", "utf-8")
         except OSError:
+            bb.utils.unlockfile(lf)
             raise bb.build.FuncFailed("unable to open control file for writing.")
 
         fields = []
@@ -196,6 +189,7 @@ python do_package_deb () {
                 ctrlfile.write(unicode(c % tuple(pullData(fs, localdata))))
         except KeyError:
             (type, value, traceback) = sys.exc_info()
+            bb.utils.unlockfile(lf)
             ctrlfile.close()
             raise bb.build.FuncFailed("Missing field for deb generation: %s" % value)
         # more fields
@@ -231,6 +225,7 @@ python do_package_deb () {
             try:
                 scriptfile = file(os.path.join(controldir, script), 'w')
             except OSError:
+                bb.utils.unlockfile(lf)
                 raise bb.build.FuncFailed("unable to open %s script file for writing." % script)
             scriptfile.write("#!/bin/sh\n")
             scriptfile.write(scriptvar)
@@ -242,6 +237,7 @@ python do_package_deb () {
             try:
                 conffiles = file(os.path.join(controldir, 'conffiles'), 'w')
             except OSError:
+                bb.utils.unlockfile(lf)
                 raise bb.build.FuncFailed("unable to open conffiles for writing.")
             for f in conffiles_str.split():
                 conffiles.write('%s\n' % f)
@@ -250,6 +246,7 @@ python do_package_deb () {
         os.chdir(basedir)
         ret = os.system("PATH=\"%s\" fakeroot dpkg-deb -b %s %s" % (bb.data.getVar("PATH", localdata, 1), root, pkgoutdir))
         if ret != 0:
+            bb.utils.unlockfile(lf)
             raise bb.build.FuncFailed("dpkg-deb execution failed")
 
         for script in ["preinst", "postinst", "prerm", "postrm", "control" ]:
@@ -263,13 +260,16 @@ python do_package_deb () {
         except OSError:
             pass
 
-        unlockfile(lf)
+        bb.utils.unlockfile(lf)
 }
 
 python () {
     import bb
     if bb.data.getVar('PACKAGES', d, True) != '':
-        bb.data.setVarFlag('do_package_write_deb', 'depends', 'dpkg-native:do_populate_staging fakeroot-native:do_populate_staging', d)
+        deps = (bb.data.getVarFlag('do_package_write_deb', 'depends', d) or "").split()
+        deps.append('dpkg-native:do_populate_staging')
+        deps.append('fakeroot-native:do_populate_staging')
+        bb.data.setVarFlag('do_package_write_deb', 'depends', " ".join(deps), d)
 }
 
 python do_package_write_deb () {
============================================================
--- classes/package_ipk.bbclass	026a54435a436ef29405fa6b02afea519cc76ce7
+++ classes/package_ipk.bbclass	fdf9fdf2855198b24b017026dd3777995b2977d2
@@ -114,7 +114,7 @@ python do_package_ipk () {
 }
 
 python do_package_ipk () {
-	import sys, re, copy, fcntl
+	import sys, re, copy
 
 	workdir = bb.data.getVar('WORKDIR', d, 1)
 	if not workdir:
@@ -147,22 +147,12 @@ python do_package_ipk () {
 		bb.debug(1, "No packages; nothing to do")
 		return
 
-	def lockfile(name):
-		lf = open(name, "a+")
-		fcntl.flock(lf.fileno(), fcntl.LOCK_EX)
-		return lf
-
-	def unlockfile(lf):
-		fcntl.flock(lf.fileno(), fcntl.LOCK_UN)
-		lf.close
-
-
 	for pkg in packages.split():
 		localdata = bb.data.createCopy(d)
 		pkgdest = bb.data.getVar('PKGDEST', d, 1)
 		root = "%s/%s" % (pkgdest, pkg)
 
-		lf = lockfile(root + ".lock")
+		lf = bb.utils.lockfile(root + ".lock")
 
 		bb.data.setVar('ROOT', '', localdata)
 		bb.data.setVar('ROOT_%s' % pkg, root, localdata)
@@ -193,7 +183,7 @@ python do_package_ipk () {
 		if not g and bb.data.getVar('ALLOW_EMPTY', localdata) != "1":
 			from bb import note
 			note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
-			unlockfile(lf)
+			bb.utils.unlockfile(lf)
 			continue
 
 		controldir = os.path.join(root, 'CONTROL')
@@ -201,7 +191,7 @@ python do_package_ipk () {
 		try:
 			ctrlfile = file(os.path.join(controldir, 'control'), 'w')
 		except OSError:
-			unlockfile(lf)
+			bb.utils.unlockfile(lf)
 			raise bb.build.FuncFailed("unable to open control file for writing.")
 
 		fields = []
@@ -235,7 +225,7 @@ python do_package_ipk () {
 		except KeyError:
 			(type, value, traceback) = sys.exc_info()
 			ctrlfile.close()
-			unlockfile(lf)
+			bb.utils.unlockfile(lf)
 			raise bb.build.FuncFailed("Missing field for ipk generation: %s" % value)
 		# more fields
 
@@ -272,7 +262,7 @@ python do_package_ipk () {
 			try:
 				scriptfile = file(os.path.join(controldir, script), 'w')
 			except OSError:
-				unlockfile(lf)
+				bb.utils.unlockfile(lf)
 				raise bb.build.FuncFailed("unable to open %s script file for writing." % script)
 			scriptfile.write(scriptvar)
 			scriptfile.close()
@@ -283,7 +273,7 @@ python do_package_ipk () {
 			try:
 				conffiles = file(os.path.join(controldir, 'conffiles'), 'w')
 			except OSError:
-				unlockfile(lf)
+				bb.utils.unlockfile(lf)
 				raise bb.build.FuncFailed("unable to open conffiles for writing.")
 			for f in conffiles_str.split():
 				co%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list