3.2 All Packages.
It turns out that section 3.2 is about obtaining the individual packages. Most of the links for the tar balls are referenced in the original 3.1 "easy" way. Where possible I prefer to have the source code repository instead of just a tar ball. Because of this, where possible I will be deviating in section 3.2 to obtain repository clones.This section has been a long-time coming. I have worked off and on for sometime, and have had real-life issues that have stalled my LFS build. Obtaining source repositories for most of these packages was relativly simple with git, however some individual packages took much longer to find proper sources/repositories and/or convert or download because the package maintainers have either not upgraded to git and/or upgrade to other modern repos that my default gentoo live image did not directly support without additional live-image persistence changes and emerges. It also took time to record and document everything for this blog.
Choosing to source/clone the repositories will simplify future update/upgrades/patches by only needing to pull the latest changes, instead of downloading a whole new tar ball for a version. Also if in the future some package/hosting/repository is broken/offline/removed I will have the history of changes, which should simplify manually maintaining my own version of a package as needed. Since I am using a zfs based system, I can create individual file systems for each software package or project. One of the first things I want to do, is give the gentoo user zfs permissions so I can start creating new file-systems as non-root.
livecd sources # sudo chown -R gentoo:users /rootPool/root_fs/sources/
livecd sources # sudo zfs allow users mount,create,snapshot,diff rootPool/root_fs/sources
For each package the following steps will be applied. Create a 'new' zfs filesystem under sources named on the package, snapshot, change to directory, clone (or convert/create) the repository, snapshot, checkout the version/tag/branch corresponding to the wanted version, snapshot. The version I choose from the available tags or branches of a repository may be newer than the tar-ball version performed in "Step 3.1 The Easy Way". I will examine the versions/changelogs, and if they appear to be compatible with the LFS version/instructions, I will typically get the latest to ensure I have any security/bug fixes.
Unless you are following along at home and need the nitty-gritty details, feel free to skip ahead to my next blog entry (when available...). The remainder of this blog entry is just the detailed list of repository info, additional unique commands and additional minor persistent changes I had to make as I went along. To remove some tedeousnous, I will (where possible) refer to previous package instructions if nothing significantly different had to be done to obtain a given repository/version.
With that said, the list of packages listed in section 3.2, and my versions/repository creation are as follows:
- Acl (2.2.53)
- Home page https://savannah.nongnu.org/projects/acl
- Provides "Commands for Manipulating POSIX Access Control Lists"
- Anonymous git clone at https://git.savannah.nongnu.org/git/acl.git
- Obtaining:
gentoo@livecd ~ $ cd /rootPool/root_fs/sources/gentoo@livecd/rootPool/root_fs/sources $ /sbin/zfs create rootPool/root_fs/sources/acl filesystem successfully created, but it may only be mounted by rootgentoo@livecd/rootPool/root_fs/sources $ sudo zfs mount rootPool/root_fs/sources/aclgentoo@livecd/rootPool/root_fs/sources $ cd aclgentoo@livecd/rootPool/root_fs/sources/acl $ /sbin/zfs snapshot rootPool/root_fs/sources/acl@initgentoo@livecd/rootPool/root_fs/sources/acl $ git clone https://git.savannah.nongnu.org/git/acl.git Cloning into 'acl'... remote: Counting objects: 3517, done. remote: Compressing objects: 100% (939/939), done. remote: Total 3517 (delta 2558), reused 3517 (delta 2558) Receiving objects: 100% (3517/3517), 679.67 KiB | 0 bytes/s, done. Resolving deltas: 100% (2558/2558), done. Checking connectivity... done.gentoo@livecd/rootPool/root_fs/sources/acl $ /sbin/zfs snapshot rootPool/root_fs/sources/acl@`date +init_clone_%Y%m%d_%H%M%S.%N`gentoo@livecd/rootPool/root_fs/sources/acl $ cd acl/gentoo@livecd/rootPool/root_fs/sources/acl/acl $ git tag v2.2.48 v2.2.49 v2.2.50 v2.2.51 v2.2.52 v2.2.53gentoo@livecd/rootPool/root_fs/sources/acl/acl $ git checkout v2.2.53 Note: checking out 'v2.2.53'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b <new-branch-name> HEAD is now at 65ff056... test: fix out of tree testsgentoo@livecd/rootPool/root_fs/sources/acl/acl $ /sbin/zfs snapshot rootPool/root_fs/sources/acl@gitco_v2.2.53
- Attr (2.4.48)
- Home page https://savannah.nongnu.org/projects/attr
- Provides "Commands for Manipulating Filesystem Extended Attributes"
- Anonymous git clone at https://git.savannah.nongnu.org/git/attr.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Autoconf (2.69)
- Home page http://www.gnu.org/software/autoconf/
- Provides an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages.
- Git clone at git://git.sv.gnu.org/autoconf
- Obtaining: Same process documented in acl package above, no changes needed.
- Automake (1.16.1)
- Home page http://www.gnu.org/software/automake/
- Project page https://savannah.gnu.org/projects/automake/
- Automake is a tool for automatically generating Makefile.in files compliant with GNU Coding Standards. Automake requires the use of Autoconf.
- Git clone at git://git.savannah.gnu.org/automake.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Bash (5.0)
- Home page http://www.gnu.org/software/bash/
- Project page http://savannah.gnu.org/projects/bash/
- The Bourne Again SHell, the GNU project's default shell.
- Git clone at https://git.savannah.gnu.org/git/bash.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Bc (1.07.1)
- Home page http://www.gnu.org/software/bc/
- bc is an arbitrary precision numeric processing language
- www.gnu.org does not provide a source code repository for this project, only tar ball downloads.
- Found a fork on github by fivepiece that appears to be a repository created for LFS at https://github.com/fivepiece/gnu-bc (Examining the commits, 26f275502dd28114e78bc098fed81acde1d86d62 appears to be a patch listed in the LFS book for chapter 6, bc.)
- Obtaining: similar process as acl, no tags exist in the repo. The forked repo appears to be at version bc-1.07.1 with the LFS patches applied. Created a new tag bc-1.07.1+LFS.
- Binutils (2.32)
- Home page https://www.gnu.org/software/binutils/
- Provides utilities for dealing with binary files, including a linker and assembler, and additional utilities to work with ELF binaries.
- Anonymous git clone at
git://sourceware.org/git/binutils-gdb.git Obtaining: Same process documented in acl package above, no changes needed.
- Bison (3.3.2)
- Home page https://www.gnu.org/software/bison/
- Project page http://savannah.gnu.org/projects/bison/
- A general-purpose parser generator.
- Git clone at https://git.savannah.gnu.org/git/bison.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Bzip2 (1.0.6)
- Home page https://sourceforge.net/projects/bzip2/
- A file compressor/de-compressor utility
- Git clone available at git://git.code.sf.net/p/bzip2/bzip2 bzip2-bzip2
Obtaining: Same process documented in acl package above, no changes needed.
- Check (0.12.0)
- Home page https://libcheck.github.io/check/
- A unit testing framework for C.
- Git clone available at https://github.com/libcheck/check.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Coreutils (8.31)
- Home page https://www.gnu.org/software/coreutils/
- The basic GNU file, shell, and text manipulation utilities.
- Git clone available at git://git.sv.gnu.org/coreutils
- Obtaining: Same process documented in acl package above, no changes needed.
- D-Bus (1.12.12)
- Home page https://www.freedesktop.org/wiki/Software/dbus/
- Project page https://gitlab.freedesktop.org/dbus/dbus
- A message bus system to allow applications to talk to one another.
- Git clone available at https://gitlab.freedesktop.org/dbus/dbus.git
- Obtaining: Same process documented in acl package above, no changes needed.
- DejaGNU (1.6.2)
- Home page https://www.gnu.org/software/dejagnu/
- A framework for testing other programs.
- Git clone available at git://git.sv.gnu.org/dejagnu.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Diffutils (3.7)
- Home page https://www.gnu.org/software/diffutils/
- Project page http://savannah.gnu.org/projects/diffutils/
- A package of several programs related to finding differences between files.
- Git clone available at https://git.savannah.gnu.org/git/diffutils.git
- Obtaining: Same process documented in acl package above, no changes needed.
- E2fsprogs (1.45.5)
- Home page http://e2fsprogs.sourceforge.net/
- The ext2|3|4 file system utilities.
- Obtain, same as above for acl, using git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
- Planning on only using ZFS, however the initial bootstrapping of ZFS will be easiest with a temporary ext2 fs that can be used to have a running LFS system with the basic updated versions of kernel and utilities to build the ZFS modules on.
- Elfutils (0.176)
- Home page https://sourceware.org/elfutils/
- A collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and stacktraces for processes and core files on GNU/Linux.
- Git clone available at git://sourceware.org/git/elfutils.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Expat (2.2.6)
- Home page https://libexpat.github.io/
- Git project: https://github.com/libexpat/libexpat
- A stream-oriented XML parser
- Git clone https://github.com/libexpat/libexpat.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Expect (5.45.4)
- Home page https://core.tcl-lang.org/expect/index
- Project page https://sourceforge.net/projects/expect/
- Does not appear to have a git repository. CVS info is available at https://sourceforge.net/p/expect/code/
- Created an rsync backup of the CVS repo with the commands:
gentoo@livecd ~ $ zfs create rootPool/root_fs/sources/expect
filesystem successfully created, but it may only be mounted by root
gentoo@livecd ~ $ sudo zfs mount -a
gentoo@livecd ~ $ zfs snapshot rootPool/root_fs/sources/expect@init
gentoo@livecd ~ $ cd /rootPool/root_fs/sources/expect/
gentoo@livecd /rootPool/root_fs/sources/expect $ rsync -av rsync://a.cvs.sourceforge.net/cvsroot/expect/\* cvs
receiving incremental file list
created directory cvs
CVSROOT/
CVSROOT/.#checkoutlist
CVSROOT/.#commitinfo
CVSROOT/.#config
CVSROOT/.#cvswrappers
... [ REMOVED FOR BREVITY ~580 LINES OF RSYNC OUTPUT]
expect/win/tests/Attic/trap.tcl,v
expect/win/tests/Attic/trap.test,v
expect/win/tests/Attic/trap2.tcl,v
sent 10,703 bytes received 13,332,684 bytes 5,337,354.80 bytes/sec
total size is 13,293,263 speedup is 1.00
gentoo@livecd /rootPool/root_fs/sources/expect $ zfs snapshot rootPool/root_fs/sources/expect@`date +init_cvs_rsync_%Y%h%d_%H%M%S.%N`
gentoo@livecd /rootPool/root_fs/sources/expect $
- Need to emerge additional tools for repository conversion, and add those emerges to the persistence .
- dev-vcs/cvs2svn
- Converts a CVS repository to a Subversion repository
gentoo@livecd /rootPool/root_fs/sources/expect $ sudo emerge dev-vcs/cvs2svn
Calculating dependencies ... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 2) dev-vcs/rcs-5.9.4::gentoo
* Fetching files in the background.
* To view fetch progress, run in another terminal:
* tail -f /var/log/emerge-fetch.log
* rcs-5.9.4.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
... [EMERGE OUTPUT REMOVED FOR BREVITY]
>>> Completed installing rcs-5.9.4 into /var/tmp/portage/dev-vcs/rcs-5.9.4/image/
* Final size of build directory: 9680 KiB
* Final size of installed tree: 824 KiB
strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment -R .GCC.command.line -R .note.gnu.gold-version
usr/bin/ident
usr/bin/merge
usr/bin/rcs
ecompressdir: bzip2 -9 /usr/share/man
ecompressdir: bzip2 -9 /usr/share/info
ecompressdir: bzip2 -9 /usr/share/doc
>>> Installing (1 of 2) dev-vcs/rcs-5.9.4::gentoo
* Removing /usr/share/doc
>>> Emerging (2 of 2) dev-vcs/cvs2svn-2.4.0-r1::gentoo
>>> Downloading 'http://distfiles.gentoo.org/distfiles/cvs2svn-2.4.0.tar.gz'
--2019-06-09 19:12:42-- http://distfiles.gentoo.org/distfiles/cvs2svn-2.4.0.tar.gz
Resolving distfiles.gentoo.org... 156.56.247.195, 64.50.236.52, 140.211.166.134, ...
Connecting to distfiles.gentoo.org|156.56.247.195|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 514891 (503K) [application/x-gzip]
Saving to: ‘/usr/portage/distfiles/cvs2svn-2.4.0.tar.gz’
/usr/portage/distfi 100%[===================>] 502.82K 755KB/s in 0.7s
2019-06-09 19:12:43 (755 KB/s) - ‘/usr/portage/distfiles/cvs2svn-2.4.0.tar.gz’ saved [514891/514891]
* cvs2svn-2.4.0.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
... [EMERGE OUTPUT REMOVED FOR BREVITY]
>>> Completed installing cvs2svn-2.4.0-r1 into /var/tmp/portage/dev-vcs/cvs2svn-2.4.0-r1/image/
* Final size of build directory: 4396 KiB
* Final size of installed tree: 2960 KiB
ecompressdir: bzip2 -9 /usr/share/man
ecompressdir: bzip2 -9 /usr/share/doc
>>> Installing (2 of 2) dev-vcs/cvs2svn-2.4.0-r1::gentoo
* Removing /usr/share/doc
* Additional scripts and examples have been installed to:
* /usr/share/cvs2svn/
>>> Recording dev-vcs/cvs2svn in "world" favorites file...
* Messages for package dev-vcs/cvs2svn-2.4.0-r1:
* Additional scripts and examples have been installed to:
* /usr/share/cvs2svn/
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* Regenerating GNU info directory index...
* Processed 188 info files.
gentoo@livecd /rootPool/root_fs/sources/expect $ sudo zfs snapshot gentooScratch/persistentPortageTmp@dev-vcs_cvs2svn_cached
gentoo@livecd /rootPool/root_fs/sources/expect $ sudo zfs snapshot gentooScratch/persistentPortageDistfiles@dev-vcs_cvs2svn_cached
gentoo@livecd /rootPool/root_fs/sources/expect $ sudo chmod 777 /gentooScratch/scripts/restoreGentooEnv.sh
gentoo@livecd /rootPool/root_fs/sources/expect $ echo '# Additional packages needed for bootstrap' >> /gentooScratch/scripts/restoreGentooEnv.sh
gentoo@livecd /rootPool/root_fs/sources/expect $ echo 'emerge dev-vcs/cvs2svn' >> /gentooScratch/scripts/restoreGentooEnv.sh
- dev-vcs/svn2git
- Tool for one-time conversion from svn to git
gentoo@livecd /rootPool/root_fs/sources/expect $ sudo emerge dev-vcs/svn2git
Calculating dependencies ... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) dev-vcs/svn2git-1.0.10::gentoo
>>> Downloading 'http://distfiles.gentoo.org/distfiles/svn2git-1.0.10.tar.gz'
... [EMERGE OUTPUT REMOVED FOR BREVITY]
/usr/portage/distfi 100%[===================>] 26.04K 97.2KB/s in 0.3s
2019-06-09 20:14:58 (97.2 KB/s) - ‘/usr/portage/distfiles/svn2git-1.0.10.tar.gz’ saved [26667/26667]
* svn2git-1.0.10.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ] ... [EMERGE OUTPUT REMOVED FOR BREVITY]
>>> Source compiled.
>>> Test phase [not enabled]: dev-vcs/svn2git-1.0.10
>>> Install svn2git-1.0.10 into /var/tmp/portage/dev-vcs/svn2git-1.0.10/image/ category dev-vcs
>>> Completed installing svn2git-1.0.10 into /var/tmp/portage/dev-vcs/svn2git-1.0.10/image/
* Final size of build directory: 1004 KiB
* Final size of installed tree: 316 KiB
strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment -R .GCC.command.line -R .note.gnu.gold-version
usr/bin/svn-all-fast-export
>>> Installing (1 of 1) dev-vcs/svn2git-1.0.10::gentoo
>>> Recording dev-vcs/svn2git in "world" favorites file...
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
gentoo@livecd /rootPool/root_fs/sources/expect $ sudo zfs snapshot gentooScratch/persistentPortageTmp@dev-vcs_svn2git_cached
gentoo@livecd /rootPool/root_fs/sources/expect $ sudo zfs snapshot gentooScratch/persistentPortageDistfiles@dev-vcs_svn2git_cached
gentoo@livecd /rootPool/root_fs/sources/expect $ echo 'emerge dev-vcs/svn2git' >> /gentooScratch/scripts/restoreGentooEnv.sh
gentoo@livecd /rootPool/root_fs/sources/expect $ sudo zfs snapshot gentooScratch/scripts@updated_repository_tools
gentoo@livecd /rootPool/root_fs/sources/expect $
- After making these changes, the system is rebooted to ensure that the additional repository tools are properly persisted.
- Upon reboot, a cvs2git program is found on the command line.
- Using cvs2git documentation found at: https://www.mcs.anl.gov/~jacob/cvs2svn/cvs2git.html#usage
gentoo@livecd ~ $ cd /rootPool/root_fs/sources/expect/
gentoo@livecd /rootPool/root_fs/sources/expect $ cvs2git --blobfile=cvs2svn-tmp/git-blob.dat --dumpfile=cvs2svn-tmp/git-dump.dat --username=cvs2git /rootPool/root_fs/sources/expect/cvs
----- pass 1 (CollectRevsPass) -----
Examining all CVS ',v' files...
/rootPool/root_fs/sources/expect/cvs/CVSROOT/checkoutlist,v
/rootPool/root_fs/sources/expect/cvs/CVSROOT/commitinfo,v
... [ Removed ~520 lines of CVS file collections for brevity]
/rootPool/root_fs/sources/expect/cvs/expect/win/tests/Attic/trap2.tcl,v
Done
Time for pass1 (CollectRevsPass): 0.709 seconds.
----- pass 2 (CleanMetadataPass) -----
Converting metadata to UTF8...
Done
Time for pass2 (CleanMetadataPass): 0.026 seconds.
----- pass 3 (CollateSymbolsPass) -----
Checking for forced tags with commits...
Done
Time for pass3 (CollateSymbolsPass): 0.003 seconds.
----- pass 4 (FilterSymbolsPass) -----
Filtering out excluded symbols and summarizing items...
Done
Time for pass4 (FilterSymbolsPass): 7.523 seconds.
----- pass 5 (SortRevisionsPass) -----
Sorting CVS revision summaries...
Done
Time for pass5 (SortRevisionsPass): 0.005 seconds.
----- pass 6 (SortSymbolsPass) -----
Sorting CVS symbol summaries...
Done
Time for pass6 (SortSymbolsPass): 0.004 seconds.
----- pass 7 (InitializeChangesetsPass) -----
Creating preliminary commit sets...
Done
Time for pass7 (InitializeChangesetsPass): 0.311 seconds.
----- pass 8 (BreakRevisionChangesetCyclesPass) -----
Breaking revision changeset dependency cycles...
Done
Time for pass8 (BreakRevisionChangesetCyclesPass): 0.134 seconds.
----- pass 9 (RevisionTopologicalSortPass) -----
Generating CVSRevisions in commit order...
Done
Time for pass9 (RevisionTopologicalSortPass): 0.134 seconds.
----- pass 10 (BreakSymbolChangesetCyclesPass) -----
Breaking symbol changeset dependency cycles...
Done
Time for pass10 (BreakSymbolChangesetCyclesPass): 0.162 seconds.
----- pass 11 (BreakAllChangesetCyclesPass) -----
Breaking CVSSymbol dependency loops...
Done
Time for pass11 (BreakAllChangesetCyclesPass): 0.242 seconds.
----- pass 12 (TopologicalSortPass) -----
Generating CVSRevisions in commit order...
Done
Time for pass12 (TopologicalSortPass): 0.230 seconds.
----- pass 13 (CreateRevsPass) -----
Mapping CVS revisions to Subversion commits...
Creating Subversion r1 (Project initialization)
Creating Subversion r2 (commit)
Creating Subversion r3 (copying to branch 'expect')
Creating Subversion r4 (commit)
Creating Subversion r5 (copying to tag 'expect-5-28-1')
... [ Removed ~564 lines of revision commits for brevity]
Creating Subversion r569 (commit)
Creating Subversion r570 (commit)
Done
Time for pass13 (CreateRevsPass): 0.279 seconds.
----- pass 14 (SortSymbolOpeningsClosingsPass) -----
Sorting symbolic name source revisions...
Done
Time for pass14 (SortSymbolOpeningsClosingsPass): 0.018 seconds.
----- pass 15 (IndexSymbolsPass) -----
Determining offsets for all symbolic names...
Done.
Time for pass15 (IndexSymbolsPass): 0.011 seconds.
----- pass 16 (OutputPass) -----
Time for pass16 (OutputPass): 0.362 seconds.
cvs2svn Statistics:
------------------
Total CVS Files: 522
Total CVS Revisions: 2927
Total CVS Branches: 1512
Total CVS Tags: 5337
Total Unique Tags: 32
Total Unique Branches: 8
CVS Repos Size in KB: 10231
Total SVN Commits: 570
First Revision Date: Wed Oct 14 22:53:20 1998
Last Revision Date: Thu May 1 19:22:24 2014
------------------
Timings (seconds):
------------------
0.71 pass1 CollectRevsPass
0.03 pass2 CleanMetadataPass
0.00 pass3 CollateSymbolsPass
7.52 pass4 FilterSymbolsPass
0.01 pass5 SortRevisionsPass
0.00 pass6 SortSymbolsPass
0.31 pass7 InitializeChangesetsPass
0.13 pass8 BreakRevisionChangesetCyclesPass
0.13 pass9 RevisionTopologicalSortPass
0.16 pass10 BreakSymbolChangesetCyclesPass
0.24 pass11 BreakAllChangesetCyclesPass
0.23 pass12 TopologicalSortPass
0.28 pass13 CreateRevsPass
0.02 pass14 SortSymbolOpeningsClosingsPass
0.01 pass15 IndexSymbolsPass
0.36 pass16 OutputPass
10.16 total
gentoo@livecd /rootPool/root_fs/sources/expect $ zfs snapshot rootPool/root_fs/sources/expect@cvs2git_run
gentoo@livecd /rootPool/root_fs/sources/expect $ mkdir expect.git
gentoo@livecd /rootPool/root_fs/sources/expect $ cd expect.git/
gentoo@livecd /rootPool/root_fs/sources/expect/expect.git $ git init --bare
Initialized empty Git repository in /rootPool/root_fs/sources/expect/expect.git/
gentoo@livecd /rootPool/root_fs/sources/expect/expect.git $ git fast-import --export-marks=../cvs2svn-tmp/git-marks.dat <../cvs2svn-tmp/git-blob.dat
git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects: 5000
Total objects: 2259 ( 452 duplicates )
blobs : 2259 ( 452 duplicates 1865 deltas of 2123 attempts)
trees : 0 ( 0 duplicates 0 deltas of 0 attempts)
commits: 0 ( 0 duplicates 0 deltas of 0 attempts)
tags : 0 ( 0 duplicates 0 deltas of 0 attempts)
Total branches: 0 ( 0 loads )
marks: 1048576 ( 2711 unique )
atoms: 0
Memory total: 2282 KiB
pools: 2048 KiB
objects: 234 KiB
---------------------------------------------------------------------
pack_report: getpagesize() = 4096
pack_report: core.packedGitWindowSize = 1073741824
pack_report: core.packedGitLimit = 8589934592
pack_report: pack_used_ctr = 0
pack_report: pack_mmap_calls = 0
pack_report: pack_open_windows = 0 / 0
pack_report: pack_mapped = 0 / 0
---------------------------------------------------------------------
gentoo@livecd /rootPool/root_fs/sources/expect/expect.git $ git fast-import --import-marks=../cvs2svn-tmp/git-marks.dat < ../cvs2svn-tmp/git-dump.dat
git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects: 5000
Total objects: 1937 ( 49 duplicates )
blobs : 0 ( 0 duplicates 0 deltas of 0 attempts)
trees : 1390 ( 49 duplicates 922 deltas of 1308 attempts)
commits: 547 ( 0 duplicates 0 deltas of 0 attempts)
tags : 0 ( 0 duplicates 0 deltas of 0 attempts)
Total branches: 42 ( 10 loads )
marks: 1073741824 ( 3258 unique )
atoms: 437
Memory total: 2407 KiB
pools: 2173 KiB
objects: 234 KiB
---------------------------------------------------------------------
pack_report: getpagesize() = 4096
pack_report: core.packedGitWindowSize = 1073741824
pack_report: core.packedGitLimit = 8589934592
pack_report: pack_used_ctr = 2569
pack_report: pack_mmap_calls = 40
pack_report: pack_open_windows = 2 / 2
pack_report: pack_mapped = 4044902 / 4044902
---------------------------------------------------------------------
gentoo@livecd /rootPool/root_fs/sources/expect/expect.git $ zfs snapshot rootPool/root_fs/sources/expect@gitimport
gentoo@livecd /rootPool/root_fs/sources/expect/expect.git $ cd ..
gentoo@livecd /rootPool/root_fs/sources/expect $ git clone /rootPool/root_fs/sources/expect/expect.git/ expect
Cloning into 'expect'...
done.
gentoo@livecd /rootPool/root_fs/sources/expect $ zfs snapshot rootPool/root_fs/sources/expect@`date +init_clone_%Y%h%d_%H%M%S.%N`
gentoo@livecd /rootPool/root_fs/sources/expect $ cd expect
gentoo@livecd /rootPool/root_fs/sources/expect/expect $ git checkout expect_5_45
Note: checking out 'expect_5_45'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at e98bde7... * expect.c: [Bug 3095935]: Convert #bytes information to #chars to prevent later code to fail when copying strings around and miscalculating how much to copy, for strings containing non-ASCII utf chars.
gentoo@livecd /rootPool/root_fs/sources/expect/expect $ zfs snapshot rootPool/root_fs/sources/expect@gitco_expect_5_45
- File (5.37)
- Home page https://www.darwinsys.com/file/
- Utility to read magic bytes of a file, and tell you what type of file it is.
- Read-Only GIT clone (updated from internal CVS) at https://github.com/file/file
- Obtaining: Same process documented in acl package above, no changes needed.
- Findutils (4.6.0)
- Home page https://www.gnu.org/software/findutils/
- Project page https://savannah.gnu.org/projects/findutils
- Basic directory searching utilities.
- Git at https://git.savannah.gnu.org/git/findutils.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Flex (2.6.4)
- Home page https://github.com/westes/flex
- The fast lexical analyzer generator.
- Git at https://github.com/westes/flex.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Gawk (5.0.0)
- Home page https://www.gnu.org/software/gawk/
- Project page http://savannah.gnu.org/projects/gawk/
- The GNU version of the awk program for command line data formatting/altering.
- Git at https://git.savannah.gnu.org/git/gawk.git
- Obtaining: Same process documented in acl package above, no changes needed.
- GCC (9.1.0)
- Home page https://gcc.gnu.org/
- The compiler!
- Read-Only GIT (Mirror of svn) at git://gcc.gnu.org/git/gcc.git
- To obtain, followed the 'Getting started - Read-Only' instructions at https://gcc.gnu.org/wiki/GitMirror [Extra steps for local LFS system highlighted in this color, steps skipped from website use strike-through]
- zfs create rootPool/root_fs/sources/gcc
- sudo zfs mount -a
- zfs snapshot rootPool/root_fs/sources/gcc@init
- cd /rootPool/root_fs/sources/gcc
- mkdir gcc; cd gcc
- git init
- git remote add origin git://gcc.gnu.org/git/gcc.git
- git config --add remote.origin.fetch 'refs/remotes/*:refs/remotes/svn/*'
- git fetch
git checkout -b trunk svn/trunk- git status
- zfs snapshot rootPool/root_fs/sources/gcc@`date +init_clone_%Y%h%d_%H%M%S.%N`
- git checkout gcc-9_1_0-release
- git status
- zfs snapshot rootPool/root_fs/sources/gcc@gitco_gcc-9_1_0
# fetch changes from official svn-mirrorgit pull --rebase
- GDBM (1.18.1)
- Home page https://www.gnu.org.ua/software/gdbm/
- Project page https://puszcza.gnu.org.ua/projects/gdbm
- The GNU dbm is a library of database functions that use extensible hashing.
- Git at git://git.gnu.org.ua/gdbm.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Gettext (0.20.1)
- Home page https://www.gnu.org/software/gettext/
- Project page https://savannah.gnu.org/projects/gettext/
- Support for international text.
- Git at https://git.savannah.gnu.org/git/gettext.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Glibc (2.29)
- Home page https://www.gnu.org/software/libc/
- The GNU libc basic ISO C library.
- Git at git://sourceware.org/git/glibc.git
- Obtaining: Similar process as above, Checked out branch 'release/2.29/master' instead of a tag.
- GMP (6.1.2)
- Home page https://gmplib.org/
- Repository page https://gmplib.org/devel/repo-usage.html
- Mercurial at (unstable dev version)
https://gmplib.org/repo/gmp-6.1/ - Mercurial at (stable version)
https://gmplib.org/repo/gmp/ - Mercurial is not installed... Need to emerge additional tools for repository access.
- dev-vcs/mercurial
- Scalable distributed SCM
gentoo@livecd ~ $ sudo emerge dev-vcs/mercurial Calculating dependencies ... done! >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-vcs/mercurial-3.8.3::gentoo >>> Downloading 'http://distfiles.gentoo.org/distfiles/mercurial-3.8.3.tar.gz' --2019-06-10 01:15:37-- http://distfiles.gentoo.org/distfiles/mercurial-3.8.3.tar.gz Resolving distfiles.gentoo.org... 156.56.247.195, 64.50.233.100, 140.211.166.134, ... Connecting to distfiles.gentoo.org|156.56.247.195|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2019-06-10 01:15:37 ERROR 404: Not Found. >>> Downloading 'http://mercurial.selenic.com/release/mercurial-3.8.3.tar.gz' --2019-06-10 01:15:37-- http://mercurial.selenic.com/release/mercurial-3.8.3.tar.gz Resolving mercurial.selenic.com... 192.81.134.36, 2600:3c01::f03c:91ff:fedb:76b6 Connecting to mercurial.selenic.com|192.81.134.36|:80... connected. HTTP request sent, awaiting response... 302 Found Location: https://mercurial.selenic.com/release/mercurial-3.8.3.tar.gz [following] --2019-06-10 01:15:37-- https://mercurial.selenic.com/release/mercurial-3.8.3.tar.gz Connecting to mercurial.selenic.com|192.81.134.36|:443... connected. ERROR: no certificate subject alternative name matches requested host name ‘mercurial.selenic.com’. To connect to mercurial.selenic.com insecurely, use `--no-check-certificate'. !!! Couldn't download 'mercurial-3.8.3.tar.gz'. Aborting. * Fetch failed for 'dev-vcs/mercurial-3.8.3', Log file: * '/var/tmp/portage/dev-vcs/mercurial-3.8.3/temp/build.log' >>> Failed to emerge dev-vcs/mercurial-3.8.3, Log file: >>> '/var/tmp/portage/dev-vcs/mercurial-3.8.3/temp/build.log' * Messages for package dev-vcs/mercurial-3.8.3: * Fetch failed for 'dev-vcs/mercurial-3.8.3', Log file: * '/var/tmp/portage/dev-vcs/mercurial-3.8.3/temp/build.log' gentoo@livecd ~ $ cd /usr/portage/distfiles/ gentoo@livecd /usr/portage/distfiles $ sudo wget --no-check-certificate http://mercurial.selenic.com/release/mercurial-3.8.3.tar.gz URL transformed to HTTPS due to an HSTS policy --2019-06-10 01:16:08-- https://mercurial.selenic.com/release/mercurial-3.8.3.tar.gz Resolving mercurial.selenic.com... 192.81.134.36, 2600:3c01::f03c:91ff:fedb:76b6 Connecting to mercurial.selenic.com|192.81.134.36|:443... connected. WARNING: no certificate subject alternative name matches requested host name ‘mercurial.selenic.com’. HTTP request sent, awaiting response... 200 OK Length: 4772901 (4.6M) [application/x-gzip] Saving to: ‘mercurial-3.8.3.tar.gz’ mercurial-3.8.3.tar.gz 100%[=============================================================================>] 4.55M 7.97MB/s in 0.6s 2019-06-10 01:16:08 (7.97 MB/s) - ‘mercurial-3.8.3.tar.gz’ saved [4772901/4772901] gentoo@livecd /usr/portage/distfiles $ sudo emerge dev-vcs/mercurial Calculating dependencies ... done! >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-vcs/mercurial-3.8.3::gentoo * mercurial-3.8.3.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ] >>> Unpacking source... ... [Emerge output removed for brevity] >>> Installing (1 of 1) dev-vcs/mercurial-3.8.3::gentoo * Removing /usr/share/doc * If you want to convert repositories from other tools using convert * extension please install correct tool: * dev-vcs/cvs * dev-vcs/darcs * dev-vcs/git * dev-vcs/monotone * dev-vcs/subversion >>> Recording dev-vcs/mercurial in "world" favorites file... * Messages for package dev-vcs/mercurial-3.8.3: * If you want to convert repositories from other tools using convert * extension please install correct tool: * dev-vcs/cvs * dev-vcs/darcs * dev-vcs/git * dev-vcs/monotone * dev-vcs/subversion >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date.gentoo@livecd /rootPool/root_fs/sources/expect $ sudo zfs snapshot gentooScratch/persistentPortageTmp@dev-vcs_mercurial_cached gentoo@livecd /rootPool/root_fs/sources/expect $ sudo zfs snapshot gentooScratch/persistentPortageDistfiles@dev-vcs_mercurial_cached gentoo@livecd /rootPool/root_fs/sources/expect $ echo 'emerge dev-vcs/mercurial' >> /gentooScratch/scripts/restoreGentooEnv.sh gentoo@livecd /rootPool/root_fs/sources/expect $ sudo zfs snapshot gentooScratch/scripts@updated_repository_tools_mercurial gentoo@livecd /rootPool/root_fs/sources/expect $
- After these changes, another reboot to ensure the persistence for mercurial.
- Upon reboot the 'hg' mercurial command is available on the server.
gentoo@livecd /rootPool/root_fs/sources $ /sbin/zfs create rootPool/root_fs/sources/GMP
filesystem successfully created, but it may only be mounted by root
gentoo@livecd /rootPool/root_fs/sources $ sudo zfs mount -a
gentoo@livecd /rootPool/root_fs/sources $ cd GMP
gentoo@livecd /rootPool/root_fs/sources/GMP $ /sbin/zfs snapshot rootPool/root_fs/sources/GMP@init
gentoo@livecd /rootPool/root_fs/sources/GMP $ hg clone https://gmplib.org/repo/gmp-6.1/ libgmp
requesting all changes
adding changesets
adding manifests
adding file changes
added 16975 changesets with 42668 changes to 3105 files (+5 heads)
updating to branch default
1900 files updated, 0 files merged, 0 files removed, 0 files unresolved
gentoo@livecd /rootPool/root_fs/sources/GMP $ cd libgmp/
gentoo@livecd /rootPool/root_fs/sources/GMP/libgmp $ hg sum
parent: 16974:aad821ef06cb tip
Merge changes from mainline.
branch: default
commit: (clean)
update: (current)
gentoo@livecd /rootPool/root_fs/sources/GMP/libgmp $ /sbin/zfs snapshot rootPool/root_fs/sources/GMP@`date +init_clone_%Y%h%d_%H%M%S.%N`
- Gperf (3.1)
- Home page: https://www.gnu.org/software/gperf/
- Provides a libary for "perfect hashes".
- Source code at savanah project http://savannah.gnu.org/projects/gperf/
- Anonymous git repo at git://git.savannah.gnu.org/gperf.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Grep (3.3)
- Home page: https://www.gnu.org/software/grep/
- Searches files for a pattern.
- Source code at savanah project http://savannah.gnu.org/git/?group=grep
- Anonymous git repo at https://git.savannah.gnu.org/git/grep.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Groff (1.22.4)
- Home page: https://www.gnu.org/software/groff/
- GNU troff, a text formatting program.
- Source code found at https://savannah.gnu.org/git/?group=groff
- Anonymous git repo at https://git.savannah.gnu.org/git/groff.git
- Obtaining: Same process documented in acl package above, no changes needed.
- GRUB (2.04)
- Home page: https://www.gnu.org/software/grub/
- GRand Unified Boot Loader
- Git available:
git clone https://git.savannah.gnu.org/git/grub.git Obtaining: Same process documented in acl package above, changed to use tagged version 'grub-2.04'
- Gzip (1.10)
- Home page: https://www.gnu.org/software/gzip/
- Compression program
- Project page http://savannah.gnu.org/projects/gzip
- Git available: git clone https://git.savannah.gnu.org/git/gzip.git
- Iana-Etc (2.30)
- Home Page: http://sethwklein.net/iana-etc
- Provides the /etc/services and /etc/protocol files.
- There does not appear to be any public code repository. Will use the tar ball for 2.30.
- Will initialize a git repo to ensure any fixes/changes made to compile can be tracked.
gentoo@livecd /rootPool/root_fs/sources $ zfs create rootPool/root_fs/sources/iana-etc
filesystem successfully created, but it may only be mounted by root
gentoo@livecd /rootPool/root_fs/sources $ sudo zfs mount -a
gentoo@livecd /rootPool/root_fs/sources $ zfs snapshot rootPool/root_fs/sources/iana-etc@init
gentoo@livecd /rootPool/root_fs/sources $ cd iana-etc/
gentoo@livecd /rootPool/root_fs/sources/iana-etc $ tar -xjf ../lfs_tarballs/iana-etc-2.30.tar.bz2
gentoo@livecd /rootPool/root_fs/sources/iana-etc $ zfs snapshot rootPool/root_fs/sources/iana-etc@`date +unpacked_v2.30_%Y%m%d_%H%M%S.%N`
gentoo@livecd /rootPool/root_fs/sources/iana-etc $ cd iana-etc-2.30/
gentoo@livecd /rootPool/root_fs/sources/iana-etc/iana-etc-2.30 $ git init
Initialized empty Git repository in /rootPool/root_fs/sources/iana-etc/iana-etc-2.30/.git/
gentoo@livecd /rootPool/root_fs/sources/iana-etc/iana-etc-2.30 $ git add *
gentoo@livecd /rootPool/root_fs/sources/iana-etc/iana-etc-2.30 $ git commit -m 'initial source code from 2.30 source tar ball'
[master (root-commit) 011e7c5] initial source code from 2.30 source tar ball
Committer: Gentoo default user <gentoo@livecd.lan>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:
git config --global --edit
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
15 files changed, 16532 insertions(+)
create mode 100644 COPYING
create mode 100644 CREDITS
create mode 100644 Makefile
create mode 100644 NEWS
create mode 100644 README
create mode 100644 VERSION
create mode 100644 get.gawk
create mode 100644 port-aliases
create mode 100644 port-numbers.dist
create mode 100644 protocol-numbers.dist
create mode 100644 protocols.gawk
create mode 100644 services.gawk
create mode 100644 test-lib.gawk
create mode 100755 test-protocols.gawk
create mode 100755 test-services.gawk
gentoo@livecd /rootPool/root_fs/sources/iana-etc/iana-etc-2.30 $ git status
On branch master
nothing to commit, working directory clean
gentoo@livecd /rootPool/root_fs/sources/iana-etc/iana-etc-2.30 $ git tag v2.30
gentoo@livecd /rootPool/root_fs/sources/iana-etc/iana-etc-2.30 $ zfs snapshot rootPool/root_fs/sources/iana-etc@`date +git_ci_v2.30_tagged_%Y%m%d_%H%M%S.%N`
- Inetutils (1.9.4)
- Home page: https://www.gnu.org/software/inetutils/
- Collection of common network programs.
- Project page: https://savannah.gnu.org/projects/inetutils
- Git available: git clone https://git.savannah.gnu.org/git/inetutils.git
- Obtaining: Same process documented in acl package above, no changes needed.
- Intltool (0.51.0)
- Home page: https://freedesktop.org/wiki/Software/intltool/
- Collection of programs to perform translations of several text formats.
- Repository information: https://code.launchpad.net/intltool
- Obtain using bzr branch lp:intltool
- Bazar is not installed
- dev-vcs/bzr
gentoo@livecd ~ $ sudo emerge dev-vcs/bzr
Calculating dependencies ... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) dev-vcs/bzr-2.6.0::gentoo
>>> Downloading 'http://distfiles.gentoo.org/distfiles/bzr-2.6.0.tar.gz'
--2019-10-13 15:54:04-- http://distfiles.gentoo.org/distfiles/bzr-2.6.0.tar.gz
Resolving distfiles.gentoo.org... 140.211.166.134, 156.56.247.195, 216.165.129.135, ...
Connecting to distfiles.gentoo.org|140.211.166.134|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-10-13 15:54:04 ERROR 404: Not Found.
>>> Downloading 'https://launchpad.net/bzr/2.6/2.6.0/+download/bzr-2.6.0.tar.gz'
--2019-10-13 15:54:04-- https://launchpad.net/bzr/2.6/2.6.0/+download/bzr-2.6.0.tar.gz
Resolving launchpad.net... 91.189.89.222, 91.189.89.223, 2001:67c:1560:8003::8003, ...
Connecting to launchpad.net|91.189.89.222|:443... connected.
HTTP request sent, awaiting response... 303 See Other
Location: https://launchpadlibrarian.net/145980211/bzr-2.6.0.tar.gz [following]
--2019-10-13 15:54:04-- https://launchpadlibrarian.net/145980211/bzr-2.6.0.tar.gz
Resolving launchpadlibrarian.net... 91.189.89.229, 91.189.89.228, 2001:67c:1560:8003::8007, ...
Connecting to launchpadlibrarian.net|91.189.89.229|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11301124 (11M) [application/x-tar]
Saving to: '/usr/portage/distfiles/bzr-2.6.0.tar.gz'
/usr/portage/distfi 100%[===================>] 10.78M 6.54MB/s in 1.6s
2019-10-13 15:54:07 (6.54 MB/s) - '/usr/portage/distfiles/bzr-2.6.0.tar.gz' saved [11301124/11301124]
* bzr-2.6.0.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking bzr-2.6.0.tar.gz to /var/tmp/portage/dev-vcs/bzr-2.6.0/work
>>> Source unpacked in /var/tmp/portage/dev-vcs/bzr-2.6.0/work
>>> Preparing source in /var/tmp/portage/dev-vcs/bzr-2.6.0/work/bzr-2.6.0 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-vcs/bzr-2.6.0/work/bzr-2.6.0 ...
* python2_7: running distutils-r1_run_phase python_configure_all
/usr/bin/python2.7 setup.py build_mo
... [EMERGE OUTPUT REMOVED FOR BREVITY]
Writing /var/tmp/portage/dev-vcs/bzr-2.6.0/image/_python2.7/usr/lib64/python2.7/site-packages/bzr-2.6.0-py2.7.egg-info
* python2_7: running distutils-r1_run_phase python_install_all
>>> Completed installing bzr-2.6.0 into /var/tmp/portage/dev-vcs/bzr-2.6.0/image/
* Final size of build directory: 63524 KiB
* Final size of installed tree: 45504 KiB
strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment -R .GCC.command.line -R .note.gnu.gold-version
usr/lib64/python2.7/site-packages/bzrlib/_static_tuple_c.so
usr/lib64/python2.7/site-packages/bzrlib/_patiencediff_c.so
usr/lib64/python2.7/site-packages/bzrlib/_chk_map_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_rio_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_btree_serializer_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_chunks_to_lines_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_known_graph_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_simple_set_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_groupcompress_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_knit_load_data_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_readdir_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_bencode_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_dirstate_helpers_pyx.so
usr/lib64/python2.7/site-packages/bzrlib/_annotator_pyx.so
ecompressdir: bzip2 -9 /usr/share/man
ecompressdir: bzip2 -9 /usr/share/doc
>>> Installing (1 of 1) dev-vcs/bzr-2.6.0::gentoo
* Removing /usr/share/doc
>>> Recording dev-vcs/bzr in "world" favorites file...
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
gentoo@livecd ~ $ sudo zfs snapshot gentooScratch/persistentPortageTmp@dev-vcs_bzr_cached
gentoo@livecd ~ $ sudo zfs snapshot gentooScratch/persistentPortageDistfiles@dev-vcs_bzr_cached
gentoo@livecd ~ $ echo 'emerge dev-vcs/bzr' >> /gentooScratch/scripts/restoreGentooEnv.sh
gentoo@livecd ~ $ sudo zfs snapshot gentooScratch/scripts@updated_repository_tools_bzr
- After these changes, another reboot to ensure the persistence for bazar.
- Upon reboot the 'bzr' bazar command is available on the server.
gentoo@livecd /rootPool/root_fs/sources $ /sbin/zfs create rootPool/root_fs/sources/intltool
filesystem successfully created, but it may only be mounted by root
gentoo@livecd /rootPool/root_fs/sources $ sudo zfs mount -a
gentoo@livecd /rootPool/root_fs/sources $ /sbin/zfs snapshot rootPool/root_fs/sources/intltool@init
gentoo@livecd /rootPool/root_fs/sources $ cd intltool/
gentoo@livecd /rootPool/root_fs/sources/intltool $ bzr branch lp:intltool
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data. See "bzr help launchpad-login".
Branched 748 revisions.
gentoo@livecd /rootPool/root_fs/sources/intltool $ /sbin/zfs snapshot rootPool/root_fs/sources/intltool@bzr_branch
gentoo@livecd /rootPool/root_fs/sources/intltool $ cd intltool/
gentoo@livecd /rootPool/root_fs/sources/intltool/intltool $ bzr update -r 748
Tree is up to date at revision 748 of branch /rootPool/root_fs/sources/intltool/intltool
gentoo@livecd /rootPool/root_fs/sources/intltool/intltool $ /sbin/zfs snapshot rootPool/root_fs/sources/intltool@`date +bzr_co_Rev748_release-0_51_0-AND-BugFix_1687644_%Y%m%d_%H%M%S.%N`
- IPRoute2 (5.1.0)
- Homepage: https://wiki.linuxfoundation.org/networking/iproute2
- Utilities to configure and control network and traffic control.
- Obtaining: Same as documented for acl above, using git clone git://git.kernel.org/pub/scm/network/iproute2/iproute2.git
- Kbd (2.0.4)
- Homepage: http://kbd-project.org/
- Tools for managing linux consoles.
- Obtaining: Same as documented for acl above, using
git clone https://github.com/legionus/kbd.git
- Kmod (26)
- Archive page: https://mirrors.edge.kernel.org/pub/linux/utils/kernel/kmod/
- Provides utilities for managing kernel modules
- Obtaining: Same as documented for acl above, using: git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
- Less (530)
- Homepage: http://www.greenwoodsoftware.com/less/
- File pager.
- Obtaining: Same as documented for acl above, using https://github.com/gwsw/less
- Libcap (2.27)
- Homepage: https://sites.google.com/site/fullycapable/
- Library for managing capabilities.
- Obtaining: Same as documented for acl above, using https://git.kernel.org/pub/scm/libs/libcap/libcap.git/
- Libffi (3.2.1)
- Homepage: https://sourceware.org/libffi/
- A portable foreign function interface library.
- Obtaining: Same as documented for acl above, using http://github.com/libffi/libffi
- Libpipeline (1.5.1)
- Homepage: http://libpipeline.nongnu.org/
- Pipeline manipulation library
- Obtaining: Same as documented for acl above, using
git clone https://git.savannah.nongnu.org/git/libpipeline.git
- Libtool (2.4.6)
- Homepage: https://www.gnu.org/software/libtool/
- Generic library support script for handling dynamic shared libraries.
- Obtaining: Same as documented for acl above, using:
https://git.savannah.gnu.org/git/libtool.git
- Linux (5.1.3)
- Homepage: https://www.kernel.org/
- The linux kernel itself!
- Obtaining: Same as documented for acl above, using:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
- M4 (1.4.18)
- Homepage: https://www.gnu.org/software/m4/
- Macro processor.
- Obtaining: Same as documented for acl above, using:
git clone git://git.sv.gnu.org/m4
- Make (4.2.1)
- Homepage: https://www.gnu.org/software/make/
- Tool to build software.
- Obtaining: Same as documented for acl above, using:
git clone https://git.savannah.gnu.org/git/make.git
- Man-DB (2.8.5)
- Homepage: https://www.nongnu.org/man-db/
- Database for implementing the man command.
- Obtaining: Same as documented for acl above, using:
https://git.savannah.nongnu.org/git/man-db.git
- Man-pages (5.01)
- Homepage: https://www.kernel.org/doc/man-pages/
- Basic set of man pages for the kernel and libc apis.
- Obtaining: Same as documented for acl above, using: git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git
- Meson (0.50.1)
- Homepage: https://mesonbuild.com/
- Open source build system
- Obtain: Same as documented for acl above, using: https://github.com/mesonbuild/meson
- MPC (1.1.0)
- Homepage: http://www.multiprecision.org/mpc/
- Library for arbritary precision complex numbers
- Repository Page: https://gforge.inria.fr/scm/?group_id=131
- Obtain: Same as documented for acl above, using https://scm.gforge.inria.fr/anonscm/git/mpc/mpc.git
- MPFR (4.0.2)
- Homepage: https://www.mpfr.org/
- Library for multiple precission floating point numbers
- Repository page: https://www.mpfr.org/gforge.html
- Uses SVN, at svn checkout https://scm.gforge.inria.fr/anonscm/svn/mpfr/trunk dirname
- svn2git in emerge is for local SVN, not for cloning from a remote svn. For that need the Ruby GEM, also named, svn2git
- The Ruby GEM relies on git having a 'svn' sub command.
- To obtain 'git svn' need to re-emerge subversion, change the portage usage with:
- add a line with "dev-util/git subversion" to /etc/portage/package.use
- Re-emerge git
- The gentoo live disk version and mirror list is very out of date for a version of subversion, needed to go to the archive at https://archive.apache.org/dist/subversion/ to find the older version 1.9.4 that emerge wants, and manually cache it into the portage directory.
gentoo@livecd /rootPool/root_fs/sources $ zfs create rootPool/root_fs/sources/MPFR
filesystem successfully created, but it may only be mounted by root
gentoo@livecd /rootPool/root_fs/sources $ sudo zfs mount -a
gentoo@livecd /rootPool/root_fs/sources $ zfs snapshot rootPool/root_fs/sources/MPFR@init
gentoo@livecd /rootPool/root_fs/sources $ cd MPFR
gentoo@livecd /rootPool/root_fs/sources/MPFR $ gem install svn2git
Fetching: svn2git-2.4.0.gem (100%)
Successfully installed svn2git-2.4.0
Parsing documentation for svn2git-2.4.0
Installing ri documentation for svn2git-2.4.0
Done installing documentation for svn2git after 1 seconds
1 gem installed
gentoo@livecd /rootPool/root_fs/sources/MPFR $ cd /usr/portage/distfiles/
gentoo@livecd /usr/portage/distfiles $ sudo cp ~/subversion-1.9.4.tar.bz2 /usr/portage/distfiles
gentoo@livecd /usr/portage/distfiles $ sha1sum subversion-1.9.4.tar.bz2
bc7d51fdda43bea01e1272dfe9d23d0a9d6cd11c subversion-1.9.4.tar.bz2
gentoo@livecd /usr/portage/distfiles $ sudo emerge subversion
Calculating dependencies ... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) dev-vcs/subversion-1.9.4::gentoo
* subversion-1.9.4.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...
... [EMERGE DETAILS OMITTED FOR BREVITY]
>>> Completed installing subversion-1.9.4 into /var/tmp/portage/dev-vcs/subversion-1.9.4/image/
* Final size of build directory: 92972 KiB
* Final size of installed tree: 7752 KiB
strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment -R .GCC.command.line -R .note.gnu.gold-version
usr/lib64/libsvn_ra_serf-1.so.0.0.0
usr/lib64/libsvn_diff-1.so.0.0.0
usr/lib64/libsvn_subr-1.so.0.0.0
usr/bin/svnserve
usr/lib64/libsvn_client-1.so.0.0.0
usr/lib64/libsvn_delta-1.so.0.0.0
usr/lib64/libsvn_fs_fs-1.so.0.0.0
usr/bin/svnadmin
usr/bin/svnmucc
usr/lib64/libsvn_ra_svn-1.so.0.0.0
usr/bin/svnversion
usr/bin/svndumpfilter
usr/bin/svnlook
usr/bin/svnrdump
usr/lib64/libsvn_ra-1.so.0.0.0
usr/bin/svnsync
usr/lib64/libsvn_wc-1.so.0.0.0
usr/lib64/libsvn_fs_util-1.so.0.0.0
usr/lib64/libsvn_fs_base-1.so.0.0.0
usr/lib64/libsvn_repos-1.so.0.0.0
usr/bin/svnbench
usr/bin/svn
usr/bin/svnfsfs
usr/lib64/libsvn_fs-1.so.0.0.0
usr/lib64/libsvn_fs_x-1.so.0.0.0
usr/lib64/libsvn_ra_local-1.so.0.0.0
ecompressdir: bzip2 -9 /usr/share/man
ecompressdir: bzip2 -9 /usr/share/doc
>>> Installing (1 of 1) dev-vcs/subversion-1.9.4::gentoo
* Removing /usr/share/doc
* If you run subversion as a daemon, you will need to restart it to avoid module mismatches.
* Messages for package dev-vcs/subversion-1.9.4:
* If you run subversion as a daemon, you will need to restart it to avoid module mismatches.
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
gentoo@livecd /usr/portage/distfiles $ sudo emerge git
Calculating dependencies ... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) dev-vcs/git-2.9.0::gentoo
>>> Downloading 'http://distfiles.gentoo.org/distfiles/git-2.9.0.tar.xz'
... [EMERGE DETAILS OMITTED FOR BREVITY]
>>> Installing (1 of 1) dev-vcs/git-2.9.0::gentoo
* Removing /usr/share/doc
* Please read /usr/share/bash-completion/git for Git bash command completion
* Please read /usr/share/git/git-prompt.sh for Git bash prompt
* Note that the prompt bash code is now in that separate script
* These additional scripts need some dependencies:
* git-quiltimport : dev-util/quilt
* git-instaweb : || ( www-servers/lighttpd www-servers/apache www-servers/nginx )
* Messages for package dev-vcs/git-2.9.0:
* These additional scripts need some dependencies:
* git-quiltimport : dev-util/quilt
* git-instaweb : || ( www-servers/lighttpd www-servers/apache www-servers/nginx )
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
gentoo@livecd /usr/portage/distfiles $ sudo -i
livecd ~ # echo 'dev-util/git subversion' >> /etc/portage/package.use/use
livecd ~ # echo 'dev-vcs/git subversion' >> /etc/portage/package.use/use
livecd ~ # vi /gentooScratch/scripts/restoreGentooEnv.sh
livecd ~ # cat /gentooScratch/scripts/restoreGentooEnv.sh
#!/bin/bash -x
# Restore make/portage settings for this box.
cp /gentooScratch/scripts/data/make.conf /etc/portage/make.conf
cp /gentooScratch/scripts/data/00cpuflags /etc/portage/package.use/
echo 'dev-util/git subversion' >> /etc/portage/package.use/use
echo 'dev-vcs/git subversion' >> /etc/portage/package.use/use
# Restore needed gentoo packages
emerge app-text/tidy-html5
# Setup our LFS environment
export LFS=/rootPool/root_fs/
cp /gentooScratch/scripts/data/lfs_var.sh /etc/profile.d
# Additional packages needed for bootstrap
emerge dev-vcs/subversion
emerge dev-vcs/git
emerge dev-vcs/cvs2svn
emerge dev-vcs/svn2git
emerge dev-vcs/mercurial
emerge dev-vcs/bzr
livecd ~ # zfs snapshot gentooScratch/persistentPortageTmp@dev-vcs_git_subversion_RubyGEM_svn2git
livecd ~ # zfs snapshot gentooScratch/persistentPortageDistfiles@dev-vcs_git_subversion_RubyGEM_svn2git
livecd ~ # zfs snapshot gentooScratch/scripts@dev-vcs_git_subversion_RubyGEM_svn2git
livecd ~ # reboot
- After reboot, found that 'git svn' still did not work, with additional tracing, testing, and tweaking of the persistent startup scripts, finally got 'git svn' to work.
- Contents of /gentooScratch/scripts/restoreGentooEnv.sh
- #!/bin/bash -x
# Restore make/portage settings for this box.
cp /gentooScratch/scripts/data/make.conf /etc/portage/make.conf
cp /gentooScratch/scripts/data/00cpuflags /etc/portage/package.use/
echo 'dev-vcs/git subversion' >> /etc/portage/package.use/use
echo '>=dev-vcs/subversion-1.9.4 perl -dso' >> /etc/portage/package.use/use
# Restore needed gentoo packages
emerge app-text/tidy-html5
# Setup our LFS environment
export LFS=/rootPool/root_fs/
cp /gentooScratch/scripts/data/lfs_var.sh /etc/profile.d
# Additional packages needed for bootstrap
emerge dev-vcs/subversion
emerge dev-vcs/git
emerge dev-vcs/cvs2svn
emerge dev-vcs/svn2git
emerge dev-vcs/mercurial
emerge dev-vcs/bzr - Now can get the actual MPFR library
gentoo@livecd /rootPool/root_fs/sources/MPFR $ ~/.gem/ruby/2.2.0/bin/svn2git https://scm.gforge.inria.fr/anonscm/svn/mpfr/
r1 = 7c44e86d10dbfc4fb8e4bd513fa5f77f5072cc46 (refs/remotes/svn/trunk)
A mmpfr
A from_Torbjorn
A init.c
... [RETREIVAL DETAILS OMITTED FOR BREVITY]
r13634 = d3b6a4f42a85d8a9f4933173abbe061aa5713cf3 (refs/remotes/svn/trunk)
M doc/algorithms.tex
r13635 = bd32d0454764093a3ed0c2ebe6521c02622d562d (refs/remotes/svn/trunk)
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
Checked out HEAD:
https://scm.gforge.inria.fr/anonscm/svn/mpfr/trunk r13635
gentoo@livecd /rootPool/root_fs/sources/MPFR $ sudo zfs snapshot rootPool/root_fs/sources/MPFR@svn2git_initclone
gentoo@livecd /rootPool/root_fs/sources/MPFR $ git checkout 4.0.2
Note: checking out '4.0.2'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 74aff43... GNU MPFR 4.0.2 tag.
gentoo@livecd /rootPool/root_fs/sources/MPFR $ /sbin/zfs snapshot rootPool/root_fs/sources/MPFR@gitco_4.0.2
- Ninja (1.9.0)
- Homepage: https://ninja-build.org/
- A small fast incremental build system.
- Obtain: Same as documented for acl above, using
git://github.com/ninja-build/ninja.git
- Ncurses (6.1)
- Homepage: https://www.gnu.org/software/ncurses/
- Curses library for terminal related input and formatting.
- Obtain: Same as documented for acl above, using https://github.com/mirror/ncurses.git
- OpenSSL (1.1.1d)
- Homepage: https://www.openssl.org/
- Library and toolkit for SSL sockets.
- Obtain: Same as documented for acl above, using https://github.com/openssl/openssl.git
- Patch (2.7.6)
- Homepage: https://savannah.gnu.org/projects/patch/
- Applies set of differences to patch one version of code to another.
- Obtain: Same as documented for acl above, using
https://git.savannah.gnu.org/git/patch.git
- Perl (5.31.7)
- Homepage: https://www.perl.org/
- The Pathelogically Explicit Rubish Lister language!
- Obtain: Same as documented for acl above, using https://github.com/Perl/perl5.git
- Pkg-config (0.29.2)
- Homepage: https://www.freedesktop.org/wiki/Software/pkg-config/
- Helper utility for compiling that can supply compiler cmd-line options/settings.
- Obtain: Same as documented for acl above, using git://anongit.freedesktop.org/pkg-config
- Procps (3.3.16)
- Homepage: https://gitlab.com/procps-ng/procps
- System utilities that rely and process the /proc filesystem.
- Obtain: Same as documented for acl above, using https://gitlab.com/procps-ng/procps.git
- Psmisc (23.3)
- Homepage: http://psmisc.sourceforge.net/
- Misc utilities that use the /proc filesystem.
- Obtain: Same as documented for acl above using https://gitlab.com/psmisc/psmisc.git
- Python (3.8.1)
- Homepage: https://www.python.org/
- A popular scripting language
- Obtain: Same as documented for acl above, using https://github.com/python/cpython.git
- Python Documentation (3.8.1)
- Documentation for Python, will build using the cpython/Docs/README.rst instructions included in the Python (3.8.1) source tree above. May require additional python package or other utilities and downloads after python is compiled.
- If needed can download the latest 'pre-packaged' tar-balled version of the html pages from: https://docs.python.org/ftp/python/doc/3.7.3/python-3.7.3-docs-html.tar.bz2 (actually already downloaded, as part of LFS recomended package wget script of tarballs for Section 3.1, prior to cloning actual source repositories for this step...)
- Readline (8.0)
- Homepage: http://tiswww.case.edu/php/chet/readline/rltop.html
- Library to support cmd line history and editing.
- Obtain: Same as documented for acl above, using https://git.savannah.gnu.org/git/readline.git
- Sed (4.7)
- Homepage: https://www.gnu.org/software/sed/
- Cmd-line stream editor.
- Obtain: Same as documented for acl above, using git://git.sv.gnu.org/sed
- Shadow (4.6)
- Homepage: https://github.com/shadow-maint/shadow/
- Shadow file support for passwords/PAM.
- Obtain: Same as documented for acl above, using https://github.com/shadow-maint/shadow.git
- Systemd (244)
- Homepage: https://www.freedesktop.org/wiki/Software/systemd/
- Modern fast/parallel/frustrating-to-use, but better than upstart, replacement for traditional sysv init for system initialization.
- Obtain: Same as documented for acl above, using https://github.com/systemd/systemd.git
- Systemd Man Pages (241)
- Plan to build from systemd source above using version 244, like the python documentation above, this may require additional dependencies and packages for the system.
- If needed can download the latest 'pre-packaged' tar-balled version of the man pages from the LFS project at: http://anduin.linuxfromscratch.org/LFS/systemd-man-pages-241.tar.xz, (actually already downloaded, as part of LFS recomended package wget script of tarballs for Section 3.1, prior to cloning actual source repositories for this step...)
- Tar (1.32)
- Homepage: https://www.gnu.org/software/tar/
- The Tape ARchiver program.
- Obtain, same as documented for acl above, using
https://git.savannah.gnu.org/git/tar.git
- Tcl (8.6.9)
- Homepage: http://tcl.sourceforge.net/
- The "Tool Command Language", a stack-based scripting language.
- Obtain, same as documented for acl above, using https://github.com/tcltk/tcl.git
- Texinfo (6.7)
- Homepage: https://www.gnu.org/software/texinfo/
- Tools and file format system for documentation creation.
- Obtain, same as documented for acl above, using
https://git.savannah.gnu.org/git/texinfo.git
- Time Zone Data (2019c)
- Homepage: https://www.iana.org/time-zones
- Timezone data for UTC offsets by location/zone for timespan,leap-seconds,etc...
- Obtain, same as documented for acl above, using https://github.com/eggert/tz
- Util-linux (2.34)
- Homepage: http://freshmeat.sourceforge.net/projects/util-linux
- Miscelanous linux cmd-line utilities.
- Obtain, same as documented for acl above, using https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
- Vim (8.2.0109)
- Homepage: https://www.vim.org/
- Standard text editor.
- Obtain, same as documented for acl above, using
https://github.com/vim/vim.git
- XML::Parser (2.46)
- Homepage: https://github.com/chorny/XML-Parser
- Perl module for parsing xml documents.
- Obtain, same as documented for acl above, using https://github.com/chorny/XML-Parser.git
- Determined that the chorny repo, appears to be dead and has no versioning tags or branches, or updates after 2013. Based on CPAN the current version/maintainer (with about 66 additional commits) is at https://github.com/toddr/XML-Parser.git
- Cloned the toddr repository, which has the tag for version v2.44 referenced by LFS book, and the newer 2.46 version.
- Xz Utils (5.2.4)
- Homepage: https://tukaani.org/xz/
- High ratio compression libary and utilities, successor to LZMA algorithms.
- Obtain, same as documented for acl above, using https://git.tukaani.org/xz.git
- Zlib (1.2.11)
- Homepage: https://www.zlib.net/
- Compression lib
- Obtain, same as documented for acl above, using https://github.com/madler/zlib.git
Congrats, we made it through the of the list of the LFS needed base packages listed in the LFS book for section 3.2. I will need to add additional repos for ZFS support, but that will be done another time in another blog entry. Thanks for following along.
No comments:
Post a Comment