@@ -21,6 +21,8 @@ import (
2121 "github.com/linuxdeepin/lastore-daemon/src/internal/system"
2222)
2323
24+ const aptLimitKey = "Acquire::http::Dl-Limit"
25+
2426type APTSystem struct {
2527 CmdSet map [string ]* system.Command
2628 Indicator system.Indicator
@@ -275,7 +277,12 @@ func (p *APTSystem) DownloadSource(jobId string, packages []string, environ map[
275277 */
276278
277279 if p .IncrementalUpdate {
278- c := newAPTCommand (p , jobId , system .IncrementalDownloadJobType , p .Indicator , append (packages , OptionToArgs (args )... ))
280+ var cmdArgs []string
281+ speedLimit , ok := args [aptLimitKey ]
282+ if ok {
283+ cmdArgs = append (cmdArgs , "--max-recv-speed" , speedLimit )
284+ }
285+ c := newAPTCommand (p , jobId , system .IncrementalDownloadJobType , p .Indicator , cmdArgs )
279286 c .SetEnv (environ )
280287 return c .Start ()
281288 }
@@ -323,7 +330,12 @@ func (p *APTSystem) DistUpgrade(jobId string, packages []string, environ map[str
323330
324331 if p .IncrementalUpdate {
325332 logger .Info ("incremental update" )
326- c := newAPTCommand (p , jobId , system .IncrementalUpdateJobType , p .Indicator , append (packages , OptionToArgs (args )... ))
333+ var cmdArgs []string
334+ speedLimit , ok := args [aptLimitKey ]
335+ if ok {
336+ cmdArgs = append (cmdArgs , "--max-recv-speed" , speedLimit )
337+ }
338+ c := newAPTCommand (p , jobId , system .IncrementalUpdateJobType , p .Indicator , cmdArgs )
327339 c .SetEnv (environ )
328340 return c .Start ()
329341 }
0 commit comments