Friday, January 10, 2020

LFS Section 3.3 and Extras

LFS Section 3.3


Welcome back to my adventure in building a LFS system.  My previous blog entry covered obtaining the LFS section 3.2 packages.  Now we can proceed to section 3.3, which includes some LFS specific patches.  In some cases, since I obtained the repository and checked-out the latest version that should work for LFS these patches may not be needed.  In other cases some of the patches modify target install information to match the LFS designed system.  I will obtain the recommended patches, but prior to actually patching, I will need to check the patch to determine if it is relevant.

In addition there are other required base packages for my system that are not included in section 3.2.  This of course includes the ZFS repository.  I will also need to use my host's system repo tools to download the repositories for those tools so that they are available in the target system, since I will not be using the tar-balls. The additional packages I need to obtain that were not in Section 3.2 are as follows:
  • zfsonlinux
  • cvs
  • subversion
  • python2 (required by cvs2svn)
  • cvs2svn
  • git
  • qt (required by svn2git)
  • svn2git
  • mercurial
  • bazaar
  • ruby (required by svn2git gem)
  • svn2git (rubygem)

Section 3.3 Patches

By the time I got around to this step, several of the listed patches were no longer linked for my version of the LFS, since the LFS book has been updated over the past 6-7 months. So instead of using my outdated version of the book for patch links, I will browse over to: http://www.linuxfromscratch.org/patches/lfs/development/ and obtain the updated/current patches.

My steps for obtaining the patches are as follows:

                                                          
 gentoo@livecd ~ $ export PATH=/sbin:$PATH  
 gentoo@livecd ~ $ zfs create rootPool/root_fs/sources/lfs_patches  
 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/lfs_patches@init  
 gentoo@livecd ~ $ cd /rootPool/root_fs/sources/lfs_patches/  
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ export SERV="http://www.linuxfromscratch.org/patches/lfs/development"  
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ wget $SERV/bash-5.0-upstream_fixes-1.patch  
 --2020-01-10 20:13:14-- http://www.linuxfromscratch.org/patches/lfs/development/bash-5.0-upstream_fixes-1.patch  
 Resolving www.linuxfromscratch.org... 192.155.86.174, 2600:3c01::f03c:91ff:fe70:25e8  
 Connecting to www.linuxfromscratch.org|192.155.86.174|:80... connected.  
 HTTP request sent, awaiting response... 200 OK  
 Length: 21672 (21K) [text/x-diff]  
 Saving to: 'bash-5.0-upstream_fixes-1.patch'  
   
 bash-5.0-upstream_fixes-1.p 100%[========================================>] 21.16K --.-KB/s  in 0.06s    
   
 2020-01-10 20:13:14 (349 KB/s) - 'bash-5.0-upstream_fixes-1.patch' saved [21672/21672]  
   
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ wget $SERV/bzip2-1.08-install_docs-1.patch  
 --2020-01-10 20:13:33-- http://www.linuxfromscratch.org/patches/lfs/development/bzip2-1.08-install_docs-1.patch  
 Resolving www.linuxfromscratch.org... 192.155.86.174, 2600:3c01::f03c:91ff:fe70:25e8  
 Connecting to www.linuxfromscratch.org|192.155.86.174|:80... ]connected.  
 HTTP request sent, awaiting response... 404 Not Found  
 2020-01-10 20:13:33 ERROR 404: Not Found.  
   
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ wget $SERV/bzip2-1.0.8-install_docs-1.patch  
 --2020-01-10 20:14:00-- http://www.linuxfromscratch.org/patches/lfs/development/bzip2-1.0.8-install_docs-1.patch  
 Resolving www.linuxfromscratch.org... 192.155.86.174, 2600:3c01::f03c:91ff:fe70:25e8  
 Connecting to www.linuxfromscratch.org|192.155.86.174|:80... connected.  
 HTTP request sent, awaiting response... 200 OK  
 Length: 1684 (1.6K) [text/x-diff]  
 Saving to: 'bzip2-1.0.8-install_docs-1.patch'  
   
 bzip2-1.0.8-install_docs-1. 100%[========================================>]  1.64K --.-KB/s  in 0.001s   
   
 2020-01-10 20:14:00 (2.54 MB/s) - 'bzip2-1.0.8-install_docs-1.patch' saved [1684/1684]  
   
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ wget $SERV/copyerrs              
 --2020-01-10 20:14:14-- http://www.linuxfromscratch.org/patches/lfs/development/copyerrs  
 Resolving www.linuxfromscratch.org... 192.155.86.174, 2600:3c01::f03c:91ff:fe70:25e8  
 Connecting to www.linuxfromscratch.org|192.155.86.174|:80... connected.  
 HTTP request sent, awaiting response... 200 OK  
 Length: 0  
 Saving to: 'copyerrs'  
   
 copyerrs            [ <=>                   ]    0 --.-KB/s  in 0s     
   
 2020-01-10 20:14:14 (0.00 B/s) - 'copyerrs' saved [0/0]  
   
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ wget $SERV/coreutils-8.31-i18n-1.patch  
 --2020-01-10 20:14:32-- http://www.linuxfromscratch.org/patches/lfs/development/coreutils-8.31-i18n-1.patch  
 Resolving www.linuxfromscratch.org... 192.155.86.174, 2600:3c01::f03c:91ff:fe70:25e8  
 Connecting to www.linuxfromscratch.org|192.155.86.174|:80... connected.  
 HTTP request sent, awaiting response... 200 OK  
 Length: 171372 (167K) [text/x-diff]  
 Saving to: 'coreutils-8.31-i18n-1.patch'  
   
 coreutils-8.31-i18n-1.patch 100%[========================================>] 167.36K  438KB/s  in 0.4s    
   
 2020-01-10 20:14:32 (438 KB/s) - 'coreutils-8.31-i18n-1.patch' saved [171372/171372]  
   
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ wget $SERV/glibc-2.30-fhs-1.patch     
 --2020-01-10 20:14:54-- http://www.linuxfromscratch.org/patches/lfs/development/glibc-2.30-fhs-1.patch  
 Resolving www.linuxfromscratch.org... 192.155.86.174, 2600:3c01::f03c:91ff:fe70:25e8  
 Connecting to www.linuxfromscratch.org|192.155.86.174|:80... connected.  
 HTTP request sent, awaiting response... 200 OK  
 Length: 2804 (2.7K) [text/x-diff]  
 Saving to: 'glibc-2.30-fhs-1.patch'  
   
 glibc-2.30-fhs-1.patch   100%[========================================>]  2.74K --.-KB/s  in 0.002s   
   
 2020-01-10 20:14:54 (1.18 MB/s) - 'glibc-2.30-fhs-1.patch' saved [2804/2804]  
   
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ wget $SERV/kbd-2.2.0-backspace-1.patch  
 --2020-01-10 20:15:06-- http://www.linuxfromscratch.org/patches/lfs/development/kbd-2.2.0-backspace-1.patch  
 Resolving www.linuxfromscratch.org... 192.155.86.174, 2600:3c01::f03c:91ff:fe70:25e8  
 Connecting to www.linuxfromscratch.org|192.155.86.174|:80... connected.  
 HTTP request sent, awaiting response... 200 OK  
 Length: 12640 (12K) [text/x-diff]  
 Saving to: 'kbd-2.2.0-backspace-1.patch'  
   
 kbd-2.2.0-backspace-1.patch 100%[========================================>] 12.34K --.-KB/s  in 0.005s   
   
 2020-01-10 20:15:07 (2.25 MB/s) - 'kbd-2.2.0-backspace-1.patch' saved [12640/12640]  
   
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ wget $SERV/sysvinit-2.96-consolidated-1.patch  
 --2020-01-10 20:15:21-- http://www.linuxfromscratch.org/patches/lfs/development/sysvinit-2.96-consolidated-1.patch  
 Resolving www.linuxfromscratch.org... 192.155.86.174, 2600:3c01::f03c:91ff:fe70:25e8  
 Connecting to www.linuxfromscratch.org|192.155.86.174|:80... connected.  
 HTTP request sent, awaiting response... 200 OK  
 Length: 2468 (2.4K) [text/x-diff]  
 Saving to: 'sysvinit-2.96-consolidated-1.patch'  
   
 sysvinit-2.96-consolidated- 100%[========================================>]  2.41K --.-KB/s  in 0.001s   
   
 2020-01-10 20:15:22 (1.70 MB/s) - 'sysvinit-2.96-consolidated-1.patch' saved [2468/2468]  
   
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ zfs snapshot rootPool/root_fs/sources/lfs_patches@`date +initial_download_%Y%m%d_%H%M%S.%N`
 gentoo@livecd /rootPool/root_fs/sources/lfs_patches $ 
  
   



zfsonlinux


This is the OpenZFS port to Linux, the homepage can be found at: https://zfsonlinux.org/. As of version ZFS-0.8.0, the SPL (Solaris Porting Layer) has been rolled into the ZFS code/repository.  If you are following along, but want an older version of ZFS, you will also need to obtain the SPL repository that can be found at https://github.com/zfsonlinux/spl. Since I am going with the latest, I only need to clone the ZFS repository from https://github.com/zfsonlinux/zfs using the following git URL https://github.com/zfsonlinux/zfs.git.  I will use the same steps and process as I did in section 3.2 for the acl package to obtain the currently latest version of 0.8.2.  I am including the details of these steps this time in case you missed the previous blog entry:


 gentoo@livecd ~ $ zfs create rootPool/root_fs/sources/zfs      
 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/zfs@init   
 gentoo@livecd ~ $ cd /rootPool/root_fs/sources/zfs  
 gentoo@livecd /rootPool/root_fs/sources/zfs $ git clone https://github.com/zfsonlinux/zfs.git  
 Cloning into 'zfs'...  
 remote: Enumerating objects: 9, done.  
 remote: Counting objects: 100% (9/9), done.  
 remote: Compressing objects: 100% (9/9), done.  
 remote: Total 131773 (delta 0), reused 0 (delta 0), pack-reused 131764  
 Receiving objects: 100% (131773/131773), 56.09 MiB | 21.99 MiB/s, done.  
 Resolving deltas: 100% (95382/95382), done.  
 Checking connectivity... done.  
 gentoo@livecd /rootPool/root_fs/sources/zfs $ zfs snapshot rootPool/root_fs/sources/zfs@`date +init_clone_%Y%m%d_%H%M%S.%N`  
 gentoo@livecd /rootPool/root_fs/sources/zfs $ cd zfs  
 gentoo@livecd /rootPool/root_fs/sources/zfs/zfs $ git tag  
 zfs-0.4.0  
 zfs-0.4.1  
 [...TAGS OMITTED FOR BREVITY...]
 zfs-0.8.0  
 zfs-0.8.0-rc1  
 zfs-0.8.0-rc2  
 zfs-0.8.0-rc3  
 zfs-0.8.0-rc4  
 zfs-0.8.0-rc5  
 zfs-0.8.1  
 zfs-0.8.2  
 gentoo@livecd /rootPool/root_fs/sources/zfs/zfs $ git checkout zfs-0.8.2  
 Note: checking out 'zfs-0.8.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 1222e92... Tag zfs-0.8.2  
 gentoo@livecd /rootPool/root_fs/sources/zfs/zfs $ zfs snapshot rootPool/root_fs/sources/zfs@gitco_zfs-0.8.2   
 gentoo@livecd /rootPool/root_fs/sources/zfs/zfs $   
   

CVS


The "concurrent version system" home page can be found at https://www.nongnu.org/cvs/.  Although I hope I do not have to maintain any code repositories using CVS, one or more of the LFS base packages came from a CVS repository, so I need to ensure that I have the tools available should I need to work with those source repos again.  The instructions for obtaining the current version can be found at http://savannah.nongnu.org/cvs/?group=cvs. CVS is of course self-hosted in CVS, so my steps for obtaining the CVS repository through CVS are as follows:


 gentoo@livecd /rootPool/root_fs/sources $ zfs create rootPool/root_fs/sources/lfs_repotools  
 filesystem successfully created, but it may only be mounted by root  
 gentoo@livecd /rootPool/root_fs/sources $ zfs create rootPool/root_fs/sources/lfs_repotools/CVS  
 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 -r rootPool/root_fs/sources/lfs_repotools@init  
 gentoo@livecd /rootPool/root_fs/sources $ cd lfs_repotools/CVS/  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/CVS $ cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/cvs co ccvs  
 cvs checkout: warning: failed to open /home/gentoo/.cvspass for reading: No such file or directory  
 cvs2 checkout: Updating ccvs  
 U ccvs/.cvsignore  
 U ccvs/ABOUT-NLS  
 U ccvs/AUTHORS   
   
 [...CVS FILES OMITTED FOR BREVITY...]  
   
 U ccvs/zlib/win32/VisualC.txt  
 U ccvs/zlib/win32/zlib.def  
 U ccvs/zlib/win32/zlib1.rc  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/CVS $ cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/cvs co diffutils  
 cvs checkout: warning: failed to open /home/gentoo/.cvspass for reading: No such file or directory  
 cvs2 checkout: Updating diffutils  
 U diffutils/Makefile.am  
 U diffutils/Makefile.in  
 U diffutils/analyze.c  
 U diffutils/cmp.c  
 U diffutils/context.c  
 U diffutils/diff.c  
 U diffutils/diff.h  
 U diffutils/diff3.c  
 U diffutils/dir.c  
 U diffutils/ed.c  
 U diffutils/ifdef.c  
 U diffutils/io.c  
 U diffutils/normal.c  
 U diffutils/sdiff.c  
 U diffutils/side.c  
 U diffutils/system.h  
 U diffutils/util.c  
 U diffutils/version.c  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/CVS $ zfs snapshot rootPool/root_fs/sources/lfs_repotools/CVS@`date +init_cvs_co_%Y%m%d_%H%M%S.%N`  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/CVS $   
   
   


subversion

The subversion home page can be found at https://subversion.apache.org/. Instructions on obtaining an svn checkout of subversion can be found at https://subversion.apache.org/source-code.html. Note that I was unable to connect over SSL, I suspect a bad certificate or incompatible SSL library version between the SVN on my host system vs the current repo.  My steps to include subversion source in my LFS source tree is as follows:


 gentoo@livecd /rootPool/root_fs/sources $ zfs create rootPool/root_fs/sources/lfs_repotools/SVN  
 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/lfs_repotools/SVN@init  
 gentoo@livecd /rootPool/root_fs/sources $ cd lfs_repotools/SVN  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/SVN $ svn co https://svn.apache.org/repos/asf/subversion/trunk subversion  
 svn: E170013: Unable to connect to a repository at URL 'https://svn.apache.org/repos/asf/subversion/trunk'  
 svn: E120171: Error running context: An error occurred during SSL communication  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/SVN $ svn co http://svn.apache.org/repos/asf/subversion/trunk subversion  
 A  subversion/subversion  
 A  subversion/subversion/tests  
 A  subversion/subversion/tests/libsvn_subr  
 A  subversion/subversion/tests/cmdline  
 A  subversion/subversion/tests/cmdline/getopt_tests_data  
 A  subversion/subversion/tests/libsvn_subr/error-code-test.c  
   
 [...SVN FILES OMITTED FOR BREVITY...]  
   
 A  subversion/LICENSE  
 A  subversion/win-tests.py  
 A  subversion/.editorconfig  
 A  subversion/.ycm_extra_conf.py  
 A  subversion/README  
 A  subversion/BUGS  
 A  subversion/autogen.sh  
  U  subversion  
 Checked out revision 1872608.  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/SVN $ zfs snapshot rootPool/root_fs/sources/lfs_repotools/SVN@`date +init_svn_checkout_trunk_%Y%m%d_%H%M%S.%N`  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/SVN $   
   


python2

The cvs2svn program requires python2 (not compatible with python 3).  My gentoo host includes python2, which is why I was able to emerge the cvs2svn code while performing steps for section 3.2; however the 3.2 list of packages only includes python3, so I will *need* the packages for python2.  Technically I don't actually need to obtain anything at all, since I choose to go with full source repos for everthing in section 3.2.  I double checked, and there are tagged versions for python2 in the shared git repo already.  When/if needed I just have to checkout a different tag to build the python2 binaries.

cvs2svn

The version of cvs2svn I used to perform a 1-time local cvs repo conversion in section 3.2 has a homepage here: https://www.mcs.anl.gov/~jacob/cvs2svn/cvs2svn.html. Information for checking the repo out can be found at https://www.mcs.anl.gov/~jacob/cvs2svn/. My steps are as follows:


 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools $ zfs create rootPool/root_fs/sources/lfs_repotools/cvs2svn  
 filesystem successfully created, but it may only be mounted by root  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools $ sudo zfs mount -a  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools $ cd cvs2svn/  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/cvs2svn $ zfs snapshot rootPool/root_fs/sources/lfs_repotools/cvs2svn@init  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/cvs2svn $ svn co --username=guest --password="" http://cvs2svn.tigris.org/svn/cvs2svn/trunk cvs2svn-trunk  
   
 -----------------------------------------------------------------------  
 ATTENTION! Your password for authentication realm:  
   
   <http://cvs2svn.tigris.org:80> CollabNet Subversion Repository  
   
 can only be stored to disk unencrypted! You are advised to configure  
 your system so that Subversion can store passwords encrypted, if  
 possible. See the documentation for details.  
   
 You can avoid future appearances of this warning by setting the value  
 of the 'store-plaintext-passwords' option to either 'yes' or 'no' in  
 '/home/gentoo/.subversion/servers'.  
 -----------------------------------------------------------------------  
 Store password unencrypted (yes/no)? yes  
 A  cvs2svn-trunk/cvs2hg-example.options  
 A  cvs2svn-trunk/cvs2git  
 A  cvs2svn-trunk/www  
 A  cvs2svn-trunk/www/features.html  
   
 [...SVN FILES OMITTED FOR BREVITY...]  
   
 A  cvs2svn-trunk/dist.sh  
 A  cvs2svn-trunk/Makefile  
 A  cvs2svn-trunk/cvs2bzr-example.options  
  U  cvs2svn-trunk  
 Checked out revision 5478.  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/cvs2svn $ zfs snapshot rootPool/root_fs/sources/lfs_repotools/cvs2svn@`date +init_subversion_checkout_trunk_%Y%m%d_%H%M%S.%N`  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/cvs2svn $   
   

git (2.24.1)

The most common modern version control system.  Most of my repositories for LFS so far have been upgraded/ported/provided as git repos.  Git's home page can be found at https://git-scm.com/.   The git repository can be found at https://github.com/git/git. Using the same basic steps as documented for the Section 3.3 zfs or Section 3.2 acl repositories, for brevity not show steps/cmd/output.  Since git is so important to most of the packages, I did place it under the normal sources dataset instead of the lfs_repotools child dataset I have been using for most of the tools in this section.

Qt4 (v4.8.7)

Required for the svn2git tool.  The svn2git was written in order to transition the KDE repos away from subversion.  As such the intended audience of KDE developers had Qt available, and used the qmake system to build the svn2git tool.  The instructions say build using qt4, whose git repo can be found at: git://code.qt.io/qt/qt.git.  Using the same steps as documented above for zfs.  Instructions for clone/build can be found at https://wiki.qt.io/Get_the_Source.  There are probably a lot of additional dependencies for building Qt4, which for now I am not going to delve into.  I am obtaining base packages needed, and hopefully can just use the host repository tools until I have a fully functioning LFS system, from which I can start building additional packages.

svn2git (1.0.16)

Tool for server-side, not client-side, conversion of a subversion repository into a git repository.  The git/homepage can be found at https://github.com/svn-all-fast-export/svn2git.  Using the same basic steps as documented above for zfs.  Additional details and usage information for this tool can be found at https://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git.  Because this project was written to migrate KDE's repository it was expected that the developers would have Qt installed.

mercurial (5.2.2)

One or more packages in section 3.2 needed mercurial.  Mercurial's home page can be found at https://www.mercurial-scm.org/.  The steps are as follows:

 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools $ zfs create rootPool/root_fs/sources/lfs_repotools/mercurial  
 filesystem successfully created, but it may only be mounted by root  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools $ sudo zfs mount -a  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools $ zfs snapshot rootPool/root_fs/sources/lfs_repotools/mercurial@init  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools $ cd mercurial/  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/mercurial $ hg clone https://www.mercurial-scm.org/repo/hg  
 destination directory: hg  
 requesting all changes  
 adding changesets  
 adding manifests                                                 
 adding file changes                                               
 added 44048 changesets with 84874 changes to 3473 files (+1 heads)                        
 updating to bookmark @  
 2010 files updated, 0 files merged, 0 files removed, 0 files unresolved                     
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/mercurial $ zfs snapshot rootPool/root_fs/sources/lfs_repotools/mercurial@`date +init_clone_%Y%m%d_%H%M%S.%N`  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/mercurial $ cd hg  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/mercurial/hg $ hg tags  
 tip              44047:de5d34ca01bd  
 5.2.2             43947:b4c82b704180  
 5.2.1             43748:a50fecefa691  
 5.2              43418:ca3dca416f8d  
   
 [...HG TAGS OMITTED FOR BREVITY...]  
   
 0.4d               16:7eca4cfa8aad  
 0.4c                9:b4d0c3786ad3  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/mercurial/hg $ hg checkout 5.2.2  
 475 files updated, 0 files merged, 65 files removed, 0 files unresolved  
 (leaving bookmark @)  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/mercurial/hg $ zfs snapshot rootPool/root_fs/sources/lfs_repotools/mercurial@hgco_5.2.2  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/mercurial/hg $   
   


bazaar

Yet another modern distributed SCM version control package, one or more packages in section 3.2 used bazaar, so need to obtain the source so my target system will be able to use it. The homepage for bazaar is at https://bazaar.canonical.com/en/. Instructions for obtaining bazaar can be found at https://code.launchpad.net/bzr. My steps to obtain bazaar source are as follows:

 gentoo@livecd ~ $ zfs create rootPool/root_fs/sources/lfs_repotools/bazaar  
 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/lfs_repotools/bazaar@init  
 gentoo@livecd ~ $ cd /rootPool/root_fs/sources/lfs_repotools/bazaar/  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/bazaar $ bzr branch lp:bzr  
 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 6622 revisions.                                   
  gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/bazaar/bzr $ bzr tags  
 0.11-1.1       ?  
 0.13-0.1       ?  
   
 [...BZR TAGS OMITTED FOR BREVITY...]  
   
 bzr-2.6b2      6535.1.1  
 bzr-2.7.0      6614.2.2  
 bzr-win32-2.0.1-1  ?  
   
 [...BZR TAGS OMITTED FOR BREVITY...]  
   
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/bazaar/bzr $ bzr update -rtag:bzr-2.7.0  
  M .bzrignore                                                 
  M COPYING.txt  
  M MANIFEST.in  
  M Makefile  
  M bzr  
  M bzrlib/__init__.py  
  M bzrlib/annotate.py  
  M bzrlib/crash.py  
  M bzrlib/doc_generate/autodoc_bash_completion.py  
  M bzrlib/doc_generate/autodoc_man.py  
  M bzrlib/doc_generate/autodoc_rstx.py  
  M bzrlib/lazy_regex.py  
  M bzrlib/osutils.py  
  M bzrlib/plugins/launchpad/lp_propose.py  
  M bzrlib/tests/blackbox/test_commit.py  
  M bzrlib/tests/test_diff.py  
  M bzrlib/tests/test_http.py  
  M bzrlib/timestamp.py  
  M bzrlib/transport/http/_pycurl.py  
  M bzrlib/transport/http/_urllib2_wrappers.py  
  M bzrlib/transport/sftp.py  
  M doc/developers/releasing.txt  
  M doc/en/index.txt  
  M doc/en/release-notes/bzr-2.7.txt  
 -D doc/en/release-notes/bzr-2.8.txt  
 -D doc/en/whats-new/whats-new-in-2.8.txt  
 All changes applied successfully.                                        
 Updated to revision 6614.2.2 of branch /rootPool/root_fs/sources/lfs_repotools/bazaar/bzr  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/bazaar/bzr $ zfs snapshot rootPool/root_fs/sources/lfs_repotools/bazaar@bzrupdate_bzr-2.7.0  
 gentoo@livecd /rootPool/root_fs/sources/lfs_repotools/bazaar/bzr $   
   

ruby (2.7.0)

Scripting language needed for the svn2git gem tool.  Homepage can be found at https://www.ruby-lang.org/en/. Rubby provides a git repo at https://github.com/ruby/ruby.git.
Will use the git steps previously outlined above for zfs.

svn2git (2.4.0)

A ruby gem client utility that can perform svn checkouts of an entire svn repo, and create a coressponding local git repo with branches and tags.  Homepage can be found at https://github.com/nirvdrum/svn2git.  Will use the git steps previously outlined above for zfs.

Conclussion

That should be everything needed for LFS section 3.3. patch wise, and have included source for additional tools I may need to handle initial source code updates and compiling on the target system.  Stay tunned for future blog entries.







No comments:

Post a Comment