How to refer to pacman's installation root in pre_install, etc

I have been unable to find any documentation of exactly how to refer to pacman's installation root from inside the .install script functions. Curious, I started looking through /var/abs/core for some real-world examples that might clue me in. What I found surprised me - from the looks of it, many of the functions there simply assume that their working directory IS the pacman installation root. For example:
/var/abs/core/ca-certificates/ca-certificates.install:
post_install() {
usr/sbin/update-ca-certificates --fresh
post_upgrade() {
usr/sbin/update-ca-certificates --fresh
pre_remove() {
# clean up certificates
local _backup=$(mktemp)
mv etc/ca-certificates.conf ${_backup}
echo > etc/ca-certificates.conf
usr/sbin/update-ca-certificates --fresh
mv ${_backup} etc/ca-certificates.conf
post_remove() {
# remove the cert file if it is empty
[[ -s etc/ssl/certs/ca-certificates.crt ]] || rm -f etc/ssl/certs/ca-certificates.crt
And yet, some others seem to assume that the install root is "/", like here:
/var/abs/core/crda/crda.install:
## arg 1: the new package version
post_install() {
echo "Uncomment the right regulatory domain in /etc/conf.d/wireless-regdom."
echo "It will automatically be set when necessary."
## arg 1: the new package version
## arg 2: the old package version
post_upgrade() {
# In an upgrade from 1.0.1-1 or older, the wireless-regdom file moves from the crda package
# to the new wireless-regdb package. If the user changed the file, it is save to overwrite the one
# from wireless-regdb by the user-defined one
if [ $(vercmp $2 1.0.1-2) -lt 0 ]; then
if [ -f /etc/conf.d/wireless-regdom.pacorig -a -n "$(grep -v ^# /etc/conf.d/wireless-regdom.pacorig 2>/dev/null | grep -v ^$)" ]; then
mv /etc/conf.d/wireless-regdom.pacorig /etc/conf.d/wireless-regdom
fi
fi
or here:
/var/abs/core/cryptsetup/encrypt_install:
# vim: set ft=sh:
install ()
if [ -z "${CRYPTO_MODULES}" ]; then
MODULES=" dm-crypt $(all_modules "/crypto/") "
else
MODULES=" dm-crypt ${CRYPTO_MODULES} "
fi
FILES=""
SCRIPT="encrypt"
add_dir "/dev/mapper"
[ -f "/sbin/cryptsetup" ] && add_binary "/sbin/cryptsetup" "/sbin/cryptsetup"
[ -f "/usr/sbin/cryptsetup" ] && add_binary "/usr/sbin/cryptsetup" "/sbin/cryptsetup"
add_binary "/sbin/dmsetup"
add_file "/lib/udev/rules.d/10-dm.rules"
add_file "/lib/udev/rules.d/13-dm-disk.rules"
add_file "/lib/udev/rules.d/95-dm-notify.rules"
help ()
cat<<HELPEOF
This hook allows for an encrypted root device.
HELPEOF
Since I'd normally take the PKGBUILDs in /core/ as fairly good examples of what the Arch devs consider best practice, it's leaving me with either two conclusions: this is a bug, or I'm missing something. Any input is appreciated. :)

We chroot() and then chdir() to the root directory in every install script executed- so it is no assumption at all.
http://projects.archlinux.org/pacman.gi … aa3e7#n421
Preference would be to omit the leading /, but due to the chroot/chdir combo, both should work.

Similar Messages

  • How to refer a .jar file in the code.

    How to refer a .jar file in the code.
    I want to use a library dnsjava.jar, which I download from the internet. I want to know how to refer it
         If I am compiling the code on Solaris
         If I compiling the code on windows using eclipse.
    I added the following line in my code to refer to this library. But it always complains of not found the class
    import org.xbill.DNS.*;
    I tried the following to add this library but did not work
    On eclipse/windows: Went to window-> preferences -> BuildPath _> class path Variable.
    On Solaris: Could not add this library /opt/java_reference/v1.6.0_04/jre/lib. Although I am logged in as root, but not able to add the library there. Complains of Permission denied.

    Set the classpath option when compiling.
    javac -classpath /path/to/lib/dnsjava.jar YourProgram.java
    I don't use Eclipse, but it probably has a library list on your project preferences. Add it there.
    Regards,
    Henrique Abreu

  • How to refer to Excel tables (ListObjects) in PowerPivot

    I am trying to figure out how to import ListObjects in PP.
    As far as I can tell PP does not seem to "see" range names that refer to entire ListObjects i.e. =T_DTL[#All], while it "sees" ranges that refer to direct cells i.e. =Dtl!$O$3:$V$46.
    Is that correct and is there a way to work around it?
    The reason I am asking is that the tables I want to work with do not necessarily start on line 1 and PP references entire worksheets i.e. Dtl$, as per my example above.I tried different approaches with dynamic ranges but PP refuses to present them as choices
    while Selecting Tables and Views. The only way to achieve what I need is by creating named ranges with hardcoded start and end, which is a bit odd since Tables (ListObjects) are a powerful tool since Excel 2007 and I would expect a stronger integration with
    other powerful tools such as PowerPivot.Apart from the overhead of having to go through each workbook and define a range for every Table I wish to use.
    Am I missing something here?

    My PowerPivot attempt was abruptly broken about a month ago, hence my very late reply.
    Peter is quoting VBA statements on how to refer to a Table (ListObject), which is familiar to me as I am also writing VBA code. Unfortunately my problem is in interactive mode, not in code execution.
    When we open a file's PowerPivot window from within Excel we are prompted to select the tables we want to work with. That is where I cannot see my ListObjects / Tables. I am presented with all ranges that PowerPivot sees as declared in the file that I am
    opening (as in Formulas / Names Manager) EXCEPT for the ListObjects. Those are missing.
    Try it if you will and let me know if this behavior is relevant only to my installation or to yours as well.
    George Thalassinos

  • How to refer to JNDI PROVIDER_URL from within Tomcat Web app

    Can anyone provide a clear description on how to refer to a "Provider_URL" relative to the web application root for which a Java Class resides within? My issue is as follows. I've looked through the JNDI tutorial and the Tomcat JNDI How-To's and I'm still unable to find a solution.
    I'll elaborate:
    I have a "PROVIDER_URL" class variable defined as:
    private String PROVIDER_URL = "file:/C:/development/MyProject/MyWebApplication/WEB-INF/properties";I initialize my JNDI context within the class:
    Properties properties = new Properties();
    properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
    properties.setProperty(Context.PROVIDER_URL, PROVIDER_URL);
    context = new InitialContext(properties);
    cpds = (ConnectionPoolDataSource) context.lookup(baseName);
    ...The above example works fine. My question is given my web app's directory, how do I refer to "MyWebApplication/WEB-INF/properties" in a relative manner so that if I move my web application to a different server, the directory path does not affect my deployment and I dont have to hardcode the current path? Does this need to occur in the "server.xml" file? Can you provide a URL to an example?
    Your suggestions are appreciated...thanks.

    try to give
    http://localhost:8080
    or the app server based port address.

  • How do I change the Web App Root

    During installation I made a mistake of choosing the compiled output directory as the Wen App Root, whereas it seems that it actually wanted the source directory. Consequently whenever I try to open a source jsp file I get
    Unable to create this part due to an internal error. Reason for the failure:
    The NitroX editor can only be used with the pages located in the Web Application Root directory.
    The Web Application Root directory is the directory containing the WEB-INF folder.
    The text editor is being used instead.
    How do I change the Web App Root directory, I can't find a menu or preference that shows the current value or an ability to establish a new location.

    Does this mean then that you are forced to have a WEB-INF folder sitting beside JSPs you want to edit with NitroX?
    e.g. If my project directory structure looks like this:
    project-root
    |-- dist
    |      |- WEB-INF
    |      |- a.jsp
    |      |- b.jsp
    |-- web
            |- a.jsp
            |- b.jsp[/code:1:daa10af002]
    i.e. I keep my JSP source code in /web but when I run my Ant build the JSPs are copied to the dist directory.
    If I try to edit the files in /web using NitroX I get the error mentioned above. Does this mean I have to make /web the Web App Root directory and thus have to have a WEB-INF folder inside it?
    Cheers,
    mEEch                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to refer report items?

    Hi,
    How to refer the report items?
    I have standard sql report region contains 3 columns.
    doc_id,doc_name and No_units.all three items are apex item.
    below is my sql query for report.
    APEX_ITEM.SELECT_LIST_FROM_QUERY(17,doc_id,'select s_id from         
    sales')"doc id",
    apex_item.text(18, doc_name) "doc name",
    apex_item.text(19,  No_units) " No units",null
    from sale_docMy intention is to fire a dynamic action when event change in doc_id. So in when tab what i have to assign in item(s) fields for doc_id. i gave *#doc_id#* in items(s) field it doesnt work.
    how to resolve this?

    any help?

  • How to Delete and Reset a Lost Root Password on a System With a Mirrored ??

    hi All,
    we are experiencing problem,lost root password on Solaris 10 Sparc T5120, with mirror root,
    and we found the solution from Metalink.oracle.com, has anyone have try this??
    here list capture the file system :
    Filesystem size used avail capacity Mounted on
    */dev/md/dsk/d10 2.0G 349M 1.6G 18% /*
    */dev/md/dsk/d40 9.8G 563M 9.2G 6% /usr*
    */dev/md/dsk/d30 9.8G 1.4G 8.4G 15% /var*
    */dev/md/dsk/d50 7.9G 310M 7.5G 4% /opt*
    */dev/md/dsk/d600 3.8G 4.3M 3.8G 1% /home*
    */dev/md/dsk/d602 471M 20M 404M 5% /app/controlm*
    */dev/md/dsk/d601 471M 251M 173M 60% /app/ctsa*
    */dev/md/dsk/d604 4.9G 1.1G 3.8G 23% /app/oramon*
    */dev/md/dsk/d603 20G 11G 8.2G 58% /app/oracle*
    */dev/md/dsk/d606 39G 10.0G 29G 26% /proj/iprdb01/orafra/iprod01p*
    here the step :
    Solstice DiskSuite[TM] Software: How to Delete and Reset a Lost Root Password on a System With a Mirrored Root Disk [ID 1010755.1]
    Solution
    Steps to Follow
    How to delete and reset a lost root password on a system with a mirrored root disk.
    1) Insert the Solaris[TM] Operating System CD-ROM into the CD-ROM drive.
    2) Once the CD-ROM is in the drive, perform a stop-a. This brings the system down to the "ok" prompt.
    3) From the "ok" prompt, perform a single-user boot from the Solaris OS CD-ROM.
    ok boot cdrom -s4) At the "#" prompt, determine which disk is the system's boot disk (containing the root file system). There are several Oracle architectures and various configurations of systems when it concerns a boot disk. As a general rule, most boot disks are attached to controller 0 (c0). Usually, their SCSI target is
    either 3 (t3) or 0 (t0). However, Oracle machines are very flexible, and the boot disk could be at a different location. If you are not sure which disk is your boot disk, perform the following steps to determine the location of the boot device:
    a) # eeprom boot-device
    The output might appear to be simple, such as "disk" or "disk1" or more complicated, such as a pathname "/iommu/sbus/espdma@4,8400000/...../sd@3,0:a".
    b) Make note of the boot-device. If the boot-device is a pathname, it is beyond the scope of this information to provide the location of the customized boot disk. However, for most configurations,
    finding the customized boot disk is an easy task. The "Format" command shows all available disks:
    #format
    Searching for disks...done
    AVAILABLE DISK SELECTIONS:
    (enter its number): c) Enter d to exit format.
    Now, you will have an idea what disks are on the system. Therefore, if the boot-device is "disk" and format shows "c0t0d0" (on some systems "c0t3d0") then that is the boot device. If boot-device
    shows "disk1" and format shows "c0t1d0," then that is the boot device. If format shows multiple disks, then based on what the "eeprom boot-device" command shows, the system's boot disk would be:
    boot-device format
    disk c0t0d0 or c0t3d0 (machine dependent)
    disk1 c1t0d0
    disk2 c0t2d0
    disk3 c0t3d0 or c0t0d0 (machine dependent)
    and so on ....
    5) Because the system was not brought down gracefully (no root password means having to use the Stop-a keystroke to "crash" the system), you need to run "fsck" to clean the root partition (slice). The fsckalso confirms that you selected the proper slice.
    # fsck /dev/rdsk/c1t0d0s0
    where the X and Y are determined by the previous procedure. It is also possible to have a root partition which is not on slice 0 (s0), but, again, that is not a standard configuration.
    The output of "fsck" looks like this:
    ** /dev/rdsk/c1t0d0s0
    ** last mounted on /
    ** Phase 1 .....
    The second line in the output of "fsck" ("** Last mounted on /") confirms that this is the correct root filesystem partition. Answer "y" to any questions fsck asks. There shouldn't be too many items
    needing repair. If there are, there is a possibility of a corrupted root filesystem. After fsck is finished, mount the root partition:
    # mount /dev/dsk/c1t0d0s0 /a
    Again, X and Y are the same as for the fsck command.
    For example:
    # mount /dev/dsk/c1t0d0s0 /a
    6) From the root prompt, set the proper TERM type command (such as vt100, dtterm, sun, and so on)
    by entering this command:
    # TERM=sun; export TERM
    7) Use the VI text editor to edit the /etc/shadow file:
    # vi /a/etc/shadow
    8) The first line of the /etc/shadow file is the one you want to modify.
    It looks like this:
    root:c3.yAVmYodWsc:6445::::::
    9) Delete every character between the first and second colons in the first line of the file. When you finish deleting the characters, the line should look like this:
    root::6445::::::
    10) Press the Escape key, then enter the following to save the file and exit vi:
    :wq!
    11) Use the VI text editor to edit the /etc/system file andremove the "rootdev" line shown below:
    # vi /a/etc/system
    *rootdev:/pseudo/md@0:0,0,blk
    Don't comment out the "rootdev" line. Actually remove it.
    12) In the /a/etc/vfstab file, replace the lines for the system filesystem meta-devices with their underlying partitions. For example, change lines from
    /dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no -
    to
    /dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 / ufs 1 no -
    ONLY change the lines for root (/) and the filesystems that were affected by the actions you took in step 1 of this procedure. All other metadevices may stay as is in this file.
    13) Unmount root, check the root filesystem, and then stop the system:
    # cd /
    # umount /a
    # fsck /dev/rdsk/c1t0d0s0
    # stop-a
    14) Boot to single-user mode:
    ok boot -swTHIS STEP IS VERY IMPORTANT; YOU MUST BOOT TO SINGLE-USER MODE TO AVOID FILESYSTEM CORRUPTION.
    If the system does not boot to single user mode, you might have made a mistake in the previous steps.
    15) Because the root password was cleared in an earlier step, press Return when prompted for the the root password. Once you are in single-user mode, you must clear the metamirrors and all the sub-mirrors for the root filesystem. For example, if root (/) is d0, run the following command:
    # metaclear -f -r d0
    Running the metaclear command not only clears the metamirror but also clears the submirrors that are part of this mirror.
    16) When the metamirror is cleared, continue the boot up to multiuser mode by either pressing CTRL-D or by entering the following:
    # exit
    Now everything should be as it was, except that the system partition is on the underlying partition and isn't mirrored. You will simply need to re-create the metadevices for the root mirror as you had originally.
    many thanks

    Hi,
    Halt your machine.
    Boot with fail-safe mode.
    format and list out the disks. (You can get the root & mirror disk (c#t#d#) details from /etc/lvm/md.tab of your root or mirror disk. Earlier explorer output may help)
    Mount the root disk and remove the password entry in /etc/shadow
    umount it.
    Mount the mirror disk and remove the password entry in /etc/shadow
    umount it.
    reboot the server.
    Hope this helps!

  • How to refer one view from another view?

    Hi,
    I have 2 views in my Adobe Flash Builder mobile app. I need to refer the first view in my second view.
    How to refer one view from another view? Or how to create a reference to a view wherever needed?

    I don't need any data from my first view. In a certain flow, I need to make my first view to be invisible.
    for eg., My First view is in portrait mode. I change the device to Landscape. In the landscape mode, I want to show a completely different view (second view).
    In this case, what happens is, I see my first view in Landscape mode for a second. Then the second view appears. When I change to Landscape mode, only the second view should be seen. I need to make my first view to be completely invisible in the OnOrientationChanging event of
    StageOrientationEvent
    As stage object and StageOrientationEvent works at application level, I need to know how to refer my first view object in the application level.
    private function onOrientationChanging(soe:StageOrientationEvent):void
          MyFirstView.Visible = False; ====> don't know how to refer MyFirstView here
    Is my question clear now?

  • How to refer a column value of a single row in conditional column display?

    Hello,
    does anybody have an idea, how i can refer a column value of a single row in conditional display of a column?
    So my idea is, that a report has a column, which value is only displayed, when another column value of this row has a specific value.
    I want to solve this problem with condition type: PL/SQL Function Body returning a boolean.
    But I do not know how to refer the column value of each single row!
    Thank you,
    Tim

    Here's a solution that, to me, seems easier to implement but, that's, of course, in the eye of the implementer.
    Rather than using APEX to generate a link column for you, actually create the link as part of your SQL.
    select '<a href="f?p=102:3:491847682940364::::P3_CONTACT_ID:' || CONTACT_ID || "><img src="/i/themes/theme_1/ed-item.gif" alt="Edit"></a>' CONTACT_LINK, ...
    etc.
    Test this out. You'll see that it works just like making a column a link using the column attributes.
    Next, we'll change the SQL to use a DECODE statement to either display the link or nothing depending on what your criteria is. For example, let's assume you only want a link for active contacts.
    select Decode( CONTACT_STATUS, 'A', '<a href="f?p=102:3:491847682940364::::P3_CONTACT_ID:' || CONTACT_ID || "><img src="/i/themes/theme_1/ed-item.gif" alt="Edit"></a>', NULL ) CONTACT_LINK, ...
    etc.
    This will not display the link in any rows in which the CONTACT_STATUS is not active, i.e. "A"
    -Joe

  • Error while creating Move-In - How can i Allocate Device to Installation ?

    Hello Experts,
    while creating Move-In i am getting following Error "No Devices Allocated to Installation PC0301A0 on 10.03.2011"
    How can i allocate device to installation, please advise where can i configure the settings and create Move-In without above error.
    Regards,
    Rajesh. G

    Hi Bill,
    Thanks for your responce it was helpfull, but i am trying to create Move-In with help of Contract Account. I was not able to create Move-In and i tried even with Bussiness Partner.
    When i was trying to create Move-In with the help of Business Partner Option in Move-In i am getting error as "The required index has not been created yet in the search Engine", same is happening when i am trying for Business Partner in Business Master Data. This might be the reason for Move-In creation Error, please help me where can i configure index settings for search engine for Business Partner.
    Please correct me if i am wrong.
    Thanks,
    Rajesh Gunda

  • How to refer field of DataSource in transfer rule for DSO object  in BI 7.0

    hello Gurus,
    I am new to BI 7.
    pls tellme how to refer field of DataSource in transfer rule for DSO object.
    I will assign points to proper answer.
    Praveen.

    hi praveen,
    when u create the transformation for the DSO, it asks for the source. in that you enter your datasource, then you get the datasource fields on one side and the rules in the middle and the DSO objects on the other side. whichever field of DataSource you want to refer in tranformation rule, just connect that field to the rule for the required object of the DSO.
    hope this will help you.
    regards
    vaibhav

  • How to refer to a protected class outside the enclosing package

    Hi all,
    At the page 357 of the book Java Language Specification(Second Edition), when saying about checking accessibility of Type and Method, they concern Let C be the class containing the method invovation T.m, if T is in a different package than C, and T is protected then T is accessible if and only if C is a subclass of T. I just wonder how to refer a protected type outside the package it declared.
    For example,
    package test;
    public class test {
    static protected class protectedTest {
    public void foo() {..}
    in another package
    import test.*;
    class subtest extends test.protectedTest {  <- error
    Anyone can give me an example showing an invocation directly to foo() declared in class test.protectedTest ? The invocation should appear outside package test.
    Thanks,
    Ha Chau

    The protected inner class would be accesible only within a class which extends test, where you could either use or extend it as in:
    class subtest extends test {
        private static class sub2 extends protectedTest {
               }

  • How to Refer Application item in the html region

    Hi All,
    I have region which says 'Data was refereshed on 12-Apr-2010'. This is displayed in many pages. I want to reduce the manual work of going into each and every page and editing the date.
    I have created an Application Item in shared components. Can anyone help me how to refer this application item in the html region?
    Thanks,
    Vikas

    You can use the syntax of : &<ITEM_NAME>.
    i.e. say I have an application item MY_NAME , I would then have a html region which has the following
    <p>My name is &MY_NAME.</p>see: http://download.oracle.com/docs/cd/E14373_01/appdev.32/e11838/concept.htm#BEICHBBG
    Trent

  • How to refer standard component to create customize component?

    Dear experts,
    Can any one guide me how to refer a standard component to understand the flow of the event of with in the views and there are various methods are present to change properties of a field property. How can we refer the standard code for changing our field property?
    with regards
    crmfresher.

    Hi,
        The CRM 2007 Webclient cookbook is available if you have a marketplace ID.
    Refer to this thread.
    [CRM 2007 WebClient Cookcook available!;
    Regards,
    Arun Prakash

  • How to refer a particular filed of a Table data type

    DECLARE
              CURSOR C1 IS SELECT
                                       GLUSR_USR.GLUSR_USR_ID BYER_ID,
                                       GLUSR_USR.GLUSR_USR_ADD1 BUYER_ADD
              FROM
                   GLUSR_USR
              WHERE
                   ROWNUM<=5;
    TYPE TBL_TYPE IS TABLE OF C1%ROWTYPE;
    TBL TBL_TYPE;
    BEGIN
         OPEN C1;
         FETCH C1 BULK COLLECT INTO TBL;
         CLOSE C1;
         FORALL I IN 1..TBL.COUNT
         INSERT INTO SATYA_TEMP VALUES(TBL.BYER_ID,TBL.BUYER_ADD);(How to use a particular field of TBL in this case).
         --INSERT INTO SATYA_TEMP VALUES TBL(I); (I know this)
    END;
    My question is how to refer a particular field of table type..?
    Please suggest.

    Then you have to create a record type and give all the columns inside it as given below.
    Then you can create a variable for this type and use it
    Type IS RECORD OF
    columnname1 table_name.column_name1%type,
    columnname2 table_name.column_name2%type,
    columnname3 table_name.column_name3%type,
    OR Use
    rec table%ROWTYPE;
    Edited by: Geek vishal on Aug 4, 2011 12:54 PM

Maybe you are looking for