====== esmith::Build::CreateLinks ====== esmith::Build::CreateLUser(Contributed Perl Documesmith::Build::CreateLinks(3) for the latest version, do yum install nethserver-devtools perldoc esmith::Build::CreateLinks ==== NAME ==== esmith::Build::CreateLinks - A library for creating symlinks during rpm construction. ==== SYNOPSIS ==== use esmith::Build::CreateLinks qw(:all); safe_symlink("../../../functions/$function", "$cgibin/$function") ==== DESCRIPTION ==== === safe_symlink === This function works like symlink(), but if the directory being linked to does not exist, it will create it. ie. safe_symlink("../../../functions/$function", "$cgibin/$function") === panel_link === This function creates a link to a web panel. ie. my $panel = "manager"; panel_link("tug", $panel); === admin_common_link === This function creates a symlink from the common manager directory to a file in the functions directory. === event_link === This function creates a symlink from an action’s ordered location in an event directory to its action script. ie. my $event = "tug-update"; event_link("tug-conf", $event, "10"); event_link("conf-masq", $event, "20"); event_link("adjust-masq", $event, "30"); event_link("tug-restart", $event, "40"); === validator_link === This function creates a symlink from an action’s ordered location in a validator directory to its action script. ie. my $validator = "user-name"; validator_link("uniq-accountname", $validator, "10"); validator_link("max-users", $validator, "20"); === validator_actions($validatorName, @action_specs) === Create links to actions for the given validator. @actions_specs is a list of pairs Action => Priority. E.g validator_actions('validator-name', 'act1' => '10', 'act2' => '20', ..); See also validator_link(). === service_link_enhanced === This function creates a symlink from a SysV init start or kill link in a runlevel to e-smith-service, a wrapper that is config db aware. ie. safe_symlink("daemontools", "root/etc/rc.d/init.d/tug"); service_link_enhanced("tug", "S85", "7"); service_link_enhanced("tug", "K25", "6"); service_link_enhanced("tug", "K25", "0"); === safe_touch === This function creates an empty file, but first creates any enclosing directories. For example: safe_touch("a/b/c/d"); will create any of the directories "a", "a/b", "a/b/c" which don’t exist, then create an empty file "a/b/c/d". === templates2events === This function creates a file tree (of empty files) which is used by the generic_template_expand action to determine which templates need to be expanded for a particular event. Takes one file argument and a list of event names, e.g. templates2events("/etc/some/file", "event1", "event2", ...); === event_templates($event, @paths) === This function is similar to templates2events(): determines the list of templates to be expanded for the given an event name. E.g. event_templates("event1", "/etc/some/file1", "/etc/some/file2, ...); === event_actions($event, @action_specs) === Create links to actions for the given event. @actions_specs is a list of pairs Action => Priority. E.g event_actions('myevent', 'act1' => '10', 'act2' => '20', ..); See also event_link(). === event_services($event, @service_specs) === Create links for the given $event in services2adjust/ subdirectory. @service_specs is a list of pairs Service => LinkDestination event_services('myevent', 'sshd' => 'restart', 'samba' => 'reload') See also safe_symlink(). ==== AUTHOR ==== SME Server Developers Nethesis srl www.nethesis.it perl v5.10.1 2015-05-19 esmith::Build::CreateLinks(3) {{tag> neth-development}}