В тексте стандарта POSIX, а именно в описании единственного там интерфейса для работы с электронной почтой mailx(1) ("heirloom-mailx" - современная его реализация) обнаружился упомянутый для примера адрес hlj@posix.com. Домен posix.com действительно существует, а веб-страница с этим адресом является персональной некоего Hal Jespersen. Его имя с тем же сокращением (HLJ) встречается также в англоязычной Википедии, где, как и на posix.com, речь, по большей части, идет об исторических сражениях.

Оказывается, этот человек является основателем компании POSIX Software Group, которой принадлежат права на упомянутую страницу в интернете, судя по надписи внизу. В свою очередь, запрос в Google на ее название приводит на "about"-страницу в том же домене: "He was the Technical Editor for the IEEE/ISO POSIX family of standards and the Chair of the POSIX Shell and Utilities working group".
The below steps are to set up a local Debian auto-building system similar to that of Launchpad PPA. Within the steps, it is supposed that a local Debian repository has been already configured as written before.

1 Install `rebuildd', `pbuilder', and `devscripts' packages.

2 Edit /etc/default/rebuildd configuration as follows:
START_REBUILDD=1
DISTS="lenny"
3 Run `sudo rebuildd-init-build-system' and `sudo rebuildd init' to initialize the `pbuilder' chroot environent and `rebuildd' database, respectively.

4 Add the local repository to /etc/apt/sources.list on the host machine (`deb-src http://localhost/debian codedot main').

5 Create /var/www/debian/bin/{addjobs,getsrc,putres} scripts with mode 755 as follows:

Self-written scripts )

6 Edit /etc/rebuildd/rebuilddrc configuration as follows:
source_cmd = /var/www/debian/bin/getsrc ${d} ${p} ${v}
post_build_cmd = /var/www/debian/bin/putres ${d} ${p} ${v} ${a}
build_cmd = pbuilder build --debbuildopts -b --basetgz /var/cache/pbuilder/${d}-${a}.tgz ${p}_${v}.dsc
7 Append /var/www/debian/conf/distributions with two lines:
Log: logfile
 --changes /var/www/debian/bin/addjobs
8 Create /var/lib/pbuilder/hooks/D50update script with mode 755 as follows:
#!/bin/sh

/usr/bin/apt-get update
9 Run the command `pbuilder --update --basetgz /var/cache/pbuilder/lenny-*.tgz --override-config --othermirror "deb http://localhost/debian codedot main|deb-src http://localhost/debian codedot main"'.

10 Start `rebuildd' service: `sudo /etc/init.d/rebuildd start'.

After the above steps have been done, new source packages uploaded into the local repository (e.g. using `dput local *.change' command) will be automatically built by the system, and resulting binary packages if succeeded will be uploaded into the repository as well.
#!/bin/sh

cat >>main.c <<!
#if 0
Dear John Smith,

Please increase my salary this month.

Best regards,
Poor Developer
#endif
!

git commit -m "Just profit." main.c
Using yacc(1) and lex(1), specified by POSIX and available in Debian through packages `bison' and `flex', respectively, a parser was automatically generated for a simple language called Macro Lambda Calculus.

Exercise:

Write a program for the SPIM simulator that uses `syscall' instruction to prompt the user to enter strings one per line representing valid decimal integers in the range from 0 to 999999999999. Use 64 bits for each integer. Valid strings may only contain the characters '0' through '9'. All strings other than valid decimal integers should be ignored. The numeric value indicated by each of the decimal strings should be added into a running 64-bit sum until a total of 10 strings have been entered or until the user indicates that there is no more input. The computed 64-bit sum should then be displayed on the console. This exercise involves converting between external and internal representation for input and between internal and external representation for output.

Solution )
POSIX specifies SCCS, Source Code Control System, the first version control system in the World. An article describing usage, internals, and history of it was written by its author, Marc Rochkind, and published in 1975. Inside an Open Group-certified system with XSI (development) extension, SCCS is highly integrated with the `make' program, providing a comfortable way to develop small programs locally.

In Debian, this revision control system is available in particular through a package called `cssc', and GNU Make in turn does know about SCCS' commands. Unfortunately, GNU Make does not support PROJECTDIR environment variable specified in the POSIX standard to provide a way to work with projects together with other local users in a given system. However, the latter feature is no more meaningful for the current state of the IT world, thanks to the Internet widely available.

In any way, SCCS in Debian can be an appropriate tool for tracking local projects, documents, or configuration files constantly being changed. Transparent and simple structure of the history files (so-called s-files) allows fixing small errors in tracked files without unnecessary increase of the version numbers. One of its features is labeling source code modules with identifiers recognizable by the `what' utility - it can be useful to determine the version for each module a given build is constructed from:


Currently, the `cssc' package makes available only the front-end command, `sccs', but POSIX specifies also `get', `what', `delta', etc. Since the `get' command is supposed to be present by GNU Make, it is worth fixing that, for instance, by providing a set of symbolic links to the corresponding executables in ~/bin directory. Later, a package called `posix-utils' is going to be proposed to Debian such a way that it would create them system-wide making the system closer to POSIX Shell and Utilities conformance.
Список рекомендуемых книг на русском языке, содержание которых могло бы составить необходимый и достаточный набор знаний и навыков для уверенного программирования в среде GNU/Linux. Представлены ссылки на Интернет-магазин Ozon.ru.

Брайан Керниган, Деннис Ритчи.
Язык программирования C.
Просмотр.

Брайан Керниган, Роб Пайк.
Практика программирования.
Просмотр.

Митчелл Марк, Оулдем Джеффри, Самьюэл Алекс.
Программирование для Linux. Профессиональный подход.
Просмотр.

Profile

Anton Salikhmetov

November 2018

S M T W T F S
    123
45678 910
11121314151617
18192021222324
252627282930 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 24th, 2025 05:29 pm
Powered by Dreamwidth Studios