rickysarraf / apt-offline

Offline APT Package Manager
http://rickysarraf.github.io/apt-offline/
GNU General Public License v3.0
218 stars 37 forks source link

IndexError: list index out of range #181

Closed rickysarraf closed 2 years ago

rickysarraf commented 2 years ago

Thanks to Github Actions CI, uncovered this bug.

This is happening with source package downloads.

Downloaded data to /tmp/apt-offline-tests-5J717Xth/download-dir
Executing function install_features
Executing command 'install /tmp/apt-offline-tests-5J717Xth/download-dir  --skip-bug-reports'
Traceback (most recent call last):
  File "./apt-offline", line 28, in <module>
    main()
  File "/home/runner/work/apt-offline/apt-offline/apt_offline_core/AptOfflineCoreLib.py", line 2498, in main
    args.func(args)
  File "/home/runner/work/apt-offline/apt-offline/apt_offline_core/AptOfflineCoreLib.py", line 2149, in installer
    SrcPkgData = SrcPkgIdentifier.split(' ')[3].rstrip("\n")
IndexError: list index out of range
Executing command 'install /tmp/apt-offline-tests-5J717Xth/download-dir --skip-bug-reports --allow-unauthenticated'
Traceback (most recent call last):
  File "./apt-offline", line 28, in <module>
    main()
  File "/home/runner/work/apt-offline/apt-offline/apt_offline_core/AptOfflineCoreLib.py", line 2498, in main
    args.func(args)
  File "/home/runner/work/apt-offline/apt-offline/apt_offline_core/AptOfflineCoreLib.py", line 2149, in installer
    SrcPkgData = SrcPkgIdentifier.split(' ')[3].rstrip("\n")
IndexError: list index out of range
Executing command 'install /tmp/apt-offline-tests-5J717Xth/bundle-file.zip  --skip-bug-reports'
Traceback (most recent call last):
  File "./apt-offline", line 28, in <module>
    main()
  File "/home/runner/work/apt-offline/apt-offline/apt_offline_core/AptOfflineCoreLib.py", line 2498, in main
    args.func(args)
  File "/home/runner/work/apt-offline/apt-offline/apt_offline_core/AptOfflineCoreLib.py", line 2023, in installer
    SrcPkgData = SrcPkgIdentifier.split(' ')[3].rstrip("\n")
IndexError: list index out of range
Executing command 'install /tmp/apt-offline-tests-5J717Xth/bundle-file.zip --skip-bug-reports --allow-unauthenticated'
Traceback (most recent call last):
  File "./apt-offline", line 28, in <module>
    main()
  File "/home/runner/work/apt-offline/apt-offline/apt_offline_core/AptOfflineCoreLib.py", line 2498, in main
    args.func(args)
  File "/home/runner/work/apt-offline/apt-offline/apt_offline_core/AptOfflineCoreLib.py", line 2023, in installer
    SrcPkgData = SrcPkgIdentifier.split(' ')[3].rstrip("\n")
IndexError: list index out of range
Error: Process completed with exit code 1.
0s
0s
rickysarraf commented 2 years ago

On immediate run on my Debian box, issue isn't seen.

rrs@priyasi:~/.../apt-offline (master)$ sudo apt-offline set /tmp/source.uris --install-src-packages apt-offline --src-build-dep 
Gathering installation details for source package ['apt-offline']
Generating Build-Dependency for source packages ['apt-offline'].
21:30 ♒ ॐ ♅ ♄ ⛢     ☺ 😄    

rrs@priyasi:~/.../apt-offline (master)$ ./apt-offline get /tmp/source.uris --download-dir /tmp/source --threads 5 --proxy-host chutzpah --proxy-port 3142 --bug-reports 

Fetching APT Data

WARNING: If you are on a slow connection, it is good to
WARNING: limit the number of threads to a low number like 2.
WARNING: Else higher number of threads executed could cause
WARNING: network congestion and timeouts.

Downloading http://deb.debian.org/debian/pool/main/a/apt-offline/apt-offline_1.8.4-1.dsc                                                             
Downloading http://deb.debian.org/debian/pool/main/a/apt-offline/apt-offline_1.8.4.orig.tar.gz                                                             
Downloading http://deb.debian.org/debian/pool/main/a/apt-offline/apt-offline_1.8.4-1.debian.tar.xz                                                             
http://deb.debian.org/debian/pool/main/a/apt-offline/apt-offline_1.8.4-1.dsc done                                                             
http://deb.debian.org/debian/pool/main/a/apt-offline/apt-offline_1.8.4-1.debian.tar.xz done                                                             
http://deb.debian.org/debian/pool/main/a/apt-offline/apt-offline_1.8.4.orig.tar.gz done                                                             
  3 /   3 items: [##############################] 100.0% of 108 KiB
Downloaded data to /tmp/source
21:30 ♒ ॐ ♅ ♄ ⛢     ☺ 😄    

rrs@priyasi:~/.../apt-offline (master)$ sudo ./apt-offline install /tmp/source --skip-bug-reports 
Proceeding with installation
Installing src package file apt-offline_1.8.4.orig.tar.gz to /tmp/apt-offline-src-downloads-258225.
Installing src package file apt-offline_1.8.4-1.debian.tar.xz to /tmp/apt-offline-src-downloads-258225.
Installing src package file apt-offline_1.8.4-1.dsc to /tmp/apt-offline-src-downloads-258225.
python3-all_3.9.8-1_amd64.deb file synced.
21:30 ♒ ॐ ♅ ♄ ⛢     ☺ 😄    
rickysarraf commented 2 years ago

Okay!! The problem is Ubuntu specifc, wherein it adds extra headers to the .dsc file. apt-offline should handle it nevertheless.

The exception is:

Downloaded data to /tmp/apt-offline-tests-Pnr0cTGu/download-dir
Executing function install_features
Executing command 'install /tmp/apt-offline-tests-Pnr0cTGu/download-dir  --skip-bug-reports'
ERROR: Traceback (most recent call last):
Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-terminal

  File "/home/runner/work/apt-offline/apt-offline/apt_offline_core/AptOfflineCoreLib.py", line 2150, in installer
    SrcPkgData = SrcPkgIdentifier.split()[2].rstrip("\n")
IndexError: list index out of range
Executing command 'install /tmp/apt-offline-tests-Pnr0cTGu/download-dir --skip-bug-reports --allow-unauthenticated'
ERROR: Traceback (most recent call last):
Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-terminal

The .dsc file from Ubuntu is: http://archive.ubuntu.com/ubuntu/pool/main/g/gnome-terminal/gnome-terminal_3.36.1.1-1ubuntu1.dsc

Files:
 31381c96bf67279c61cec0a4e2473cfa 2528356 gnome-terminal_3.36.1.1.orig.tar.xz
 64625334eeeb3b87a9d6978b02ba7587 37660 gnome-terminal_3.36.1.1-1ubuntu1.debian.tar.xz
Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-terminal
Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-terminal.git
Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>

-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQS3BQ0q0N8gcM8UAMNrQndJMip/nwUCXpEgNgAKCRBrQndJMip/
n++ZAKCKvaykcCpqFfogRREndAozVqQChwCfWpr2Q5OLzQ3n+QN37anjOZSDPw0=
=QCqQ
-----END PGP SIGNATURE-----