Nesse caso, não é muito difícil fazer o download das fontes e examiná-las para ver se é óbvio o que alterar. Então apenas reconstrua seu próprio binário pv . Se você estiver usando um sistema baseado em rpm , tente o seguinte (como um usuário comum):
$ yumdownloader --source pv
(Isso deve funcionar mesmo se você tiver dnf em vez de yum). Você deve acabar com um arquivo com o sufixo .src.rpm . O resto do nome irá variar dependendo do seu lançamento. Instalar e compilar:
$ rpm -i pv-1.6.0-1.fc22.src.rpm
$ rpmbuild -bc ~/rpmbuild/SPECS/pv.spec
Você não precisa ser root para instalar as fontes, pois elas são colocadas em ~/rpmbuild . Você pode, no entanto, precisar instalar o rpmbuild e outros pacotes para fazer a compilação. Você deve obter o binário final final normal em:
$ file ~/rpmbuild/BUILD/pv-1.6.0/pv
Entre as fontes, por exemplo MiB, para encontrar uma mudança provável. Eu achei que ~/rpmbuild/BUILD/pv-1.6.0/src/pv/display.c tinha uma rotina pv__si_prefix() que usou um parâmetro is_bytes que determinou se dividir por 1000 ou 1024. Eu simplesmente editei essa rotina para forçá-la a 0 adicionando
is_bytes = 0;
logo após as declarações (antes de if (is_bytes) { ). Então, faça make para obter o binário recompilado da seguinte forma:
$ cd ~/rpmbuild/BUILD/pv-1.6.0/
$ make
O novo arquivo pv deve fazer o que você deseja.
Em um sistema de empacotamento deb , você tem etapas semelhantes para fazer:
$ sudo apt-get install dpkg-dev debhelper
$ apt-get source pv
$ cd pv-1.6.0/
$ dpkg-buildpackage -b -nc
... edit src/pv/display.c
$ make