This file is indexed.

/usr/share/aegis/report/debchanlog.rpt is in aegis 4.24.3-3.

This file is owned by root:root, with mode 0o644.

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
/*
 *	aegis - project change supervisor
 *	Copyright (C) 2004, 2006-2008 Peter Miller
 *
 *	This program is free software; you can redistribute it and/or modify
 *	it under the terms of the GNU General Public License as published by
 *	the Free Software Foundation; either version 3 of the License, or
 *	(at your option) any later version.
 *
 *	This program is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *	GNU General Public License for more details.
 *
 *	You should have received a copy of the GNU General Public License
 *	along with this program. If not, see
 *	<http://www.gnu.org/licenses/>.
 */

columns
(
	{ left = 0; right = 0; }, /* for the change heading */
	{ left = 2; right = 3; }, /* for the star */
	{ left = 4; right = 0; }  /* for the change description */
);

title(sprintf("Project \"%s\"", project_name()), "Debian Change Log");
auto pss, ps, j, ph, cs, tmp, tmp2, tmp3, the_list;
pss = project[project_name()].state;
ps = pss.branch;

/*
 * Build the list of changes to be put into the change log.
 */
the_list = [];
if (ps.currently_integrating_change != "")
{
    the_list ##= ps.currently_integrating_change;
}
for (j = count(ps.history) - 1; j >= 0; j = j - 1)
{
    ph = ps.history[j];
    the_list ##= ph.change_number;
}

/*
 * Now print information about each of them.
 */
for (j in the_list)
{
    cs = ps.change[j];

    /*
     * Mangle the project name and change version into the format that
     * the Debian changelog wants it to be in.
     */
    tmp = sprintf("%s.D%3.3d", pss.name, cs.delta_number);
    tmp2 = split(tmp, ".")[0];
    tmp3 = substr(tmp, length(tmp2) + 1, 9999);
    print(sprintf("%s (%s) unstable; urgency=low", tmp2, tmp3));
    print("");

    /*
     * Print the change description.
     */
    if (cs.description == "")
        cs.description = "No commit comment.";
    tmp = split(substr(cs.description, 0, 2000), "\n");
    for (tmp2 in tmp)
    {
	if (tmp2 != "")
	    print("", "*", tmp2);
    }
    print("");

    /*
     * find the developer name
     */
    auto dev, h, when, email;
    dev = "";
    for (h in cs.history)
    {
	if (h.what == develop_begin)
	    dev = h.who;
    }
    when = cs.history[count(cs.history) - 1].when;

    /*
     * You absolutely positively have to have "a <b@c>" as the email
     * address, "b@c" is not sufficient, according to the debian
     * changelog parser.
     */
    email = user[dev].email_address;
    if (count(split(email, '<')) < 2)
	email = passwd[dev].pw_comment ## " <" ## email ## ">";

    /*
     * Print the developer's email address and the date the change
     * was integrated.
     */
    print
    (
	" --", "",
	email ## "  " ## strftime("%a, %d %b %Y %H:%M:%S %z", when)
    );
    print("");
}