forked from kisslinux/kiss
-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build packages the same way in update and build #55
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
OpenBSD Korn Shell doesn't exit when the prompt receives interrupt. This fixes the issue by manually exiting when prompt returns error. This issue is an OpenBSD Korn Shell bug and doesn't match the expected POSIX behaviour.
* kiss: rename sls to ssu * remove wildcard character which treated ssu as su -> /var/db/kiss/repo-community Need root to update -> Using 'ssu' (to become root) sh: git pull && git submodule update --remote --init -f : not found * trim full path Co-authored-by: illiliti <[email protected]>
Allowing repositories to telegraph updates is interesting, though.
sbase utilities don't accept flags after arguments begin, meaning that the '--' is accepted as an argument instead of the "end flag", which causes the utility to fail because it looks for a file named '--'.
…not supported This change ensures that niche tools that are not packaged in repositories can be used without the need of it being implemented inside the package manager itself. We don't support these tools, however most of them follow a similar syntax as with 'sudo', and they can be run. See: kiss-community#12 (comment)
It turns out running the interrupt trap on certain locations resulted in inconsistencies whether the package manager would exit or not, which would in turn result in the interrupt signals being blocked onward, and result in breakage.
This variable can be used in, say, a hook to change the window title based on which package in the build queue is being built.
The prompt used to appear when more than 1 packages were to be installed, but this also happened when they all were specified on the commandline (even when no extra dependencies were resolved). This is kind of redundant behaviour. Now it will only appear when the number of packages explicitly supplied to it and number of packages after dependency resolution are unequal (because dependencies were found on resolution). I assume this was meant to be the original intent for the behaviour but was left behind even after pkg_install() gained the ability to receive multiple arguments. Signed-off-by: FriendlyNeighborhoodShane <[email protected]>
Related GitHub issue: kiss-community#20 Using readelf for fixing dependencies outputs only the soname of dynamic libraries, which causes confusion between folders such as `/lib` and `/lib32`. This change ensures that we retrieve the correct path for the library dependency by also using ldd. readelf provides the left handside of the ldd dependency output, and we retrieve the right handside from that information. However, we don't want to call the dynamic loader lots of times, as that would slow the operation. Therefore, we save ldd output in a buffer at the beginning for each file, and we call that buffer instead when we need to reference it.
Related GitHub issue: kiss-community#5 kiss(1) will sometimes not install certain dependencies. This is caused by a loop which installs dependencies from the kiss binary cache, instead of rebuilding. The loop iterates the positional parameters (packages to be build) and shifts the positional parameters for every package installed from the binary cache. The mistake is, that the first positional parameter being shifted away, might not be the same package as the one of the current loop iteration. For example: If the packages "dep2", "dep1" and "foopackage" are to be build, while only "dep1" has a cached binary, the second loop iteration will shift once, falsely removing "dep2" from the packages which still need to be build. This patch uses a separate variable, to properly keep track of the remaining packages to be build.
Most of the time you want the package manager to cleanup and exit directly after receiving interrupt signal. However, there are some places (such as the download operation here) where we want to handle interrupts.
Replace the use of grep to determine the unique dependencies with sort/uniq.
this fixes bash compatibility, since the hashbang specifies sh
Wrapping the cd call and hiding its stderr is wrong as we now skip directories which exist but are inaccessible. The error message is also misleadingly "not a directory" instead of "permission denied" (or whatever else it may be). This works fine with broken symlinks.
This downloads all reachable commits and then blobs and trees on demand. It swaps the clone from shallow to treeless. In other words, it's a less shallow shallow clone which makes 'git describe' work.
When KISS_ROOT is empty path is //path/to/file.
Removed the check for sources file as every caller checks it anyway. Also merged the directory code with the other skipped stuff.
This changes pkg_remove_files to queue all directory symlinks for removal *after* all other items. Links are only removed if they are broken and a safeguard has been added for root level directories. Also fixed are some bugs around how the paths are stored internally. 1. If KISS_ROOT is empty, path ends up being //path/to/file. 2. Directory symlinks are undetectable when they have '/' as a suffix.
Duplicates were not filtered out of the argument list as originally intended due to the creation of $explicit2 disregarding $explicit. The total package count is now aware of duplicates also. The total package count (previously nexplicit) would also incorrectly count packages which were removed from the explicit list. It would silently /not prompt/ when a package went from explicit to implicit. I have also updated the output to reflect whether a package is explicit or implicit. ie, whether it's a dependency or not.
Ensures that // (and //////) don't occur within the temporary directory paths.
The call to pkg_order that `kiss update` solely had is now shared with `kiss build`. Now the dependency ordering is the same for both. Closes kisslinux#30
Looks like this has been abandoned...? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The call to pkg_order that
kiss update
solely had is now shared withkiss build
. Now the dependency ordering is the same for both.Closes #30