falkorlib 0.8.9 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +57 -117
- data/README.md +1 -1
- data/binscripts/bootstrap.sh +8 -10
- data/falkorlib.gemspec +12 -12
- data/lib/falkorlib/bootstrap/base.rb +29 -25
- data/lib/falkorlib/bootstrap/latex.rb +7 -2
- data/lib/falkorlib/bootstrap/vagrant.rb +17 -10
- data/lib/falkorlib/common.rb +3 -3
- data/lib/falkorlib/config.rb +3 -3
- data/lib/falkorlib/gem_tasks.rb +1 -1
- data/lib/falkorlib/git_tasks.rb +1 -1
- data/lib/falkorlib/puppet_tasks.rb +1 -1
- data/lib/falkorlib/version.rb +2 -1
- data/spec/falkorlib/bootstrap_latex_spec.rb +6 -5
- data/spec/falkorlib/git_spec.rb +2 -2
- data/spec/falkorlib/gitflow_spec.rb +5 -4
- data/templates/latex/article/_related_works.tex.erb +1 -1
- data/templates/latex/article/biblio.bib.erb +12 -1
- data/templates/latex/article-acm/main.tex.erb +47 -65
- data/templates/latex/article-ieee/main.tex.erb +42 -410
- data/templates/latex/article-llncs/main.tex.erb +30 -18
- data/templates/latex/beamer/.Makefile.local +1 -0
- data/templates/latex/beamer/_content.md.erb +1 -1
- data/templates/latex/beamer/main.tex.erb +24 -11
- data/templates/latex/images/logo_ANSSI.png +0 -0
- data/templates/latex/images/logo_RF.png +0 -0
- data/templates/latex/llncs/llncs.cls +49 -39
- data/templates/latex/llncs/{splncs03.bst → splncs04.bst} +40 -11
- data/templates/vagrant/.gitignore +14 -0
- data/templates/vagrant/Vagrantfile.erb +53 -15
- data/templates/vagrant/vagrant/config.yaml.sample +9 -6
- data/templates/vagrant/vagrant/scripts/bootstrap.sh +32 -14
- metadata +81 -77
- data/templates/latex/images/logo_UL.pdf +0 -0
- data/templates/latex/images/logo_ULHPC.pdf +0 -0
| Binary file | 
| Binary file | 
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            % LLNCS DOCUMENT CLASS -- version 2. | 
| 1 | 
            +
            % LLNCS DOCUMENT CLASS -- version 2.21 (12-Jan-2022)
         | 
| 2 2 | 
             
            % Springer Verlag LaTeX2e support for Lecture Notes in Computer Science
         | 
| 3 3 | 
             
            %
         | 
| 4 4 | 
             
            %%
         | 
| @@ -19,7 +19,7 @@ | |
| 19 19 | 
             
            %%   Right brace   \}     Tilde         \~}
         | 
| 20 20 | 
             
            %%
         | 
| 21 21 | 
             
            \NeedsTeXFormat{LaTeX2e}[1995/12/01]
         | 
| 22 | 
            -
            \ProvidesClass{llncs}[ | 
| 22 | 
            +
            \ProvidesClass{llncs}[2022/01/12 v2.21
         | 
| 23 23 | 
             
            ^^J LaTeX document class for Lecture Notes in Computer Science]
         | 
| 24 24 | 
             
            % Options
         | 
| 25 25 | 
             
            \let\if@envcntreset\iffalse
         | 
| @@ -77,40 +77,40 @@ | |
| 77 77 | 
             
              \fi}
         | 
| 78 78 | 
             
            %
         | 
| 79 79 | 
             
            \def\switcht@albion{%
         | 
| 80 | 
            -
            \def\abstractname{Abstract.} | 
| 81 | 
            -
            \def\ackname{Acknowledgement.} | 
| 82 | 
            -
            \def\andname{and} | 
| 83 | 
            -
            \def\lastandname{\unskip, and} | 
| 84 | 
            -
            \def\appendixname{Appendix} | 
| 85 | 
            -
            \def\chaptername{Chapter} | 
| 86 | 
            -
            \def\claimname{Claim} | 
| 87 | 
            -
            \def\conjecturename{Conjecture} | 
| 88 | 
            -
            \def\contentsname{Table of Contents} | 
| 89 | 
            -
            \def\corollaryname{Corollary} | 
| 90 | 
            -
            \def\definitionname{Definition} | 
| 91 | 
            -
            \def\examplename{Example} | 
| 92 | 
            -
            \def\exercisename{Exercise} | 
| 93 | 
            -
            \def\figurename{Fig.} | 
| 94 | 
            -
            \def\keywordname{{\bf Keywords:}} | 
| 95 | 
            -
            \def\indexname{Index} | 
| 96 | 
            -
            \def\lemmaname{Lemma} | 
| 97 | 
            -
            \def\contriblistname{List of Contributors} | 
| 98 | 
            -
            \def\listfigurename{List of Figures} | 
| 99 | 
            -
            \def\listtablename{List of Tables} | 
| 100 | 
            -
            \def\mailname{{\it Correspondence to\/}:} | 
| 101 | 
            -
            \def\noteaddname{Note added in proof} | 
| 102 | 
            -
            \def\notename{Note} | 
| 103 | 
            -
            \def\partname{Part} | 
| 104 | 
            -
            \def\problemname{Problem} | 
| 105 | 
            -
            \def\proofname{Proof} | 
| 106 | 
            -
            \def\propertyname{Property} | 
| 107 | 
            -
            \def\propositionname{Proposition} | 
| 108 | 
            -
            \def\questionname{Question} | 
| 109 | 
            -
            \def\remarkname{Remark} | 
| 110 | 
            -
            \def\seename{see} | 
| 111 | 
            -
            \def\solutionname{Solution} | 
| 112 | 
            -
            \def\subclassname{{\it Subject Classifications\/}:} | 
| 113 | 
            -
            \def\tablename{Table} | 
| 80 | 
            +
            \def\abstractname{Abstract.}
         | 
| 81 | 
            +
            \def\ackname{Acknowledgement.}
         | 
| 82 | 
            +
            \def\andname{and}
         | 
| 83 | 
            +
            \def\lastandname{\unskip, and}
         | 
| 84 | 
            +
            \def\appendixname{Appendix}
         | 
| 85 | 
            +
            \def\chaptername{Chapter}
         | 
| 86 | 
            +
            \def\claimname{Claim}
         | 
| 87 | 
            +
            \def\conjecturename{Conjecture}
         | 
| 88 | 
            +
            \def\contentsname{Table of Contents}
         | 
| 89 | 
            +
            \def\corollaryname{Corollary}
         | 
| 90 | 
            +
            \def\definitionname{Definition}
         | 
| 91 | 
            +
            \def\examplename{Example}
         | 
| 92 | 
            +
            \def\exercisename{Exercise}
         | 
| 93 | 
            +
            \def\figurename{Fig.}
         | 
| 94 | 
            +
            \def\keywordname{{\bf Keywords:}}
         | 
| 95 | 
            +
            \def\indexname{Index}
         | 
| 96 | 
            +
            \def\lemmaname{Lemma}
         | 
| 97 | 
            +
            \def\contriblistname{List of Contributors}
         | 
| 98 | 
            +
            \def\listfigurename{List of Figures}
         | 
| 99 | 
            +
            \def\listtablename{List of Tables}
         | 
| 100 | 
            +
            \def\mailname{{\it Correspondence to\/}:}
         | 
| 101 | 
            +
            \def\noteaddname{Note added in proof}
         | 
| 102 | 
            +
            \def\notename{Note}
         | 
| 103 | 
            +
            \def\partname{Part}
         | 
| 104 | 
            +
            \def\problemname{Problem}
         | 
| 105 | 
            +
            \def\proofname{Proof}
         | 
| 106 | 
            +
            \def\propertyname{Property}
         | 
| 107 | 
            +
            \def\propositionname{Proposition}
         | 
| 108 | 
            +
            \def\questionname{Question}
         | 
| 109 | 
            +
            \def\remarkname{Remark}
         | 
| 110 | 
            +
            \def\seename{see}
         | 
| 111 | 
            +
            \def\solutionname{Solution}
         | 
| 112 | 
            +
            \def\subclassname{{\it Subject Classifications\/}:}
         | 
| 113 | 
            +
            \def\tablename{Table}
         | 
| 114 114 | 
             
            \def\theoremname{Theorem}}
         | 
| 115 115 | 
             
            \switcht@albion
         | 
| 116 116 | 
             
            % Names of theorem like environments are already defined
         | 
| @@ -875,8 +875,10 @@ to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} | |
| 875 875 | 
             
               \or \ddagger\ddagger \else\@ctrerr\fi}}
         | 
| 876 876 |  | 
| 877 877 | 
             
            \def\inst#1{\unskip$^{#1}$}
         | 
| 878 | 
            +
            \def\orcidID#1{\unskip$^{[#1]}$} % added MR 2018-03-10
         | 
| 878 879 | 
             
            \def\fnmsep{\unskip$^,$}
         | 
| 879 880 | 
             
            \def\email#1{{\tt#1}}
         | 
| 881 | 
            +
             | 
| 880 882 | 
             
            \AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}%
         | 
| 881 883 | 
             
            \@ifpackageloaded{babel}{%
         | 
| 882 884 | 
             
            \@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}%
         | 
| @@ -884,8 +886,12 @@ to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} | |
| 884 886 | 
             
            \@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}%
         | 
| 885 887 | 
             
            \@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}%
         | 
| 886 888 | 
             
            }{\switcht@@therlang}%
         | 
| 887 | 
            -
            \providecommand{\keywords}[1]{\ | 
| 889 | 
            +
            \providecommand{\keywords}[1]{\def\and{{\textperiodcentered} }%
         | 
| 890 | 
            +
            \par\addvspace\baselineskip
         | 
| 888 891 | 
             
            \noindent\keywordname\enspace\ignorespaces#1}%
         | 
| 892 | 
            +
            \@ifpackageloaded{hyperref}{%
         | 
| 893 | 
            +
            \def\doi#1{\href{https://doi.org/\detokenize{#1}}{\url{https://doi.org/#1}}}}{
         | 
| 894 | 
            +
            \def\doi#1{https://doi.org/\detokenize{#1}}}
         | 
| 889 895 | 
             
            }
         | 
| 890 896 | 
             
            \def\homedir{\~{ }}
         | 
| 891 897 |  | 
| @@ -946,6 +952,8 @@ to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} | |
| 946 952 | 
             
            %
         | 
| 947 953 | 
             
                \if!\the\tocauthor!\relax
         | 
| 948 954 | 
             
                  {\def\and{\noexpand\protect\noexpand\and}%
         | 
| 955 | 
            +
                   \def\inst##1{}%    added MR 2017-09-20 to remove inst numbers from the TOC
         | 
| 956 | 
            +
                   \def\orcidID##1{}% added MR 2017-09-20 to remove ORCID ids from the TOC
         | 
| 949 957 | 
             
                  \protected@xdef\toc@uthor{\@author}}%
         | 
| 950 958 | 
             
                \else
         | 
| 951 959 | 
             
                  \def\\{\noexpand\protect\noexpand\newline}%
         | 
| @@ -961,7 +969,9 @@ to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} | |
| 961 969 | 
             
                   \else
         | 
| 962 970 | 
             
                     \edef\@author{\the\authorrunning}%
         | 
| 963 971 | 
             
                   \fi
         | 
| 964 | 
            -
                   \global\setbox\authrun=\hbox{\ | 
| 972 | 
            +
                   \global\setbox\authrun=\hbox{\def\inst##1{}%    added MR 2017-09-20 to remove inst numbers from the runninghead
         | 
| 973 | 
            +
                                                \def\orcidID##1{}% added MR 2017-09-20 to remove ORCID ids from the runninghead
         | 
| 974 | 
            +
                                                \small\unboldmath\@author\unskip}%
         | 
| 965 975 | 
             
                   \ifdim\wd\authrun>\instindent
         | 
| 966 976 | 
             
                      \typeout{Names of authors too long for running head. Please supply}%
         | 
| 967 977 | 
             
                      \typeout{a shorter form with \string\authorrunning\space prior to
         | 
| @@ -1063,7 +1073,7 @@ to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} | |
| 1063 1073 | 
             
              \global\@namedef{end#1}{\@endtheorem}}}}
         | 
| 1064 1074 |  | 
| 1065 1075 | 
             
            \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
         | 
| 1066 | 
            -
            \refstepcounter{#1} | 
| 1076 | 
            +
            \refstepcounter{#1}%
         | 
| 1067 1077 | 
             
            \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}
         | 
| 1068 1078 |  | 
| 1069 1079 | 
             
            \def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%
         | 
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            %% BibTeX bibliography style ` | 
| 1 | 
            +
            %% BibTeX bibliography style `splncs04'
         | 
| 2 2 | 
             
            %%
         | 
| 3 3 | 
             
            %% BibTeX bibliography style for use with numbered references in
         | 
| 4 4 | 
             
            %% Springer Verlag's "Lecture Notes in Computer Science" series.
         | 
| @@ -31,6 +31,7 @@ | |
| 31 31 | 
             
            %% - Used for editors the same name conventions used for authors (see function format.in.ed.booktitle)
         | 
| 32 32 | 
             
            %% - Removed a \newblock to avoid long spaces between title and "In: ..."
         | 
| 33 33 | 
             
            %% - Added function titto.space.prefix to add a space instead of "~" after the (removed) "vol." label
         | 
| 34 | 
            +
            %% - Added doi
         | 
| 34 35 | 
             
            %% ================================================================================================
         | 
| 35 36 | 
             
            %% This was file `titto.bst',
         | 
| 36 37 | 
             
            %% generated with the docstrip utility.
         | 
| @@ -73,6 +74,7 @@ ENTRY | |
| 73 74 | 
             
                author
         | 
| 74 75 | 
             
                booktitle
         | 
| 75 76 | 
             
                chapter
         | 
| 77 | 
            +
                doi
         | 
| 76 78 | 
             
                edition
         | 
| 77 79 | 
             
                editor
         | 
| 78 80 | 
             
                eid
         | 
| @@ -243,8 +245,15 @@ FUNCTION {field.or.null} | |
| 243 245 | 
             
            }
         | 
| 244 246 | 
             
            FUNCTION {emphasize}
         | 
| 245 247 | 
             
            { skip$ }
         | 
| 248 | 
            +
             | 
| 249 | 
            +
            FUNCTION {embolden}
         | 
| 250 | 
            +
            { duplicate$ empty$
         | 
| 251 | 
            +
            { pop$ "" }
         | 
| 252 | 
            +
            { "\textbf{" swap$ * "}" * }
         | 
| 253 | 
            +
            if$
         | 
| 254 | 
            +
            }
         | 
| 246 255 | 
             
            FUNCTION {tie.or.space.prefix}
         | 
| 247 | 
            -
            { duplicate$ text.length$ # | 
| 256 | 
            +
            { duplicate$ text.length$ #5 <
         | 
| 248 257 | 
             
                { "~" }
         | 
| 249 258 | 
             
                { " " }
         | 
| 250 259 | 
             
              if$
         | 
| @@ -436,6 +445,14 @@ FUNCTION {format.url} | |
| 436 445 | 
             
              if$
         | 
| 437 446 | 
             
            }
         | 
| 438 447 |  | 
| 448 | 
            +
            FUNCTION {format.doi} % added in splncs04.bst
         | 
| 449 | 
            +
            { doi empty$
         | 
| 450 | 
            +
                 { "" }
         | 
| 451 | 
            +
                 { after.block 'output.state :=
         | 
| 452 | 
            +
                   "\doi{" doi * "}" * }
         | 
| 453 | 
            +
              if$
         | 
| 454 | 
            +
            }
         | 
| 455 | 
            +
             | 
| 439 456 | 
             
            INTEGERS { nameptr namesleft numnames }
         | 
| 440 457 |  | 
| 441 458 |  | 
| @@ -768,17 +785,17 @@ FUNCTION {format.journal.eid} | |
| 768 785 | 
             
              if$
         | 
| 769 786 | 
             
            }
         | 
| 770 787 | 
             
            FUNCTION {format.vol.num.pages} % this function is used only for journal entries
         | 
| 771 | 
            -
            { volume field.or.null
         | 
| 788 | 
            +
            { volume field.or.null embolden
         | 
| 772 789 | 
             
              duplicate$ empty$ 'skip$
         | 
| 773 790 | 
             
                {
         | 
| 774 | 
            -
            % | 
| 775 | 
            -
             | 
| 776 | 
            -
            % | 
| 777 | 
            -
            % | 
| 778 | 
            -
            % | 
| 791 | 
            +
            %    bbl.volume swap$ tie.or.space.prefix
         | 
| 792 | 
            +
                 titto.bbl.volume swap$ titto.space.prefix
         | 
| 793 | 
            +
            %            rationale for the change above: for journals you don't want "vol." label
         | 
| 794 | 
            +
            %            hence it does not make sense to attach the journal number to the label when
         | 
| 795 | 
            +
            %            it is short
         | 
| 779 796 | 
             
                  "volume" bibinfo.check
         | 
| 780 797 | 
             
                  * *
         | 
| 781 | 
            -
             | 
| 798 | 
            +
                  }
         | 
| 782 799 | 
             
              if$
         | 
| 783 800 | 
             
              number "number" bibinfo.check duplicate$ empty$ 'skip$
         | 
| 784 801 | 
             
                {
         | 
| @@ -1006,6 +1023,7 @@ FUNCTION {article} | |
| 1006 1023 | 
             
                }
         | 
| 1007 1024 | 
             
              if$
         | 
| 1008 1025 | 
             
            %  new.block
         | 
| 1026 | 
            +
              format.doi output
         | 
| 1009 1027 | 
             
              format.url output
         | 
| 1010 1028 | 
             
            %  new.block
         | 
| 1011 1029 | 
             
              format.note output
         | 
| @@ -1042,6 +1060,7 @@ FUNCTION {book} | |
| 1042 1060 | 
             
              format.edition output
         | 
| 1043 1061 | 
             
              format.date "year" output.check
         | 
| 1044 1062 | 
             
            %  new.block
         | 
| 1063 | 
            +
              format.doi output
         | 
| 1045 1064 | 
             
              format.url output
         | 
| 1046 1065 | 
             
            %  new.block
         | 
| 1047 1066 | 
             
              format.note output
         | 
| @@ -1058,6 +1077,7 @@ FUNCTION {booklet} | |
| 1058 1077 | 
             
              address "address" bibinfo.check output
         | 
| 1059 1078 | 
             
              format.date output
         | 
| 1060 1079 | 
             
            %  new.block
         | 
| 1080 | 
            +
              format.doi output
         | 
| 1061 1081 | 
             
              format.url output
         | 
| 1062 1082 | 
             
            %  new.block
         | 
| 1063 1083 | 
             
              format.note output
         | 
| @@ -1098,6 +1118,7 @@ FUNCTION {inbook} | |
| 1098 1118 | 
             
              format.edition output
         | 
| 1099 1119 | 
             
              format.date "year" output.check
         | 
| 1100 1120 | 
             
            %  new.block
         | 
| 1121 | 
            +
              format.doi output
         | 
| 1101 1122 | 
             
              format.url output
         | 
| 1102 1123 | 
             
            %  new.block
         | 
| 1103 1124 | 
             
              format.note output
         | 
| @@ -1126,6 +1147,7 @@ FUNCTION {incollection} | |
| 1126 1147 | 
             
                }
         | 
| 1127 1148 | 
             
              if$
         | 
| 1128 1149 | 
             
            %  new.block
         | 
| 1150 | 
            +
              format.doi output
         | 
| 1129 1151 | 
             
              format.url output
         | 
| 1130 1152 | 
             
            %  new.block
         | 
| 1131 1153 | 
             
              format.note output
         | 
| @@ -1158,6 +1180,7 @@ FUNCTION {inproceedings} | |
| 1158 1180 | 
             
                }
         | 
| 1159 1181 | 
             
              if$
         | 
| 1160 1182 | 
             
            %  new.block
         | 
| 1183 | 
            +
              format.doi output
         | 
| 1161 1184 | 
             
              format.url output
         | 
| 1162 1185 | 
             
            %  new.block
         | 
| 1163 1186 | 
             
              format.note output
         | 
| @@ -1197,6 +1220,7 @@ FUNCTION {manual} | |
| 1197 1220 | 
             
              format.edition output
         | 
| 1198 1221 | 
             
              format.date output
         | 
| 1199 1222 | 
             
            %  new.block
         | 
| 1223 | 
            +
              format.doi output
         | 
| 1200 1224 | 
             
              format.url output
         | 
| 1201 1225 | 
             
            %  new.block
         | 
| 1202 1226 | 
             
              format.note output
         | 
| @@ -1216,6 +1240,7 @@ FUNCTION {mastersthesis} | |
| 1216 1240 | 
             
              address "address" bibinfo.check output
         | 
| 1217 1241 | 
             
              format.date "year" output.check
         | 
| 1218 1242 | 
             
            %  new.block
         | 
| 1243 | 
            +
              format.doi output
         | 
| 1219 1244 | 
             
              format.url output
         | 
| 1220 1245 | 
             
            %  new.block
         | 
| 1221 1246 | 
             
              format.note output
         | 
| @@ -1232,6 +1257,7 @@ FUNCTION {misc} | |
| 1232 1257 | 
             
              howpublished "howpublished" bibinfo.check output
         | 
| 1233 1258 | 
             
              format.date output
         | 
| 1234 1259 | 
             
            %  new.block
         | 
| 1260 | 
            +
              format.doi output
         | 
| 1235 1261 | 
             
              format.url output
         | 
| 1236 1262 | 
             
            %  new.block
         | 
| 1237 1263 | 
             
              format.note output
         | 
| @@ -1251,6 +1277,7 @@ FUNCTION {phdthesis} | |
| 1251 1277 | 
             
              address "address" bibinfo.check output
         | 
| 1252 1278 | 
             
              format.date "year" output.check
         | 
| 1253 1279 | 
             
            %  new.block
         | 
| 1280 | 
            +
              format.doi output
         | 
| 1254 1281 | 
             
              format.url output
         | 
| 1255 1282 | 
             
            %  new.block
         | 
| 1256 1283 | 
             
              format.note output
         | 
| @@ -1294,6 +1321,7 @@ FUNCTION {proceedings} | |
| 1294 1321 | 
             
              if$
         | 
| 1295 1322 | 
             
                  format.date "year" output.check
         | 
| 1296 1323 | 
             
            %  new.block
         | 
| 1324 | 
            +
              format.doi output
         | 
| 1297 1325 | 
             
              format.url output
         | 
| 1298 1326 | 
             
            %  new.block
         | 
| 1299 1327 | 
             
              format.note output
         | 
| @@ -1313,6 +1341,7 @@ FUNCTION {techreport} | |
| 1313 1341 | 
             
              address "address" bibinfo.check output
         | 
| 1314 1342 | 
             
              format.date "year" output.check
         | 
| 1315 1343 | 
             
            %  new.block
         | 
| 1344 | 
            +
              format.doi output
         | 
| 1316 1345 | 
             
              format.url output
         | 
| 1317 1346 | 
             
            %  new.block
         | 
| 1318 1347 | 
             
              format.note output
         | 
| @@ -1503,6 +1532,8 @@ FUNCTION {begin.bib} | |
| 1503 1532 | 
             
              write$ newline$
         | 
| 1504 1533 | 
             
              "\providecommand{\urlprefix}{URL }"
         | 
| 1505 1534 | 
             
              write$ newline$
         | 
| 1535 | 
            +
              "\providecommand{\doi}[1]{https://doi.org/#1}"
         | 
| 1536 | 
            +
              write$ newline$
         | 
| 1506 1537 | 
             
            }
         | 
| 1507 1538 | 
             
            EXECUTE {begin.bib}
         | 
| 1508 1539 | 
             
            EXECUTE {init.state.consts}
         | 
| @@ -1515,5 +1546,3 @@ EXECUTE {end.bib} | |
| 1515 1546 | 
             
            %% End of customized bst file
         | 
| 1516 1547 | 
             
            %%
         | 
| 1517 1548 | 
             
            %% End of file `titto.bst'.
         | 
| 1518 | 
            -
             | 
| 1519 | 
            -
             | 
| @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            # Created by https://www.toptal.com/developers/gitignore/api/vagrant
         | 
| 2 | 
            +
            # Edit at https://www.toptal.com/developers/gitignore?templates=vagrant
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            ### Vagrant ###
         | 
| 5 | 
            +
            # General
         | 
| 6 | 
            +
            .vagrant/
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            # Log files (if you are creating logs in debug mode, uncomment this)
         | 
| 9 | 
            +
            # *.log
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            ### Vagrant Patch ###
         | 
| 12 | 
            +
            *.box
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            # End of https://www.toptal.com/developers/gitignore/api/vagrant
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            # -*- mode: ruby -*-
         | 
| 2 2 | 
             
            # vi: set ft=ruby :
         | 
| 3 | 
            -
            # Time-stamp: <Mon  | 
| 3 | 
            +
            # Time-stamp: <Mon 2023-12-04 17:12 svarrette>
         | 
| 4 4 | 
             
            ###########################################################################################
         | 
| 5 5 | 
             
            #             __     __                          _    __ _ _
         | 
| 6 6 | 
             
            #             \ \   / /_ _  __ _ _ __ __ _ _ __ | |_ / _(_) | ___
         | 
| @@ -25,7 +25,7 @@ require 'erb' | |
| 25 25 | 
             
            [ 'vagrant-hosts',
         | 
| 26 26 | 
             
              'vagrant-vbguest',
         | 
| 27 27 | 
             
              'vagrant-cachier',
         | 
| 28 | 
            -
               | 
| 28 | 
            +
              'vagrant-libvirt',
         | 
| 29 29 | 
             
              'deep_merge',
         | 
| 30 30 | 
             
              'terminal-table' ].each do |plugin|
         | 
| 31 31 | 
             
              abort "Install the  '#{plugin}' plugin with 'vagrant plugin install #{plugin}'" unless Vagrant.has_plugin?("#{plugin}")
         | 
| @@ -53,9 +53,10 @@ DEFAULT_SETTINGS = { | |
| 53 53 | 
             
              # Default images settings
         | 
| 54 54 | 
             
              :defaults => {
         | 
| 55 55 | 
             
                :os     => :<%= config[:os] %>,
         | 
| 56 | 
            +
                :provider =>  :<%= config[:provider] %>,
         | 
| 56 57 | 
             
                :ram    => <%= config[:ram] %>,
         | 
| 57 58 | 
             
                :vcpus  => <%= config[:vcpus] %>,
         | 
| 58 | 
            -
                :vbguest_auto_update =>  | 
| 59 | 
            +
                :vbguest_auto_update => false,
         | 
| 59 60 | 
             
                :role   => 'default',
         | 
| 60 61 | 
             
                # :nodes  => 1,
         | 
| 61 62 | 
             
              },
         | 
| @@ -66,10 +67,18 @@ DEFAULT_SETTINGS = { | |
| 66 67 | 
             
              },
         | 
| 67 68 | 
             
              # Default Boxes
         | 
| 68 69 | 
             
              :boxes => {
         | 
| 69 | 
            -
                : | 
| 70 | 
            -
                : | 
| 71 | 
            -
                : | 
| 72 | 
            -
                : | 
| 70 | 
            +
                :debian12        => '<%= config[:boxes][:debian12] %>',
         | 
| 71 | 
            +
                :debian12_uefi   => '<%= config[:boxes][:debian12_uefi] %>',
         | 
| 72 | 
            +
                :almalinux9      => '<%= config[:boxes][:almalinux9] %>',
         | 
| 73 | 
            +
                :almalinux8      => '<%= config[:boxes][:almalinux8] %>',
         | 
| 74 | 
            +
                :almalinux8_uefi => '<%= config[:boxes][:almalinux8_uefi] %>',
         | 
| 75 | 
            +
                :rockylinux8     => '<%= config[:boxes][:rockylinux8] %>',
         | 
| 76 | 
            +
                :centosstream9   => '<%= config[:boxes][:centosstream9] %>',
         | 
| 77 | 
            +
                :centosstream8   => '<%= config[:boxes][:centosstream8] %>',
         | 
| 78 | 
            +
                :ubuntu22        => '<%= config[:boxes][:ubuntu22] %>',
         | 
| 79 | 
            +
                :ubuntu20        => '<%= config[:boxes][:ubuntu20] %>',
         | 
| 80 | 
            +
                :fedora38        => '<%= config[:boxes][:fedora38] %>',
         | 
| 81 | 
            +
                :archlinux       => '<%= config[:boxes][:archlinux] %>'
         | 
| 73 82 | 
             
              },
         | 
| 74 83 | 
             
              # virtual images to deploy
         | 
| 75 84 | 
             
              # <name>:
         | 
| @@ -126,18 +135,21 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |
| 126 135 | 
             
                # set auto_update to false, if you do NOT want to check the correct
         | 
| 127 136 | 
             
                # additions version when booting these boxes
         | 
| 128 137 | 
             
                config.vbguest.auto_update = defaults[:vbguest_auto_update]
         | 
| 138 | 
            +
                config.vbguest.installer_options = { allow_kernel_upgrade: true }
         | 
| 139 | 
            +
             | 
| 129 140 | 
             
              end
         | 
| 130 141 |  | 
| 131 142 | 
             
              # Shell provisioner, to bootstrap each box with the minimal settings/packages
         | 
| 132 143 | 
             
              DEFAULT_PROVISIONING_SCRIPTS.each do |script|
         | 
| 133 144 | 
             
                config.vm.provision "shell", path: "#{script}", keep_color: true
         | 
| 134 145 | 
             
              end
         | 
| 135 | 
            -
             | 
| 146 | 
            +
             | 
| 147 | 
            +
              # config.vm.synced_folder ".", "/vagrant", type: "virtualbox"  # done by default
         | 
| 136 148 | 
             
              ## Uncomment the below part if you want and additional shared directory
         | 
| 137 149 | 
             
              # config.vm.synced_folder "vagrant/shared", "/shared", mount_options: ['dmode=777','fmode=777'],
         | 
| 138 150 | 
             
              #                         type: "virtualbox" # Shared directory for users
         | 
| 139 151 | 
             
              if Dir.exist?(File.join(TOP_PUPPETDIR, 'hieradata'))
         | 
| 140 | 
            -
                config.vm.synced_folder "#{puppet_dir}/hieradata", "/tmp/vagrant-puppet/hieradata" | 
| 152 | 
            +
                config.vm.synced_folder "#{puppet_dir}/hieradata", "/tmp/vagrant-puppet/hieradata" #, type: "virtualbox"
         | 
| 141 153 | 
             
              end
         | 
| 142 154 |  | 
| 143 155 | 
             
              # network settings
         | 
| @@ -161,12 +173,14 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |
| 161 173 | 
             
                boxname  = defaults[:os].to_s.downcase.gsub(/([^\d]+)(\d+)/, '\\1-\\2')
         | 
| 162 174 | 
             
                name     = boxname if name == 'default'
         | 
| 163 175 | 
             
                os       = node[:os]       ? node[:os].to_sym : defaults[:os].to_sym
         | 
| 176 | 
            +
                provider = (os =~ /_uefi$/)? 'libvirt'        : defaults[:provider]
         | 
| 177 | 
            +
                provider = node[:provider] if node[:provider]
         | 
| 164 178 | 
             
                ram      = node[:ram]      ? node[:ram]       : defaults[:ram]
         | 
| 165 179 | 
             
                vcpus    = node[:vcpus]    ? node[:vcpus]     : defaults[:vcpus]
         | 
| 166 180 | 
             
                role     = node[:role]     ? node[:role]      : 'default'
         | 
| 167 181 | 
             
                desc     = node[:desc]     ? node[:desc]      : 'n/a'
         | 
| 168 182 | 
             
                puppet_modules = node[:puppet_modules] ? node[:puppet_modules] : []
         | 
| 169 | 
            -
             | 
| 183 | 
            +
                warn "provider: #{provider}"
         | 
| 170 184 | 
             
                abort "Non-existing box OS '#{os}' for the VM '#{name}'" if  settings[:boxes][os.to_sym].nil?
         | 
| 171 185 | 
             
                abort "Empty IP address range" if ip_range.empty?
         | 
| 172 186 | 
             
                ip = ip_range[ ip_index.to_i ].to_s
         | 
| @@ -175,13 +189,36 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |
| 175 189 | 
             
                config.vm.define "#{name}" do |c|
         | 
| 176 190 | 
             
                  c.vm.box      = settings[:boxes][os.to_sym]
         | 
| 177 191 | 
             
                  c.vm.hostname = "#{fqdn}"
         | 
| 178 | 
            -
                  c.vm.network | 
| 192 | 
            +
                  c.vm.network   :private_network,
         | 
| 193 | 
            +
                                 :ip => ip,
         | 
| 194 | 
            +
                                 :libvirt__network_address => network[:range], # ip_range[0].to_s + '/24',
         | 
| 195 | 
            +
                                 :libvirt__forward_mode   => 'nat'
         | 
| 196 | 
            +
             | 
| 179 197 | 
             
                  c.vm.provision :hosts, :sync_hosts => true
         | 
| 198 | 
            +
                  # (eventually) Force default provider
         | 
| 199 | 
            +
                  c.vm.provider  :"#{provider}" if provider != 'virtualbox'
         | 
| 180 200 |  | 
| 181 | 
            -
                   | 
| 201 | 
            +
                  # Custom VM configs for virtualbox provider
         | 
| 202 | 
            +
                  c.vm.provider 'virtualbox' do |v|
         | 
| 182 203 | 
             
                    v.customize [ 'modifyvm', :id, '--name', hostname, '--memory', ram.to_s ]
         | 
| 183 204 | 
             
                    v.customize [ 'modifyvm', :id, '--cpus', vcpus.to_s ] if vcpus.to_i > 1
         | 
| 184 205 | 
             
                    #v.customize [ 'setextradata', :id, 'VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root', '1']
         | 
| 206 | 
            +
                    v.customize ["modifyvm", :id, "--firmware", "efi"]
         | 
| 207 | 
            +
                  end
         | 
| 208 | 
            +
                  # Custom VM configs for libvirt provider
         | 
| 209 | 
            +
                  # see https://vagrant-libvirt.github.io/vagrant-libvirt/configuration.html
         | 
| 210 | 
            +
                  c.vm.provider :libvirt do |lv|
         | 
| 211 | 
            +
                    lv.uri = 'qemu:///system'
         | 
| 212 | 
            +
                    lv.host   = hostname
         | 
| 213 | 
            +
                    lv.cpus   = vcpus
         | 
| 214 | 
            +
                    lv.memory = ram
         | 
| 215 | 
            +
                    # lv.nested = true
         | 
| 216 | 
            +
             | 
| 217 | 
            +
                    # Emulated TPM
         | 
| 218 | 
            +
                    lv.tpm_model = "tpm-crb"
         | 
| 219 | 
            +
                    lv.tpm_type = "emulator"
         | 
| 220 | 
            +
                    lv.tpm_version = "2.0"
         | 
| 221 | 
            +
             | 
| 185 222 | 
             
                  end
         | 
| 186 223 |  | 
| 187 224 | 
             
                  # role specialization
         | 
| @@ -201,8 +238,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |
| 201 238 | 
             
                  end
         | 
| 202 239 |  | 
| 203 240 | 
             
                  # A role fact MUST be defined (default: 'default') as it is used in Hiera config
         | 
| 241 | 
            +
                  facts_dir = '/etc/facter/facts.d/'
         | 
| 204 242 | 
             
                  c.vm.provision "shell",
         | 
| 205 | 
            -
                                 inline: "echo '{ \"role\": \"#{role}\" }' > / | 
| 243 | 
            +
                                 inline: "mkdir -p #{facts_dir}; echo '{ \"role\": \"#{role}\" }' > #{facts_dir}/custom.json",
         | 
| 206 244 | 
             
                                 keep_color: true
         | 
| 207 245 | 
             
                  ################ Puppet install ##############
         | 
| 208 246 | 
             
                  c.vm.provision "puppet" do |puppet|
         | 
| @@ -222,14 +260,14 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |
| 222 260 |  | 
| 223 261 | 
             
                  __table[:rows] << [ name, fqdn, os.to_sym, "#{vcpus}/#{ram}", role, desc, ip]
         | 
| 224 262 |  | 
| 225 | 
            -
                  if settings[:vms].keys.last == name
         | 
| 263 | 
            +
                  #if settings[:vms].keys.last == name
         | 
| 226 264 | 
             
                    c.trigger.after :up do |trigger|
         | 
| 227 265 | 
             
                      trigger.info = (Terminal::Table.new __table).to_s
         | 
| 228 266 | 
             
                      trigger.warn = <<-EOF
         | 
| 229 267 | 
             
            - Virtual Vagrant infrastructure successfully deployed!
         | 
| 230 268 | 
             
            EOF
         | 
| 231 269 | 
             
                    end
         | 
| 232 | 
            -
                  end
         | 
| 270 | 
            +
                  #end
         | 
| 233 271 |  | 
| 234 272 | 
             
                end # config.vm.define
         | 
| 235 273 | 
             
              end  # settings
         | 
| @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            # -*- mode: yaml; -*-
         | 
| 2 | 
            -
            # Time-stamp: <Sat  | 
| 2 | 
            +
            # Time-stamp: <Sat 2023-11-18 16:59 svarrette>
         | 
| 3 3 | 
             
            ################################################################################
         | 
| 4 4 | 
             
            # Complementary configuration for Vagrant
         | 
| 5 5 | 
             
            # You can overwrite here the default settings defined in ../Vagrantfile and
         | 
| @@ -11,15 +11,18 @@ | |
| 11 11 | 
             
            # Format:
         | 
| 12 12 | 
             
            #   :<os><version>: <username>/<box> # see https://vagrantcloud.com
         | 
| 13 13 | 
             
            # :boxes:
         | 
| 14 | 
            -
            #   : | 
| 15 | 
            -
            #   : | 
| 16 | 
            -
            #   : | 
| 17 | 
            -
            #   : | 
| 14 | 
            +
            #   :debian12:    'debian/bookworm64'
         | 
| 15 | 
            +
            #   :rockylinux9: 'rockylinux/9'
         | 
| 16 | 
            +
            #   :rockylinux8: 'rockylinux/8'
         | 
| 17 | 
            +
            #   :ubuntu22:    'ubuntu/jammy64'
         | 
| 18 | 
            +
            #   :ubuntu20:    'ubuntu/focal64'
         | 
| 19 | 
            +
            #   :fedora38:    'generic/fedora38'
         | 
| 20 | 
            +
            #   :archlinux:    'archlinux/archlinux'
         | 
| 18 21 |  | 
| 19 22 | 
             
            #_________________
         | 
| 20 23 | 
             
            # Default settings
         | 
| 21 24 | 
             
            # :defaults:
         | 
| 22 | 
            -
            #   :os: : | 
| 25 | 
            +
            #   :os: :debian12        # Default OS from the above box definition
         | 
| 23 26 | 
             
            #   :ram: 512             # Default RAM
         | 
| 24 27 | 
             
            #   :vcpus: 1             # Default number of virtual CPUs
         | 
| 25 28 | 
             
            #   :vbguest_auto_update: 1  # check/update box guest additions
         | 
| @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            #!/usr/bin/env bash
         | 
| 2 | 
            -
            # Time-stamp: < | 
| 2 | 
            +
            # Time-stamp: <Mon 2023-12-04 17:51 svarrette>
         | 
| 3 3 | 
             
            ###########################################################################################
         | 
| 4 4 | 
             
            # __     __                          _     ____              _       _
         | 
| 5 5 | 
             
            # \ \   / /_ _  __ _ _ __ __ _ _ __ | |_  | __ )  ___   ___ | |_ ___| |_ _ __ __ _ _ __
         | 
| 6 | 
            -
            #  \ \ / / _` |/ _` | '__/ _` | '_ \| __| |  _ \ / _ \ / _ \| __/ __| __| '__/ _` | '_ \
         | 
| 7 | 
            -
             | 
| 6 | 
            +
            #  \ \ / / _` |/ _` | '__/ _` | '_ \| __| |  _ \ / _ \ / _ \| __/ __| __| '__/ _` | '_ \  .
         | 
| 7 | 
            +
            #   \ V / (_| | (_| | | | (_| | | | | |_  | |_) | (_) | (_) | |_\__ \ |_| | | (_| | |_) |
         | 
| 8 8 | 
             
            #    \_/ \__,_|\__, |_|  \__,_|_| |_|\__| |____/ \___/ \___/ \__|___/\__|_|  \__,_| .__/
         | 
| 9 9 | 
             
            #              |___/                                                              |_|
         | 
| 10 | 
            -
            #            Copyright (c) 2017- | 
| 10 | 
            +
            #            Copyright (c) 2017-2023 Sebastien Varrette
         | 
| 11 11 | 
             
            ###########################################################################################
         | 
| 12 12 | 
             
            # (prefered) way to see a Vagrant box configured.
         | 
| 13 13 | 
             
            #
         | 
| @@ -26,12 +26,12 @@ SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | |
| 26 26 | 
             
            MOTD="/etc/motd"
         | 
| 27 27 | 
             
            DOTFILES_DIR='/etc/dotfiles.d'
         | 
| 28 28 | 
             
            DOTFILES_URL='https://github.com/ULHPC/dotfiles.git'
         | 
| 29 | 
            -
            EXTRA_PACKAGES=
         | 
| 29 | 
            +
            EXTRA_PACKAGES='swtpm swtpm-tools'
         | 
| 30 30 |  | 
| 31 31 | 
             
            TITLE=$(hostname -s)
         | 
| 32 32 |  | 
| 33 33 | 
             
            # List of default packages to install
         | 
| 34 | 
            -
            COMMON_DEFAULT_PACKAGES="ruby wget figlet git screen bash-completion rsync vim htop net-tools | 
| 34 | 
            +
            COMMON_DEFAULT_PACKAGES="ruby wget figlet git screen bash-completion rsync vim htop net-tools"
         | 
| 35 35 |  | 
| 36 36 | 
             
            ######
         | 
| 37 37 | 
             
            # Print information in the following form: '[$2] $1' ($2=INFO if not submitted)
         | 
| @@ -67,6 +67,15 @@ setup_redhat() { | |
| 67 67 | 
             
                touch    /etc/sysconfig/bash-prompt-screen
         | 
| 68 68 | 
             
                chmod +x /etc/sysconfig/bash-prompt-screen
         | 
| 69 69 |  | 
| 70 | 
            +
                if [ -x "/usr/bin/crb" ]; then
         | 
| 71 | 
            +
                    info "Enable CodeReady Builder (CRB) repository"
         | 
| 72 | 
            +
                    /usr/bin/crb enable
         | 
| 73 | 
            +
                fi
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                if ! grep -e "fastestmirror" /etc/dnf/dnf.conf; then
         | 
| 76 | 
            +
                    echo "fastestmirror=1" >> /etc/dnf/dnf.conf
         | 
| 77 | 
            +
                fi
         | 
| 78 | 
            +
             | 
| 70 79 | 
             
                info "Running yum update"
         | 
| 71 80 | 
             
                yum update -y  >/dev/null
         | 
| 72 81 |  | 
| @@ -81,17 +90,24 @@ setup_redhat() { | |
| 81 90 | 
             
                os_version=$(rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release))
         | 
| 82 91 | 
             
                info "Adding Puppet Labs repo and installing Puppet for RHEL/CentOS ${os_version}"
         | 
| 83 92 | 
             
                # Get the major version
         | 
| 84 | 
            -
                yum install -y https://yum.puppetlabs.com/ | 
| 93 | 
            +
                yum install -y https://yum.puppetlabs.com/puppet7-release-el-$(echo $os_version | cut -d '.' -f 1).noarch.rpm
         | 
| 85 94 | 
             
                yum install -y puppet
         | 
| 86 95 | 
             
            }
         | 
| 87 96 |  | 
| 88 97 | 
             
            setup_apt() {
         | 
| 98 | 
            +
                export DEBIAN_FRONTEND=noninteractive
         | 
| 99 | 
            +
             | 
| 89 100 | 
             
                case $1 in
         | 
| 90 101 | 
             
                    3*) codename=cumulus ;;
         | 
| 91 102 | 
             
                    6)  codename=squeeze ;;
         | 
| 92 103 | 
             
                    7)  codename=wheezy ;;
         | 
| 93 104 | 
             
                    8)  codename=jessie  ;;
         | 
| 94 105 | 
             
                    9)  codename=stretch  ;;
         | 
| 106 | 
            +
                    10) codename=buster  ;;
         | 
| 107 | 
            +
                    11) codename=bullseye ;;
         | 
| 108 | 
            +
                    12) codename=bookworm ;;
         | 
| 109 | 
            +
                    13) codename=trixie ;;
         | 
| 110 | 
            +
                    14) codename=forky ;;
         | 
| 95 111 | 
             
                    12.04) codename=precise ;;
         | 
| 96 112 | 
             
                    14.04) codename=trusty  ;;
         | 
| 97 113 | 
             
                    16.04) codename=xenial ;;
         | 
| @@ -104,13 +120,12 @@ setup_apt() { | |
| 104 120 | 
             
                info "Installing default packages"
         | 
| 105 121 | 
             
                apt-get install -y ${COMMON_DEFAULT_PACKAGES} git-core ${EXTRA_PACKAGES}  >/dev/null
         | 
| 106 122 |  | 
| 107 | 
            -
                info " | 
| 108 | 
            -
                 | 
| 109 | 
            -
             | 
| 123 | 
            +
                info "Set locale"
         | 
| 124 | 
            +
                localectl set-locale LANG=en_US.UTF-8
         | 
| 125 | 
            +
             | 
| 126 | 
            +
                info "Installing puppet"
         | 
| 127 | 
            +
                apt-get install -y puppet >/dev/null
         | 
| 110 128 |  | 
| 111 | 
            -
                info "installing Environment modules and  LMod"
         | 
| 112 | 
            -
                apt-get install -y environment-modules lmod
         | 
| 113 | 
            -
                apt-get install -y build-essentials
         | 
| 114 129 | 
             
            }
         | 
| 115 130 |  | 
| 116 131 | 
             
            setup_linux() {
         | 
| @@ -144,7 +159,7 @@ setup_linux() { | |
| 144 159 | 
             
                info "Detected Linux distro: ${distro} version ${majver} on arch ${ARCH}"
         | 
| 145 160 | 
             
                case "$distro" in
         | 
| 146 161 | 
             
                    debian|ubuntu) setup_apt $majver ;;
         | 
| 147 | 
            -
                    redhat|fedora|centos|scientific|amazon) setup_redhat $majver ;;
         | 
| 162 | 
            +
                    redhat|rocky|fedora|centos|almalinux|scientific|amazon) setup_redhat $majver ;;
         | 
| 148 163 | 
             
                    *) echo "Not supported distro: $distro"; exit 1;;
         | 
| 149 164 | 
             
                esac
         | 
| 150 165 |  | 
| @@ -169,6 +184,9 @@ setup_dotfiles () { | |
| 169 184 | 
             
                    info "installing dotfiles for 'vagrant' user"
         | 
| 170 185 | 
             
                    sudo -u vagrant ${dotfile_install_cmd}
         | 
| 171 186 | 
             
                fi
         | 
| 187 | 
            +
                info "cleanup .inputrc"
         | 
| 188 | 
            +
                rm -f /root/.inputrc
         | 
| 189 | 
            +
                sudo -u vagrant rm -f ~vagrant/.inputrc
         | 
| 172 190 | 
             
            }
         | 
| 173 191 |  | 
| 174 192 | 
             
            setup_motd() {
         |