Changeset 67de919


Ignore:
Timestamp:
09/07/2008 04:27:29 PM (16 years ago)
Author:
DJ Lucas <dj@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
298aeee
Parents:
8b50d86
Message:

Use new initd-tools package, store log times in UTC, use soft depenendencies for minimal install target

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8558 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Location:
bootscripts/contrib/lsb-v3
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • bootscripts/contrib/lsb-v3/ChangeLog

    r8b50d86 r67de919  
    11ChangeLog
     2
     320080907 - [dj] * Use new initd-tools package to activate scripts.
     4                * $syslog and modules services cannot be a hard dependencies
     5                  due to minimal install target.
     6                * Store bootlog date in UTC.
     7
    2820080831 - [dj] * Corrected more, and minimized dependencies in scripts.
    39                * Don't try to write to bootlog in 0 and 6.
  • bootscripts/contrib/lsb-v3/INSTALL

    r8b50d86 r67de919  
    11LSB-V3 Installation:
    22
    3 Inline LFS installation:  make install &&
    4                           sed -i.bak 's@/etc/rc.d@/etc@' /etc/inittab
     3NOTE:  initd-tools must be installed prior to installation of these scripts.
    54
     5initd-tools installation:
    66
    7 After LFS:  for file in /etc/rc.d /etc/sysconfig/rc /etc/sysconfig/modules \
    8                 /etc/sysconfig/createfiles
    9               do
    10                 mv $file $file.bak
    11               done &&
    12             make install &&
    13             sed -i.bak 's@/etc/rc.d@/etc@' /etc/inittab
     7Download initd-tools from:
     8http://www.dwcab.com/downloads/initd-tools/initd-tools-0.1.2.tar.gz
    149
     10        ./configure &&
     11        make &&
     12        make check &&
     13        make install
     14   
     15Inline installation of lsb-v3 bootscripts:
     16        sudo make install
    1517
    16 With existing scripts:  HERE=$PWD
    17                         cp -a /etc/rc.d /etc/rc.d.bak &&
    18                         mv /etc/rc.d/* /etc &&
    19                         cd /etc/rc.d &&
    20                         ln -s ../rc*.d . &&
    21                         ln -s ../init.d . &&
    22                         for file in /etc/rc.d /etc/syconfig/rc \
    23                             /etc/sysconfig/modules /etc/sysconfig/createfiles
    24                           do
    25                             mv $file $file.bak
    26                           done &&
    27                         cd $HERE &&
    28                         unset HERE &&
    29                         make install &&
    30                         sed -i.bak 's@/etc/rc.d@/etc/@' /etc/inittab
    31                        
     18After LFS installation of lsb-v3 bootscripts:
     19        for file in /etc/rc.d /etc/sysconfig/rc /etc/sysconfig/modules \
     20            /etc/sysconfig/createfiles
     21        do
     22            mv $file $file.bak
     23        done &&
     24        make install
     25
     26There is no longer an upgrade path for existing installations. You will have
     27to reinstall any bootscripts installed by BLFS or any self written scripts.
     28Fortunately, this will soon be very easy for BLFS scripts as a contrib
     29directory containing lsb-v3 scripts will be added in the near future.
     30
    3231That's it!
  • bootscripts/contrib/lsb-v3/Makefile

    r8b50d86 r67de919  
    2828
    2929install: create-dirs create-service-dir create-boottemp-dir
    30         install -m ${MODE} init.d/checkfs           ${EXTDIR}/init.d/
    31         install -m ${MODE} init.d/cleanfs           ${EXTDIR}/init.d/
    32         install -m ${CONFMODE} init.d/lfs-functions ${EXTDIR}/init.d/
    33         install -m ${MODE} init.d/halt              ${EXTDIR}/init.d/
    34         install -m ${MODE} init.d/console           ${EXTDIR}/init.d/
    35         install -m ${MODE} init.d/localnet          ${EXTDIR}/init.d/
    36         install -m ${MODE} init.d/modules           ${EXTDIR}/init.d/
    37         install -m ${MODE} init.d/mountfs           ${EXTDIR}/init.d/
    38         install -m ${MODE} init.d/mountkernfs       ${EXTDIR}/init.d/
    39         install -m ${MODE} init.d/network           ${EXTDIR}/init.d/
    40         install -m ${MODE} init.d/rc                ${EXTDIR}/init.d/
    41         install -m ${MODE} init.d/reboot            ${EXTDIR}/init.d/
    42         install -m ${MODE} init.d/sendsignals       ${EXTDIR}/init.d/
    43         install -m ${MODE} init.d/setclock          ${EXTDIR}/init.d/
    44         install -m ${MODE} init.d/sysklogd          ${EXTDIR}/init.d/
    45         install -m ${MODE} init.d/swap              ${EXTDIR}/init.d/
    46         install -m ${MODE} init.d/sysctl            ${EXTDIR}/init.d/
    47         install -m ${MODE} init.d/template          ${EXTDIR}/init.d/
    48         install -m ${MODE} init.d/udev              ${EXTDIR}/init.d/
    49         install -m ${MODE} init.d/udev_retry        ${EXTDIR}/init.d/
    50         install -m ${CONFMODE} lsb/init-functions   ${DESTDIR}/lib/lsb/
    51         install -m ${CONFMODE} lsb/manage-functions ${DESTDIR}/lib/lsb/
    52         install -m ${CONFMODE} etc/lsb-config       ${EXTDIR}/lsb/
    53         ln -sf ../init.d/network     ${EXTDIR}/rc0.d/K80network
    54         ln -sf ../init.d/sysklogd    ${EXTDIR}/rc0.d/K90sysklogd
    55         ln -sf ../init.d/sendsignals ${EXTDIR}/rc0.d/S60sendsignals
    56         ln -sf ../init.d/mountfs     ${EXTDIR}/rc0.d/S70mountfs
    57         ln -sf ../init.d/swap        ${EXTDIR}/rc0.d/S80swap
    58         ln -sf ../init.d/localnet    ${EXTDIR}/rc0.d/S90localnet
    59         ln -sf ../init.d/halt        ${EXTDIR}/rc0.d/S99halt
    60         ln -sf ../init.d/network     ${EXTDIR}/rc1.d/K80network
    61         ln -sf ../init.d/sysklogd    ${EXTDIR}/rc1.d/K90sysklogd
    62         ln -sf ../init.d/network     ${EXTDIR}/rc2.d/K80network
    63         ln -sf ../init.d/sysklogd    ${EXTDIR}/rc2.d/K90sysklogd
    64         ln -sf ../init.d/sysklogd    ${EXTDIR}/rc3.d/S10sysklogd
    65         ln -sf ../init.d/network     ${EXTDIR}/rc3.d/S20network
    66         ln -sf ../init.d/sysklogd    ${EXTDIR}/rc4.d/S10sysklogd
    67         ln -sf ../init.d/network     ${EXTDIR}/rc4.d/S20network
    68         ln -sf ../init.d/sysklogd    ${EXTDIR}/rc5.d/S10sysklogd
    69         ln -sf ../init.d/network     ${EXTDIR}/rc5.d/S20network
    70         ln -sf ../init.d/network     ${EXTDIR}/rc6.d/K80network
    71         ln -sf ../init.d/sysklogd    ${EXTDIR}/rc6.d/K90sysklogd
    72         ln -sf ../init.d/sendsignals ${EXTDIR}/rc6.d/S60sendsignals
    73         ln -sf ../init.d/mountfs     ${EXTDIR}/rc6.d/S70mountfs
    74         ln -sf ../init.d/swap        ${EXTDIR}/rc6.d/S80swap
    75         ln -sf ../init.d/localnet    ${EXTDIR}/rc6.d/S90localnet
    76         ln -sf ../init.d/reboot      ${EXTDIR}/rc6.d/S99reboot
    77         ln -sf ../init.d/mountkernfs ${EXTDIR}/rcS.d/S00mountkernfs
    78         ln -sf ../init.d/sysctl      ${EXTDIR}/rcS.d/S05sysctl
    79         ln -sf ../init.d/modules     ${EXTDIR}/rcS.d/S10modules
    80         ln -sf ../init.d/udev        ${EXTDIR}/rcS.d/S15udev
    81         ln -sf ../init.d/swap        ${EXTDIR}/rcS.d/S20swap
    82         ln -sf ../init.d/setclock    ${EXTDIR}/rcS.d/S25setclock
    83         ln -sf ../init.d/checkfs     ${EXTDIR}/rcS.d/S30checkfs
    84         ln -sf ../init.d/mountfs     ${EXTDIR}/rcS.d/S40mountfs
    85         ln -sf ../init.d/udev_retry  ${EXTDIR}/rcS.d/S45udev_retry
    86         ln -sf ../init.d/cleanfs     ${EXTDIR}/rcS.d/S50cleanfs
    87         ln -sf ../init.d/console     ${EXTDIR}/rcS.d/S70console
    88         ln -sf ../init.d/localnet    ${EXTDIR}/rcS.d/S80localnet
     30        install -m ${MODE} init.d/checkfs.sh            ${EXTDIR}/init.d/
     31        install -m ${MODE} init.d/cleanfs               ${EXTDIR}/init.d/
     32        install -m ${CONFMODE} init.d/lfs-functions     ${EXTDIR}/init.d/
     33        install -m ${MODE} init.d/halt                  ${EXTDIR}/init.d/
     34        install -m ${MODE} init.d/console-screen-kbd.sh ${EXTDIR}/init.d/
     35        install -m ${MODE} init.d/localnet              ${EXTDIR}/init.d/
     36        install -m ${MODE} init.d/modules               ${EXTDIR}/init.d/
     37        install -m ${MODE} init.d/mountfs               ${EXTDIR}/init.d/
     38        install -m ${MODE} init.d/mountkernfs           ${EXTDIR}/init.d/
     39        install -m ${MODE} init.d/network               ${EXTDIR}/init.d/
     40        install -m ${MODE} init.d/rc                    ${EXTDIR}/init.d/
     41        install -m ${MODE} init.d/reboot                ${EXTDIR}/init.d/
     42        install -m ${MODE} init.d/sendsigs              ${EXTDIR}/init.d/
     43        install -m ${MODE} init.d/setclock              ${EXTDIR}/init.d/
     44        install -m ${MODE} init.d/sysklogd              ${EXTDIR}/init.d/
     45        install -m ${MODE} init.d/swap                  ${EXTDIR}/init.d/
     46        install -m ${MODE} init.d/sysctl                ${EXTDIR}/init.d/
     47        install -m ${MODE} init.d/template              ${EXTDIR}/init.d/
     48        install -m ${MODE} init.d/udev                  ${EXTDIR}/init.d/
     49        install -m ${MODE} init.d/udev_retry            ${EXTDIR}/init.d/
     50        install -m ${CONFMODE} lsb/init-functions       ${DESTDIR}/lib/lsb/
     51        install -m ${CONFMODE} lsb/manage-functions     ${DESTDIR}/lib/lsb/
     52        install -m ${CONFMODE} etc/lsb-config           ${EXTDIR}/lsb/
    8953        if [ ! -f ${EXTDIR}/sysconfig/createfiles ]; then install -m ${CONFMODE} sysconfig/createfiles ${EXTDIR}/sysconfig/; fi
    9054        if [ ! -f ${EXTDIR}/sysconfig/modules     ]; then install -m ${CONFMODE} sysconfig/modules     ${EXTDIR}/sysconfig/; fi
    9155        if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then install -m ${CONFMODE} sysconfig/rc          ${EXTDIR}/sysconfig/; fi
    9256        if [ ! -f ${EXTDIR}/sysconfig/rc.site     ]; then install -m ${CONFMODE} sysconfig/rc.site     ${EXTDIR}/sysconfig/; fi
    93         if [ -f   ${EXTDIR}/inittab               ]; then install -m ${CONFMODE} ${EXTDIR}/inittab     ${EXTDIR}/inittab.bak;
     57        if [ -f   ${EXTDIR}/inittab               ]; then install -m ${CONFMODE} ${EXTDIR}/inittab     ${EXTDIR}/inittab.bak; fi
    9458        install                   -m ${CONFMODE} etc/inittab ${EXTDIR}/
    9559        install                   -m ${MODE} sysconfig/network-devices/ifup   ${EXTDIR}/sysconfig/network-devices/
     
    9761        install                   -m ${MODE} sysconfig/network-devices/services/ipv4-static       ${EXTDIR}/sysconfig/network-devices/services/
    9862        install                   -m ${MODE} sysconfig/network-devices/services/ipv4-static-route ${EXTDIR}/sysconfig/network-devices/services/
     63        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/checkfs.sh
     64        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/cleanfs
     65        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/halt
     66        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/console-screen-kbd.sh
     67        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/localnet
     68        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/modules
     69        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountfs
     70        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountkernfs
     71        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/network
     72        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/reboot
     73        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/sendsigs
     74        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/setclock
     75        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/sysklogd
     76        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/swap
     77        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/sysctl
     78        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/udev
     79        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/udev_retry
    9980
    10081minimal: create-dirs create-service-dir create-boottemp-dir
    101         install -m ${MODE} init.d/checkfs           ${EXTDIR}/init.d/
     82        install -m ${MODE} init.d/checkfs.sh        ${EXTDIR}/init.d/
    10283        install -m ${MODE} init.d/cleanfs           ${EXTDIR}/init.d/
    10384        install -m ${CONFMODE} init.d/lfs-functions ${EXTDIR}/init.d/
     
    10889        install -m ${MODE} init.d/rc                ${EXTDIR}/init.d/
    10990        install -m ${MODE} init.d/reboot            ${EXTDIR}/init.d/
    110         install -m ${MODE} init.d/sendsignals       ${EXTDIR}/init.d/
     91        install -m ${MODE} init.d/sendsigs       ${EXTDIR}/init.d/
    11192        install -m ${MODE} init.d/setclock          ${EXTDIR}/init.d/
    11293        install -m ${MODE} init.d/swap              ${EXTDIR}/init.d/
     
    11596        install -m ${CONFMODE} lsb/manage-functions ${DESTDIR}/lib/lsb/
    11697        install -m ${CONFMODE} etc/lsb-config       ${EXTDIR}/lsb/
    117         ln -sf ../init.d/sendsignals ${EXTDIR}/rc0.d/S60sendsignals
    118         ln -sf ../init.d/mountfs     ${EXTDIR}/rc0.d/S70mountfs
    119         ln -sf ../init.d/swap        ${EXTDIR}/rc0.d/S80swap
    120         ln -sf ../init.d/halt        ${EXTDIR}/rc0.d/S99halt
    121         ln -sf ../init.d/sendsignals ${EXTDIR}/rc6.d/S60sendsignals
    122         ln -sf ../init.d/mountfs     ${EXTDIR}/rc6.d/S70mountfs
    123         ln -sf ../init.d/swap        ${EXTDIR}/rc6.d/S80swap
    124         ln -sf ../init.d/reboot      ${EXTDIR}/rc6.d/S99reboot
    125         ln -sf ../init.d/mountkernfs ${EXTDIR}/rcS.d/S00mountkernfs
    126         ln -sf ../init.d/udev        ${EXTDIR}/rcS.d/S10udev
    127         ln -sf ../init.d/swap        ${EXTDIR}/rcS.d/S20swap
    128         ln -sf ../init.d/setclock    ${EXTDIR}/rcS.d/S25setclock
    129         ln -sf ../init.d/checkfs     ${EXTDIR}/rcS.d/S30checkfs
    130         ln -sf ../init.d/mountfs     ${EXTDIR}/rcS.d/S40mountfs
    131         ln -sf ../init.d/cleanfs     ${EXTDIR}/rcS.d/S50cleanfs
    13298        if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then install -m ${CONFMODE} sysconfig/rc          ${EXTDIR}/sysconfig/; fi
     99        if [ -f   ${EXTDIR}/inittab               ]; then install -m ${CONFMODE} ${EXTDIR}/inittab     ${EXTDIR}/inittab.bak; fi
     100        install                   -m ${CONFMODE} etc/inittab ${EXTDIR}/
     101        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/checkfs.sh
     102        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/cleanfs
     103        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/halt
     104        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/localnet
     105        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountfs
     106        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountkernfs
     107        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/reboot
     108        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/sendsigs
     109        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/setclock
     110        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/swap
     111        /usr/lib/lsb/install_initd ${EXTDIR}/init.d/udev
    133112
    134113.PHONY: all create-dirs create-service-dir create-boottemp-dir \
  • bootscripts/contrib/lsb-v3/README

    r8b50d86 r67de919  
    55usually the case with a rewrite, there have been many changes:
    66
    7 LSB Version 3.1 Compliant Scripts - Immediately noticable are the LSB headers
     7AS OF 20080907, THESE SCRIPTS REQUIRE THE NEW initd-tools PACKAGE.
     8Dan Nicholson has recently released an initd-tools package that contain
     9LSB compliant install_initd and remove_initd programs written in C.
     10See the INSTALL file for installation instructions.
     11
     12LSB Version 3.2 Compliant Scripts - Immediately noticable are the LSB headers
    813in the rc.d scripts themselves.  Each script contains a usable header to
    914allow for automating both the installation of, and determining proper
     
    1520the messages are created from parts and only written to the screen in a
    1621single command, so maybe no help at all WRT translated boot messages.
    17 
    18 LSB 3.1 Omissions - Unfortunately, this package is not completely LSB
    19 compliant as it lacks install_initd and remove_initd programs.  The current
    20 popular flavor of these programs is written in Python, which, as you should
    21 know, is not installed until BLFS.  I began work on a bash implementation,
    22 and have provided the needed functions to parse the LSB headers in the
    23 manage-functions script (insalled by default into /lib/lsb).  Unfortunately,
    24 I have yet to complete the actual install_initd and remove_initd scripts,
    25 and have found bash to an unsuitable language to write a complete reorder
    26 due to the ammount of time for recursive funtions and loops to complete.
    27 Dan Nicholson has began work on initd-tools, a C implementaion of
    28 install_initd and remove_initd.  At the time of writing (20080830) the
    29 programs themselves are not yet functional, however, the libraries used
    30 to parse the scripts and provide the dependency order are working as
    31 expected.  I would expect a completely standards compliant set of programs,
    32 written in C very soon. Dans work can be viewed via git-web at
    33 http://gitweb.dwcab.com/?p=initd-tools.git;a=summary .
    3422
    3523Distribution Independent - this original goal for the LFS scripts has been
     
    7058flying fingers accustomed to it!  Of course, this is still configurable in
    7159/etc/sysconfig/rc.site, and if the change is too great, I'll put it back.
    72 I've also removed the rcsysinit.d and replaced it with rcS.d.
     60I've also removed the rcsysinit.d directory and replaced it with rcS.d.
    7361
    7462LSB Functions - The previous lfs-bootscripts sourced a functions file
  • bootscripts/contrib/lsb-v3/init.d/network

    r8b50d86 r67de919  
    44### BEGIN INIT INFO
    55# Provides:            $network
    6 # Required-Start:      $syslog
    7 # Should-Start:
    8 # Required-Stop:       $syslog $local_fs swap localnet
    9 # Should-Stop:
     6# Required-Start:
     7# Should-Start:        $syslog
     8# Required-Stop:       $local_fs swap localnet
     9# Should-Stop:         $syslog
    1010# Default-Start:       3 4 5
    1111# Default-Stop:        0 1 2 6
  • bootscripts/contrib/lsb-v3/init.d/setclock

    r8b50d86 r67de919  
    44### BEGIN INIT INFO
    55# Provides:            $time
    6 # Required-Start:      modules
    7 # Should-Start:
    8 # Required-Stop:       $syslog
    9 # Should-Stop:
     6# Required-Start:
     7# Should-Start:        modules
     8# Required-Stop:
     9# Should-Stop:         $syslog
    1010# Default-Start:       S
    1111# Default-Stop:
  • bootscripts/contrib/lsb-v3/init.d/swap

    r8b50d86 r67de919  
    44### BEGIN INIT INFO
    55# Provides:            swap
    6 # Required-Start:      modules
    7 # Should-Start:
     6# Required-Start:
     7# Should-Start:        modules
    88# Required-Stop:       localnet
    99# Should-Stop:
  • bootscripts/contrib/lsb-v3/init.d/udev

    r8b50d86 r67de919  
    44### BEGIN INIT INFO
    55# Provides:            udev
    6 # Required-Start:      modules
    7 # Should-Start:
     6# Required-Start:
     7# Should-Start:        modules
    88# Required-Stop:
    99# Should-Stop:
  • bootscripts/contrib/lsb-v3/lsb/init-functions

    r8b50d86 r67de919  
    448448            BTTIMESPEC=""
    449449        else
    450             BTTIMESPEC="$(echo `date +"%b %d %T"` `hostname`) "
     450            BTTIMESPEC="$(echo `date -u +"%b %d %T"` `hostname`) "
    451451        fi
    452452        echo "${BTTIMESPEC}bootlog: ${@} Successful" >> "${TEMPFS_MOUNT}/.bootlog"
     
    475475            BTTIMESPEC=""
    476476        else
    477             BTTIMESPEC="$(echo `date +"%b %d %T"` `hostname`) "
     477            BTTIMESPEC="$(echo `date -u +"%b %d %T"` `hostname`) "
    478478        fi
    479479        echo "${BTTIMESPEC}bootlog: ${@} Failed!" >> "${TEMPFS_MOUNT}/.bootlog"
     
    502502            BTTIMESPEC=""
    503503        else
    504             BTTIMESPEC="$(echo `date +"%b %d %T"` `hostname`) "
     504            BTTIMESPEC="$(echo `date -u +"%b %d %T"` `hostname`) "
    505505        fi
    506506        echo "${BTTIMESPEC}bootlog: ${@} Warning" >> "${TEMPFS_MOUNT}/.bootlog"
Note: See TracChangeset for help on using the changeset viewer.