Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 46897 | Differences between
and this patch

Collapse All | Expand All

(-)gendepends.awk.orig (-10 / +32 lines)
Lines 82-98 Link Here
82
		
82
		
83
	if (check_provide(provide)) {
83
	if (check_provide(provide)) {
84
		# We cannot have more than one service Providing a virtual ...
84
		# We cannot have more than one service Providing a virtual ...
85
		ewarn(" Service '" get_provide(provide) "' already provide '" provide "'!;")
85
		# However we can let the user choose by setting RC_VIRTUAL_PREFERENCE
86
		ewarn(" Not adding service '" service "'...")
86
		if ( VIRTPREFAR[provide] == "" ) {
87
		# Do not fail here as we do have a service that resolves the virtual
87
			ewarn(" Service '" get_provide(provide) "' already provide '" provide "'!;")
88
	} else {
88
			ewarn(" Not adding service '" service "'...")
89
		# Sanity check
89
			ewarn(" To set which service you would prefer to provide '" provide "' please set")
90
		if (check_service(service)) {
90
			ewarn(" RC_VIRTUAL_PREFERENCE in /etc/conf.d/rc")
91
			PROVIDE_LIST[provide] = service
91
			# Do not fail here as we do have a service that resolves the virtual
92
		} else {
92
			return 1
93
			eerror(" Cannot add provide '" provide "', as service '" service "' do not exist!")
93
		} else if ( VIRTPREFAR[provide] != service ) {
94
			return 0
94
			# return without changing provide
95
			return 1
95
		}
96
		}
97
		# Looks like this is the users preference so fall through and change
98
		# the provide
99
	}
100
	# Sanity check
101
	if (check_service(service)) {
102
		PROVIDE_LIST[provide] = service
103
	} else {
104
		eerror(" Cannot add provide '" provide "', as service '" service "' do not exist!")
105
		return 0
96
	}
106
	}
97
107
98
	return 1
108
	return 1
Lines 334-339 Link Here
334
	DEPTYPES = ENVIRON["DEPTYPES"]
344
	DEPTYPES = ENVIRON["DEPTYPES"]
335
	ORDTYPES = ENVIRON["ORDTYPES"]
345
	ORDTYPES = ENVIRON["ORDTYPES"]
336
346
347
	# Preferences for conflicting virtual provides
348
	VIRTPREF = ENVIRON["VIRTPREF"]
349
	if (VIRTPREF != "") {
350
		split(VIRTPREF, vpsplit) 
351
		for (vp in vpsplit) {
352
			split(vpsplit[vp], vps, ":")
353
			if (vps[1] != "" && vps[2] != ""){
354
				VIRTPREFAR[vps[1]]=vps[2]
355
			}
356
		}
357
	}
358
337
	CACHEDTREE = SVCDIR "/deptree"
359
	CACHEDTREE = SVCDIR "/deptree"
338
360
339
	assert(dosystem("rm -f " CACHEDTREE ), "system(rm -f " CACHEDTREE ")")
361
	assert(dosystem("rm -f " CACHEDTREE ), "system(rm -f " CACHEDTREE ")")

Return to bug 46897