Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Releases: kisslinux/kiss

5.4.0

01 Jul 18:04
a959fcf
Compare
Choose a tag to compare

see git log

5.2.3

27 Nov 04:25
f77e08b
Compare
Choose a tag to compare
bump version

5.2.2

26 Nov 12:24
3f65c8a
Compare
Choose a tag to compare
bump version

5.2.1

19 Nov 10:05
3834d0e
Compare
Choose a tag to compare

See git log.

5.2.0

06 Nov 07:06
1ae8340
Compare
Choose a tag to compare
* Added kiss-graph which is similar to 'kiss list' only it displays total
  packages sizes in a sortable format.

* Fixed cache conflicts between identically named sources with differing
  destination directories (belonging to the same package).

* kiss-outdated has been rewritten from scratch. It now prints clear error
  messages and any naming conflicts with repology.org have been fixed for
  $/kisslinux/repo and $/kisslinux/community.

* All new tarballs created by the package manager will use '@' in place of '#'
  as the separator between <pkg_name> and <version>-<release>. Using '#' isn't
  ideal as it's the comment character in the shell and tab completion can be
  finicky.

  To maintain backwards compatibility, the package manager will look for '@'
  first before falling back to '#'. This is a seamless change and existing
  binary caches will function as normal. Support for '#' will be dropped in
  the future.

* Git sources now also pull down tags. The "detached head" message has been
  hidden as well.

* The dependency fixer now adds only top-level dependencies to depends files.
  It no longer adds every dependency recursively. This makes the resulting
  dependency list easier to understand and less misleading.

  The new method requires readelf (from binutils, llvm, elfutils, etc). If
  a readelf is not found, the old method (ldd) will be used. If the
  environment variable KISS_ELF is set to 'ldd', the old method will be used.


* All trailing slashes will be stripped from KISS_ROOT.

* kiss-owns now works with relative paths, etc.

* Guard against unset $HOME if needed.

* Cache directory structure has been cleaned up. Navigation and usage in
  the terminal should now be a more pleasant experience.

  5.1.0 (previous release):

      - cache_directory/
        - build-<pid>/
        - extract-<pid>/
        - pkg-<pid>/

  5.2.0 (current release):

      - cache_directory/
          - proc/
              - <pid>/
                  - build/
                  - extract/
                  - pkg/

  This also simplifies the cache clean-up code as we can just remove <pid>
  which cleans up everything. For those with KISS_TMPDIR set, this will create
  <pid> in the set directory.

* Fixed bug in dependency fixer where (for example) firefox would have
  firefox-bin added as a dependency (or vice versa). The dependency fixer
  now skips files which are also owned by the to-be-installed package rather
  than relying solely on the system.

* GCC and LLVM are now explicit dependencies and the dependency fixer will no
  longer ignore their existence. Packages linking to these libraries should
  either have the dependency removed (if it makes sense) or their depends files
  ammended.

  Users may also find the CFLAGS -static-libgcc and -static-libstdc++ useful.
  Setting these will statically link the libraries.

6.0.0

05 Oct 06:49
5c2d43e
Compare
Choose a tag to compare
6.0.0 Pre-release
Pre-release
This changelog focuses solely on the larger and noticeable changes.
There are no backwards incompatible changes and existing packages, binaries
and what have you will continue to work as normal.

Minor features have been added; git tags are now pulled with git sources,
repositories can now contain white-space in their names, git sources no longer
fill the screen with messages about detached head, etc, etc.

Numerous bugs have been fixed, including crash fixes in dependency resolution
for circular dependencies, etc. There will likely be regressions in other
areas, expect more minor releases over the coming days.

* Most of the package manager has been rewritten. The code is now less squished
  together and should be more readable. A large number of functions have been
  simplified and things overall should be snappier.

* Package hooks (post-install, pre-remove) which aren't executable will now
  have their contents printed to the screen. This limits code execution for
  hooks which just display messages. Hooks that are executable function as
  normal.

* All new tarballs created by the package manager will use '@' in place of '#'
  as the separator between <pkg_name> and <version>-<release>. Using '#' isn't
  ideal as it's the comment character in the shell and tab completion can be
  finicky.

  To maintain backwards compatibility, the package manager will look for '@'
  first before falling back to '#'. This is a seamless change and existing
  binary caches will function as normal. Support for '#' will be dropped in
  the future.

* The dependency fixer now adds only top-level dependencies to depends files.
  It no longer adds every dependency recursively. This makes the resulting
  dependency list easier to understand and less misleading.

  The new method requires readelf (from binutils, llvm, elfutils, etc). If
  a readelf is not found, the old method (ldd) will be used. If the
  environment variable KISS_ELF is set to 'ldd', the old method will be used.

* Package installation process now takes less time due to simplification of
  code which runs once per installed file/directory. Very noticeable when
  installing something like python (which contains 4000~ files).

  continue in loops now occurs as soon as possible which avoids retrieving
  file permissions unconditionally for all files. This effectively makes the
  second install pass free when nothing needs to be done.

  5.1.0 (previous release):

    -> time kiss i python
    -> Using '/usr/bin/sls' (to become root)
    -> python Checking that manifest is valid
    -> python Checking that all dependencies are installed
    -> python Checking for package conflicts
    -> python Installing package
    -> python Verifying installation
    -> python Installed successfully
    real    0m 3.75s
    user    0m 2.97s
    sys     0m 1.22s

  6.0.0 (current release):

    -> time ~/projects/kiss/kiss i python
    -> Using '/usr/bin/sls' (to become root)
    -> python transforming package conflicts into alternatives
    -> python installing package
    -> python verifying installation
    -> python installed successfully
    real    0m 2.30s
    user    0m 1.73s
    sys     0m 0.93s

* Cache directory structure has been cleaned up. Navigation and usage in
  the terminal should now be a more pleasant experience.

  5.1.0 (previous release):

      - cache_directory/
        - build-<pid>/
        - extract-<pid>/
        - pkg-<pid>/

  6.0.0 (current release):

      - cache_directory/
          - proc/
              - <pid>/
                  - build/
                  - extract/
                  - pkg/

  This also simplifies the cache clean-up code as we can just remove <pid>
  which cleans up everything. For those with KISS_TMPDIR set, this will create
  <pid> in the set directory.

* All temporary files created during execution now reside in a unified location
  rather than being littered throughout the cache directories.

* kiss-outdated has been rewritten from scratch. It now prints clear error
  messages and any naming conflicts with repology.org have been fixed for
  $/kisslinux/repo and $/kisslinux/community.

  Naming conflict code is extensible and also useful for finding incorrectly
  named packages in repositories (send patches).

  Usage is now:

    $ kiss outdated /path/to/repository

  It can be used to check your installed packages via:

    $ kiss outdated /var/db/kiss/installed

* post-install log feature has been temporarily removed and will be replaced
  with something less tacked-on in coming releases. This will coincide with
  changes to build log files to create a proper logging system.

* Fixed bug in dependency fixer where (for example) firefox would have
  firefox-bin added as a dependency (or vice versa). The dependency fixer
  now skips files which are also owned by the to-be-installed package rather
  than relying solely on the system.

* Fixed two crashes (from infinite recursion) in dependency resolution. These
  were caused by packages which depend on themselves and circular dependencies.
  In the former case, a warning is printed. In the latter case, the package
  manager exits with an error message.

* The package manager will now print the current owner of the file during
  conflict detection / choice cration.

  Example:

    -> ncurses transforming package conflicts into alternatives
    alternative /usr/bin/reset (currently busybox)
    alternative /usr/bin/clear (currently busybox)


* The handling of files in /etc/ is now a part of the existing file install
  function rather than being its own thing. This prevents a second loop over
  the contents of the package.

* GCC and LLVM are now explicit dependencies and the dependency fixer will no
  longer ignore their existence. Packages linking to these libraries should
  either have the dependency removed (if it makes sense) or their depends files
  ammended.

  Users may also find the CFLAGS -static-libgcc and -static-libstdc++ useful.
  Setting these will statically link the libraries.

* kiss-orphans will now print all orphans (packages which depend on nothing)
  rather than a hardcoded, filtered list. Users can filter this list to their liking
  for the purposes of auto-remove or whatever else.

  This filtering can be done via simple pipes (and grep, awk, etc) or via a meta
  package with the depends file acting as the filter. There are many more ways
  of doing this. The utility itself is 5LOC, users can also fork it to suit their needs.

  What's more important is that it do what it says on the tin, list orphans.

5.1.0

11 Sep 14:43
f915d9a
Compare
Choose a tag to compare
- Moved extension listing to 'kiss help-ext'.
- Added automatic removal of unmodified files in /etc/ to 'kiss remove'.
- Fixed bug in kiss-link.
- Fixed hang during package installation.
- Removed occurrence of blank checksums files when no checksums needed.
- Cleaned up all utils.
- Started cleanup of source code.

5.0.6

01 Sep 22:56
cf722ec
Compare
Choose a tag to compare
- Updated sls usage.
- Crux style usage for KISS utilities.

5.0.5

31 Aug 07:58
3b251b9
Compare
Choose a tag to compare
- Fixed backwards incompatibility with git checksums.
- revdepends now works if package not installed.

5.0.4

30 Aug 10:23
942f36b
Compare
Choose a tag to compare
- added support for sls
- dropped kiss-chbuild (full utility planned)