| 
| ID | Date | Author | Author Email | Category  | Subject | Status | Last Revision |  | 28 | Fri Mar 28 10:23:50 2008 | svrmarty | svrmarty@gmx.net | Other | ELOG V2.7.3-2080 debian amd64 package | Stable | Fri Mar 28 10:23:55 2008 by svrmarty |  |  |  | Attachment 1: elog_2.7.3+r2080-1_amd64.deb |  | 32 | Fri Feb 19 14:05:53 2010 | Tony Albers | tony.albers@gmail.com | Other | updated eloglang.danish file | Stable |  |  | I have updated the file. Everything should be translated now. /tony   ## Danish translation by Miljan Dedic <mde@HVIDOVRE.DK>
 # 04-06-2004
 # Updated by Tony Albers <tony.albers@gmail.com>
 # 19-02-2010
 # A more recent version may be available at :
 # http://savannah.psi.ch/websvn/listing.php?repname=elog&path=%2Ftrunk%2Fresources%2F
 #
 
 New = Ny
 Edit = Ændr
 Delete = Slet
 Reply = Svar
 Find = Find
 Last day = Sidste Dag
 Last 10 = Sidste 10
 Config = Konfigurer
 Change password = Ændre Password
 Logout = Log Ud
 Help = Hjælp
 Back = Tilbage
 Submit = Send
 First = Første
 Last = Sidste
 Previous = Forrige
 Next = Næste
 Copy to = Kopier til
 Move to = Flyt til
 Save = Gem
 Cancel = Annuller
 Wrong password = Forkert kendeord
 Please login = Log Ind
 Username = Bruger Navn
 Password = Kendeord
 Old password = Gamle kendeord
 New password = Nyt kendeord
 ELOG password = ELOG kendeord
 ELOG change password = Ændre ELOG kendeord
 Please enter password to obtain write access = Skriv kendeord for at opnå skriveadgang
 Please enter password to obtain administration access = Skriv kendeord for at opnå admin adgang
 Several logbooks are defined on this host = Flere logbøger er defineret på denne host
 Please select the one to connect to = Vælg hvilken du vil have adgang til
 Change password for user = Ændr kendeord til bruger
 Logged in as = Du er logget ind som
 Entry date = Dato for indlæg
 with = Med
 This is the last entry = Dette er det sidste indlæg
 This is the first entry = Dette er det første indlæg
 Email sent to = Email sendt til
 Email notification suppressed = Send ikke Email
 please select = Vælg venligst
 Suppress Email notification = Notificér ikke med Email
 Attachment = Vedhæft
 Reply to this = Svar på denne
 In reply to = Som svar på
 Fields marked with = Felter markeret med
 are required = Er påkrævet
 Please check that it exists and elogd has write access = Kontroller venligst om det eksisterer,og om elogd har skriveadgang
 Error: Attribute <b>%s</b> not supplied = Fejl: Attribut <b>%s</b> ikke udfyldt
 Please go back and enter the <b>%s</b> field = Gå tilbage og udfyld <b>%s</b> feltet
 Please use your browser's back button to go back = Brug tilbage knappen på din browser
 ELOG find = ELOG søg
 Find = Find
 Search = Søg
 Reset Form = Nulstil Form
 Summary only = Kun Beskrivelse
 Show attachments = Vis vedhæftede filer
 Printable output = Vis Print
 Sort in reverse order = Sorter i omvendt rækkefølge
 Start date = Start dato
 End date = Slut dato
 Year = År
 Text = Tekst
 Search all logbooks = Søg i alle log bøger
 Last %d days = Sidste %d dage
 Last %d entries = Sidste %d indlæg
 No entries found = Ingen indlæg fundet
 A new entry has been submitted on %s = Et nyt indlæg af %s
 Logbook = Logbog
 Yes = Ja
 No = Nej
 Error deleting message: status = Fejl ved sletning: Status
 Error: Command "<b>%s</b>" not allowed = Fejl: kommando "<b>%s</b>" ikke tilladt
 Cannot open file <b>%s</b> =kan ikke åbne filen  <b>%s</b>
 Cannot write to <b>%s</b> = kan ikke skrive til <b>%s</b>
 No SMTP host defined in [global] section of configuration file = Ingen SMTP host defineret i [global] sektionen af konfigurationsfilen
 Display threads = Vis tråde
 Logbook is empty = Logbog er tom
 Download = Hent
 and all its replies = Og alle Svar
 Message ID = Besked-ID
 Not logged in = Ikke logget ind
 Login = Login
 Page %d of %d = Side %d af %d
 all entries = alle indlæg
 Login name = Brugernavn
 Full name = Fulde navn
 ELOG user config = ELOG bruger Konfig
 ELOG new user = Ny ELOG bruger
 Admin = admin
 Select user = Vælg bruger
 Remove user = Fjern bruger
 New user = Ny bruger
 Retype new password = Gentag det nye kendeord
 New passwords do not match, please retype = kendeord passer ikke, prøv igen
 Retype password = Gentag kendeord
 exists already = Bruger eksisterer allerede
 Register as new user = Opret som ny bruger
 A new ELOG user has been registered on %s = En ny bruger er blevet registreret på %s
 Email = Email
 User "%s" registered on logbook "%s" = Bruger "%s" i Logbog "%s" registreret
 User [%s] has been deleted = Bruger [%s] er blevet slettet
 Hit following URL to activate that account = Tryk på følgende URL for at aktivere bruger konto
 ELOG registration = ELOG Registrering
 Your ELOG account has been activated on host = Din ELOG Konto er aktiveret
 You can access it at = Du kan opnå adgang på
 Are you sure to delete these messages? = Er du sikker på at du vil slette disse beskeder?
 Select = Vælg
 All entries = Alle indlæg
 Day = Dag
 Week = Uge
 Month = Måned
 Show last = Vis Sidste(n)
 Goto page = Gå til
 All = Alle
 Display = Vis
 entries per page = Indlæg per side
 Toggle all = Vis alle
 Selected entries = Vælg Indlæg
 Collapse = Fold Sammen
 Expand = Fold Ud
 Full = Fuld
 Summary = Beskrivelse
 Threaded = Vis som Tråde
 Filters = Filtrer
 Mode = Modus
 Options = Funktioner
 Error: start date after end date = Fejl: Start Dato efter Slut Dato
 and all their replies = Og alle deres svar
 Upload = Overfør til server
 Requested = Rekvirer
 Registration request on logbook "%s" = Anmodning om registrering på logbog "%s"
 A new ELOG user wants to register on "%s" = Ny Bruger Ønsker At Registrere på "%s" logbogen
 Search text also in attributes = Søg også text i attributerne
 Date = Dato
 ID = ID
 Forgot password? = Glemt kendeord?
 Email address <i>"%s"</i> not registered = Email Adresse <i>"%s"</i> ikke registreret
 ELOG password recovery = Gendan ELOG kendeord
 No Email address registered with user name <i>"%s"</i> = Bruger "</i> har ikke registreret mail adresse
 Error sending Email via <i>"%s"</i> = Fejl ved afsendelse af e mail via <i>"%s"</i>
 A new password for user <i>"%s"</i> has been sent to %s = Et nyt kendeord til Bruger <i>"%s"</i> er sendt til  %s
 Forgot = Glemt
 User "%s" registered on host "%s" = Bruger "%s" på host "%s" registreret
 Registration request on host "%s" = Andmodning om registrering på host "%s"
 A new password has been created for you on host %s = Et nyt kendeord er genereret på %s
 Enter your user name or email address = Skriv venligst Bruger navn eller e mail adresse
 Password recovery for ELOG %s = Genskab kendeord for  ELOG %s
 Host = Host
 Your ELOG account has been activated = Din ELOG Konto er aktiveret
 Maximum number of attachments reached = Max antal vedhæftninger nået
 on = Til
 Entry is currently edited by = Indlæg er ved at blive redigeret af
 recipients = Modtagere
 Suppress shell execution = Ignorer kommando shell
 Update = Opdater
 by = Af
 Change %s = rediger %s
 Add new option here = Tilføj ny Funktion
 Expand all = Udvid Alle
 Add %s = Tilføj %s
 User name <i>"%s"</i> not registered = Bruger Navn  <i>"%s"<i> ikke registreret
 Synchronization = Synkronisering
 Error: Value <b>%s</b> not allowed for boolean attributes = Fejl: værdi <b>%s</b> ikke tilladt for bool'ske Attributer
 Error: Attribute option <b>%s</b> not existing = Fejl: Attribut Funktion <b>%s</b> eksisterer ikke
 Last submission = Sidste Indlæg
 Synchronize = Synkroniser
 No mirror server defined in configuration file = ingen mirror-Server defineret i konfigurations filen
 user = Bruger
 Maximum number of replies (%d) exceeded = Max antal svar (%d) overskredet
 Entry can only be edited %1.2lg hours after creation = Indlæg kan kun redigeres %1.2lg timer efter oprettelse
 Display full entries = Vis alt
 No entry selected for deletion = Intet indlæg markeret til sletning
 Cannot read entry from local logbook = Kan ikke læse fra lokal logbog
 Cannot create socket = Kan ikke oprette socket
 Cannot resolve host name "%s" = Host "%s" kan ikke opløses
 Cannot connect to host %s, port %d = Kan ikke forbinde til %s, Port %d
 Cannot receive "%s" = Kan ikke modtage "%s"
 Received wrong entry id "%d" = Modtog forkert ID "%d"
 Entry #%d is locked on remote server = Indlæg #%d er låst på remote server
 Cannot save remote entry locally = Kan ikke gemme remote indlæg lokalt
 local = lokal
 remote = remote
 Please delete %s or %s entry to resolve conflict = Slet venligst indlæg %s eller %s indlæg for at løse problem
 Error sending local entry = Fejl ved afsending af lokalt indlæg
 Local entry submitted = Lokalt indlæg indlagt
 Error deleting remote entry = Fejl ved sleting af remote indlæg
 New entry cannot be written to directory "%s" = Nyt indlæg kan ikke skrives til bibliotek  "%s"
 Entry %s cannot be read from logbook "%s" = Indlæg %s kan ikke læses fra logbog "%s"
 This entry has been deleted = Dette indlæg er slettet
 Entries = Indlæg
 Cannot connect to remote server "%s" = Kan ikke forbinde til remote server  "%s"
 Remote server is not an ELOG server = Remote server er ikke en ELOG server
 Incorrect remote ELOG server version %s = Forkert Version %s fra remote server
 Error accessing remote logbook = Fejl ved adgang til remote server
 Invalid HTTP header = Forkert HTTP header
 No user name supplied to access remote logbook = Intet bruger navn angivet til remote logbog
 Synchronizing logbook %s with server "%s" = Synkroniser %s med server "%s"
 Configuration has been changed locally and remotely = Konfigurationen er ændret lokalt og remote
 Please merge manually to resolve conflict = Sammensmelt manuelt for at løse konflikt
 Logbook "%s" does not exist on remote server = Logbog "%s" eksisterer ikke på remote server
 Entry has been changed locally and remotely = Indlæg er ændret lokalt og remote
 Entry deleted locally = Indlæg slettet lokalt
 Changed local entry ID to %d = lokalt indlæg ID til %d
 Entry deleted remotely = Indlæg slettet remote
 All entries identical = Alle indlæg identiske
 Invalid mirror_id or entry_date = Ugyldigt mirror_id eller indlæg_dato
 Synchronize all logbooks = Synkroniser alle logbøger
 Calendar = Kalender
 Remote entry received = Remote indlæg modtaget
 Pick a date = Vælg dato
 Please select at least one '%s' = Vælg mindst en '%s'
 Please select a '%s' = Vælg en  '%s'
 Please enter month for attribute '%s' = Vælg måned for attribut '%s'
 Please enter day for attribute '%s' = Vælg dag for attribut '%s'
 Please enter year for attribute '%s' = Vælg år for attribut '%s'
 Please enter attribute '%s' = Vælg attribut '%s'
 Entry time = Dato/Tid
 Start = Start
 End = Slut
 From = Fra
 After = Efter
 to = Til
 Before = før
 Previous Year = Forrige år
 Next Year = Næste år
 Please enter numeric value for '%s' = Indsæt numerisk værdi for '%s'
 Error: Attribute <b>%s</b> must be numeric = Felj: Attribut <b>%s</b> skal være en numerisk værdi
 3 Months = 3 måneder
 6 Months = 6 måneder
 Error sending local message = Fejl ved adsendelse af lokalt besked
 Error receiving message = Fejl ved modtagelse af besked
 Are you sure to delete this entry? = Er du sikker på at du vil slette dette indlæg?
 ELOG CSV import = ELOG CSV Import
 Import = Import
 CSV filename = CSV filnavn
 Field separator = Felt Separator
 Edit entry = Rediger Felt
 Delete entry = Slet Felt
 CSV Import = CSV Import
 Derive attributes from CSV file = Hent attributer fra CSV fil
 Comma = Komma
 Semicolon = Semikolon
 Preview import = Forhåndsvis Import
 CSV import preview of %s = CSV import forhåndsvisning af %s
 Too many attributes in CSV file = For mange attributter i CSV fil
 %d entries successfully imported = %d indlæg successfuldt importeret
 No 'Attributes' option present in %s = Ingen 'Attributter' funktioner tilstede i %s
 CSV ("," separated) = CSV ("," separeret)
 CSV (";" separated) = CSV (";" separaret)
 Auto detect = Auto detektion
 Resubmit as new entry = send som nyt indlæg
 #
 #---- please translate following items and then remove this comment ----#
 #
 text = tekst
 Column header '%s' must be present in CSV file = Kolonneoverskrift '%s' skal være tilstede i CSV filen
 Fill text body = Brødteks
 Please re-enter filename = Genindtast venligst filnavnet
 New = Ny
 Last x = Sidste x
 Activate = Aktiver
 Entry has been modified = Indlægget er blevet modificeret
 No attachment file specified = Der er ikke specificeret en fil til vedhæftning
 Submit modified ELOG entry? = Publicer modificeret ELOG indlæg
 Delete this logbook = Slet denne logbog
 Rename this logbook = Omdøb denne logbog
 Create new logbook = Opret ny logbog
 Syntax error in config file = Indtastningsfejl i konfigurationsfilen
 Email notification = Email notifikation
 Are you sure to delete logbook "%s"? = Er du sikker på at du vil slette logbogen ''%s''?
 Logbook "%s" exists already, please choose different name = Logbogen ''%s'' findes allerede, vælg venligst et andet navn
 Rename logbook = Omdøb logbog
 Enter new logbook name = Indtast nyt navn på logbog
 Logbook name = Logbog navn
 Use existing logbook as template = Brug eksisterende logbog som skabelon
 none = ingen
 URL is redirected to: = URL er henvist til
 Remote config should be received = Fjernkonfiguration skulle blive modtaget
 Local entry should be submitted = Lokalt indlæg bør afsendes
 Remote entry should be received = Fjernindlæg bør modtages
 Local entry = Lokalt indlæg
 %s should be deleted = %s bør slettes
 Entry should be deleted locally = Indlæg bør slettes lokalt
 Local entry ID should be changed to %d = Lokalt indlægs ID bør ændres til %d
 Remote entry = Fjernindlæg
 Entry should be deleted remotely = Indlæg bør slettes på fjernlokation
 Click here to delete this entry = Tryk her for at slette dette indlæg
 Maximum number of attribute options exceeded = Maximalt tilladt antal atributmuligheder overskredet
 Please increase MAX_N_LIST in elogd.c and recompile = Forøg venligst  MAX_N_LIST i elogd.c og kompiler igen
 You can "steal" the lock by editing this entry = Du kan ''stjæle'' låsen ved at modoficere dette indlæg
 Several logbooks groups are defined on this host = Der er adskillige logbogsgrupper defineret på dette system
 Please select one to list the logbooks in that group = Vælg venligst en gruppe for at se dens logbøger
 No logbook defined on this server = Der er ikke defineret en logbog på dette system
 Goto ELOG home page = Gå til ELOG's hjemmeside
 Please enter "%s" = Indtast venligst ''%s''
 Change config file = Ændr konfigurationsfil
 Click here to delete %d entries = Tryk her for at slette %d indlæg
 Please check that it exists and elogd has write access and disk is not full = Kontroller venligst at elogd har skriveadgang og at der er ledig plads på harddisken
 Show = Vis
 Hide =  Skjul
 Hide all = Skjul alle
 Show all = Vis alle
 This logbook requires authentication = Denne logbog behøver opmærksomhed
 Attachment file <b>"%s"</b> empty or not found = Vedhæftet fil <b>''%s''</b> er tom eller kunne ikke findes
 Case sensitive = Forskel på store og små bogstaver
 List = Liste
 Date must be between 1970 and 2037 = Dato skal være mellem 1970 og 2037
 up = op
 down = ned
 stop = stands
 Entry = Indlæg
 name may not contain blanks = Der må ikke være mellemrum i navnet
 regular expressions = regulære udtryk
 Text fields are treated as %s = Teksfelter behandles som %s
 Subscribe to logbooks = Abonnér på logbøger
 enable automatic email notifications = aktiver emailnotifikationer
 Set all = Sæt alle
 Set none = Sæt ingen
 Please enter hour for attribute '%s' = Indtast venligst timetal for attribut '%s'
 Please enter minute for attribute '%s' = Indtast venligst minuttal for attribut '%s'
 Please enter second for attribute '%s' = Indtast venligst sekundtal for attribut '%s'
 No admin user has been defined in configuration file = Der er ikke defineret en administrator i konfigurationsfilen
 Duplicate = Dupliker
 Cannot lookup server name = Servernavn kan ikke slås op
 Cannot connect to server = Der kan ikke forbindes til serveren
 %s wrote = %s skrev
 Quote = Citat
 Insert current time = Indtast nuværende tidspunkt
 Please enter numeric value for year of attribute '%s' = Indtast venligst numerisk værdi for årstal i attributten '%s'
 Preview = Forhåndsvisning
 FONT = FONT
 SIZE = STØRRELSE
 COLOR = FARVE
 smiling = smiler
 happy = lykkelig
 winking = blinker
 big grin = griner
 crying = græder
 cool = kølig
 frowning = vrænger ansigt
 confused = forvirret
 mad = gal
 pleased = glad
 tongue = rækker tunge
 yawn = gaber
 Encoding = Formattering
 User "%s" not found in password file = Brugeren ''%s'' blev ikke fundet i password filen
 Cannot write to file <b>%s</b> = Kan ikke skrive til filen <b>%s</b>
 Really remove user %s? = Er du sikker på at du vil slette brugeren %s?
 Invalid user name "%s" or password for remote logbook = Ugyldigt brugernavn eller kodeord til fjernlogbog
 Hide attachments = Skjul vedhæftninger
 Show only new entries = Vis kun nye indlæg
 Show all entries = Vis alle indlæg
 New entries since = Nye indlæg siden
 An old ELOG entry has been updated = Et gammelt ELOG indlæg er blevet opdateret
 A new ELOG entry has been submitted = Et nyt ELOG indlæg er blevet publiceret
 Cannot open file "%s" = Kan ikke åbne filen ''%s''
 Invalid user name or password = Ugyldigt brugernavn eller kodeord
 Upload image = Send billede
 Please enter filename or URL = Indtast venligst filnavn eller URL
 Maximum allowed file size is = Den størst tilladte filstørrelse er
 Enter filename or URL = Indtast filnavn eller URL
 Image uploaded successfully = Billedet er korrekt overført
 Image "%s" uploaded successfully = Billedet ''%s'' er korrekt overført
 HelpELCode = HjælpELKode
 Cannot retrieve file from URL "%s" = Filen kan ikke hentes fra URL ''%s''
 Enter name of hyperlink = Indtast hyperlink navn
 Enter URL of hyperlink = Indtast hyperlink URL adresse
 astonished = forbløffet
 Error in regular expression "%s" = Fejl i regulært udtryk ''%s''
 File not found at URL "%s" = Filen blev ikke fundet på URL ''%s''
 Entry size too large for email notification = Indlæggets størrelse er for stort til email-notifikation
 Please specify a valid email address = Specificer venligst en gyldig email adresse
 Cannot send email notification to "%s" = Kan ikke sende email-notifikation til ''%s''
 Error: Command "<b>%s</b>" is not allowed for user "<b>%s</b>" = Fejl: Kommando ''<b>%s</b>'' er ikke tilladt for bruger ''<b>%s</b>''
 Shell execution not enabled via -x flag = Kommandofortolkerudførelse er ikke slået til med -x flaget
 Enter heading level (1, 2 or 3) = Indtast overskiftsniveau (1, 2 eller 3)
 User name may not contain blanks = Der må ikke være mellemrum i brugernavnet
 Empty password not allowed = Tomme kodeord er ikke tilladt
 Password may not contain blanks = Kodeord må ikke indeholde mellemrum
 Anonymous = Anonym
 Activation notice has been sent to %s = Notifiakation om aktivering er sendt til %s
 Your request has been forwarded to the administrator = Din forespørgsel er sendt videre til en administrator
 You will be notified by email upon activation of your new account = Du vil få besked i en email når din konto er aktiveret
 Select period = Vælg periode
 Last week = Sidste uge
 Last month = Sidste måned
 Last 3 Months = Sidste 3 måneder
 Last 6 Months = Sidste 6 måneder
 Last Year = Sidste år
 Enter %s = Indtast %s
 Select %s = Vælg %s
 Bold text CTRL+B = Fed tekst CTRL+B
 Italics text CTRL+I = Kursiv tekst CTRL+I
 Underlined text CTRL+U = Understreget tekst CTRL+U
 Centered text = Centreret tekst
 Insert hyperlink = Indsat hyperlink
 Insert email = Indtast email
 Insert image CTRL+M = Indsæt billede CTRL+M
 Insert quote = Indsæt citat
 Insert list CTRL+L = Indsæt liste CTRL+L
 Insert table = Indsæt tabel
 Insert heading CTRL+H = Indsæt overskrift CTRL+H
 Insert code CTRL+O = Indsæt kode CTRL+O
 Hide the smiley bar = Skjul smileymenu
 Show the smiley bar = Vis smileymenu
 Insert current time/date = Indtast nuværende tidspunkt/dato
 Entry is locked on local server and therefore skipped = Indlægget er låst på det lokal system og springes derfor over
 Keep me logged in on this computer = Lad mig blive ved at være logget ind på denne maskine
 for the next %d minutes = i de næste %d minutter
 for the next hour = i den næste time
 for the next %d hours = i de næste %d timer
 for the next %d days = i de næste %d dage
 keep original values = gem oprindelige værdier
 Entry is locked = Indlæg er låst
 Edit anyhow = Ret alligevel
 Submit entry = Publicer indlæg
 Insert image = Indsæt billede
 Insert Date/Time = Indsæt dato/tid
 Insert horizontal line = Indsæt horisontal linje
 Insert anchor point = Indsæt ankerpunkt
 keep original text = behold oprindelig tekst
 unspecified = uspecificeret
 To subscribe to any logbook, click on 'Config' in that logbook = For at abonnere på en logbog, vælg 'konfigurer' i denne logbog
 ELOG XML import = ELOG XML import
 Derive attributes from XML file = Afled attributter fra XML fil
 XML filename = XML filnavn
 Invalid date format = Ugyldigt datoformat
 XML file does not contain %s element = XML filen indeholder ikke elementet %s
 XML import preview of %s = XML import forhåndsvisning af %s
 XML Import = XML Import
 A old entry has been updated on %s = Et gammelt indlæg er blevet opdateret den %s
 This entry has in meantime been locked by %s = Dette indlæg er i mellemtiden bleve låst af %s
 This entry has in meantime been modified by someone else = Dette indlæg er i mellemtiden blevet modificeret af en anden bruger
 First entry, Ctrl-Home = Første indlæg, Ctrl-Home
 Previous entry, Ctrl-PgUp = Foregående indlæg, Ctrl-PgUp
 Next entry, Ctrl-PgDn = Næste indlæg, Ctrl-PgDn
 Last entry, Ctrl-End = Sidste indlæg, Ctrl-End
 ELOG import = ELOG import
 Please choose format to import: = Vælg det format der skal importeres
 Enter text = Indtast tekst
 Show HTML source code = Vis HTML kildekode
 or until I log out = indtil jeg logger ud
 Make smaller = Gør mindre
 Original size = Oprindelig størrelse
 Make larger = Gør større
 Rotate left = Rotér til venstre
 Rotate right = Rotér til højre
 Delete attachment = Slet vedhæftning
 Cannot create thumbnail, please check ImageMagick installation = Kan ikke danne oversigtsbilleder, kontroller at ImageMagick er korrekt installeret
 Please log on by clicking on following link and change your password = Log venligst på ved at trykke på følgende link og ændr dit kodeord
 Attachments = Vedhæftninger
 Error: Content length (%d) larger than maximum content length (%d) = Fejl: Længde af indhold (%d) er større end maksimalt tilladt (%d)
 ELOG error = ELOG fejl
 Only user <b>%s</b> can edit this entry = Kun brugeren <b>%s</b> kan rette i dette indlæg
 Export to = Eksporter til
 Do not ignore first line = Ignorer ikke første linje
 Last %d hours = Sidste %d timer
 Invalid URL = Ugyldig URL
 Attribute "%s" is not allowed in config file = Attributten ''%s'' er ikke tilladt i konfigurationsfilen
 Only user <b>%s</b> can delete this entry = Kun bruger <b>%s</b> kan slette dette indlæg
 File system full, ELOG cannot continue to work = Filsystemet er løbet fuld, ELOG kan ikke fortsætte
 
 |  | 33 | Thu Feb  3 23:51:16 2011 | T. Ribbrock | emgaron+elog@ribbrock.org | Other | Building elog on OpenBSD | Stable |  |  | Two things are required to get elog (tested with 2.8.1) to compile on OpenBSD (tested on OpenBSD 4.8): Step 1 - Patch Makefile: 
--- Makefile~ Mon Jan 24 21:38:09 2011
+++ Makefile Mon Jan 24 21:42:57 2011
@@ -50,6 +50,10 @@
 RM = /usr/bin/rm -f
 endif
+ifeq ($(OSTYPE),OpenBSD)
+LIBS += -lcrypto
+endif
+
 ifeq ($(OSTYPE),Darwin)
 OSTYPE=darwin
 endif
 Step 2 - Use "gmake" instead of the standard "make" to build.   |  | 34 | Fri Feb  4 10:26:38 2011 | Stefan Ritt | stefan.ritt@psi.ch | Other | Re: Building elog on OpenBSD | Stable |  |  | 
 
    
        
            | T. Ribbrock wrote: |  
            | Two things are required to get elog (tested with 2.8.1) to compile on OpenBSD (tested on OpenBSD 4.8): Step 1 - Patch Makefile: 
--- Makefile~ Mon Jan 24 21:38:09 2011
+++ Makefile Mon Jan 24 21:42:57 2011
@@ -50,6 +50,10 @@
 RM = /usr/bin/rm -f
 endif
+ifeq ($(OSTYPE),OpenBSD)
+LIBS += -lcrypto
+endif
+
 ifeq ($(OSTYPE),Darwin)
 OSTYPE=darwin
 endif
 Step 2 - Use "gmake" instead of the standard "make" to build.   |  Thanks, I added your patch to the distribution.  |  | 150 | Fri Feb 21 19:05:18 2020 | Laurent Jean-Rigaud | lollspam@free.fr | Other | RPM build process enhancements | Stable | Fri Feb 21 19:14:53 2020 by Laurent Jean-Rigaud |  | Hi Stefan, I enclosed a patch for RPM build process available on GIT. changes : 
	rpmbuild :
	
		checks if provider or custom build (the rm/mv are done on your computers only :-))call rpmbuild with version / release given as parameterselog.spec :
	
		last changelog entry date is set to build datebuild with debug for debuginfo rpms (product rpms are normally automatically strimmed)elog.init call /etc/ini.d/functions for RHEL/Centos/Fedora/? dists   Todo: 
	add RPMbuild options for ldap/pam/...enclosed git log in changelog automatically (the dream :-)) |  | Attachment 1: elog_patch_for_4936b76915d63a9ebb3788d50d62faadf49cdb6b.patch |  | diff --git a/buildrpm b/buildrpm
index 9d21f4a..dba7067 100755
--- a/buildrpm
+++ b/buildrpm
@@ -12,7 +12,7 @@ set release = $argv[2]
 set dir = /tmp/elog-$version
 set archive = elog-$version-$release.tar.gz
 
-perl -wapi.bak -e 's&^(Version:\s+).*$&${1}'"${version}"'&;s&^(Release:\s+).*$&${1}'"${release}"'&;' elog.spec
+#perl -wapi.bak -e 's&^(Version:\s+).*$&${1}'"${version}"'&;s&^(Release:\s+).*$&${1}'"${release}"'&;' elog.spec
 
 # create temporary directory
 rm -Rf $dir
@@ -68,19 +68,33 @@ rm -Rf $dir
 
 # transfer archive
 echo Transfer archive...
-cp /tmp/$archive ~ritt/html/elog/download/tar/
-cp /tmp/$archive ~ritt/html/elog/download/tar/elog-latest.tar.gz
 cp /tmp/$archive ~/rpmbuild/SOURCES/elog-$version.tar.gz
-cd ~ritt/elog
-cp -f doc/ChangeLog ~ritt/html/elog/download/ChangeLog
+# If Stefan...
+if ( -d /home/ritt ) then
+  echo "Manager mode"
+  if ( -d ~ritt/html/elog/download/tar ) then
+    cp /tmp/$archive ~ritt/html/elog/download/tar/
+    cp /tmp/$archive ~ritt/html/elog/download/tar/elog-latest.tar.gz
+    cd ~ritt/elog
+    cp -f doc/ChangeLog ~ritt/html/elog/download/ChangeLog
+  endif
+endif
+cd -
 rm -f /tmp/$archive
 
+echo Cleanup $version-$release rpms
+rm -f ~/rpmbuild/RPMS/*/elog*${version}-${release}*.rpm
+rm -f ~/rpmbuild/SRPMS/elog*${version}-${release}*.rpm
 # building RPMs
-echo Build RPMs...
-rm -f ~/rpmbuild/RPMS/x86_64/*
-rm -f ~/rpmbuild/SRPMS/*
-rpmbuild -ba elog.spec || exit $?
-cp ~/rpmbuild/RPMS/x86_64/elog*rpm ~ritt/html/elog/download/RPMS/
-cp ~/rpmbuild/RPMS/x86_64/elog-$version-$release.x86_64.rpm ~ritt/html/elog/download/RPMS/elog-latest.x86_64.rpm
-cp ~/rpmbuild/SRPMS/elog*rpm ~ritt/html/elog/download/SRPMS/
-cp ~/rpmbuild/SRPMS/elog-$version-$release.src.rpm ~ritt/html/elog/download/SRPMS/elog-latest.src.rpm
+echo Build RPMs..
+rpmbuild -ba --define "version ${version}" --define "release ${release}" elog.spec || exit $?
+
+# If Stefan...
+if ( -d /home/ritt ) then
+  if ( -d ~ritt/html/elog/download/tar ) then
+    cp ~/rpmbuild/RPMS/x86_64/elog*rpm ~ritt/html/elog/download/RPMS/
+    cp ~/rpmbuild/RPMS/x86_64/elog-$version-$release.x86_64.rpm ~ritt/html/elog/download/RPMS/elog-latest.x86_64.rpm
+    cp ~/rpmbuild/SRPMS/elog*rpm ~ritt/html/elog/download/SRPMS/
+    cp ~/rpmbuild/SRPMS/elog-$version-$release.src.rpm ~ritt/html/elog/download/SRPMS/elog-latest.src.rpm
+  endif
+endif
diff --git a/elog.spec b/elog.spec
index 16add8f..8397eab 100755
--- a/elog.spec
+++ b/elog.spec
@@ -1,9 +1,13 @@
-# OpenSSH privilege separation requires a user & group ID
+# ELOG weblog application
+# rpmbuild -ba --define 'version 3.1.4' --define 'release 2' --define "date $(LC_TIME=En date '+%a %b %d %Y')" elog.spec
+ 
+#define	date	$(LC_TIME=En date '+%a %b %d %Y')      
+%define build_timestamp %(LC_TIME=En date '+%a %b %d %Y')
 
 Name:       elog
 Summary:    elog is a standalone electronic web logbook
-Version:    3.1.4
-Release:    2
+Version:    %version
+Release:    %release%{?dist}
 License:    GPL
 Group:      Applications/Networking
 Source:     http://elog.psi.ch/elog/download/elog-%{version}.tar.gz
@@ -41,6 +45,8 @@ access control, etc. Moreover, a single server can host several weblogs, and
 each weblog can be totally different from the rest. 
 
 %changelog
+* %{build_timestamp} Stefan Ritt <stefan.ritt@psi.ch> %version-%release
+- Updated from git 
 * Wed Sep 26 2018 Stefan Ritt <stefan.ritt@psi.ch>
 - Made adjustments for new elog server and RH7
 * Fri Aug 29 2014 Stefan Ritt <stefan.ritt@psi.ch>
@@ -72,7 +78,7 @@ each weblog can be totally different from the rest.
    -g elog -M -r elog 2>/dev/null || :
 
 %build
-make
+make CFLAGS='-O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Imxml -g'
 sed "s#\@PREFIX\@#%{prefix}#g" elogd.init_template > elogd.init
 
 %install
diff --git a/elogd.init b/elogd.init
index 5d4e7ee..e04143c 100644
--- a/elogd.init
+++ b/elogd.init
@@ -6,6 +6,9 @@
 # config: /usr/local/elog/elogd.cfg
 # pidfile: /var/run/elogd.pid
 
+# RHEL
+[ -f /etc/init.d/functions ] && . /etc/init.d/functions
+
 # Check for the config file
 if [ ! -f /usr/local/elog/elogd.cfg ]; then
     exit 0
diff --git a/elogd.init_template b/elogd.init_template
index e94b5d7..bb1b330 100755
--- a/elogd.init_template
+++ b/elogd.init_template
@@ -6,6 +6,9 @@
 # config: @PREFIX@/elog/elogd.cfg
 # pidfile: /var/run/elogd.pid
 
+# RHEL
+[ -f /etc/init.d/functions ] && . /etc/init.d/functions
+
 # Check for the config file
 if [ ! -f @PREFIX@/elog/elogd.cfg ]; then
     exit 0
 |  | 151 | Mon Mar  2 14:31:12 2020 | Laurent Jean-Rigaud | lollspam@free.fr | Other | Re: RPM build process enhancements | Stable | Wed Mar  4 18:40:40 2020 by Laurent Jean-Rigaud |  | Hi Stefan, 2nd patch for RPM build which adds : 
	dynamic build options for krb5/ldap/pam/ssl support :
	
		for git / non rpm users : 
		
			buildrpm version release [-krb5] [-ldap] [-pam] [-ssl]for rpm users using SRPMS (dependances are managed) :
		
			rpm -i elog-ver-rel.src.rpm && rpmbuld -bb [--use krb5] [--use ldap] [--use pam] [--use ssl] ~/rpmbuild/SPECS/elog.specdynamic 2 last changelog entries :
	
		last with build information with
		
			dynamic user 's info (use your info if builded from PSI, or use %packager from ~/.rpmmacros if exists, or set to username username@ostname)build options list (KBR5, LDAP, PAM, SSL)before last for product changelog of current ELOG version-releasecustomrel flag for local rebuild :
	
		release = %elogrel%{?customrel}%{?dist)so custom builder can add --define 'customrel NSA'  at rpmbuild command or in .rpmmacros file -> elog-3.1.4-2.NSA.el7.x86_64.rpm by example.elog version and release are delivered in specfile as default for rebuild (tarball name uses it so it can not be changed for local rebuild from SRPMS).buildrpm uses ~/rpmbuild/SPECS/elog.spec generated from elog.spec.template (elog.spec is deleted in repo, replaced by elog.spec.template).   Tested on EL6 and EL7 x86_64 :-) Bye   
	
		
			| Laurent Jean-Rigaud wrote: |  
			| Hi Stefan, I enclosed a patch for RPM build process available on GIT. changes : 
				rpmbuild :
				
					checks if provider or custom build (the rm/mv are done on your computers only :-))call rpmbuild with version / release given as parameterselog.spec :
				
					last changelog entry date is set to build datebuild with debug for debuginfo rpms (product rpms are normally automatically strimmed)elog.init call /etc/ini.d/functions for RHEL/Centos/Fedora/? dists   Todo: 
				add RPMbuild options for ldap/pam/...enclosed git log in changelog automatically (the dream :-)) |    |  | Attachment 1: elog-git_dd35f04ec8effce1c12927078a9efb59822ceb3f-add_use_options.diff |  | diff --git a/Makefile b/Makefile
index d8eecba..87cb502 100644
--- a/Makefile
+++ b/Makefile
@@ -23,16 +23,32 @@ RCDIR      = $(ROOT)/etc/rc.d/init.d
 SRVDIR     = $(ROOT)/usr/lib/systemd/system
 
 # flag for SSL support
+ifdef USESSL
 USE_SSL    = 1
+else
+USE_SSL    = 0
+endif
 
 # flag for Kerberos support, please turn on if you need Kerberos
+ifdef USEKRB5
+USE_KRB5   = 1
+else
 USE_KRB5   = 0
+endif
 
 # flag for LDAP support, please turn on if you need LDAP
+ifdef USELDAP
+USE_LDAP   = 1
+else
 USE_LDAP   = 0
+endif
 
 # flag for PAM support, please turn on if you need PAM
+ifdef USEPAM
+USE_PAM    = 1
+else
 USE_PAM    = 0
+endif
 
 #############################################################
 
diff --git a/buildrpm b/buildrpm
index 1c0b9bc..8dde819 100755
--- a/buildrpm
+++ b/buildrpm
@@ -1,17 +1,38 @@
 #!/bin/csh
-# Usage: build [-n] <version> <release>
+# Usage: build [-n] <version> <release> [-krb5] [-ldap] [-pam] [-ssl]
 # Build ELOG distribution
 
 if ($#argv < 2) then
-  echo "Usage: build <version> <release>"
+  echo "Usage: build <version> <release> [-krb5] [-ldap] [-pam] [-ssl]"
   exit
 endif
  
 set version = $argv[1]
 set release = $argv[2]
+set i = 0
+set BUILDOPTS=""
+foreach argument ($argv)
+  set i=`expr $i + 1`
+  if ($i <= 2) continue
+  switch ($argument)
+    case "-ldap":
+       set BUILDOPTS="$BUILDOPTS --with ldap"
+       breaksw
+    case "-pam":
+       set BUILDOPTS="$BUILDOPTS --with pam"
+       breaksw
+    case "-ssl":
+       set BUILDOPTS="$BUILDOPTS --with ssl"
+       breaksw
+    case "-krb5":
+       set BUILDOPTS="$BUILDOPTS --with krb5"
+       breaksw
+  endsw
+end
+
 set dist = `rpm --eval %{\?dist}`
 set dir = /tmp/elog-$version
-set archive = elog-$version.tar.gz
+set archive = elog-$version-$release.tar.gz
 
 # create temporary directory
 rm -Rf $dir
@@ -65,7 +86,8 @@ rm -Rf $dir
 
 # transfer archive
 echo Transfer archive...
-mkdir -p ~/rpmbuild/SOURCES && cp /tmp/$archive ~/rpmbuild/SOURCES/elog-$version.tar.gz
+[ ! -d ~/rpmbuild/SOURCES ] && mkdir -p ~/rpmbuild/SOURCES 
+cp /tmp/$archive ~/rpmbuild/SOURCES/elog-$version-$release.tar.gz
 
 # if running on at PSI copy to download area
 if (`hostname` == 'elog01.psi.ch') then
@@ -75,6 +97,8 @@ if (`hostname` == 'elog01.psi.ch') then
     cp -v /tmp/$archive ~ritt/html/elog/download/tar/elog-latest.tar.gz
     cp -vf doc/ChangeLog ~ritt/html/elog/download/ChangeLog
   endif
+  # define Factory Packager
+  set BUILDOPTS="${BUILDOPTS} --define \"packager Stefan Ritt <stefan.ritt@psi.ch>\""
 endif
 rm -f /tmp/$archive
 
@@ -83,8 +107,13 @@ rm -f ~/rpmbuild/RPMS/*/elog*${version}-${release}*.rpm
 rm -f ~/rpmbuild/SRPMS/elog*${version}-${release}*.rpm
 
 # building RPMs
+cp elog.spec.template ~/rpmbuild/SPECS/elog.spec
+sed -i "s/__ELOGVER__/${version}/;s/__ELOGREL__/${release}/" ~/rpmbuild/SPECS/elog.spec
 echo Build RPMs...
-rpmbuild -ba --define "version ${version}" --define "release ${release}" elog.spec || exit $?
+set factorydate = `env LC_TIME=C date '+%a %b %d %Y'`
+rpmbuild -ba ${BUILDOPTS} --define "factorydate ${factorydate}" \
+	--define "version ${version}" --define "elogrel ${release}" \
+	~/rpmbuild/SPECS/elog.spec || exit $?
 
 # if running on at PSI copy to download area
 if (`hostname` == 'elog01.psi.ch') then
diff --git a/elog.spec b/elog.spec
deleted file mode 100755
index 8397eab..0000000
--- a/elog.spec
+++ /dev/null
@@ -1,107 +0,0 @@
-# ELOG weblog application
-# rpmbuild -ba --define 'version 3.1.4' --define 'release 2' --define "date $(LC_TIME=En date '+%a %b %d %Y')" elog.spec
- 
-#define	date	$(LC_TIME=En date '+%a %b %d %Y')      
-%define build_timestamp %(LC_TIME=En date '+%a %b %d %Y')
-
-Name:       elog
-Summary:    elog is a standalone electronic web logbook
-Version:    %version
-Release:    %release%{?dist}
-License:    GPL
-Group:      Applications/Networking
-Source:     http://elog.psi.ch/elog/download/elog-%{version}.tar.gz
-Vendor:     Stefan Ritt <stefan.ritt@psi.ch>
-URL:        http://elog.psi.ch/elog
-BuildRoot:  /tmp/%{name}-root
-Prefix:     /usr/local
-BuildRequires: openssl-devel >= 0.9.8e
-
-%description
-ELOG is part of a family of applications known as weblogs. 
-Their general purpose is : 
-
-1. To make it easy for people to put information online in a chronological
-   fashion, in the form of short, time-stamped text messages ("entries") 
-   with optional HTML markup for presentation, and optional file attachments 
-   (images, archives, etc.) 
-
-2. To make it easy for other people to access this information through a 
-   Web interface, browse entries, search, download files, and optionally add, 
-   update, delete or comment on entries. 
-
-ELOG is a remarkable implementation of a weblog in at least two respects : 
-
-- Its simplicity of use: you don't need to be a seasoned server operator 
-and/or an experimented database administrator to run ELOG ; one executable 
-file (under Unix or Windows), a simple configuration text file, and it works. 
-No Web server or relational database required. It is also easy to translate 
-the interface to the appropriate language for your users. 
-
-- Its versatility: through its single configuration file, ELOG can be made 
-to display an infinity of variants of the weblog concept. There are options 
-for what to display, how to display it, what commands are available and to whom, 
-access control, etc. Moreover, a single server can host several weblogs, and 
-each weblog can be totally different from the rest. 
-
-%changelog
-* %{build_timestamp} Stefan Ritt <stefan.ritt@psi.ch> %version-%release
-- Updated from git 
-* Wed Sep 26 2018 Stefan Ritt <stefan.ritt@psi.ch>
-- Made adjustments for new elog server and RH7
-* Fri Aug 29 2014 Stefan Ritt <stefan.ritt@psi.ch>
-- Added BuildRequires, thanks to Stefan Roiser from CERN
-* Fri Oct 21 2005 Stefan Ritt <stefan.ritt@psi.ch>
-- Added resources/ directory
-* Fri Mar 14 2003 Stefan Ritt <stefan.ritt@psi.ch>
-- Added %post to change ownership of elog files
-* Thu Jan 30 2003 Stefan Ritt <stefan.ritt@psi.ch>
-- Added installation of man pages, thanks to Serge Droz <serge.droz@psi.ch>
-* Tue Aug 13 2002 Stefan Ritt <stefan.ritt@psi.ch>
-- Added elog group and user, thanks to Nicolas Chuche [nchuche@teaser.fr]
-* Tue Jun 18 2002 Stefan Ritt <stefan.ritt@psi.ch>
-- Put elogd.init into TAR file, add logbooks directory, put elogd in sbin/
-* Tue Jun 18 2002 Serge Droz <serge.droz@psi.ch>
-- Update to 2.0.0
-* Mon Jun  3 2002 Serge Droz <serge.droz@psi.ch>
-- Update to 1.3.6 
-* Fri May 31 2002 Serge Droz <serge.droz@psi.ch>
-- Initial RPM
-
-
-%prep
-%setup -q
-
-%pre
-%{_sbindir}/groupadd -r elog 2>/dev/null || :
-%{_sbindir}/useradd -d / -s /bin/false \
-   -g elog -M -r elog 2>/dev/null || :
-
-%build
-make CFLAGS='-O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Imxml -g'
-sed "s#\@PREFIX\@#%{prefix}#g" elogd.init_template > elogd.init
-
-%install
-make install ROOT=$RPM_BUILD_ROOT MANDIR=$RPM_BUILD_ROOT%{_mandir}
-
-%post
-chown -R elog:elog $RPM_BUILD_ROOT%{prefix}/elog
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(-,root,root)
-/etc/rc.d/init.d/elogd
-%{_mandir}/man1/*
-%{_mandir}/man8/*
-%doc	README COPYING doc
-%defattr(-,elog,elog)
-%prefix/bin/*
-%prefix/sbin/elogd
-%prefix/elog/resources
-%prefix/elog/ssl
-%prefix/elog/themes
-%prefix/elog/scripts
-%prefix/elog/logbooks
-%config(noreplace) %prefix/elog/elogd.cfg
diff --git a/elog.spec.template b/elog.spec.template
--- a/elog.spec.template
+++ b/elog.spec.template
0a1,139
> # ELOG weblog application
> # rpmbuild -ba --define 'elogver 3.1.4' --define 'elogrel 2' --with ssl --with pam --with ldap --with krb5 --define 'factorydate date'
>  
> # define date of build for changelog and default release
> %define build_timestamp %(LC_TIME=C date '+%a %b %d %Y')
> %{!?factorydate: %define factorydate %build_timestamp}
> 
> # default version and release
> %{!?elogver: %define elogver __ELOGVER__ }
> %{!?elogrel: %define elogrel __ELOGREL__ }
> # default release is build date
> %{!?elogrel: %define elogrel %{build_timestamp} }
> 
> # Build options :
> # Read: If neither macro exists, then add the default definition.
> %{?_with_krb5: %define _with_krb5 USEKRB5=1}
> %{?_with_ldap: %define _with_ldap USELDAP=1}
> %{?_with_pam: %define _with_pam USEPAM=1}
> %{?_with_ssl: %define _with_ssl USESSL=1}
> # Default build options are with SSL 
> %{!?_with_ssl: %{!?_without_ssl: %define _with_ssl USESSL=1}}
> # builder info
> %define whoami %(eval who am i | awk '{print $1}')
> %define HOSTNAME %(hostname)
> %{!?packager: %define packager %{whoami} %{whoami}@%{HOSTNAME}}
> 
> Name:       elog
> Summary:    elog is a standalone electronic web logbook
> Version:    %elogver
> Release:    %elogrel%{?customrel}%{?dist}
> License:    GPL
> Group:      Applications/Networking
> Source:     http://elog.psi.ch/elog/download/elog-%{elogver}-%{elogrel}.tar.gz
> Vendor:     Stefan Ritt <stefan.ritt@psi.ch>
> URL:        http://elog.psi.ch/elog
> BuildRoot:  /tmp/%{name}-root
> Prefix:     /usr/local
> # Add build dependencies for pam, ssl and ldap features if enabled.
> # Note: Tag tokens must start at beginning-of-line.
> #
> # Read: If feature is enabled, then add the build dependency.
> %{?_with_krb5:BuildRequires: krb5-devel}
> %{?_with_krb5:Requires: krb5-libs}
> %{?_with_ldap:BuildRequires: openldap-devel >= 2.4.1}
> %{?_with_ldap:Requires: openldap >= 2.4.1}
> %{?_with_pam:BuildRequires: pam-devel >= 1.1.1}
> %{?_with_ssl:BuildRequires: openssl-devel >= 0.9.8e}
> 
> %description
> ELOG is part of a family of applications known as weblogs. 
> Their general purpose is : 
> 
> 1. To make it easy for people to put information online in a chronological
>    fashion, in the form of short, time-stamped text messages ("entries") 
>    with optional HTML markup for presentation, and optional file attachments 
>    (images, archives, etc.) 
> 
> 2. To make it easy for other people to access this information through a 
>    Web interface, browse entries, search, download files, and optionally add, 
>    update, delete or comment on entries. 
> 
> ELOG is a remarkable implementation of a weblog in at least two respects : 
> 
> - Its simplicity of use: you don't need to be a seasoned server operator 
> and/or an experimented database administrator to run ELOG ; one executable 
> file (under Unix or Windows), a simple configuration text file, and it works. 
... 74 more lines ... |  | 152 | Wed Mar  4 18:40:57 2020 | Laurent Jean-Rigaud | lollspam@free.fr | Other | Re: Re: RPM build process enhancements | Stable | Wed Mar  4 18:45:05 2020 by Laurent Jean-Rigaud |  | Sorry, the patch is malformed for the template file. Check PJ. Bye, Laurent   
	
		
			| Laurent Jean-Rigaud wrote: |  
			| Hi Stefan, 2nd patch for RPM build which adds : 
				dynamic build options for krb5/ldap/pam/ssl support :
				
					for git / non rpm users : 
					
						buildrpm version release [-krb5] [-ldap] [-pam] [-ssl]for rpm users using SRPMS (dependances are managed) :
					
						rpm -i elog-ver-rel.src.rpm && rpmbuld -bb [--use krb5] [--use ldap] [--use pam] [--use ssl] ~/rpmbuild/SPECS/elog.specdynamic 2 last changelog entries :
				
					last with build information with
					
						dynamic user 's info (use your info if builded from PSI, or use %packager from ~/.rpmmacros if exists, or set to username username@ostname)build options list (KBR5, LDAP, PAM, SSL)before last for product changelog of current ELOG version-releasecustomrel flag for local rebuild :
				
					release = %elogrel%{?customrel}%{?dist)so custom builder can add --define 'customrel NSA'  at rpmbuild command or in .rpmmacros file -> elog-3.1.4-2.NSA.el7.x86_64.rpm by example.elog version and release are delivered in specfile as default for rebuild (tarball name uses it so it can not be changed for local rebuild from SRPMS).buildrpm uses ~/rpmbuild/SPECS/elog.spec generated from elog.spec.template (elog.spec is deleted in repo, replaced by elog.spec.template).   Tested on EL6 and EL7 x86_64 :-) Bye   
				
					
						| Laurent Jean-Rigaud wrote: |  
						| Hi Stefan, I enclosed a patch for RPM build process available on GIT. changes : 
							rpmbuild :
							
								checks if provider or custom build (the rm/mv are done on your computers only :-))call rpmbuild with version / release given as parameterselog.spec :
							
								last changelog entry date is set to build datebuild with debug for debuginfo rpms (product rpms are normally automatically strimmed)elog.init call /etc/ini.d/functions for RHEL/Centos/Fedora/? dists   Todo: 
							add RPMbuild options for ldap/pam/...enclosed git log in changelog automatically (the dream :-)) |    |    |  | Attachment 1: elog.spec.template |  | # ELOG weblog application
# rpmbuild -ba --define 'elogver 3.1.4' --define 'elogrel 2' --with ssl --with pam --with ldap --with krb5 --define 'factorydate date'
 
# define date of build for changelog and default release
%define build_timestamp %(LC_TIME=C date '+%a %b %d %Y')
%{!?factorydate: %define factorydate %build_timestamp}
# default version and release
%{!?elogver: %define elogver __ELOGVER__ }
%{!?elogrel: %define elogrel __ELOGREL__ }
# default release is build date
%{!?elogrel: %define elogrel %{build_timestamp} }
# Build options :
# Read: If neither macro exists, then add the default definition.
%{?_with_krb5: %define _with_krb5 USEKRB5=1}
%{?_with_ldap: %define _with_ldap USELDAP=1}
%{?_with_pam: %define _with_pam USEPAM=1}
%{?_with_ssl: %define _with_ssl USESSL=1}
# Default build options are with SSL 
%{!?_with_ssl: %{!?_without_ssl: %define _with_ssl USESSL=1}}
# builder info
%define whoami %(eval who am i | awk '{print $1}')
%define HOSTNAME %(hostname)
%{!?packager: %define packager %{whoami} %{whoami}@%{HOSTNAME}}
Name:       elog
Summary:    elog is a standalone electronic web logbook
Version:    %elogver
Release:    %elogrel%{?customrel}%{?dist}
License:    GPL
Group:      Applications/Networking
Source:     http://elog.psi.ch/elog/download/elog-%{elogver}-%{elogrel}.tar.gz
Vendor:     Stefan Ritt <stefan.ritt@psi.ch>
URL:        http://elog.psi.ch/elog
BuildRoot:  /tmp/%{name}-root
Prefix:     /usr/local
# Add build dependencies for pam, ssl and ldap features if enabled.
# Note: Tag tokens must start at beginning-of-line.
#
# Read: If feature is enabled, then add the build dependency.
%{?_with_krb5:BuildRequires: krb5-devel}
%{?_with_krb5:Requires: krb5-libs}
%{?_with_ldap:BuildRequires: openldap-devel >= 2.4.1}
%{?_with_ldap:Requires: openldap >= 2.4.1}
%{?_with_pam:BuildRequires: pam-devel >= 1.1.1}
%{?_with_ssl:BuildRequires: openssl-devel >= 0.9.8e}
%description
ELOG is part of a family of applications known as weblogs. 
Their general purpose is : 
1. To make it easy for people to put information online in a chronological
   fashion, in the form of short, time-stamped text messages ("entries") 
   with optional HTML markup for presentation, and optional file attachments 
   (images, archives, etc.) 
2. To make it easy for other people to access this information through a 
   Web interface, browse entries, search, download files, and optionally add, 
   update, delete or comment on entries. 
ELOG is a remarkable implementation of a weblog in at least two respects : 
- Its simplicity of use: you don't need to be a seasoned server operator 
and/or an experimented database administrator to run ELOG ; one executable 
file (under Unix or Windows), a simple configuration text file, and it works. 
No Web server or relational database required. It is also easy to translate 
the interface to the appropriate language for your users. 
- Its versatility: through its single configuration file, ELOG can be made 
to display an infinity of variants of the weblog concept. There are options 
for what to display, how to display it, what commands are available and to whom, 
access control, etc. Moreover, a single server can host several weblogs, and 
each weblog can be totally different from the rest. 
%changelog
* %{build_timestamp} %{packager} %{version}-%{release}
- rebuild with option(s): %{?_with_krb5:KRB5 }%{?_with_ldap:LDAP }%{?_with_pam:PAM }%{?_with_ssl:SSL}
* %{factorydate} Stefan Ritt <stefan.ritt@psi.ch> %{version}-%{release}
- Updated from git 
* Wed Sep 26 2018 Stefan Ritt <stefan.ritt@psi.ch>
- Made adjustments for new elog server and RH7
* Fri Aug 29 2014 Stefan Ritt <stefan.ritt@psi.ch>
- Added BuildRequires, thanks to Stefan Roiser from CERN
* Fri Oct 21 2005 Stefan Ritt <stefan.ritt@psi.ch>
- Added resources/ directory
* Fri Mar 14 2003 Stefan Ritt <stefan.ritt@psi.ch>
- Added %post to change ownership of elog files
* Thu Jan 30 2003 Stefan Ritt <stefan.ritt@psi.ch>
- Added installation of man pages, thanks to Serge Droz <serge.droz@psi.ch>
* Tue Aug 13 2002 Stefan Ritt <stefan.ritt@psi.ch>
- Added elog group and user, thanks to Nicolas Chuche [nchuche@teaser.fr]
* Tue Jun 18 2002 Stefan Ritt <stefan.ritt@psi.ch>
- Put elogd.init into TAR file, add logbooks directory, put elogd in sbin/
* Tue Jun 18 2002 Serge Droz <serge.droz@psi.ch>
- Update to 2.0.0
* Mon Jun  3 2002 Serge Droz <serge.droz@psi.ch>
- Update to 1.3.6 
* Fri May 31 2002 Serge Droz <serge.droz@psi.ch>
- Initial RPM
%prep
%setup -q
%pre
%{_sbindir}/groupadd -r elog 2>/dev/null || :
%{_sbindir}/useradd -d / -s /bin/false \
   -g elog -M -r elog 2>/dev/null || :
%build
make %{?_with_ssl} %{?_with_pam} %{?_with_ldap} %{?_with_krb5} CFLAGS='-O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Imxml -g'
sed "s#\@PREFIX\@#%{prefix}#g" elogd.init_template > elogd.init
%install
make install ROOT=$RPM_BUILD_ROOT MANDIR=$RPM_BUILD_ROOT%{_mandir}
%post
chown -R elog:elog $RPM_BUILD_ROOT%{prefix}/elog
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
/etc/rc.d/init.d/elogd
%{_mandir}/man1/*
%{_mandir}/man8/*
%doc	README COPYING doc
%defattr(-,elog,elog)
%prefix/bin/*
%prefix/sbin/elogd
%prefix/elog/resources
%prefix/elog/ssl
%prefix/elog/themes
%prefix/elog/scripts
%prefix/elog/logbooks
%config(noreplace) %prefix/elog/elogd.cfg
 |  | 154 | Thu Mar  3 12:01:55 2022 | rami khrais | rami.khrais@sesame.org.jo | Other | Fixing repeating first inline_image in email | Stable | Thu Mar 10 11:30:20 2022 by rami khrais |  | Fixing repeating first image in email (email notification) when the user submit a new log with in_line images. |  | Attachment 1: elogd.c |  | /********************************************************************
   Name:         elogd.c
   Created by:   Stefan Ritt
   Copyright 2000 + Stefan Ritt
   ELOG is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.
   ELOG is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   In addition, as a special exception, the copyright holders give
   permission to link the code of portions of this program with the
   OpenSSL library under certain conditions as described in each
   individual source file, and distribute linked combinations
   including the two.
   You must obey the GNU General Public License in all respects
   for all of the code used other than OpenSSL.  If you modify
   file(s) with this exception, you may extend this exception to your
   version of the file(s), but you are not obligated to do so.  If you
   do not wish to do so, delete this exception statement from your
   version.  If you delete this exception statement from all source
   files in the program, then also delete it here.
   You should have received a copy of the GNU General Public License
   along with ELOG.  If not, see <http://www.gnu.org/licenses/>.
   Contents:     Web server program for Electronic Logbook ELOG
\********************************************************************/
#include "elogd.h"
#include "git-revision.h"
const char *_git_revision = GIT_REVISION;
BOOL running_as_daemon;         /* Running as a daemon/service? */
int elog_tcp_port;              /* Server's TCP port            */
static void (*printf_handler)(const char *);   /* Handler to printf for logging */
static void (*fputs_handler)(const char *);    /* Handler to fputs for logging  */
static FILE *current_output_stream = NULL;      /* Currently used output stream  */
char *return_buffer;
int return_buffer_size;
int strlen_retbuf;
int keep_alive;
char header_buffer[20000];
int return_length;
char host_name[256];
char referer[256];
char browser[256];
char config_file[256];
char resource_dir[256];
char logbook_dir[256];
char listen_interface[256];
char theme_name[80];
char http_host[256];
char http_user[256];
char _param[MAX_PARAM][NAME_LENGTH];
char _value[MAX_PARAM][NAME_LENGTH];
char _mtext[TEXT_SIZE];
char _cmdline[CMD_SIZE];
char *_attachment_buffer;
int _attachment_size;
int _max_content_length = MAX_CONTENT_LENGTH;
struct in_addr rem_addr;
char rem_host[256];
char rem_host_ip[256];
int _sock;
BOOL use_keepalive, enable_execute = FALSE;
BOOL ckedit_exist, image_magick_exist;
int _verbose_level, _current_message_id;
int _logging_level, _ssl_flag;
LOGBOOK *lb_list = NULL;
#define VERBOSE_URL     1
#define VERBOSE_INFO    2
#define VERBOSE_DEBUG   3
#ifdef HAVE_SSL
SSL *_ssl_con;
#endif
char *mname[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September",
                 "October", "November", "December"
};
char attr_list[MAX_N_ATTR][NAME_LENGTH];
char attr_options[MAX_N_ATTR][MAX_N_LIST][NAME_LENGTH];
int attr_flags[MAX_N_ATTR];
char attr_list_default[][NAME_LENGTH] = {"Author", "Type", "Category", "Subject", ""};
char attr_options_default[][MAX_N_LIST][NAME_LENGTH] = {{""},
                                                        {"Routine", "Other"},
                                                        {"General", "Other"},
                                                        {""}
};
int attr_flags_default[] = {AF_REQUIRED, 0, 0, 0};
struct {
   char ext[32];
   char type[80];
} filetype[] = {
        {
                ".AI",   "application/postscript"},
        {
                ".ASC",  "text/plain"},
        {
                ".BZ2",  "application/x-bzip2"},
        {
                ".CFG",  "text/plain"},
        {
                ".CHRT", "application/x-kchart"},
        {
                ".CONF", "text/plain"},
        {
                ".CSH",  "application/x-csh"},
        {
                ".CSS",  "text/css"},
        {
                ".DOC",  "application/msword"},
        {
                ".DVI",  "application/x-dvi"},
        {
                ".EPS",  "application/postscript"},
        {
                ".GIF",  "image/gif"},
        {
                ".GZ",   "application/x-gzip"},
        {
                ".HTM",  "text/html"},
        {
                ".HTML", "text/html"},
        {
                ".ICO",  "image/x-icon"},
        {
                ".JPEG", "image/jpeg"},
        {
                ".JPG",  "image/jpeg"},
        {
                ".JS",   "application/x-javascript"},
        {
                ".KPR",  "application/x-kpresenter"},
        {
                ".KSP",  "application/x-kspread"},
        {
                ".KWD",  "application/x-kword"},
        {
                ".MP3",  "audio/mpeg"},
        {
                ".OGG",  "application/x-ogg"},
        {
                ".PDF",  "application/pdf"},
        {
                ".PNG",  "image/png"},
        {
                ".PS",   "application/postscript"},
        {
                ".RAM",  "audio/x-pn-realaudio"},
        {
                ".RM",   "audio/x-pn-realaudio"},
        {
                ".RM",   "audio/x-pn-realaudio"},
        {
                ".RM",   "audio/x-pn-realaudio"},
        {
                ".RPM",  "application/x-rpm"},
        {
                ".RTF",  "application/rtf"},
        {
                ".SH",   "application/x-sh"},
        {
                ".SVG",  "image/svg+xml"},
        {
                ".TAR",  "application/x-tar"},
        {
                ".TCL",  "application/x-tcl"},
        {
                ".TEX",  "application/x-tex"},
        {
                ".TGZ",  "application/x-gzip"},
        {
                ".TIF",  "image/tiff"},
        {
                ".TIFF", "image/tiff"},
        {
                ".TXT",  "text/plain"},
        {
                ".WAV",  "audio/x-wav"},
        {
                ".XLS",  "application/x-msexcel"},
        {
                ".XML",  "text/xml"},
        {
                ".XSL",  "text/xml"},
        {
                ".ZIP",  "application/x-zip-compressed"},
        {
                /* Open XML file types */
                ".DOCM", "application/vnd.ms-word.document.macroEnabled.12"},
        {
                ".DOCX", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
        {
                ".DOTM", "application/vnd.ms-word.template.macroEnabled.12"},
        {
                ".DOTX", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"},
        {
                ".PPSM", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"},
        {
                ".PPSX", "application/vnd.openxmlformats-officedocument.presentationml.slideshow"},
        {
                ".PPTM", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"},
        {
                ".PPTX", "application/vnd.openxmlformats-officedocument.presentationml.presentation"},
        {
                ".XLSB", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"},
        {
                ".XLSM", "application/vnd.ms-excel.sheet.macroEnabled.12"},
        {
                ".XLSX", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
        {
                ".XPS",  "application/vnd.ms-xpsdocument"},
        {
                "",      ""},};
struct {
   char language[32];
   char abbrev[32];
} lang_table[] = {
        {"brazilian",    "br"},
        {"bulgarian",    "bg"},
        {"czech",        "cz"},
        {"danish",       "dk"},
        {"dutch",        "nl"},
        {"french",       "fr"},
        {"german",       "de"},
        {"indonesia",    "id"},
        {"italian",      "it"},
        {"japanese",     "jp"},
        {"polish",       "pl"},
        {"ru_CP1251",    "ru"},
        {"slowak",       "sk"},
        {"spanish",      "es"},
        {"swedish",      "se"},
        {"turkish",      "tr"},
        {"zh_CN-GB2314", "zh"},
        {"zh_CN-UTF8",   "zh"},
        {"",             ""}
};
char _convert_cmd[256];
char _identify_cmd[256];
#ifdef OS_WINNT
int run_service(void);
#endif
#ifdef OS_UNIX
gid_t orig_gid;                 /* Original effective GID before dropping privilege */
uid_t orig_uid;                 /* Original effective UID before dropping privilege */
char pidfile[256];              /* Pidfile name                                     */
#endif
#ifdef __CYGWIN__               /* bug in cygwin, 'timezone' not linked automatically */
long _timezone;
#endif
/*---- Funcions from the MIDAS library -----------------------------*/
#define my_toupper(_c)    ( ((_c)>='a' && (_c)<='z') ? ((_c)-'a'+'A') : (_c) )
#define my_tolower(_c)    ( ((_c)>='A' && (_c)<='Z') ? ((_c)-'A'+'a') : (_c) )
BOOL strieq(const char *str1, const char *str2) {
   char c1, c2;
   if (str1 == NULL && str2 == NULL)
      return TRUE;
   if (str1 == NULL || str2 == NULL)
      return FALSE;
   if (strlen(str1) != strlen(str2))
      return FALSE;
   while (*str1) {
      c1 = *str1++;
      c2 = *str2++;
... 30972 more lines ... |  | 155 | Fri Dec  1 16:30:46 2023 | Stefan Ritt | Unstefan.ritt@psi.ch | Other | Re: Fixing repeating first inline_image in email | Stable | Fri Dec  1 16:31:37 2023 by Stefan Ritt |  | Unfortunately you made your changes against a pretty old version of elogd.c, so I can't see which changes you made (the diffs gives 100's of changes now). If you can apply your fix against the current elogd.cxx from the bitbucket repository, I would be happy to include the fix in the distribution. Stefan 
	
		
			| rami khrais wrote: |  
			| Fixing repeating first image in email (email notification) when the user submit a new log with in_line images. |    |  | 18 | Mon Sep 25 11:24:05 2006 | Yoshio Imai |  | Documentation | securing of elog with stunnel v4 under Linux | Beta |  |  | The following instructions should work in securing the elog using stunnel version 4 under Linux. The specific paths may have to be adapted to your distribution. A sample configuration file is attached. |  | Attachment 1: elog-stunnel4.howto |  | 1. Prepare a certificate
------------------------
either: request a certificate for your elog URL from your web administrator
- the private key must not be password-protected
- the 'common name' must be the URL of your elog server
or: create a self-signed certificate yourself with the OpenSSL package
- as root user, create a self-signed certificate with the command
root@localhost:# openssl req -new -x509 -config /etc/ssl/openssl.cnf -keyout stunnel.pem -out stunnel.pem -days 365 -nodes
- this creates a self-signed certificate (-x509) whith one year validity (-days 365)
  and no password protection for the private key (-nodes)
- private key and certificate are written to the same file, "stunnel.pem"
Answer all questions, making sure that the 'common name' is the URL under which users
are to reach your elog server.
For more information on how to create and/or manage SSL certificates, see e.g.
http://www.ibiblio.org/pub/Linux/docs/HOWTO/SSL-Certificates-HOWTO
Notice: Unless your web administrator can procure a certificate signed by an established
        CA, your elog users will be asked if they want to accept your (unverifiable) certificate
        when connecting to your elog server. This is no problem at all but can lead to
        questions if your users are unsure about this.
2. Adapt the certificate file to stunnel4 conventions
-----------------------------------------------------
The certificate filename must be the MD5 checksum:
- Retrieve the MD5 checksum of your certificate with
root@localhost:# openssl x509 -hash -noout -in stunnel.pem 
abcdefgh
- Rename the certificate file accordingly
root@localhost:# mv stunnel.pem abcdefgh.0
- Move the certificate file to the standard location, e.g. /etc/ssl/certs
- change the permissions of the file to -rw-------
- make sure there is a blank line between
  -----END RSA PRIVATE KEY----- and -----BEGIN CERTIFICATE-----
  and a blank line after
  -----END CERTIFICATE-----
  in your certificate file.
3. Configure stunnel4
---------------------
Install the stunnel4 package (if not already done).
Modify the configuration file (e.g. /etc/stunnel/stunnel.conf, depending on your
distribution):
- general options:
  cert = /etc/ssl/certs/abcdefgh.0    ; put the name of your certificate file here
  debug = 4                           ; otherwise ALL connection attempts will be logged to your syslog
  pid = /var/run/stunnel4/stunnel.pid ; check where the other services write their pid-files, depends 
                                      ; somewhat on the distribution
- comment out all lines containing chroot options
- comment out all CA lines
- comment out all service sections except the HTTPS section, which should look as follows
[https]
accept  = 443       ; i.e. stunnel listens on port 443, the standard https port
connect = 8080      ; and forwards all connections to port 8080 (use the port under which
                    ; your elogd is running here!)
TIMEOUTclose = 0    ; for buggy MS Internet Explorers, see the stunnel4 manpage
Some Linux distributions require that in the file /etc/defaults/stunnel4 the option ENABLED be set
to ENABLED=1. If not, the stunnel will not be started at system bootup.
4. Start the stunnel4 server
----------------------------
root@localhost# stunnel4 /etc/stunnel/stunnel.conf
Your elog should now be accessible via
https://your.elog.server
 |  | Attachment 2: stunnel.conf |  | cert = /etc/ssl/certs/abcdefgh.0
pid = /var/run/stunnel4/stunnel.pid
; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
; Some debugging stuff useful for troubleshooting
debug = 4
; Service-level configuration
[https]
accept  = 443
connect = 8080
TIMEOUTclose = 0
 |  |