home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
-
- mount_point="$1"
-
- # sanity checks
- if [ -z "$mount_point" ]; then
- exit 0
- fi
-
- if [ ! -d "$mount_point/ubuntu" ]; then
- exit 0
- fi
-
- # check if there are "Packages" files on the cd (and ignore the
- # debian-installer dir)
- find "$mount_point/dists/" -name Packages|grep -q -v debian-installer
-
- # 1 means "no lines where selected" in grep (no Packages file but the
- # debian-installer ones)
- if [ $? -eq 1 ]; then
- exit 0
- fi
-
- # get some apt-config vars
- label_start=0
- cdrom_id=""
-
- apt_dir="/"
- apt_state_dir="var/lib/apt/"
- apt_cdrom_list="cdrom.list"
- eval $(apt-config shell apt_dir Dir \
- apt_state_dir Dir::State \
- apt_cdrom_list Dir::State::cdroms)
-
-
-
- # identifying ... [afkdsjaf] line
- line=$(apt-cdrom -d="$1" -m ident|grep "\[.*\]")
-
- # remove the stuff before "Identifiyng... [dasjflkd]" -> "dasjflkd"
- line=${line%]*}
- cdrom_id=${line#*[}
-
- if [ -z "$cdrom_id" ]; then
- # something bad happend here, we return "not yet scanned" as
- # fallback (because we are cheap)
- return 1
- fi
-
- # [cdrom-id] -> cdrom-id
- if grep -s -q "$cdrom_id" $apt_dir$apt_state_dir$apt_cdrom_list; then
- # already in sources.list, ignore
- exit 0
- fi
-
- # not found, return true
- exit 1