/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("");
}
|