# Assessment

V: Verdict
P: Priority
    *** Have it in the next uploads
    **  Have it in bookworm
    *   For bookworm only if no hazzle
A: Amount of work (- none, * low, *** high)


# Outstanding bugs -- Important bugs; Unclassified (8 bugs)

* #779180 [i|  |  ] [schroot] Honor chroot personality in setup (service) scripts
    V: Affects schroot architecture, carefully check for unwanted side effects
    P: *
    A: **

* #842634 [i|  |  ] [schroot] schroot: fiddles with localhost entries in /etc/hosts creating duplicates
    V: might be related to glibc behaviour, but only on hosts lacking IPv6.
       Having no IPv6 is broken networking, but should be looked after anyway.
       Workaround: Filter out duplicates in 20nssdatabases. Fairly ugly.
       Next action: Ask for status
    P: *
    A: ?


* #857018 [i|  |  ] [schroot] schroot: Setup script not running, --session-name not working
    V: Cannot reproduce, moreinfo


* #987419 [i|  |  ] [schroot] schroot: Incorrect mount/unmount binfmt handler sequence for start/stop schroot stages
    V: Doit
    P: **
    A: **


* #992430 [i|  |  ] [schroot] schroot: user password does not match
    V: Confirmed, possibly document in README.Debian, wait for user
    P: ***
    A: *



# Outstanding bugs -- Important bugs; More information needed (1 bug)

* #557730 [i|M|=] [schroot] /etc/{protocols,network,services} not schroot's to scribble over
    V: Tricky one. We cannot forsee whether netbase is to be installed later
       in the chroot. And we cannot (TTBOMK) not tell dpkg to overwrite
       conffiles on a per-file base. Setting --force-confnew is a behaviour
       change that should not be done without some consideration.
       netbase is installed in my schroots, so maybe that's a non-issue? At least for the conffile prompt...
    P: *
    A: **



# Outstanding bugs -- Normal bugs; Patch Available (2 bugs)

* #815175 [n|+|=] [src:schroot] schroot fails to unmount chroot on failure in setup.d scripts


* #903781 [n|+|  ] [src:schroot] sbuild: Please add /dev/dri to default mounts, to support running GPU-based tests
    V: valid, not sure whether having that as default is a good idea. security considerations?
    P: *
    A: *


# Outstanding bugs -- Normal bugs; Unclassified (21 bugs)

* #586195 [n|  |  ] [schroot] 20nssdatabases checks for file equivalence
    V: No idea what's going on here


* #648459 [n|  |  ] [schroot] schroot doesn't mount /home submount into the chroot
    V: try and reproduce first, might have been kernel bug
    P: **
    A: ?

* #653491 [n|  |  ] [schroot] schroot: Please support wildcards in users and groups


* #674846 [n|  |  ] [schroot] /etc/resolv.conf should be copied upon every invocaktion, not just session start


* #679499 [n|  |  ] [schroot] schroot: suspend fails from chroot
    V: valid bug, very special usecase.
    P: *
    A: ***


* #688325 [n|  |  ] [schroot] [schroot] I can't mount usb key with schroot
    V: pmount inside chroot needs additional support
    P: *
    A: ?


* #708163 [n|  |=] [schroot] schroot should treat options after non-option as non-option
    V: Ping Ian and ask for the status
    P: *
    A: *


* #722280 [n|  |  ] [schroot] schroot fails if $CHROOT/etc/passwd is a symbolic link


* #751733 [n|  |  ] [schroot] --location does not work with session names


* #794612 [n|  |  ] [schroot] schroot: Undefined `__cxx11' references
    V: Likely no longer an issue


* #797781 [n|  |  ] [schroot] /dev/shm line is commented out by default but it's required by a lot of stuff


* #806507 [n|  |  ] [schroot] union-mount-options: fails to handle ${CHROOT_UNION_OVERLAY_DIRECTORY}, etc.


* #807671 [n|u|  ] [schroot] 20copyfiles doesn't cope well with absolute symlinks in destination path
    V: If this is still an issue, find a solution
       Possible fix: release/schroot-1.7.2-72-gbf30a928
    P: ***
    A: **


* #840883 [n|  |☣] [schroot] Please work around gnupg agents
    V: If this is still an issue, find a solution
    P: **
    A: ***


* #920386 [n|  |  ] [schroot] build_user configuration crashes with "uninitialized value $chroot_arch in scalar chomp"
    V: Retitle properly
    P: **
    A: ***


* #921282 [n|  |  ] [schroot] schroot: emits many messages “Alias ‘[...]’ already associated with ‘[...]’ chroot”


* #981219 [n|  |  ] [schroot] schroot overwrites cpuset
    V: Investigate
    P: **
    A: ***


* #988354 [n|  |  ] [schroot] schroot: fails to enter zfs source chroots
    V: Try to reproduce, discuss with vorlon
    P: **
    A: **


# Outstanding bugs -- Normal bugs; Will Not Fix (1 bug)

* #478076 [n|☹|  ] [schroot] schroot: Invokes PAM common session modules in host



# Outstanding bugs -- Minor bugs; Patch Available (3 bugs)

* #805150 [m|+u|  ] [schroot] schroot: /etc/machine-id should be copied in desktop profile
    V: Possibly do this, investigate pros and cons, possibly just a regression fix
    P: *
    A: *


* #898489 [m|+|  ] [schroot] robustness patch for 15killprocs
    V: Do this, after some investigation
    P: **
    A: **


* #1008616 [m|+|  ] [schroot] /etc/schroot/setup.d/05zfs: make ZFS snapshot removal more robust
    V: Discuss with vorlon (Submitter of ZFS support patch)



# Outstanding bugs -- Minor bugs; Unclassified (1 bug)

* #606415 [m|  |  ] [schroot] schroot.conf examples are back from the future
    V: nice-to-have
    P: *
    A: **


# Outstanding bugs -- Wishlist items; Patch Available (8 bugs)

* #599518 [w|+|  ] [schroot] schroot: feature request: ssh-like -X option
    V: Re-visit, "ssh -X" is no longer functional, but there might be other solutions
    P: *


* #705968 [w|+|  ] [schroot] schroot: --session-name should work with automatic sessions


* #709774 [w|+|  ] [schroot] Enable aufs on tmpfs via configuration parameter
    V: Possibly do it
    P: *
    A: **

* #727712 [w|+|  ] [schroot] Supplementary groups taken from the host system instead of the chroot


* #802849 [w|+|☺♔] [schroot] schroot: please allow to unshare the network
    V: Certainly want this. Careful testing needed, perhaps upload to exp first
    P: ***
    A: ***

* #837795 [w|+|  ] [schroot] setup.d/05file: cleanup, simplify, allow more compressors, enable parallel compression
    V: Revisit later
    P: **
    W: *



# Outstanding bugs -- Wishlist items; Confirmed (1 bug)

* #688750 [w|  |  ] [schroot, autofs] schroot and autofs need better integration
    V: Re-visit, does issue still exist?
    P: *
    A: ***



# Outstanding bugs -- Wishlist items; Unclassified (27 bugs)

* #477935 [w|  |  ] [schroot] way to prevent chroot from exiting
    V: Not sure about that


* #479944 [w|  |  ] [schroot] Use passwd database inside the chroot


* #488225 [w|  |  ] [schroot] Please support CLONE_NEWNS
    V: Merge with #637870, #707233


* #528963 [w|  |  ] [schroot] schroot: copyfile does not expand variables
    V: See also #579387


* #535943 [w|  |  ] [schroot] please provide packaged schroot instances, ready to use
    V: moreinfo - are you asking for a toolbox around plain schroot?


* #565745 [w|  |  ] [schroot] Syslog-Socket /dev/log in chroots
    V: nice-to-have, implement for syslog-ng as well
    P: *
    A: **


* #579387 [w|  |  ] [schroot] schroot: Please allow to use variables in default/fstab
    V: nice-to-have, explore. See also #528963
    P: *
    A: ***


* #587770 [w|  |  ] [schroot] schroot - Please provide a way to add things to the default environment filter
    V: nice-to-have
    P: *
    A: ***


* #608121 [w|  |  ] [schroot] schroot: Add support for unionfs-fuse
    V: what's the status?


* #623746 [w|  |  ] [schroot] add a --bindmounts flag (a la pbuilder)


* #623913 [w|  |  ] [schroot] schroot: Please support read-only bind-mounts


* #624195 [w|  |  ] [schroot] schroot --begin-session into an empty chroot doesn't work
    V: Re-read, not sure yet what OP wants to do


* #624200 [w|  |  ] [schroot] schroot: lvm-snapshot does not support /dev/mapper/VG-LV notation
    V: Investigate. If true, fix soon
    P: ***
    A: **


* #637870 [w|  |  ] [schroot] Provide more isolation than just chroot
    V: Merge with #488225, #707233


* #639105 [w|  |  ] [schroot] please consider adding support for lvm-snapshot on crypted LV
    V: nice-to-have
    P: *
    A: **


* #657709 [w|  |  ] [schroot] please add a possibility to create a chroot


* #657711 [w|  |  ] [schroot] please make COPYFILES more flexible
    V: Good idea, find a solution for the whitespace problem
       Check upstream commit 5a611c
    P: **
    A: **


* #657715 [w|  |  ] [schroot] copyfiles should create non-existent target directories
    V: Find a solution for the directory permissions
    P: **
    A: **


* #676386 [w|  |  ] [schroot] schroot: Permit session-specific settings
    V: Good idea. Perhaps fixed in #718127?
    P: *
    A: ***


* #707233 [w|  |  ] [schroot] Provide PID isolation (using a namespace)
    V: Merge with #488225, #637870


* #775423 [w|  |  ] [schroot] schroot: Better tools for tidying old chroot sessions needed.
    V: Agreed, but how to do that?


* #858466 [w|  |☣] [src:schroot] schroot should mount per-user tmpfs at /run/user/$(id -u)


* #882098 [w|  |  ] [schroot] sbuild: Default scratch space for the build should be in /var/cache
    V: Investigate. Also: Do we risk breakage when switching?
    P: *
    A: **


* #888861 [w|  |  ] [schroot] schroot: Add operation mode running chroot image as systemd container


* #990334 [w|  |  ] [schroot] sbuild: Make usage of zfs snapshot/rollback and clone
    V: Examine existing ZFS implementation. snapshot/rollback sounds like the
       right way to do things, but possibly it will break the existing 
       implementation/configurations out there.
    P: *
    A: ***


# Outstanding bugs -- Wishlist items; More information needed (2 bugs)

* #499014 [w|M|  ] [schroot] dbus - Fails to install: chown: invalid group: `messagebus:messagebus'


* #749960 [w|M|  ] [src:schroot] schroot: please support a proot type of chroot
    V: Wait for any patches
    P: -




# Outstanding bugs -- Wishlist items; Will Not Fix (2 bugs)

* #675788 [w|M☹|  ] [schroot] schroot: PulseAudio not working in a default desktop schroot
    V: Re-examine the situation, check the suggestions.
    P: *
    A: ***


* #684607 [w|☹|  ] [schroot] schroot could give usefull errormessages on ENOSPC
    V: Bug in dash (#690473) was fixed a long time ago. Check current behaviour,
       possibly nothing left to do here.
    P: **
    A: **



# Forwarded bugs -- Normal bugs (2 bugs)

* #856877 [n|+u|↝] [schroot] schroot: Please consider mounting a new instance of /dev/pts
    V: There is a feature branch somewhere, investigate


* #983423 [n|+|↝] [schroot] schroot: Default profile doesn't provide a working /dev/ptmx inside lxc >= 3
    V: Investigate



# Pending Upload bugs -- Important bugs (1 bug)



# From other Branch bugs -- Normal bugs (3 bugs)

* #685512 [n|  |  ] [schroot] schroot: groups set by PAM are not preserved in chroot


* #736642 [n|  |  ] [schroot] schroot: PAM error: No module specific data is present


* #911087 [n|U+|↝] [schroot] schroot: --preserve-environment does not preserve env vars set to ""
    V: Possibly fixed upstream (2600bcab), check this first
       Introduced a regression, hence disabled in -13



# From other Branch bugs -- Minor bugs (1 bug)


# From other Branch bugs -- Wishlist items (2 bugs)

* #675512 [w|  |=] [schroot] schroot: running an existing session as a user other than whom the session begun


* #808387 [w|+|  ] [src:schroot] [schroot] Add support for overlay mounts.
    V: What's the status here?


# Debian issues without a ticket

* Inspect compiler warnings

* Run clang-analyze and friends to find potential issues
    V: Doit, but work needed to get it starting
    P: ***
    A: **

* Have autopkgtests
  Note: The Debian autopkgtest allegedly run lxc-based tests only. If we do
  weird qemu-based stuff, we'll have to test it on our own
    P: **
    A: ***

* Have (local) testbed for things that autopkgtest cannot handle (yet)

* Improve helper programs to create a chroot (see #657709)
    V: Possibly contact sbuild (sbuild-createchroot) and try to find a solution

* Hardening build
    P: ***
    A: ** (because building is so slooow)

* Review of d/patches
  (done)


* Review of Ubuntu patches
  (done)
  

# Upstream work

## unsorted

* Fork upstream, do a 1.6.11 release based on the latest commit plus
  the long-standing patches.


* Study 1.7 branch for more things to pick

* Apply shellcheck, reformat shell scripts (shfmt -i 4 -ci)
    V: Wait for upstream-fork, apply all pending patches first
       Done in -14 for debian/
    A: **

* Make ccache work

* type=file: Support compress options

* 1.7 removed backends, perhaps follow that?
  * plain (probably remove)
  * blockdev (not sure)
  * lvm (keep)
  * btrfs (keep)

## first (big) things

* drop autoconf support (done in 1.7)
* drop dchroot and friends (done in 1.7)

## more big things

* Follow cppunit->gtest migration (carefully)

* Reformat C++ code (clang-format, details TDB)
    V: Wait for upstream-fork, apply all pending patches, consensus on options
       Wait until everything useful has been taken from 1.7 
    A: **
    


## long-term ideas

* Rewrite manpages in asciidoc or similar
  * Because *roff is just pain
  * Make sure translators still can do their job


* Change the configuration file format to a structured one?
  * Allows visual grouping, e.g. parameters specific to a certain type=
  * Support for old format needs to stay for a long time
  * Provide a conversion tool


# Contacting buildd ops (perhaps a DebConf BoF)

* Will schroot remain the core tool in package building - or do you already
  plan to move away?
* Are there extra patches on your side that should go in the Debian package?