/var/log/life.log
Блог программиста из солнечной Бурятии

исходники freebsd под виндой

Понадобились тут исходники FreeBSD одной девушке. А где их взять, ясен пень на установочном диске. в папке src обнаружились файлы вида s*.?? открыв фал install.sh стало понятно что это архивы разбитые на части, судя по размеру, чтобы на дискетку влезали(всего то 90 дискеток надо (: ). На сколько я помнил, WinRar справляется с tar.gz, но консольный rar что-то отказался распаковывать что либо кроме rar, зато гуишный рар принимал данные из командной строки и прекрасно распаковывал. Оставалось только собрать разбитый архив воедино, и как ни странно copy справилась с этим без каких либо проблем в итоге был написан extract.bat, практически аналогичный install.sh:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@echo off
rem путь до WinRAR.exe
set rar="c:\Program Files\WinRAR\WinRAR.exe"
rem путь до папки с исходниками с завершающим слэшем
rem например G:\7.0-RC1\src\
set src=G:\7.0-RC1\src\
if "%1"=="" (
    echo You must specify which components of src to extract
    echo possible subcomponents are:
    echo base bin cddl compat contrib crypto etc games gnu include krb5
    echo lib libexec release rescue sbin secure share sys tools ubin
    echo usbin
    echo You may also specify all to extract all subcomponents.
    goto exit
)
if %1==all (
set dists=base bin cddl compat contrib crypto etc games gnu include krb5 lib libexec release rescue sbin secure share sys tools ubin usbin
) else (
set dists=%*
)
echo Extracting sources into current folder
for %%i in  (%dists%)  do (
echo Extracting source component: %%i
copy %src%s%%i.?? /B %%i.tar.gz /B
%rar% x -y %%i.tar.gz
del %%i.tar.gz
)
echo Done extracting sources.
:exit