Feature request: debdelta.
I use debdelta and it works perfectly (at least apparently). It saves a lot of bandwidth (not an issue for me but yes for some people) and speeds the upgrade.
It can't build new packages from packages that had files deleted, like the ones affected by localepurge but even so it can still be effective, I guess specially with those big KDE files since localepurge acts more over Gnome packages. My request is to have an option to upgrade using debdelta. In a setup that uses apt-get dist-upgrade it could be something like: 1. continue (apt-get dist-upgrade) 2. continue debdelta (apt-get update && debdelta-upgrade && apt-get dist-upgrade) 3. continue no dist-upgrade 4. quit edit- actually smxi could use debdelta as the default and the options would be like: 1. continue (apt-get update && debdelta-upgrade && apt-get dist-upgrade) 2. continue no debdelta 3. continue no dist-upgrade 4. quit As I said, from my experience, if someone uses localepurge then debdelta sometimes may be a bit slower than a normal upgrade while still saving some bandwidth. That would be a case when one would opt to not use it. Back to top |
Any ultra specific feature request that probably only a handful of users, if that, will ever use, are handled using custom script options.
In this case, to add in a custom case would be somewhat non-trivial because it would basically involve creating an entire new method to handle something of which you have the unique pleasure of being the very first person to ever ask for it. So this one will go on the backburner I'd say, as something that maybe in the future, if more people ask for it, and if the inclination to add a custom option plus custom delta type stuff handling hits me or anyone else submitting a thoroughly tested and debugged, robust, working, patch, then it might happen some time in the future. I assume this is only relevant in the du part of the script, which does make it a bit easier, though there's some logic in there that isn't easy or trivial to handle, so I'd have to say, unless someone creates a working integrated patch, that is really safe and not changing any other core behaviors, probably won't happen, though it is good to know about this option, and I do understand why bandwidth limited users would benefit from it. But definitely not as a primary option, though we'll see how things go as time rolls along. Back to top |
Just for you to know, I have three installations, two with localepurge and one without. My HD is small. I used debdelta only in the system without localepurge but eventually installed in the other two just to test in case I needed to give some feedback and then kept it since it's harmless.
My broadband download speed is 125KB/s (1Mb/s), debdelta calculates the 'virtual speed' of the upgrade and if there are big files to be upgraded it can go up to 600KB/s. In average, in a far from scientific measure, maybe it would be 300KB/s. Anyway it's a huge improvement. Also it works perfectly since it skips the creation of any package that doesn't match its exact size. The only occasion when it's speedier not to use it is in an installation that has localepurge and in a small upgrade. From its site I guess the developer(s) are working to make it completely integrated with APT, which would be obvious, specially for APT. I can keep calling it before smxi, but I suggested this because it works. Regardless of it being or not integrated in smxi I advise anybody that don't have localepurge installed or a super speedy broadband to use it, and it's specially useful for Debian Sid/Sid based systems with their sometimes huge upgrades. Regards. Back to top |
I took a look at the code and it's less abstracted than I thought, so I can add in a case for debdelta-upgrade running before the main du after the update, with an error handler to kill the script if it returns error.
However, this would only be triggered by an option: smxi ! <something> and there'd be no changes in the interface. Back to top |
For always on:
[update: corrected path] create file: /usr/local/bin/smxi-values insert: B_USE_DEBDELTA='true' save. Now smxi will always use that, it cannot be overridden unless you delete that file or comment out the entry, like so: :: Code :: #B_USE_DEBDELTA='true'and save it again. to only use it when you want, use: smxi -! 40 option. Must have space between -! and 40 Please test and report results. In general I don't like implementing features very few people will use, but I do like making it easier for bandwidth challenged users to run debian, and this was fairly easy to do so there it is.. To get this for testing, do: smxi -U as root first to update to get support for new option. Then run: smxi -! 40 and it should test for and then use debdelta-upgrade before the main du/second du If debdelta is not installed, it exits with error if you used -! 40 or set it in the config file if debdelta-upgrade returns an error, smxi will exit. Back to top |
Thank you very much for that. I ran smxi -U but then forgot the exact code and ran smxi ! 40 (without the - ) and of course nothing special happened. But then I ran smxi -! 40 even if the system was already updated and it seemed to work fine. It showed the message about checking for debdelta and then ran it after apt-get update, only there were no packages to be created of course.
I'll try the always on option too. Thank you again. Back to top |
Please note, I made a typo on the path for the sticky values file. It's actually:
:: Code :: /usr/local/bin/smxi-valuesAlso you can read more on it in the smxi sticky options documentation. Back to top |
Hi, I've been able to test it now since today I had things to upgrade. After debdelta was completed, smxi exited because of debdelta exit status 2. From 'man debdelta':
EXIT STATUS 0 if OK, 1 if there was a retriable problem (e.g., out-of-disk-space, or an auxiliary program such 'lzma' is missing and the user is asked to install the package 'lzma'), 2 if there was a non-retriable problem, 3 if there was an error in a command-line option, or in a con‐ figuration file, 4 if there is an internal error, and 5 if exited due to keyboard interrupt. exit status 2, non-retriable problem, happens when it can't recreate a package due to files missing in the installed package. This happens to packages affected by localepurge and to other packages that originally came in antiX because they had docs and things like that removed to shrink the iso size. I believe that smxi should be tweaked to go on with the upgrade when debdelta exit status are 0, 1 and 2 and only exit with exit status 3, 4 and 5. I don't know why debdelta checks the installed files, if it's only to make a check or something. I'll try to simulate 'apt-get clean' in one of my systems later on by emptying /var/cache/apt/archives and see if that affects debdelta in any way just to see if it creates the new packages from the old ones or from the installed files. Back to top |
fine, I tweaked it to exit only if exit status is greater than 2
I won't be able to do much for the next few weeks so hopefully that's it for now. Back to top |
Worked
Worked as expected now, thank you.
Back to top |
All times are GMT - 8 Hours |