subject: installation.ash

message: installation.ash

repos: sosyco/alpine-dockerhost

diff:
--- installation.ash
+++ installation.ash
@@ -1,10 +1,11 @@
 #!/bin/ash
 #
-# installation of needed packages
+# startscript: normaly run it only once
 # (c) 2015/2016 sosyco@googlemail.com  www.sosyco.de
 #
-#
+# enhance the repositories and update the system
+sed -ni 'p; s/\/main/\/community/p' /etc/apk/repositories
 apk update
 apk upgrade
 apk add git ansible sudo
-ssh-keygen -f dockeradmin -t rsa -b 4096 -C dockeradmin -N ''
+ssh-keygen -f files/dockeradmin -t rsa -b 4096 -C dockeradmin -N ''


subject: Fixed global search/replace botches.

message:
Fixed global search/replace botches.

git-svn-id: 28d9401aa571d5108e51b194aae6f24ca5964c06@20799 8cc4aa7f-3514-0410-904f-f2cc9021211c

diff:
--- plugins/video/render3d/software/i386/cs.ash
+++ plugins/video/render3d/software/i386/cs.ash
@@ -63,7 +63,7 @@
 ; Arguments:
 ;   The name of external C procedure
 ; Example:
-;		cextern	csPrintf
+;		cextern	printf
 ;-----======xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx======-----
 %macro		cextern	1
 		%xdefine %1 cname(%1)
@@ -80,7 +80,7 @@
 ; Arguments:
 ;   The name of C procedure
 ; Example:
-;		cglobal	my_csPrintf
+;		cglobal	my_printf
 ;-----======xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx======-----
 %macro		cglobal	1
 		%xdefine %1 cname(%1)


subject: Remove old script

message: Remove old script

diff:
--- src/scripts/lar-forecasting/lar-get-encounter.ash
+++ src/scripts/lar-forecasting/lar-get-encounter.ash
@@ -1,7 +0,0 @@
-notify "LeaChim";
-
-import "lar-forecasting.ash";
-
-void main(string loc, int turn) {
-  print(lar_encounter_to_string(lar_get_encounter(loc.to_location(), turn)));
-}


subject: go command static and dynamic

message: go command static and dynamic

repos: michalliu/faux-go,michalliu/faux-go

diff:
--- autogen.ash
+++ autogen.ash
@@ -1,3 +1,4 @@
 #!/bin/ash
 echo "compiling... be patient"
-gccgo -Wl,-t -v -o go `ls *.go | grep -v signal_notunix.go | grep -v _test.go | grep -v bootstrap | grep -v doc` -static-libgo
+#gccgo -Wl,-t -v -o go-static `ls *.go | grep -v signal_notunix.go | grep -v _test.go | grep -v bootstrap | grep -v doc` -static-libgo
+gccgo -Wl,-t -v -o go `ls *.go | grep -v signal_notunix.go | grep -v _test.go | grep -v bootstrap | grep -v doc`


subject: improve autogen

message: improve autogen

diff:
--- autogen.ash
+++ autogen.ash
@@ -1,3 +1,3 @@
 #!/bin/ash
 echo "compiling... be patient"
-gccgo -o go `ls *.go | grep -v signal_notunix.go | grep -v _test.go | grep -v bootstrap | grep -v doc` -static-libgo
+gccgo -Wl,-t -v -o go `ls *.go | grep -v signal_notunix.go | grep -v _test.go | grep -v bootstrap | grep -v doc` -static-libgo


subject: Update installation.ash

message:
Update installation.ash

add central containeradmin-account

diff:
--- installation.ash
+++ installation.ash
@@ -20,7 +20,8 @@
 if ! [ $? -eq 0 ];
 then
   ssh-keygen -f dockeradmin -t rsa -b 4096 -C dockeradmin -N ''
-  adduser -D dockeradmin
+  adduser -D -S /bin/ash dockeradmin
+  sed -i "s/dockeradmin\:!/dockeradmin\:/g" /etc/shadow
   mkdir -p /home/dockeradmin/.ssh/
   cp dockeradmin.pub /home/dockeradmin/.ssh/authorized_keys
   chmod 700 -R /home/dockeradmin/.ssh
@@ -31,3 +32,11 @@
 sed -i "s/DOCKER_OPTS.*/DOCKER_OPTS=\"--bip=192.168.199.1\/24\"/" /etc/conf.d/docker
 echo "don't forget to save the private sshkey: dockeardmin"

+# generate containeradmin (if we need one)
+sh-keygen -f containeradmin -t rsa -b 4096 -C containeradmin -N ''
+mkdir -p /home/dockeradmin/container/ssh/containeradmin
+cp containeradmin.pub /home/dockeradmin/container/ssh/containeradmin/authorized_keys
+cp containeradmin /home/dockeradmin/.ssh/containeradmin
+chmod 700 -R /home/dockeradmin/.ssh
+chown dockeradmin.dockeradmin -R /home/dockeradmin/.ssh
+chmod 755 -R /home/dockeradmin/container/ssh/containeradmin


subject: installation.ash

message: installation.ash

diff:
--- installation.ash
+++ installation.ash
@@ -1,7 +1,10 @@
 #!/bin/ash
 #
 # installation of needed packages
+# (c) 2015/2016 sosyco@googlemail.com  www.sosyco.de
+#
+#
 apk update
 apk upgrade
-apk add ansible sudo
-
+apk add git ansible sudo
+ssh-keygen -f dockeradmin -t rsa -b 4096 -C dockeradmin -N ''


subject: installation.ash

message: installation.ash

diff:
--- installation.ash
+++ installation.ash
@@ -8,5 +8,5 @@
 sed -ni 'p; s/\/main/\/community/p' /etc/apk/repositories
 apk update
 apk upgrade
-apk add git ansible sudo
+apk add git ansible sudo docker
 ssh-keygen -f files/dockeradmin -t rsa -b 4096 -C dockeradmin -N ''


subject: installation.ash

message: installation.ash

diff:
--- installation.ash
+++ installation.ash
@@ -10,8 +10,8 @@
 apk upgrade
 apk add git ansible sudo docker
 ssh-keygen -f files/dockeradmin -t rsa -b 4096 -C dockeradmin -N ''
-useradd -D dockeradmin
+adduser -D dockeradmin
 mkdir -p /home/dockeradmin/.ssh/
 cp files/dockeradmin.pub /home/dockeradmin/.ssh/authorized_keys
 chmod 664 -R /home/dockeradmin/.ssh
-chown dockeradmin.dockeradin -R /home/dockeradmin/.ssh
+chown dockeradmin.dockeradmin -R /home/dockeradmin/.ssh


subject: installation.ash

message: installation.ash

diff:
--- installation.ash
+++ installation.ash
@@ -13,5 +13,5 @@
 adduser -D dockeradmin
 mkdir -p /home/dockeradmin/.ssh/
 cp files/dockeradmin.pub /home/dockeradmin/.ssh/authorized_keys
-chmod 664 -R /home/dockeradmin/.ssh
+chmod 700 -R /home/dockeradmin/.ssh
 chown dockeradmin.dockeradmin -R /home/dockeradmin/.ssh


subject: Also check for not having the monster order data

diff:
--- src/scripts/lar-forecasting/lar-forecasting.ash
+++ src/scripts/lar-forecasting/lar-forecasting.ash
@@ -98,6 +98,9 @@
 }

 boolean lar_encounter_known_monster(boolean guess, location loc, int turn) {
+  if(!(lar_monster_orders contains loc)) {
+    return false;
+  }
   if (!lar_encounter_known_is_combat(guess, loc, turn)) {
     return false;
   }


subject: installation.ash

message: installation.ash

diff:
--- installation.ash
+++ installation.ash
@@ -3,5 +3,5 @@
 # installation of needed packages
 apk update
 apk upgrade
-apk add ansible
+apk add ansible sudo


subject: installation.ash

message: installation.ash

diff:
--- installation.ash
+++ installation.ash
@@ -12,6 +12,8 @@
 apk update
 apk upgrade
 apk add git sudo docker
+rc-update add docker boot
+
 # add new user "dockeradmin" without password
 # and generate sshkeys
 getent passwd dockeradmin > /dev/null 2&>1


subject: installation.ash

message: installation.ash

diff:
--- installation.ash
+++ installation.ash
@@ -15,3 +15,4 @@
 cp files/dockeradmin.pub /home/dockeradmin/.ssh/authorized_keys
 chmod 700 -R /home/dockeradmin/.ssh
 chown dockeradmin.dockeradmin -R /home/dockeradmin/.ssh
+echo "dockeradmin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers


subject: Another test

message: Another test

diff:
--- src/scripts/lar-forecasting/lar-test.ash
+++ src/scripts/lar-forecasting/lar-test.ash
@@ -14,6 +14,10 @@
   }

   if (lar_encounter_is_combat($location[the dark heart of the woods], 23)) {
+    print("Fail: Dark heart 23 is NC");
+  }
+
+  if (lar_encounter_is_combat($location[the spooky forest], 23)) {
     print("Fail: Spooky 23 is NC");
   }


subject: Update generate_ssl_cert.ash

message: Update generate_ssl_cert.ash

diff:
--- web/generate_ssl_cert.ash
+++ web/generate_ssl_cert.ash
@@ -46,6 +46,9 @@
 {
   echo "Usage: [Environment Variables] generate_ssl_cert.ash [options]"
   echo "  Environment Variables:"
+  echo "    BITS                bits for the certificate (default: '2048')"
+  echo "    CERT_DIR            directory to output to (default: '/etc/ssl/certs')"
+  echo "    DAYS                days the cert is valid for (default: '365')"
   echo "    FQDN                fully qualified domain name of the server (default: example.churchoffoxx.net)"
 }


subject: Remove testing qualifier

message: Remove testing qualifier

license: unlicense

diff:
--- Source/relay/Guide/Quests/Sea.ash
+++ Source/relay/Guide/Quests/Sea.ash
@@ -440,7 +440,7 @@
 		optional_task_entries.listAppend(ChecklistEntryMake("__item damp old boot", "place.php?whichplace=sea_oldman", ChecklistSubentryMake("Return damp old boot to the old man", "", description)));

     }
-    if ($items[Grandma's Map,Grandma's Chartreuse Yarn,Grandma's Fuchsia Yarn,Grandma's Note].available_amount() > 0 || true)
+    if ($items[Grandma's Map,Grandma's Chartreuse Yarn,Grandma's Fuchsia Yarn,Grandma's Note].available_amount() > 0)
     {
         string line = "Optionally, rescue grandma.";
         if ($item[grandma's map].available_amount() > 0)


subject: Implemented the threadring program

message: Implemented the threadring program

stderr:
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/RobertFischer/ashlar.git/'


subject: Important safety tip

message: Important safety tip

stderr:
error: pathspec 'Source/relay/Guide/Daily' did not match any file(s) known to git
error: pathspec 'Resources.ash' did not match any file(s) known to git


subject: Updated to not be explicit numbers for the rounds


subject: The very beginning of the Ashlar compiler written in Ashlar


subject: add autogen.ash

message: add autogen.ash

stderr: error: pathspec 'autogen.ash' did not match any file(s) known to git

diff:
--- autogen.ash
+++ autogen.ash
@@ -0,0 +1,3 @@
+#!/bin/ash
+echo "compiling... be patient"
+gccgo -o go `ls *.go | grep -v signal_notunix.go | grep -v _test.go | grep -v bootstrap | grep -v doc` -static-libgo


subject: Add coverage script, to keep tabs on how far along the data is

stderr: error: pathspec 'src/scripts/lar-forecasting/lar-coverage.ash' did not match any file(s) known to git

diff:
--- src/scripts/lar-forecasting/lar-coverage.ash
+++ src/scripts/lar-forecasting/lar-coverage.ash
@@ -0,0 +1,124 @@
+notify "LeaChim";
+
+import "lar-forecasting.ash";
+
+boolean [location] quest_relevant_locations = $locations[
+  the spooky forest,
+  the dark neck of the woods,
+  the dark heart of the woods,
+  the dark elbow of the woods,
+  the black forest,
+  whitey's grove,
+  the hidden temple,
+  8-bit realm,
+  the old landfill,
+  the hidden park,
+  the hidden apartment building,
+  the hidden office building,
+  the hidden bowling alley,
+  the hidden hospital,
+  the sleazy back alley,
+  the haunted pantry,
+  the haunted kitchen,
+  the haunted billiards room,
+  the haunted library,
+  the haunted conservatory,
+  the haunted gallery,
+  the haunted bathroom,
+  the haunted bedroom,
+  the haunted ballroom,
+  the haunted laboratory,
+  the haunted storage room,
+  the haunted nursery,
+  the haunted wine cellar,
+  the haunted laundry room,
+  the haunted boiler room,
+  the outskirts of cobb's knob,
+  the bat hole entrance,
+  guano junction,
+  the batrat and ratbat burrow,
+  the beanbat chamber,
+  cobb's knob barracks,
+  cobb's knob kitchens,
+  cobb's knob harem,
+  cobb's knob treasury,
+  the "fun" house,
+  inside the palindome,
+  the degrassi knoll restroom,
+  the degrassi knoll gym,
+  the degrassi knoll bakery,
+  the degrassi knoll garage,
+  the unquiet garves,
+  the defiled nook,
+  the defiled niche,
+  the defiled cranny,
+  the defiled alcove,
+  the penultimate fantasy airship,
+  the castle in the clouds in the sky (basement),
+  the castle in the clouds in the sky (ground floor),
+  the castle in the clouds in the sky (top floor),
+  the hole in the sky,
+  infernal rackets backstage,
+  the laugh floor,
+  pandamonium slums,
+  the goatlet,
+  Itznotyerzitz Mine,
+  lair of the ninja snowmen,
+  the extreme slope,
+  the icy peak,
+  the smut orc logging camp,
+  a-boo peak,
+  twin peak,
+  the obligatory pirate's cove,
+  barrrney's barrr,
+  the f'c'le,
+  the poop deck,
+  belowdecks,
+  frat house,
+  frat house in disguise,
+  wartime frat house,
+  wartime frat house (hippy disguise),
+  hippy camp,
+  hippy camp in disguise,
+  wartime hippy camp,
+  wartime hippy camp (frat disguise),
+  sonofa beach,
+  next to that barrel with something burning in it,
+  near an abandoned refrigerator,
+  over where the old tires are,
+  out by that rusted-out car,
+  the battlefield (frat uniform),
+  the battlefield (hippy uniform),
+  the arid\, extra-dry desert,
+  the oasis,
+  the upper chamber,
+  the middle chamber,
+];
+
+int desired_turns = 500;
+
+void main() {
+  print("Coverage for " + desired_turns + " turns:");
+  print ("Location, Combat/non-combat, monster name (out of the combat encounters)");
+  foreach loc in quest_relevant_locations {
+    int cnc_found = 0;
+    int combat_found = 0;
+    int monster_found = 0;
+    for turn from 0 to desired_turns {
+      if(lar_encounter_known_is_combat(loc, turn)) {
+        cnc_found += 1;
+
+        if(lar_encounter_is_combat(loc, turn)) {
+          combat_found +=1;
+        }
+
+        if(lar_encounter_known_monster(loc, turn)) {
+          monster_found += 1;
+        }
+      }
+    }
+
+    // Report
+    print(loc + ": " + (cnc_found * 100 / desired_turns) + "%, " + (monster_found * 100 / (combat_found + 1)) + "%");
+  }
+}


subject: No need to hold onto the ring variable

message: No need to hold onto the ring variable


subject: Wait, yes there is: I refer to it!  d'oh!


subject: installation.ash

message: installation.ash

stderr: error: pathspec 'installation.ash' did not match any file(s) known to git

diff:
--- installation.ash
+++ installation.ash
@@ -0,0 +1,7 @@
+#!/bin/ash
+#
+# installation of needed packages
+apk update
+apk upgrade
+apk add ansible
+


subject: 1.1.21 Part 2

message: 1.1.21 Part 2

stderr: error: pathspec 'Source/relay/Guide/Support/Holiday.ash' did not match any file(s) known to git

diff:
--- Source/relay/Guide/Support/Holiday.ash
+++ Source/relay/Guide/Support/Holiday.ash
@@ -0,0 +1,80 @@
+boolean [string] getHolidaysForDate(string realworld_date, int game_day)
+{
+    boolean [string] holidays;
+
+    if (realworld_date == "0202")
+        holidays["Groundhog Day"] = true;
+    //april fools
+    else if (realworld_date == "0401")
+        holidays["April Fool's Day"] = true;
+    //Talk Like a Pirate Day - september 19th
+    else if (realworld_date == "0919")
+        holidays["Talk Like a Pirate Day"] = true;
+    else if (realworld_date == "1031")
+        holidays["Halloween"] = true;
+    else if (realworld_date == "0214")
+        holidays["Valentine's Day"] = true;
+    else if (realworld_date == "0525")
+        holidays["Towel Day"] = true;
+
+    //Crimbo
+    if (now_to_string("M").to_int_silent() == 12)
+        holidays["Crimbo"] = true;
+
+    //Friday the 13th
+    if (format_today_to_string("EEE d") == "Fri 13")
+        holidays["Friday the 13th"] = true;
+
+
+
+    //Festival of Jarlsberg - acquire the party hat? - Jarlsuary 1
+    if (game_day == 0)
+        holidays["Festival of Jarlsberg"] = true;
+    //Valentine's Day! - Frankuary 4
+    else if (game_day == 11)
+        holidays["Valentine's Day"] = true;
+    //St. Sneaky Pete's Day - Starch 3
+    else if (game_day == 18)
+        holidays["St. Sneaky Pete's Day"] = true;
+    //Oyster Egg Day - April 2
+    else if (game_day == 25)
+        holidays["Oyster Egg Day"] = true;
+    //El Dia de Los Muertos Borrachos? just wandering monsters... - Martinus 2
+    else if (game_day == 33)
+        holidays["El Dia de Los Muertos Borrachos"] = true;
+    //Generic Summer Holiday - Bill 3
+    else if (game_day == 42)
+        holidays["Generic Summer Holiday"] = true;
+    //Dependence Day - Bor 4
+    else if (game_day == 51)
+        holidays["Dependence Day"] = true;
+    //Arrrbor Day - Petember 4
+    else if (game_day == 59)
+        holidays["Arrrbor Day"] = true;
+    //Labór Day - Carlvember 6
+    else if (game_day == 69)
+        holidays["Labór Day"] = true;
+    //Halloween / halloween tomorrow, save adventures? - Porktober 8
+    else if (game_day == 79)
+        holidays["Halloween"] = true;
+    //feast of boris...? - Boozember 7
+    else if (game_day == 86)
+        holidays["Feast of Boris"] = true;
+    //Yuletide? - Dougtember 4
+    else if (game_day == 91)
+        holidays["Yuletide"] = true;
+
+
+    return holidays;
+}
+
+boolean [string] getHolidaysToday()
+{
+    return getHolidaysForDate(format_today_to_string("MMdd"), gameday_to_int()); //FIXME Y10K error
+}
+
+boolean [string] getHolidaysTomorrow()
+{
+    //FIXME support next real-world day
+    return getHolidaysForDate("", ((gameday_to_int() + 1) % 96));
+}


subject: Added links to the Java binary trees

message: Added links to the Java binary trees


subject: Dat typo

message: Dat typo

stderr:
error: pathspec 'Source/relay/Guide/Sets/Daily' did not match any file(s) known to git
error: pathspec 'Dungeon.ash' did not match any file(s) known to git


subject: Replaced the LazyList cheat with an actual implementation


subject: Removed the Java-ism 'return'.

message: Removed the Java-ism 'return'.