Posts

Setting cachedir with DNF5

On Fedora (and other systems that use DNF for package management), we can set the directory used by DNF for cache data. Combined with keepcache setting, this can be used to collect all RPM packages downloaded by DNF. Then one can just copy these files to another computer without Internet access and use them to install/update packages on that machine. The configuration file for DNF used to be /etc/dnf/dnf.conf . I used to have the following two settings in my dnf.conf file: [main] cachedir = /my/cache/dir/path keepcache = True But after I installed Fedora 41, which has DNF5 , I found that setting cachedir was not having any effect. Usually, when you do a ' sudo dnf update ' command, you could see repository data getting created in the cache directory. But for some reason, this was not happening. Digging around DNF5 documentation , I finally figured out the reason. For superuser, the cache directory needs to be set by system_cachedir setting and not cachedir . So my /etc...

CMake configuration for reproducible builds of C++ projects with gcc/Linux

This is a quick guide for configuring CMake such that every rebuild of the same C++ code generates bit-by-bit identical binaries. This is useful in verifying if a given binary is indeed generated from the given sources and comes in handy for configuration control. This article is not a detailed documentation on the reasons or mechanisms that cause binaries to differ from build to build nor the rationale behind the countermeasures explained in great detail. That information is already covered elsewhere and a few helpful links are provided in the end. This post is made because all of this information was not available in one place. In general, the same C++ code should generate the same executable (or library) every time it is compiled using the same build system on the same platform. But in practice, several factors cause the final binaries to differ. There are a few things developers need to take care of to avoid these: Eliminate differences due to build path. target_compile_options(...

qView - a simple, fast image viewer for Linux

Image
qView is a simple, minimalistic and fast image viewer for Linux, Windows and macOS. It's built using Qt and is GPL v3 licensed free software. It supports pretty much all features that one expects from a fast and no-nonsense image viewer. It has replaced Gwenview as the default image viewer on my KDE Plasma Fedora desktop. Gwenview is of course more feature-rich and fancier, but I like qView for simply viewing and cycling through images.

Dangerous ride with a worn out motorcycle tyre - lesson learnt!

Image
My Mahindra Mojo had munched over 11,000km and my rear tyre had been almost completely worn out. The Mojo comes with Pirelli Diablo Rosso 2 which are soft-compound tyres. That meant they would offer great grip on the roads, but would wear out faster. My rear tyre was worn out way beyond the limit indicated by the Tread Wear Indicators and at one or two places, the steel radial wires were slightly visible. That's terrible, I know! My daily rides were limited to 5-6km through private roads and so I felt lazy and put off replacing the tyre. And one day, this happened! A few weeks back, one fine morning, I got a call from a friend to go on a bike trip to Hoggenakkal , which is around 140km from my place. Against my better judgement, I agreed and we rode to Hoggenakkal. Throughout the ride, we were mindful of the tyre condition. Anyway, the onward ride was uneventful and Hoggenakkal was terrible and disappointing (borderline disgusting). On our ride back to Bengaluru, we got h...

മിയ എന്ന പൂച്ചക്കുട്ടി

Image
മൂന്ന് വര്‍ഷങ്ങള്‍ക്ക് മുമ്പാണ് അഷ്ടമൂര്‍ത്തി സാറിന്റെ ഒരു കുറിപ്പിലൂടെ CP റോജന്‍ എഴുതിയ " മിയ എന്ന പൂച്ചക്കുട്ടി " എന്ന പുസ്തകത്തെക്കുറിച്ച് അറിയുന്നത്. തിരുവനന്തപുരത്ത് ഒന്ന് രണ്ട് പുസ്തകക്കടകളിലും പിന്നെ പല ഓണ്‍ലൈന്‍ കടകളിലും അന്വേഷിച്ചിട്ട് പുസ്തകം കിട്ടിയില്ല. അവസാനം ഞാന്‍ ഫെയ്സ്ബുക്കിലൂടെ ശ്രീ റോജനുമായി ബന്ധപ്പെട്ടു. പുസ്തകം തിരുവനന്തപുരത്ത് എവിടെക്കിട്ടുമായിരിക്കും എന്ന ചോദ്യത്തിന് "വിലാസം തരൂ ഞാന്‍ അയച്ചുതരാം" എന്നായിരുന്നു മറുപടി. അക്കൗണ്ട് വിവരങ്ങള്‍ തന്നാല്‍ പുസ്തകത്തിന്റെ വില ഞാന്‍ തരാം എന്ന് പറഞ്ഞപ്പോള്‍ "ആദ്യം വായിക്കൂ, എല്ലാത്തിനും സമയമുണ്ട്" എന്ന മറുപടി. എന്നാല്‍ ശരി ബാക്കി വായിച്ചിട്ട് അറിയിക്കാം എന്ന് ഞാനും പറഞ്ഞു. പുസ്തകം വന്നു. വായിച്ചു. ഒരുപാട്, ഒരുപാട് ഇഷ്ടപ്പെട്ടു. പക്ഷേ റോജനെ അറിയിക്കാന്‍ ഏതോ തിരക്കിനാല്‍ വിട്ടുപോയി.  ഇതെല്ലാം നടക്കുന്നത് 2016 സെപ്റ്റംബറില്‍. വളരെ മോശമായിപ്പോയി എന്ന് ഞാന്‍ എന്നോട് തന്നെ ഇടയ്ക്ക് ഓര്‍മ്മവരുമ്പോള്‍ പറയും. ഇത്രയും കാലം കഴിഞ്ഞിട്ടും ഈ പുസ്തകവും എഴുത്തുകാരനും പക്ഷേ മനസ്സില്‍ നിന്ന് മാഞ്ഞില്ല. അത്...

Qt - Enabling qDebug messages and Qt Creator

I have been struggling for the past two hours to get qDebug() messages from my Qt 5 application to show up on the 'Application output' pane in Qt Creator IDE on Linux. Finally I found a solution, thanks to a user on Qt IRC channel. To enable log messages in Qt, do the following: Edit ~/.config/QtProject/qtlogging.ini and make sure it has: [Rules] *.debug=true qt.*.debug=false With this, I was getting the messages when I run the application from a terminal. But Qt Creator was not showing the qDebug() messages. To have the messages displayed in Qt Creator, do the following: Qt creator > Tools > Options > Kits, select your kit, find Environment, click change and add: QT_ASSUME_STDERR_HAS_CONSOLE=1 This fixed the problem for me. I thought I should document the full process here as Google wasn't getting me good leads. My environment: Fedora 29 Linux x86-64 Qt 5.11.3 Qt Creator v4.7.2 References: https://bugzilla.redhat.com/show_bug.cgi?id=12272...

ബിഗ് റേഡിയോ ഇതിഹാസം

ഇന്ന് തിരുവനന്തപുരത്ത് 92.7 ബിഗ് എഫ്എം റേഡിയോ പരിപാടിയില്‍ കേട്ടത്..  പരിപാടി: " സ്വീറ്റ് ആന്‍സി " അവതരിപ്പിക്കുന്ന റിക്വസ്റ്റ് രാഗ, യെസ് ഓര്‍ നോ ഗെയിം ... സ്വീആ: ഹലോ, ആരാ വിളിക്കുന്നത്?  റസാക്ക് സ്വീആ: റസാക്ക് അല്ലേ.. "റസാക്കിന്റെ ഇതിഹാസം" വായിച്ചിട്ടുണ്ടോ? റസാക്ക്: ഇല്ല സ്വീആ: എന്താ റസാക്കേ, സ്വന്തം പേരില്‍ ഒരു പുസ്തകമൊക്കെ ഉള്ളപ്പോള്‍ അത് വായിക്കണ്ടേ? റസാക്ക്: ങേ? ... സ്വീആ: അപ്പോള്‍ റസാക്കിനും റസാക്കിന്റെ ഇതിഹാസം ഇഷ്ടപ്പെടുന്ന വായനക്കാര്‍ക്കും വേണ്ടി ഈ പാട്ട് ഡെഡിക്കേറ്റ് ചെയ്യുന്നു... ...  വാല്‍:  മഹാനായ എഴുത്തുകാരന്‍ പിണറായി വിജയന്‍ എഴുതിയ "റസാക്കിന്റെ ഇതിഹാസം" എന്നോ മറ്റോ പറയാതിരുന്നത് തന്നെ ഭാഗ്യം ...  ചോദ്യം: 'ചങ്ങമ്പുഴ' എന്ന കവിത എഴുതിയത് ആരാണ്? ഉത്തരം: അങ്ങനെയൊരു കവിതയുണ്ടെങ്കില്‍ അതെഴുതിയത് രമണനായിരിക്കും! (കടപ്പാട്: കണ്ട് മറന്ന ഒരു പഴയ മലയാളം സിനിമ)