Package Details: downgrader 2.0.0-3

Git Clone URL: https://aur.archlinux.org/downgrader.git (read-only)
Package Base: downgrader
Description: Powerful packages downgrader for Archlinux. Works with libalpm, ARM and pacman logs
Upstream URL: https://github.com/DimaSmirnov/Archlinux-downgrader
Licenses: GPL
Submitter: Spilver
Maintainer: Spilver
Last Packager: Spilver
Votes: 214
Popularity: 2.927549
First Submitted: 2011-06-27 18:31
Last Updated: 2016-05-31 18:39

Dependencies (0)

Required by (0)

Sources (1)

Latest Comments

Xavion commented on 2017-06-12 00:24

Yes, it would be good to have the creation/upload date listed next to each entry in the list. If I want to roll back to a package I know I installed two Saturdays ago (but don't remember the version number), I have to go by its date-stamp.

Spilver commented on 2017-05-26 12:15

Thanks for issue. I`ll check it implementation

pepper_chico commented on 2017-05-24 23:54

Upstream issue: https://github.com/DimaSmirnov/Archlinux-downgrader/issues/19

The way downgrader numerically order package versions is not helpful and can even prevent listing more up-to-date packages. For example, I'm on linux 4.11.2 and I'd like to downgrade to 4.10.9 but downgrade doesn't list it despite it being available on https://archive.archlinux.org/packages/l/linux/. This is happening because the ordering is wrong and assuming 4.10 is less relevant than 4.9, 4.8, etc because 4.10 begins with 4.1.

All the packages available at the archive have upload date, as well as the cached packages. Why not order the listing based on date-time instead of trying to figure out order from version numbers?

~ ❯❯❯ downgrader linux
Downgrade package: linux
1: linux-4.9.9-2 (from ALA)
2: linux-4.9.9-1 (from ALA)
3: linux-4.9.8-1 (from ALA)
4: linux-4.9.7-1 (from ALA)
5: linux-4.9.6-1 (from ALA)
6: linux-4.9.5-1 (from ALA)
7: linux-4.9.4-1 (from ALA)
8: linux-4.9.3-1 (from ALA)
9: linux-4.9.2-1 (from ALA)
10: linux-4.9.11-1 (from ALA)
11: linux-4.9.1-1 (from ALA)
12: linux-4.9-1 (from ALA)
13: linux-4.8.9-1 (from ALA)
14: linux-4.8.8-2 (from ALA)
15: linux-4.8.8-1 (from ALA)
16: linux-4.8.7-1 (from ALA)
17: linux-4.8.6-1 (from ALA)
18: linux-4.8.4-1 (from ALA)
19: linux-4.8.3-1 (from ALA)
20: linux-4.8.2-1 (from ALA)
21: linux-4.8.14-1 (from ALA)
22: linux-4.8.13-1 (from ALA)
23: linux-4.8.12-3 (from ALA)
24: linux-4.8.12-2 (from ALA)
25: linux-4.8.12-1 (from ALA)
26: linux-4.8.11-1 (from ALA)
27: linux-4.8.10-1 (from ALA)
28: linux-4.8.1-1 (from ALA)
29: linux-4.8-1 (from ALA)
30: linux-4.7.6-1 (from ALA)
>> Please enter package number, [q] to quit q

rpatros commented on 2017-02-18 19:27

Can this application be updated to support QT5.8 and above. Without QT5.8, other application such as Kdenlive, Openshot and others do not work.

msauter commented on 2017-01-05 12:09

It appears that downgrader doesn't always list all the available options (e.g. for the package xf86-video-intel). I am not sure, however, whether this is a bug or a feature. For me downgrade in AUR worked better.

Spilver commented on 2016-05-31 18:31

Fixed. Please update

Shara commented on 2016-05-31 08:17

> downgrader wine
Package 'wine' not available. Please check package name

Why? https://archive.archlinux.org/packages/w/wine/

davidsmit commented on 2016-04-17 07:37

Seems to miss the dependency for git:

==> Building and installing package
==> ERROR: Cannot find the git package needed to handle git sources.
==> ERROR: Makepkg was unable to build downgrader.

After install of git, it makepkgs and installs.

Spilver commented on 2016-04-04 06:34

Hi folks. Please update, looks like all problems fixed

aliasxneo commented on 2016-04-04 02:15

Getting seg faults with the latest edition when trying to downgrade `go`.

Anonymous comment on 2016-03-29 11:36

% downgrader linux-lts-headers
Downgrade package: linux-lts-headers
1: linux-lts-headers-4.1.9-2 (from ALA)
2: linux-lts-headers-4.1.9-1 (from ALA)
3: linux-lts-headers-4.1.8-1 (from ALA)
4: linux-lts-headers-4.1.7-2 (from ALA)
5: linux-lts-headers-4.1.7-1 (from ALA)
6: linux-lts-headers-4.1.20-1 [installed]
7: linux-lts-headers-4.1.19-1 (from cache)
8: linux-lts-headers-4.1.18-1 (from cache)
9: linux-lts-headers-4.1.17-1 (from cache)
10: linux-lts-headers-4.1.16-1 (from ALA)
11: linux-lts-headers-4.1.15-2 (from cache)
12: linux-lts-headers-4.1.15-1 (from cache)
13: linux-lts-headers-4.1.14-1 (from ALA)
14: linux-lts-headers-4.1.13-1 (from ALA)
15: linux-lts-headers-4.1.12-1 (from ALA)
16: linux-lts-headers-4.1.11-1 (from ALA)
17: linux-lts-headers-4.1.10-2 (from ALA)
18: linux-lts-headers-4.1.10-1 (from ALA)
19: linux-lts-headers-3.14.52-1 (from ALA)
20: linux-lts-headers-3.14.51-1 (from ALA)
21: linux-lts-headers-3.14.50-1 (from ALA)
22: linux-lts-headers-3.14.49-1 (from ALA)
23: linux-lts-headers-3.14.48-1 (from ALA)
24: linux-lts-headers-3.14.47-1 (from ALA)
25: linux-lts-headers-3.14.46-1 (from ALA)
26: linux-lts-headers-3.14.45-1 (from ALA)
27: linux-lts-headers-3.14.44-1 (from ALA)
28: linux-lts-headers-3.14.43-2 (from ALA)
29: linux-lts-headers-3.14.43-1 (from ALA)
30: linux-lts-headers-3.14.42-1 (from ALA)
>> Please enter package number, [q] to quit 19
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `sudo pacman -U https://archive.archlinux.org/packages/l/linux-lts-headers/linux-lts-headers-3.14.52-1-x86_64.pkg.ta (from ALA)'

r0b0h0b0 commented on 2016-03-17 23:08

Segfaults.

Spilver commented on 2016-01-31 15:41

2.0. Add Arch Linux Archive support

Spilver commented on 2016-01-31 07:39

Hi
It is temporary problems with ARM datacenter. Also at this moment I prepare new package checking algorithm. Please update downgrader from AUR and you can temporary downgrade in auto mode, without -l option

boomshalek commented on 2016-01-30 22:59

I am getting for all packages "not available". Any hoint why ?

downgrader php
Downgrade package: php
Package 'php' not available. Please check package name

downgrader firefox
Downgrade package: firefox
Package 'firefox' not available. Please check package name

Spilver commented on 2016-01-09 12:50

Thanks, resolved. Also place downgrading two packages at once in my todo list

Spilver commented on 2016-01-08 17:07

pls check your e-mail

severach commented on 2016-01-07 21:37

No help. Crashes on gcc-multilib but not php or php-apache. Seems that downgrading two packages at once doesn't work.

# downgrader php php-apache
Downgrade package: php-apache

Spilver commented on 2016-01-04 21:19

Looks like fixed. Please update

severach commented on 2016-01-04 10:27

% downgrader gcc-multilib
Downgrade package: gcc-multilib
[1] 25055 segmentation fault (core dumped) downgrader gcc-multilib

Spilver commented on 2015-10-14 17:35

Hi. I fix md5 check in PKGBUILD. I hope now all fine

pizzapill commented on 2015-10-14 09:12

Same issue as Lucius. This package is broken.

Lucius commented on 2015-09-11 11:47

I am a big fan of Arch Linux, learning a lot.
Usually I solve all my problembs with Dr. Google
But here I am stuck. Trying to install this paket i get

==> FEHLER: Integritäts-Prüfungen fehlen.
==> FEHLER:Makepkg konnte downgrader nicht erstellen.


I am aware that I can manually install the package with makepkg with the appropriate flag.
But I fear I can break the system if manually installing packages.
At the moment I try to install via yaourt.

do I need to add a packagekey ? I cant find any

anybody can help ? :)

anthraxx commented on 2015-09-01 15:54

please clean up this package repository, it should only contain the PKGBUILD related files and not the whole source-code of the project (*.c and *.h files)

backfist commented on 2015-05-28 10:35

This depends on sudo.

firekage commented on 2015-02-21 02:43

I tried to use it in comparision to downgrade package and downgrader does not work at all. Tried to put: downgrader -l nvidia and after that i saw error: "memory seg fault".

Spilver commented on 2015-02-03 20:50

All done

Alister.Hood commented on 2014-12-10 22:38

Please could this rename the source file to prevent problems for people using AUR helpers:

source=($pkgname-$pkgver::"http://www.igus.lv/downgrader/downgrader.tar.xz")

vania commented on 2014-11-10 11:57

Is possible remove "sudo" dependence? Tx

digifuzzy commented on 2014-06-29 18:18

problem solved. Thx!

Zeben commented on 2014-06-27 17:50

Now all works. Thank you very much! Happy birthday 'downgrader' program :)

Spilver commented on 2014-06-27 16:02

Please reinstall package 'libarchive'

Spilver commented on 2014-06-27 15:58

Hm..strange.. Is file /usr/include/archive.h exists?
No? - reinstall package 'libarchive'
Finaly all right ?

digifuzzy commented on 2014-06-27 15:29

Yea birthdays!

However, latest version gives the message:
====
==> Starting build()...
In file included from main.c:5:0:
/usr/include/alpm.h:35:21: fatal error: archive.h: No such file or directory
#include <archive.h>
^
compilation terminated.
make: *** [main.o] Error 1
==> ERROR: A failure occurred in build().
Aborting...

gcc -g -c main.c -o main.o -std=c99 -Wno-implicit-function-declaration
Makefile:5: recipe for target 'main.o' failed
=====

I can't seem to locate this header file in pacman sources.
Suggestions?

Spilver commented on 2014-06-27 14:37

Today downgrader 3 years anniversary!

Spilver commented on 2014-06-27 14:35

Please update, it is fixed. But situation with glibc stays unclear. I disable temporary freeing memory, after execution complete.

Zeben commented on 2014-06-27 07:19

Thank you for fast replying. It works for all packages now, except "linux".
$ downgrader -l konversation
Downgrade package: konversation
1: konversation-1.5-2 [installed]
...
>> Please enter package number, [q] to quit q
$ downgrader -l linux
Downgrade package: linux
*** Error in `downgrader': malloc(): memory corruption: 0x0000000001861520 ***
But I don't know is this normal phenomenon or not...

Update:
This error only present on my amd64 system and not in other i686 system.

Zeben commented on 2014-06-26 20:51

Thank you for fast replying. It works for all packages now, except "linux".
$ downgrader -l konversation
Downgrade package: konversation
1: konversation-1.5-2 [installed]
...
>> Please enter package number, [q] to quit q
$ downgrader -l linux
Downgrade package: linux
*** Error in `downgrader': malloc(): memory corruption: 0x0000000001861520 ***
But I don't know is this normal phenomenon or not...

Spilver commented on 2014-06-26 16:24

It was problem with access to ARM. Now it is OK,
but please update - I make some modifications

Spilver commented on 2014-06-26 15:50

Please update. ARM is unavailable (I hope temporary), so I disable list function

Zeben commented on 2014-06-26 13:48

Downgrader doesn't work with glibc-2.19

[archzeb@devtester-uefi64-arch shm]$ downgrader -l chromium
Downgrade package: chromium
Segmentation fault
[archzeb@devtester-uefi64-arch shm]$ downgrader -l linux
Downgrade package: linux
Segmentation fault

Logs in dmesg:
[ 2460.302532] downgrader[4209]: segfault at 0 ip 00007fd8fa8c4617 sp 00007fff05fd1768 error 4 in libc-2.19.so[7fd8fa82e000+1a4000]

What needed for fixing this bug? Thanks in advance for replying.

nonerd commented on 2014-05-17 06:01

Would be more useful when listing package dates and supporting a --date option.

Spilver commented on 2014-03-20 18:18

Thanks for report. Now fixed, please update

silverbucket commented on 2014-03-20 13:23

I would like to downgrade my kernel from 3.13 to 3.12, however when I run downgrader there doesn't seem to be that option:

$ sudo downgrader -l linux
Downgrade package: linux
Packages in ARM: 0
>> Please enter package number, [q] to quit


If I just try to downgrade it directly:

$ sudo downgrader linux
Downgrade package: linux
Installed version: 3.13.6-1
Downgrading from Cache, to version 3.13.5-1
loading packages...
warning: downgrading package linux (3.13.6-1 => 3.13.5-1)
resolving dependencies...
looking for inter-conflicts...

Packages (1): linux-3.13.5-1

Total Installed Size: 67.12 MiB
Net Upgrade Size: 0.00 MiB

:: Proceed with installation? [Y/n] n


... I want to go to 3.12, not 3.13.5

Any way to do this?

Spilver commented on 2014-01-20 17:53

Temporary I remove config support, my library is slightly unstable
Please UPDATE

keepitsimpleengr commented on 2014-01-20 17:31

Today's update(1.7.0-3) fails with:
gcc -g -c main.c -o main.o -std=c99 -Wno-implicit-function-declaration
main.c:8:19: fatal error: cJSON.h: No such file or directory
#include "cJSON.h"
^
compilation terminated.
Makefile:5: recipe for target 'main.o' failed
make: *** [main.o] Error 1

Linux kise-005 3.12.7-2-ARCH #1 SMP PREEMPT Sun Jan 12 13:09:09 CET 2014 x86_64 GNU/Linux

Spilver commented on 2014-01-20 16:43

Temporary I remove config support, my library is slightly unstable
Please update

thefrip commented on 2014-01-20 16:21

The default config file downgrader.conf is not copied through the PKGBUILD (only by the make install which is not triggered). This should be added.

bernd_b commented on 2013-12-29 21:48

I didn't use sudo. Sorry if I was unclear about this. I ran downgrader as user root.

If I start it as normal user, this happens:

=============================
downgrader -l vlc
Downgrade package: vlc

...

1: vlc-2.1.2-1 [installed]

...

8: vlc-2.0.8.a-1 [will be installed by default]
>> Please enter package number, [q] to quit , [d] to install default package: 8
[sudo] password for bernd_b:
Sorry, user bernd_b is not allowed to execute '/usr/bin/pacman -U http://repo-arm-download.archlinuxcn.org/extra/os/x86_64/vlc-2.0.8.a-1-x86_64.pkg.tar.xz' as root on amd64-archlinux
============================

So am I supposed to add /usr/bin/pacman to my /etc/sudoers config to use downgrader? I would have bet I did it once simply logged in as user root ...

Spilver commented on 2013-12-29 21:31

Please start downgrader without "sudo". And it will work like a sharm!
It will ask you a root password, when it will need them

bernd_b commented on 2013-12-29 11:58

No. It happens on different pc here in a terminal in X11 as well as in a virtual console - every time logged in as root.

Spilver commented on 2013-12-29 09:28

Hi. For me works ok.
Are you starting downgrader without "sudo" ?

bernd_b commented on 2013-12-28 22:47

Is this working for all but me?

=================
downgrader -l linux
Downgrade package: linux
Segmentation fault (core dumped)
=================

Spilver commented on 2013-08-30 11:03

1. Remove install script, I hope all users are updated =)
2. Migrating to new ARM service, in case old is dead
Version 1.6.7-4 released. Thanks for your help!

Spilver commented on 2013-08-29 17:46

1. Remove install script, I hope all users is updated =)
2. Migrating to new ARM service, in case old is dead
Version 1.6.7-4 released. Thanks for your help!

Spilver commented on 2013-08-29 17:45

1. Remove install script, I hope all users is updated =)
2. Migrating to new ARM service, in case old is dead
Thanks for your help!

Spilver commented on 2013-08-26 18:13

Now, you can help me to testing implementation of new ARM service - please build downgrader from github.com and help me test something.
https://github.com/DimaSmirnov/Archlinux-downgrader

Thanks for your support

Spilver commented on 2013-08-25 15:49

Hi.
@jthurner: Changed.
@all:
A.R.M. is dead, at this moment work with ARM is incorrect.
In a few days/weeks I will implement new fork of ARM:
http://repo-arm.archlinuxcn.org/
after testing.
Details: https://github.com/DimaSmirnov/Archlinux-downgrader/issues/5

Spilver commented on 2013-08-25 15:34

Hi Folks.

A.R.M. is dead, at this moment work with ARM is incorrect.
In a few days/weeks I will implement new fork of ARM:
http://repo-arm.archlinuxcn.org/
after testing.
Details: https://github.com/DimaSmirnov/Archlinux-downgrader/issues/5

jthurner commented on 2013-08-13 22:20

Could you add something along the lines of "..your pacman.log has been backed up to /var/log/pacman.log.old" to the install script? I was a bit worried on "Now, for correct work I need to clear your pacman log file".

botika commented on 2013-07-18 15:16

namcap out:

downgrader E: ELF file ('usr/bin/downgrader') found in an 'any' package.

Spilver commented on 2013-06-16 09:04

done, thanks!

Anonymous comment on 2013-06-16 08:16

Ok, you implemented it, but please don't do it that way! If you need root access with a package, don't use sudo in the package function, but use an install script. This is called by root at the install process. No sudo required.

Spilver commented on 2013-06-15 16:51

It is good idea. PKGBUILD updated

mar04 commented on 2013-06-15 16:40

Yes, now it works, but removing pacman.log is IMHO unacceptable. If you absolutely have to do this, then move it to pacman.log.old and display a warning.

Spilver commented on 2013-06-15 15:55

Please update. Now it works
On update installer will remove your pacman log file - it is needed,
because after pacman update to version 4.1.0-2 syntax of log file is
changed and can`t processing by downgrader.
Thanks for your help

Spilver commented on 2013-06-15 13:59

Dear Friends,
Please chek your e-mails with my questions.

mar04 commented on 2013-06-15 10:09

Same here, segmentation fault

stephanbeta commented on 2013-05-24 17:11

It happens to me too, with virtually any package (linux, amarok, etc...):

$ downgrader -l linux
Downgrade package: linux
Segmentation fault (core dumped)

Spilver commented on 2013-05-22 15:31

Please send me name of downgraded package or console output

sledge commented on 2013-05-22 10:02

It gives segmentations fault (newest updates as of today)

igndenok commented on 2013-04-12 23:09

Thanks for the update, it's works now.

Spilver commented on 2013-04-12 15:25

It is updated, please rebuild
Thanks for your help

igndenok commented on 2013-04-12 10:51

Doesn't compatible with libalpm.so.8 need libalpm.so.7 to works.
Can you update it?

Alister.Hood commented on 2013-02-09 23:04

It would be good if this program had a versioned source package, to prevent problems like this:

==> Making package: downgrader 1.4.3-1 (Sun Feb 10 12:09:59 NZDT 2013)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving Sources...
-> Found downgrader.tar.xz
==> Validating source files with md5sums...
downgrader.tar.xz ... FAILED
==> ERROR: One or more files did not pass the validity check!
==> ERROR: Makepkg was unable to build downgrader.
==> Restart building downgrader ? [y/N]

Spilver commented on 2012-12-05 21:03

Please upgrade to new version

Spilver commented on 2012-12-04 20:12

I need some time for repair a program, in case of aur structure is changes

cobalt commented on 2012-11-20 09:23

It gives Segmentation fault

cobalt commented on 2012-11-20 09:08

It gives Segmentation fault

Spilver commented on 2012-07-18 16:01

sudo installed on most of systems..updated

psychoticmeow commented on 2012-07-18 01:40

Package needs to be updated as it has a runtime dependency on sudo.

Spilver commented on 2012-06-26 15:40

Dear Fandekasp,
send me please compressed your file /var/log/pacman.log by e-mail, I will check it.
For me all works fine.
Thanks in advance

Fandekasp commented on 2012-06-26 08:09

Just installed downgrader 1.3.2-1, then tried to get the list of available packages versions for downgrade package openssl, and get:

[root@arch ]# downgrader -l openssl
Downgrade package: openssl
Segmentation fault

Spilver commented on 2012-04-09 18:36

Please rebuild, fixed

zwastik commented on 2012-04-09 17:45

==> Making package: downgrader 1.3.0-1 (lun abr 9 14:44:45 CLST 2012)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving Sources...
-> Found downgrader.tar.xz
==> Validating source files with md5sums...
downgrader.tar.xz ... Passed
==> Extracting Sources...
-> Extracting downgrader.tar.xz with bsdtar
==> Starting build()...
g++ -g -c main.cc -o main.o
main.cc: In function ‘int main(int, char**)’:
main.cc:20:47: error: ‘getopt’ was not declared in this scope
main.cc:24:15: error: ‘optarg’ was not declared in this scope
main.cc:29:15: error: ‘optarg’ was not declared in this scope
main.cc:34:27: error: ‘optarg’ was not declared in this scope
make: *** [main.o] Error 1
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build downgrader.

0rAX0 commented on 2012-02-22 07:46

Thanks. :)

Spilver commented on 2012-02-21 21:21

Migrating from sockets to curl+json complete!

Spilver commented on 2012-02-21 18:12

Please update, now it fixed. I hope all will be fine now

0rAX0 commented on 2012-02-21 17:51

Done.

Spilver commented on 2012-02-21 17:42

yes, please compress this file and send it to me

0rAX0 commented on 2012-02-21 17:35

I'm trying to downgrade Wine. You want all the file?

Spilver commented on 2012-02-21 17:32

Hi
Thanks for segfault report
Please let me know, what package you try to downgrade ?
Also send me please your file /var/log/pacman.log

Thanks in advance

0rAX0 commented on 2012-02-21 17:20

Still segfaulting! What's the problem?

Spilver commented on 2012-01-18 18:11

Adopted for new pacman and libalpm versions

Spilver commented on 2011-11-26 15:58

Thanks for help. Fixed!

Spilver commented on 2011-11-23 07:10

Dear canuckkat,
please check your e-mail. There are my request

canuckkat commented on 2011-11-22 21:37

It segfaults like this:

[katrina@aerynsun ~]$ downgrader nettools
Segmentation fault

And my pacman.log just says:
[2011-11-22 16:35] Running 'pacman-color -U /tmp/yaourt-tmp-katrina/PKGDEST.zTn/downgrader-1.1.2-2-any.pkg.tar.xz'
[2011-11-22 16:35] upgraded downgrader (20111110-1 -> 1.1.2-2)

Spilver commented on 2011-11-12 19:19

Updated to version 1.1.2-1.
New feature - start downgrader with option -l <package name> and now you can select necessary version of downgradable package

Spilver commented on 2011-11-12 19:11

Updated to version 1.1.2-1.
New feature - start downgrader with option -l <package name> and now you can select necessary version of downgradable package

Spilver commented on 2011-11-12 19:11

Updated to version 1.1.2-1.
New feature - start downgrader with option -l <package name> and now you can select necessary version of downgradable package for available

Spilver commented on 2011-11-11 08:58

Please send me a packge name, where segfault shows, and, if possible, your /var/log/pacman.log file.
Thanks in advance

canuckkat commented on 2011-11-10 19:20

Still segment faults on query.

Spilver commented on 2011-11-03 17:16

Fixed bug with wrong ARM response

Spilver commented on 2011-11-02 16:44

Fixed 2 problems:
Segfault when reading AUR
Segfault when reading long strings from Pacman logs

Spilver commented on 2011-10-26 19:31

Fully rewrite in C++ complete! Happy using

Spilver commented on 2011-09-10 19:56

Some improvements and changes also, done.

artemklevtsov commented on 2011-08-01 21:51

You should move gtt to makedepends array.

Spilver commented on 2011-07-27 16:02

Thanks, fixed!

Anonymous comment on 2011-07-26 21:07

need to add intltool as a build requirement.

Spilver commented on 2011-07-01 19:26

First libalpm integration

Spilver commented on 2011-06-28 20:58

Huge internal system update is complete

Spilver commented on 2011-06-27 18:33

Powerful packages downgrader. Written especially for Archlinux, in C.
Git version. Initial release

Spilver commented on 2011-06-27 18:32

Powerful downgrade packages. Written especially for Archlinux in C.
Git version. Initial release