This file is indexed.

postinst is in apt-cacher-ng 0.7.2-1ubuntu1.

This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
#!/bin/sh -e

. /usr/share/debconf/confmodule

NAME=apt-cacher-ng
CDIR=/var/cache/$NAME
LDIR=/var/log/$NAME 
SLIST=/etc/apt/sources.list
CFG=/etc/apt-cacher-ng
DDIR=/usr/lib/apt-cacher-ng
VDIR=/var/lib/apt-cacher-ng

gen_mirror_list() {

   tmpfile="$1.dpkg-new"

   case "$2" in
      *gz)
      pickcmd=zgrep
      ;;
      *)
      pickcmd=grep
      ;;
   esac;

   (
   grep -h '^deb'  $SLIST.d/* $SLIST 2>/dev/null | sed -e "s,ftp:/,http:/," | \
   (
   while read a b c ; do
      case "$b" in http*) $pickcmd "$b" "$2" || true ;; esac
   done
   ) # but don't add duplicates
   ) | ( while read a ; do grep -q "$a" "$tmpfile" 2>/dev/null || echo "$a" >> "$tmpfile" ; done)

   # replace only if it got contents
   if test -s "$tmpfile" ; then
      cat "$tmpfile" > "$1"
   fi

   rm -f "$tmpfile"

}

sig='#09f369bf9c82a2210934e82213360226'

def_file_header="# This is a configuration file. All lines starting with # will be ignored.
#
# WARNING: this file is maintained by configuration scripts of the apt-cacher-ng
# package. All manual changes WILL BE LOST after the next package upgrade as
# long as a line looking exactly like $sig
# is found inside. Remove or modify that line to stop auto-updates of this file.
$sig

"

# .default files specify a set of fallback configuration for the cases where
# it's not possible to construct something useful in the regular backends files

set_def_files() {

   # ftp.debian.org is a geodns location, should be good as-is
   if ! test -r $VDIR/backends_debian.default ; then
      echo "$def_file_header" > $VDIR/backends_debian.default
      # Debian mirrors are using geodns
      echo http://ftp.debian.org/debian/ >> $VDIR/backends_debian.default
   fi

   if ! test -r $VDIR/backends_ubuntu.default ; then
      echo "$def_file_header" > $VDIR/backends_ubuntu.default
      echo http://archive.ubuntu.com/ubuntu/ >> $VDIR/backends_ubuntu.default
   fi

   # try to find a more suitable fallback mirror
   if ! test -s $CFG/backends_ubuntu ; then
      pick_ubuntu_mirrors $VDIR/backends_ubuntu.default
   fi

   # silent fix of the broken file generated by the first versions of the mirror picking code
   if grep -q "^$sig$" $VDIR/backends_ubuntu.default && grep -q "^http://archive.ubuntu.com/?$" $VDIR/backends_ubuntu.default ; then
      sed "s,http://archive.ubuntu.com,http://archive.ubuntu.com/ubuntu," -i $VDIR/backends_ubuntu.default
   fi
}

pick_ubuntu_mirrors() {

   headlen=$(grep -n "^$sig$" "$1" 2>/dev/null | cut -f2 -d: | tail -n1)

   if ! test "$headlen" ; then
      return # not for us, changed or removed by user
   fi
   
   tmpfile="`mktemp`"

   # may hit a local mirror
   sed -e 's,\([a-z]\)/.*,\1,' < $CFG/backends_debian | xargs -n1 -i grep "{}" $DDIR/ubuntu_mirrors > $tmpfile || true

   if ! test -s $tmpfile ; then # ok, go by Debian TLD
      grep debian.org/ /etc/apt-cacher-ng/backends_debian | \
         sed -e 's,^http://ftp[2-3]\?\.\([a-z][a-z]\).*,http://\1.archive.ubuntu.com/,' | \
         sort -u | xargs -n1 -i grep "{}" $DDIR/ubuntu_mirrors > $tmpfile || true
   fi

   if ! test -s $tmpfile ; then # ok, just any TLD
      sed -e 's,^http://\([^\/]\+\).*,\1,;s,.*\.\(.*\),http://\1.archive.ubuntu.com/,' < $CFG/backends_debian | \
         sort -u | xargs -n1 -i grep "{}" $DDIR/ubuntu_mirrors > $tmpfile || true
   fi

   if ! test -s $tmpfile ; then
      echo http://archive.ubuntu.com/ubuntu/ > $tmpfile || true
   fi

   if test -s $tmpfile ; then
      echo "$def_file_header" > $1
      cat $tmpfile >> $1
      # echo $- | grep x && cat $tmpfile || :
   fi

   rm -f "$tmpfile" 2>/dev/null

}

gen_lists() {
   gen_mirror_list $CFG/backends_debian $DDIR/deb_mirrors.gz
   gen_mirror_list $CFG/backends_ubuntu $DDIR/ubuntu_mirrors
   gen_mirror_list $CFG/backends_debvol $DDIR/debvol_mirrors.gz
}

if [ "$1" = "configure" ]; then

   adduser --quiet --system --group --no-create-home --home $CDIR $NAME

   for x in $CDIR $LDIR ; do 
      if [ ! -d "$x" ]; then
         install -d -g $NAME -o $NAME -m2755 "$x"
      fi
   done

   db_get apt-cacher-ng/gentargetmode || true

   case "$RET" in
      "Create once"|"Set up once")
      gen_lists

      db_set apt-cacher-ng/gentargetmode "No automated setup"
      db_go
      ;;
      "Create now and update later"|"Set up now and update later")
      gen_lists
      ;;
      "No automated setup")
      ;;
   esac

   db_stop || true

   rm -f $CFG/in.acng $CFG/mount.acng

   if [ -z "$(dpkg-statoverride --list $CFG/security.conf)" ] ; then
      dpkg-statoverride --update --add apt-cacher-ng apt-cacher-ng 600 $CFG/security.conf
   fi

   set_def_files
fi

# Automatically added by dh_installinit
if [ -x "/etc/init.d/apt-cacher-ng" ]; then
	if [ ! -e "/etc/init/apt-cacher-ng.conf" ]; then
		update-rc.d apt-cacher-ng defaults 18 >/dev/null
	fi
	invoke-rc.d apt-cacher-ng start || exit $?
fi
# End automatically added section