|
Post by Pjot on Dec 19, 2016 20:50:19 GMT 1
Folks, After using the fossil software configuration management system for almost 3 years now, it is time to explain more about its usage. The fossil command structure is really easy, and if you have experience with SVN, you'll feel at home right away. It is based on the Public Domain SQLite database. These are the steps to take: - Install fossil from synaptic or your favorite package manager.
- Go to a suitable directory on your system where you want to store the BaCon repository.
- Create a local repo file as user 'nobody'. The password for this user is: 'ignore'. When done, you will have a file on your disk called 'bacon.fossil'. This is in fact nothing else but a small SQLite3 database.
[/code] [li]Obtain the files from the BaCon project.[/li] # fossil open bacon.fossil [li]You will see a directory called 'bacon_trunk'. Just go in there and compile the latest beta as usual.[/li][li]The aforementioned steps need to be done only once. From now on, to update your local BaCon repository, only one command is needed. Goto the directory of the first step and execute the following:[/li] # fossil update [/ul] So, each time when there is an update in the BaCon project, just perform the last step, and fossil will update only those files which were changed, after which you can compile the latest. Regards Peter
|
|
|
Post by Pjot on Feb 25, 2018 17:32:39 GMT 1
All, The sourceforge website where the fossil repo for BaCon is hosted has had a lot of problems lately. Today, after another fruitless attempt to commit my changes, I decided to move away from sourceforge and start using another hosting site, which hopefully is more reliable. From now on, please obtain the latest changes from Chisel. Cloning instructions are here. Best regards Peter
|
|
|
Post by vovchik on Feb 25, 2018 18:40:17 GMT 1
Dear Peter (and all),
Thanks Peter. I also noticed that sourceforge had been acting up lately. I use this little script to grab the latest version, to compile it and to install all necessary bits it into /usr/xxx (i.e. /usr/bin /usr/lib, /usr/share):
#!/bin/bash rm -R bacon_trunk/ rm .fslckout rm bacon.fossil fossil clone http://chiselapp.com/user/bacon/repository/bacon bacon.fossil fossil open bacon.fossil cd bacon_trunk/ ./configure --prefix=/usr make sudo make install
With kind regards, vovchik
|
|
|
Post by bigbass on Jul 29, 2019 5:27:35 GMT 1
Hello guys
just want to post another optional compiler using clang for fossil
this was tested on an ubuntu base 18.04 for the rpi3 using the apt-get clang which is version 6.0.0
call it fossil-get-clang that uses vovhick's script above modded for clang and fixes problems with recent compilers on arm 32 bit
#!/bin/bash # added bacongui-fltk # added a fix for clang and the rpi3 # the clang command line taken from the bacon source readme (for BSD)
rm -R bacon_trunk/ rm .fslckout rm bacon.fossil fossil clone http://chiselapp.com/user/bacon/repository/bacon bacon.fossil fossil open bacon.fossil cd bacon_trunk/
CPPFLAGS="$(fltk-config --cxxflags)" CXXFLAGS="$(fltk-config --cxxflags) -x c++" LDFLAGS="$(fltk-config --ldflags)" CC=clang CXX=clang++ ./configure prefix=/usr --enable-gui-fltk
#remove an option that throws an error on clang from the Makefile
sed -i 's/-fno-var-tracking-assignments//g' Makefile
make sudo make install
|
|
|
Post by bigbass on Sept 15, 2019 23:33:10 GMT 1
[SOLVED]
fossil will allow only one tree I tried to build in a new directory for testing and that's what went wrong
all is fine
Joe
|
|
|
Post by bigbass on Jul 7, 2022 23:59:40 GMT 1
Hello It has been a while since using fossil I saw a lot of new work with the bacon editor and wanted to give it a test run
had a problem building on RPI3 bullseye and made this script to make it easy
UPDATED with Peter's suggestions for speed using zsh changed folders to use BACON-FOSSIL to be safer someone may have a BACON folder
fossil-get now improved below in this thread
|
|
|
Post by Pjot on Jul 8, 2022 5:23:12 GMT 1
Hi Joe,
You can also force the "./configure" script to select BASH instead of KSH:
./configure --prefix=/usr --enable-gui-fltk --with-bash
This way you can omit the code snippet which changes the Makefile.
Note that though BASH works, it is an extremely slow interpreter. I always use KSH myself for performance reasons. But not all implementations of KSH work (for example, PDKSH does not work) because of the use of associative arrays in the shell script.
Alternatively, you could consider to use ZSH instead, which is a lot faster than BASH and has a compatible KSH emulation.
Best regards Peter
|
|
|
Post by bigbass on Jul 8, 2022 7:13:59 GMT 1
Hello Peter
I took your suggestion and updated the above post to use zsh
P.S your bacon editor is looking really good I am having some control character display with the colored syntax keywords seems as if I need a refresh screen to clear away the
"^[[A" "^[[B" when I use the mouse scroll wheel within an lxterminal
I will look into it tomorrow again and see if it is on my side (need sleep)
having a built in editor with syntax highlighting is very practical thanks ! Joe
|
|
|
Post by Pjot on Jul 8, 2022 15:33:11 GMT 1
Hi Joe, Well, the built-in editor is not accepting any input from a mouse I created it for shell sessions or text-based Linux versions. As I own a Raspberry 4 now, I noticed that the performance of the editor was quite slow, so there are some important improvements there. Best regards Peter
|
|
|
Post by bigbass on Jul 8, 2022 18:19:49 GMT 1
Hello Peter ok I will use the arrow keys my hand has auto pilot that reaches for the mouse without thinking using zsh on the rpi3 gives 9879 lines were processed in 771 seconds. and I just did it with bash to see the difference in time 9879 lines were processed in 2000 seconds zsh at comes in at 12 minutes thats 21 minutes less than 33 minutes with bash! and all compiles and builds correctly from fossil thanks Joe ---------------------------------------------- just for clarity and a better error report that may be useful what happens if I use ksh rm -f build/* build-cpp/* ./bacon.sh[105]: typeset: -A: unknown option ./bacon.sh[374]: syntax error: unexpected operator/operand '=~' make: *** [Makefile:22: bacon] Error 1 mkdir -p /usr/bin mkdir -p /usr/share/applications /usr/bin/install -c bacon.sh /usr/bin /usr/bin/install -c build/bacon /usr/bin /usr/bin/install: cannot stat 'build/bacon': No such file or directory make: *** [Makefile:49: install] Error 1
|
|
|
Post by Pjot on Jul 9, 2022 7:15:54 GMT 1
Thanks Joe,
The "typeset: -A: unknown option" error is indeed what I was mentioning before. It shows that this KSH release does not support associative arrays.
BR Peter
|
|
|
Post by bigbass on Jul 9, 2022 17:48:13 GMT 1
Hello Peter
I figured it out finally that the default ksh on a new install of debian bullseye that the configure detects fails
the solution is to install #the default installed ksh is broken install this
sudo apt-get install ksh
that is for me
ksh --version version sh (AT&T Research) 93u+ 2012-08-01
Converting 'bacon.bac'... done, 9878 lines were processed in 260.444 seconds. now we have greatly improved speed at 4 minutes!!
sorry I didn't catch why this was happening sooner if ksh was never installed it would have been easier to solve than an outdated under powered version of ksh factory installed
maybe a note in the official readme that we need
the script takes care of the ksh problem on the RPI3 and the fossil folder fix
ksh --version version sh (AT&T Research) 93u+ 2012-08-01
Joe
#!/bin/bash # if you run this as a standalone script first copy it to home # now requires a dir option --workdir # this is an updated version of the fossil get from vovchik # July 11 2022 tested on RPI3 bullseye # added a fix for speed using ksh suggested by Peter # changed folder to use BACON-FOSSIL
# added bacon update and a check to see if you are updated to the most # recent changes
# catch dependencies you should have a bacon version installed already # fossil builds are for testing new features not yet in the official release
# two problems were the reason I made this script # the default ksh on rpi3 bulleye is outdated and broken # that fails in the build of bacon we force a new install of ksh
# the second problem was fossil changed its options and requires a folder now # for several years this worked fine without the need a special folder for bacon fossil
# as of https://www2.fossil-scm.org/home/doc/trunk/www/changes.wiki#v2_12 # Enhance the fossil open command with the new --workdir option # and the ability to accept a URL as the repository name, # causing the remote repository to be cloned automatically. # Do not allow "fossil open" to open in a non-empty working directory # unless the --keep option or the new --force option is used.
#the default installed ksh is badly broken install this sudo apt-get install ksh
FILE3=/usr/bin/fossil
if test -f "$FILE3"; then echo " fossil exists. OK"
else echo "Will install it " sudo apt-get install fossil fi
FILE=~/BACON-FOSSIL/.fslckout
if test -f "$FILE"; then echo "$FILE exists. and bacon_trunk will be UPDATED" cd ~/BACON-FOSSIL if fossil update | grep "changes: None. Already up-to-date"; then printf "Nothing to do now because \e[0m \e[32m you are UPDATED !\e[0m \n" else printf "We are \e[0m \e[32m UPDATING !\e[0m \n" fossil update cd bacon_trunk
./configure --prefix=/usr --enable-gui-fltk --with-ksh echo -e " Makefile was forced to ksh for you manually --with-ksh" make sudo make install fi else echo "$FILE is not there. and " printf "bacon_trunk will be created \e[0m \e[32m FIRST TIME !\e[0m \n" fossil clone http://chiselapp.com/user/bacon/repository/bacon bacon.fossil
# if its the first time run create the BACON-FOSSIL folder fossil open --workdir BACON-FOSSIL bacon.fossil
cd ~/BACON-FOSSIL/bacon_trunk/
./configure --prefix=/usr --enable-gui-fltk --with-ksh echo -e " Makefile was forced to ksh for you manually --with-ksh" make sudo make install fi
|
|
|
Post by Pjot on Jul 10, 2022 6:31:54 GMT 1
|
|