Giter Site home page Giter Site logo

Comments (7)

bkw777 avatar bkw777 commented on July 23, 2024

Yep, that's messy and avoidable.

from mainline.

mikehardy avatar mikehardy commented on July 23, 2024

Hi there! Thanks for picking up the torch on UKUU, I use it a lot.

I hit this error, and checking out the code ('Vala'? okay, time for a new language I guess...) it looks like it must not be downloading correctly, but is incorrectly assuming it did, because there are no download messages, just the preparing to install + missing directory

This line is "ok == true" when it shouldn't be:

...or else we would definitely have gotten output

stdout.printf("\n" + _("Downloading") + ": '%s'... \n".printf(file_name));

Either the for loop is hitting an empty list or the file existence checks are wrong here then?

foreach(string file_name in deb_list.keys){
string dl_dir = "%s/%s".printf(cache_subdir, NATIVE_ARCH);
string file_path = "%s/%s".printf(dl_dir, file_name);
if (file_exists(file_path) && !file_exists(file_path + ".aria2c")){
continue;

I've never tried to turn vala into an executable though and when I which /usr/bin/mainline it's a binary so I can't just hack around it quickly unfortunately to diagnose further atm

from mainline.

mikehardy avatar mikehardy commented on July 23, 2024

might just be a caching error or incorrect state somehow, as I saw this on ukuu but I was having filesystem ownership errors because of stupid things I was doing (mixing command line root vs user vs sudo usage), whereas with mainline it worked after a restart and download of the index

from mainline.

bkw777 avatar bkw777 commented on July 23, 2024

Welcome to the club of not knowing vala. For myself I would also add not liking. ;)

The build directions in the readme.md should work, at least on a debian-based where you can just paste the apt commands, and this whole tool is only for Ubuntu kernels anyway, so that should mean the directions are valid for all users. I just use "make" to build. I put a lot of time into the Makefile so that it does all the right things. But don't worry about it I'm not suggesting you have to wade into that. Debugging vala is about the worst thing I've ever tried to do. Everything is all wrapped and indirect, and it only makes things easier in one direction, writing. It makes it 10x harder trying to backtrack from a problem back to it's cause. If I didn't already have a working starting point, and git, where I can always just back up to the last working point, I would never be able to actually start with a broken thing, figure out what's wrong by interpreting the error message, and make it work.

Mainline is better wrt to the cache and temp handling but still not 100%. I have a refactor in the works but for now the public version still has gaps. For instance, you should be able to mix root and non-root commands and there is no excuse for any util to get anything wrong just because of that. The only thing doing that should hurt is winding up with two copies of the cache. Two redundant, wasteful, but perfectly safe and functional and not broken at all copies of the cache. This is temp files 101.

Anyway thanks for taking a look.

from mainline.

mikehardy avatar mikehardy commented on July 23, 2024

Ah cool - if you've buffed up the build chain, if I stub my toe on anything I'll give it a shot from source
My typical blunt force tool when confronted with whole new worlds like this is ridiculous amounts of logging, if Vala has any sort of thing that allows for log levels and can default to "only info and higher" in release builds then I just go nutty with verbose log entries and add a toggle for people to turn it on for release builds too then have them provide logs (or use same while debugging). But! If you're maintaining a a kernel update utility for linux...I imagine you might have tricks I could learn from and print-debugging isn't a useful idea contribution :-). I do appreciate this tool exists though so if there's a TL:DR; it's thanks for keeping it alive. Cheers

from mainline.

bkw777 avatar bkw777 commented on July 23, 2024

fixed with 06081aa

from mainline.

mikehardy avatar mikehardy commented on July 23, 2024

Just noting my continued appreciate for mainline: thank you!

from mainline.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.