LINUX.ORG.RU
ФорумTalks

escu - легковесная учебная реализация coreutils

 , ,


1

1

Dorif

Привет пользователям UNIX-like систем!

Я пишу небольшой набор открытых и свободных coreutils (небольшой проект, не такой фичастый, как GNU coreutils) для POSIX-совместимых ОС. Проект называется escu (сокращение от Extremelly Small CoreUtils). Писать начал, когда пожелав выучиться системному программированию по исходникам GNU Coreutils, но не смог разобраться в spaghetti code и решил их переписать согласно спецификациям The OpenGroup.

Уже есть утилиты: basename, chroot, dirname, false, head, link, ln, logname, ls, mkfifo, mv, pwd, test, true, tty, uname, unlink, yes. Многие из них уже полностью POSIX-совместимы. Я использую системные вызовы для снижения накладных расходов, а также стараюсь писать максимально простой код для облегчения понимания новичками.

Проект нацелен на максимальную переносимость, поэтому при написании используются только возможности стандартной библиотеки языка C, а для сборки будут использоваться только POSIX-совместимые make, компилятор языка C и командная оболочка.

Релизы будут выпускаться тогда, когда они будут готовы, за исключением багфиксов.

Комментарии, предложения и патчи приветствуются!



Ссылка: https://github.com/Dorif/escu

★★★★★

Ответ на: комментарий от Deleted

Нет, тут всё сложно:
Dorif

Блокирован 09.07.2011 10:41:04, модератором maxcom по причине: Сам попросил

Не хочет идти на попятную и разбаниваться или заводить новый аккаунт.

AITap ★★★★★ ()
Последнее исправление: AITap (всего исправлений: 1)

Лучше бы он busybox ковырял.

devl547 ★★★★★ ()

Так вот он что в жаббере колдовал... Удачи ему, полезную вещь делает.

Solace ★★ ()

почему не разобраться в коде busybox реализующих linux-util? Собственно и сам linux-util не так что бы сложен.

splinter ★★★★★ ()

Автор всерьёз считает, что это читаемый код?

#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>
#include "coreutils.h"
char help_str[]="Usage: chroot new_root [command]\n"
"You must be root to use chroot.\n";
int main(int argc, char** argv){
	if(argc==1)usage(help_str);
	if(getuid()!=0){
		errno=EPERM;
		ferr();
	}
	if(chroot(argv[1]) || chdir("/"))ferr();
	if(argv[2]){
		if(execvp(argv[2], &argv[2]))ferr();
	}
	else {
		char *shell;
		if((shell=getenv("SHELL"))==NULL || *shell == '\0')shell="/bin/sh";
		if(execlp(shell, shell, "-i", (char *)NULL))ferr();
	}
	_exit(0);
}

quiet_readonly ★★★★ ()

не могу не скинуть

http://juick.com/Dorif/2195655

Коменты автора доставляют. Особенно фееричны заявления про то, что coreutils - системное ПО.

x4DA ★★★★★ ()

Здравствуйте, все те, кто использует UNIX-like системы

Я делаю (бесплатный) набор открытых и свободных coreutils (небольшой проект, не такой фичастый, как GNU coreutils) для POSIX-совместимых ОС.
Работа над ней началась и скоро (возможно) будет закончена. Я бы хотел получить отзывы о том, что людям нравится/не нравится в GNU coreutils, ибо моя реализация на неё похожа.

Я уже написал basename, chroot, dirname, false, head, link, ln, logname, ls, mkfifo, mv, pwd, test, true, tty, uname, unlink, yes, и всё, кажется, работает.
Подразумевается, что практические вещи у меня появятся через несколькомесяцев, и я хотел бы узнать, каких особенностей хотелось бы большинству.
Проект нацелен на максимальную переносимость, поэтому при написании используются только возможности стандартной библиотеки языка C, а для сборки будут использоваться только POSIX-совместимые make, компилятор языка C и командная оболочка.

Dorif (https://github.com/Dorif/escu.git)

PS. Да, у неё нет никакого GNU-кода.


Извините, не удержался.(:

ymuv ★★★★ ()
Последнее исправление: ymuv (всего исправлений: 1)
Ответ на: комментарий от ymuv

Скорее всего она будет поддерживать лишь SATA-винчестеры, ибо это все, что у меня есть

// для полной аутентичности

DoctorSinus ★★★★★ ()
Ответ на: комментарий от f1xmAn

Т.е. пробелы после запятых. Короче, иду спать.

f1xmAn ★★★★★ ()

CDDL-лицензия. Какие ещё проекты её используют?

gag ★★★★★ ()
Ответ на: комментарий от AITap

После прочтения описания его профиля не складывается ощущение, что он адекватен.

kravich ★★★★ ()
Ответ на: комментарий от ymuv

Он решил сделать ядерную бомбу в кореутилзах?

wlan ★★ ()
Ответ на: комментарий от AITap

Не хочет идти на попятную и разбаниваться

С таким профилем я бы его не разбанил, даже если бы он и «пошёл на попятную».

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от ymuv

Да, да, да, именно из этого сообщения анонс и собрали.

AITap ★★★★★ ()
18 июня 2013 г.

Кстати, о птичках: первый за 5 месяцев коммит(ибо появилось время наконец-то в достаточном количестве, чтоб код обдумывать) - добавил предварительную реализацию утилиты kill(функционал минимальный), переработал код нескольких других утилит. В частности, переработал код chroot, сделав его, по моему мнению, безопаснее.

Dorif ★★ ()

Расскажите, кто-нибудь, этому велосипедостроителю о heirloom toolchest.

Gotf ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.