@@ -22,6 +22,8 @@ import (
2222)
2323
2424const aptLimitKey = "Acquire::http::Dl-Limit"
25+ const aptSourcePartsKey = "Dir::Etc::SourceParts"
26+ const aptSourceListKey = "Dir::Etc::SourceList"
2527
2628type APTSystem struct {
2729 CmdSet map [string ]* system.Command
@@ -282,6 +284,18 @@ func (p *APTSystem) DownloadSource(jobId string, packages []string, environ map[
282284 if ok {
283285 cmdArgs = append (cmdArgs , "--max-recv-speed" , speedLimit )
284286 }
287+
288+ var upgradeArgString string
289+ aptSourceList , ok1 := args [aptSourceListKey ]
290+ aptSourceParts , ok2 := args [aptSourcePartsKey ]
291+ if ok1 && ok2 {
292+ upgradeArgString = fmt .Sprintf ("-o %s=%s -o %s=%s" ,
293+ aptSourceListKey , aptSourceList ,
294+ aptSourcePartsKey , aptSourceParts )
295+ }
296+ environ ["DEEPIN_IMMUTABLE_UPGRADE_APT_OPTION" ] = upgradeArgString
297+ logger .Info ("DownloadSource set env DEEPIN_IMMUTABLE_UPGRADE_APT_OPTION:" , upgradeArgString )
298+
285299 c := newAPTCommand (p , jobId , system .IncrementalDownloadJobType , p .Indicator , cmdArgs )
286300 c .SetEnv (environ )
287301 return c .Start ()
@@ -335,6 +349,18 @@ func (p *APTSystem) DistUpgrade(jobId string, packages []string, environ map[str
335349 if ok {
336350 cmdArgs = append (cmdArgs , "--max-recv-speed" , speedLimit )
337351 }
352+
353+ var upgradeArgString string
354+ aptSourceList , ok1 := args [aptSourceListKey ]
355+ aptSourceParts , ok2 := args [aptSourcePartsKey ]
356+ if ok1 && ok2 {
357+ upgradeArgString = fmt .Sprintf ("-o %s=%s -o %s=%s" ,
358+ aptSourceListKey , aptSourceList ,
359+ aptSourcePartsKey , aptSourceParts )
360+ }
361+ environ ["DEEPIN_IMMUTABLE_UPGRADE_APT_OPTION" ] = upgradeArgString
362+ logger .Info ("DistUpgrade set env DEEPIN_IMMUTABLE_UPGRADE_APT_OPTION:" , upgradeArgString )
363+
338364 c := newAPTCommand (p , jobId , system .IncrementalUpdateJobType , p .Indicator , cmdArgs )
339365 c .SetEnv (environ )
340366 return c .Start ()
0 commit comments