[Info] Allow pkgbuild/makepkg to handle local files
Hi there !
As a fan of both Humble Indie Bundle and Archlinux,
I found myself confronted with makepkg incapacity to locate local files.
So i decided to write a dlagent for "file:" in makepkg.conf.
As a side note, "local:" would be a better name, but aur/worldofgoo and aur/anomaly use "file:" so be it.
It reads like this :
DLAGENTS=( ...
'file::/bin/ln -s $(zenity --file-selection --title="Select ressource %u" --file-filter $(basename %u)) %o')
It simply opens a file browser displaying only files with a name matching the expected one, and then symlinks it to the build location.
I am still usatisfied as it is possible to return a directory with a name not matching the pattern, but it seems impossible to prevent that with zenity.
I wanted to share it with the community, but there is no wiki for makepkg.conf, so I ended up here ;-)
Maybe it is even possible to include it by default (but then makepkg would depend on zenity, which is rater stupid).
Any comment/improvement would be much appreciated.
Layus
Last edited by Layus (2012-10-29 18:24:39)
Yes... I forgot that because building with yaourt is very interactive.
1) ==> Select packages (numbers) to install :
2) ==> Edit PKGBUILD ? [Y/n] (if yes edit, then same question again, until you refuse)
3) ==> Edit readme.install [Y/n]
4) ==> Start compiling <pkg> ? [Y/n]
4') select tarball with zenity
5) ==> Do you want to install <pkg> (or verify it)
6) sudo : enter password for <user> :
7) Proceed to install ? [Y/n] (pacman prompt)
So inserting one interactive step seemed meaningless but of course makepkg is supposed to be fully automatic.
So be it, this idea shall only stay here in case anyone searches for the same functionality.
Thank you for the comment, and be sure I will continue to muck a lot
Similar Messages
-
Handle LOCAL files during a web session
I'm developing an application with Forms 6i.
Please consider the following command line:
text_io.fopen('c:\tmp.txt','r')
In client/server mode the file "tmp.txt" is searched on the local computer (on
the client).
In web mode the file "tmp.txt" is searched on the server.
How can I open the "tmp.txt" file on the CLIENT computer, also in web mode?
Is there a way to handle local files during a web session?
Thank you in advance!There is a java upload bean available on OTN (somewhere in the javabean/pjc section of examplecode) ... this one lets you do what you want, but it's violating the java sandbox functionality and hence need to be certified/signed to use in a browser - which i personally think is somehwat a hassle ... also it just copies the file to the middletier - you still will need to then read it from there.
i've found that using the webdb/portal approach for file handling is much easier. if you alerady run on web then you probably anyway have installed 9ias or a webdb/portal server somewhere ... using web.show_document builtin and a very small webdb procedure (something like 10 lines of code) will allow you to easily upload a file directly into the database into an blob!
have a search through this forum ... i posted a working example a few days back (somewhen last week) on this forum!
Cheers,
Stefan -
When handling local files , should I call flush() at all?
When handling local files, I am confused by the flush() method.
A lot of tutorial pages say it's safer to call flush() before close(). After thinking for a while, I'm asking mysel: Does flush() applies only to buffered stream(right?)? If a stream is not buffered, program should not call flush(). For buffered stream, the corresponding close() method of the wrapper or stream class should invoke flush() method. If they don't , it's an implementation bug, which should be fixed. So for both buffered and unbuffered stream, no need to call flush() before close()(right?).
Then the question is: when do we need to call flush() method? If we don't need call flush() at all, why are there flush() methods in almost every stream/wrapper class?
Please let me know what is wrong, either me or something else.
Any feedback is appreciated.
Gang"The close method of FilterOutputStream calls its flush method, and then calls the close method of its underlying output stream." (Javadoc)
By inheritance this also applies to BufferedOutputStream and its descendants. However FileOutputStream does not extend FOS or BOS so it has nothing to flush(), so flushing it does nothing at any time even before closing.
In general flush() writes buffered bytes out of the JVM into the operating system. When you do have buffering, which in practice you should (e.g. new BufferedOutputStream(new FileOutputStream(...))), you should flush at points when you really want to be rid of the data. When operating on sockets you should always flush before try to read the next data from the socket. You can flush more often if you like but it is often counter-productive. -
Is there a way to allow flex to write to local files?
Hi eveybody?
I'm working at a little game in flex at the moment, and want to save the highscore and saveGames in a xml-file.
I read that this is forbidden because of the flashplayer sandbox restrictions. There's a work-around, where you save a file on a server, and download it afterwards. But my application is an offline-software, so there's no connection to a webserver.
Is there really no other way to save (local-) files??
greets, KSharedObject is your solution to store up to 100kb Data! For little data like highscore it s a good solution!
Check out these two links to learn more:
http://livedocs.adobe.com/flex/3/html/help.html?content=lsos_3.html
http://learn.adobe.com/wiki/display/Flex/Shared+Objects -
How does Time Machine handle alias files on the backup volume?
I have been trying to find some info on how Time Machine handles alias files on the backup volume, but can't find anything on that topic. Neither here in this discussion or at the Apple support pages.
My concern is if an alias file on the backup volume is backed up »as is«, or if it is resolved and the original file is backed up? The last would be most annoying as this will make the size of the backup much larger.
Even though I do not know of folders having been renamed (which will cause that folder and all its content to be backed up again) Time Machine often backs up a surprisingly large amount of data, so I suspect that alias files could be resolved.
Any info on this will be appreciated.Alias files are NOT followed, AFAIK.
For more info on how TM works, see this ars technica review.
Good luck!
Message was edited by: joshz -
Is it possible to access local files with MIDP?
Hello everyone,
I am developing a mobile application using Sun One Studio 4 ME, with MIDP 2.0.
I am preparing a record store as input data for my application. "Preparing" means: I try to convert a local text file present on my PC into a record store.
The problem I have is that I cannot find a way in MIDP to allow me to access the local file. It seems to me that MIDP only allows data access over the Web. Am I correct?
Many thanks in advance for any help or suggestion you could provide.
DumitruDid you save the messages in a Personal Folder files (PST) or as individual messages on disk? The PST and MSG file formats are proprietary and might not be accessible outside of Outlook.
If you want to move those messages to a different email program, assuming you have permission to do so, one way is to upload them to an IMAP account (Gmail allows you to connect Outlook as an IMAP client). However, that's pretty complicated, so I suggest researching it on the web, checking at least a few sites to make sure you know all the steps. -
[Desktop] Bring Back Local File Info Editing and Dates Added!
I would like to see the functionality for changing the track info for local files and the sorting of when the local file was added to come back. I used these functions a lot because I have a large amount of music saved on my computer, and I add more often. I liked the ability to change the track's info to make it easier to search for and more organized. The date added function was also essential for organizing my local files because I would have to search through thousands of files just to find the file that I just added. Since these functions were on an older version of Spotify, I don't understand why they would be omitted in the newer versions. Also, fixing the bugs that prevent local files to be synced to my phone for offline playing would be helpful as well.
Updated: 2015-07-09Hi and thanks for your contribution! A similar idea has also been suggested here:
https://community.spotify.com/t5/Live-Ideas/Desktop-Restore-Option-to-Edit-Local-File-Information/idi-p/1045037
Add your kudos and comments there please! -
ALV issue: when save list using Local File command will get run time error!
help!!!!
report list using ALV method when to save this list using Local File.
i will get GETWA_NOT_ASSIGNED run time error information.
how resolve it?
source code :
REPORT ZIFT0103.
TABLES : MARA,MARC,CDHDR,CDPOS,MAKT.
******DEVK909212****************
****利用工厂来区分不同的SERVER的FTP ADDRESS ,user ,PASSWORD
DATA: FTP_WERKS LIKE MARC-WERKS.
********定义一个RANGE用来抓取MARC的信息
RANGES:R_MATNR FOR MARA-MATNR OCCURS 0.
********定义一个INTERNAL TABLE 来抓取MARC 的信息
DATA:BEGIN OF IT_MARC OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
USERNAME TYPE CDHDR-USERNAME,
UDATE TYPE CDHDR-UDATE,
FLAG_UI TYPE C,
END OF IT_MARC.
*******定义存放北京的数据的变量
DATA : BEGIN OF FTP_BEIJING OCCURS 0 ,
MATNR(25) ,
MATNR1(25) ,
MAKTX(30) ,
END OF FTP_BEIJING .
******定义福清的数据变量
DATA : BEGIN OF FTP_FUQING OCCURS 0 ,
MATNR(25) ,
MATNR1(25) ,
MAKTX(30) ,
END OF FTP_FUQING .
*******DEVK909212*****************
DATA : BEGIN OF FTP_ITEMDOC1 OCCURS 0 ,
MATNR(25) ,
MAKTX(30) ,
END OF FTP_ITEMDOC1 .
DATA : BEGIN OF FTP_ITEMDOC OCCURS 0 ,
MATNR(25) ,
MATNR1(25) ,
MAKTX(30) ,
END OF FTP_ITEMDOC .
DATA: WA_ZMSGTA TYPE ZMSGTA ,
l_ersda like MARA-ERSDA .
***********DEVK909553********************
****用来决定执行FTP还是显示LIST**********
DATA:g_tcode_flag.
***********DEVK909553********************
Error message process ******************************
DEFINE EXPLAIN_MSG.
break soe_richard.
CALL FUNCTION 'BAPI_MESSAGE_GETDETAIL'
EXPORTING
ID = &1 "SY-MSGID
NUMBER = &2 "SY-MSGNO
LANGUAGE = SY-LANGU
TEXTFORMAT = &3
LINKPATTERN =
MESSAGE_V1 = &4 "SY-MSGV1
MESSAGE_V2 = &5 "SY-MSGV2
MESSAGE_V3 = &6 "SY-MSGV3
MESSAGE_V4 = &7 "SY-MSGV4
IMPORTING
MESSAGE = &8 "WA_ZMSGTA-MSE1
RETURN =
TABLES
TEXT =
END-OF-DEFINITION.
DEFINE ERROR_MSG_UPDATA.
CALL FUNCTION 'ZINSERT_MSG' "IN UPDATE TASK
EXPORTING
XZMSGTA = &1 "WA_ZMSGTA
EXCEPTIONS
UPDATE_ERROR = 1
OTHERS = 2.
END-OF-DEFINITION.
IF SY-TCODE = 'ZIFT103' .
g_tcode_flag = 'L'.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = '请耐心等候,系统正在抓数据'.
ENDIF.
l_ersda = sy-datum - 1 . "取前一天产生的物料号码。
DATA:BEGIN OF it_change OCCURS 0,
OBJECTID TYPE CDHDR-OBJECTID,
USERNAME TYPE CDHDR-USERNAME,
UDATE TYPE CDHDR-UDATE,
TABKEY TYPE CDPOS-TABKEY,
END OF it_change.
DATA:BEGIN OF it_cDhdr OCCURS 0,
OBJECTID type CDHDR-OBJECTID,
CHANGENR TYPE CDHDR-CHANGENR,
USERNAME TYPE CDHDR-USERNAME,
UDATE TYPE CDHDR-UDATE,
END OF it_cdhdr.
DATA:search_len TYPE I.
DATA:BEGIN of it_insert OCCURS 0,
MATNR TYPE MARA-MATNR,
WERKS TYPE MARC-WERKS,
END OF it_insert.
DATA:BEGIN OF it_MAKT OCCURS 0,
MATNR TYPE MAKT-MATNR,
MAKTX TYPE MAKT-MAKTX,
END OF it_makt.
DATA IT_MARA TYPE TABLE OF MARA WITH HEADER LINE.
DATA:BEGIN OF IT_OUT OCCURS 0,
MATNR TYPE MARA-MATNR,
WERKS TYPE MARC-WERKS,
MTART TYPE MARA-MTART,
MEINS TYPE MARA-MEINS,
MATKL TYPE MARA-MATKL,
MAKTX TYPE MAKT-MAKTX,
PSTAT TYPE MARA-PSTAT,
BRGEW TYPE MARA-BRGEW,
NTGEW TYPE MARA-NTGEW,
GEWEI TYPE MARA-GEWEI,
FERTH TYPE MARA-FERTH,
KZUMW TYPE MARA-KZUMW,
ERNAM TYPE MARA-ERNAM,
ERSDA TYPE MARA-ERSDA,
END OF IT_OUT.
*-- DECLARE DATA FOR ALV
TYPE-POOLS: slis.
DATA : g_variant LIKE disvariant,
g_save(1) TYPE c,
g_exit(1) TYPE c,
gx_variant LIKE disvariant.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE, "
gt_events TYPE slis_t_event,
gt_list_top_of_page TYPE slis_t_listheader,
gs_print TYPE slis_print_alv,
gs_layout TYPE slis_layout_alv .
******只能抓出系统有做更改的数据***************
******而第一次INSERT MARA的数据抓不出来********
START-OF-SELECTION.
SELECT AOBJECTID AUSERNAME AUDATE BTABKEY
INTO TABLE it_change
FROM ( CDPOS AS B INNER JOIN CDHDR AS A ON
AOBJECTCLAS = BOBJECTCLAS AND
AOBJECTID = BOBJECTID AND
ACHANGENR = BCHANGENR )
WHERE A~OBJECTCLAS = 'MATERIAL'
AND A~UDATE = l_ersda
AND B~TABNAME = 'MARC'
AND B~CHNGIND = 'I'.
LOOP AT it_change.
search_len = STRLEN( it_change-TABKEY ).
search_len = search_len - 4.
IF search_len > 0.
IT_MARC-WERKS = it_change-TABKEY+search_len(4).
ENDIF.
IT_MARC-MATNR = it_change-objectid+0(18).
IT_MARC-USERNAME = it_change-username.
IT_MARC-UDATE = It_change-udate.
IT_MARC-FLAG_UI = 'U'.
APPEND IT_MARC.
CLEAR IT_MARC.
CLEAR R_MATNR.
R_MATNR-SIGN = 'I'.
R_MATNR-OPTION = 'EQ'.
R_MATNR-LOW = IT_MARC-MATNR.
APPEND R_MATNR.
ENDLOOP.
****CDPOS is Cluster TABLE 所以没有办法用INNER JOIN******
SELECT OBJECTID CHANGENR USERNAME UDATE
INTO TABLE it_cdhdr
FROM CDHDR
WHERE OBJECTCLAS = 'MATERIAL'
AND UDATE = l_ersda.
AND TCODE = 'MM02'.
LOOP AT IT_cdhdr.
SELECT * FROM CDPOS
WHERE OBJECTCLAS = 'MATERIAL'
AND OBJECTID = IT_CDHDR-OBJECTID
AND CHANGENR = IT_CDHDR-CHANGENR
AND TABNAME = 'MARC'
AND CHNGIND = 'I'.
search_len = STRLEN( CDPOS-TABKEY ).
search_len = search_len - 4.
IF search_len > 0.
IT_MARC-WERKS = CDPOS-TABKEY+search_len(4).
ENDIF.
IT_MARC-MATNR = IT_cdhdr-objectid+0(18).
IT_MARC-USERNAME = IT_cdhdr-username.
IT_MARC-UDATE = IT_cdhdr-udate.
IT_MARC-FLAG_UI = 'U'.
APPEND IT_MARC.
CLEAR IT_MARC.
CLEAR R_MATNR.
R_MATNR-SIGN = 'I'.
R_MATNR-OPTION = 'EQ'.
R_MATNR-LOW = IT_MARC-MATNR.
APPEND R_MATNR.
CLEAR IT_MARC.
ENDSELECT.
ENDLOOP.
IF g_tcode_flag = 'L'.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 20
TEXT = '处理好当天CHANGE的数据'.
ENDIF.
*******抓当天做了INSERT的数据*************
*******不需要***********************
SELECT BMATNR BWERKS INTO TABLE IT_INSERT
FROM MARC AS B JOIN MARA AS A
ON AMATNR = BMATNR
WHERE A~ERSDA = l_ersda.
LOOP AT IT_INSERT.
IT_MARC-MATNR = IT_INSERT-MATNR.
IT_MARC-WERKS = IT_INSERT-WERKS.
IT_MARC-FLAG_UI = 'I'.
APPEND IT_MARC.
CLEAR IT_MARC.
CLEAR R_MATNR.
R_MATNR-SIGN = 'I'.
R_MATNR-OPTION = 'EQ'.
R_MATNR-LOW = IT_MARC-MATNR.
APPEND R_MATNR.
ENDLOOP.
IF g_tcode_flag = 'L'.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 40
TEXT = '处理好当天INSERT的数据'.
ENDIF.
IF g_tcode_flag = 'L'.
PERFORM get_MAKTX.
PERFORM get_mara.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 100
TEXT = '处理好数据,并开始显示数据'.
PERFORM do_data.
PERFORM display_alv.
ELSE.
PERFORM get_MAKTX.
PERFORM do_ftp.
ENDIF.
*& Form get_marktx
text
FORM get_maktx.
SELECT MATNR MAKTX INTO TABLE IT_MAKT FROM MAKT
WHERE MATNR IN R_MATNR AND SPRAS = '1'.
ENDFORM. "get_marktx
*& Form get_mara
text
FORM get_mara.
SELECT * INTO TABLE it_mara FROM MARA
WHERE MATNR IN R_MATNR.
ENDFORM. "get_mara
*& Form do_data
text
FORM do_data.
SORT IT_MARC BY MATNR WERKS.
DELETE ADJACENT DUPLICATES FROM IT_MARC COMPARING MATNR WERKS.
LOOP AT IT_MARC.
CLEAR IT_MAKT.
CLEAR IT_MARA.
READ TABLE IT_MAKT WITH KEY MATNR = IT_MARC-MATNR.
READ TABLE IT_MARA WITH KEY MATNR = IT_MARC-MATNR.
MOVE-CORRESPONDING IT_MARA TO IT_OUT.
IT_OUT-MAKTX = IT_MAKT-MAKTX.
IT_OUT-WERKS = IT_MARC-WERKS.
IF IT_MARC-FLAG_UI = 'U'.
IT_OUT-ERNAM = IT_MARC-USERNAME.
ENDIF.
APPEND IT_OUT.
CLEAR IT_OUT.
ENDLOOP.
ENDFORM. "do_data
*SELECT AMATNR BMAKTX INTO CORRESPONDING
*FIELDS OF FTP_ITEMDOC1 FROM MARA AS A JOIN MAKT AS B
*ON AMATNR = BMATNR WHERE A~ERSDA = l_ersda
*AND B~SPRAS = '1' . "代表为中文说明。
APPEND FTP_ITEMDOC1.
*******DEVK909212****************
*******添加RANGE*****************
CLEAR R_MATNR.
R_MATNR-SIGN = 'I'.
R_MATNR-OPTION = 'EQ'.
R_MATNR-LOW = FTP_ITEMDOC1-MATNR.
APPEND R_MATNR.
CLEAR FTP_ITEMDOC1.
*******DEVK909212****************
*ENDSELECT.
*******DEVK909212****************
****get WERKS information from MARC*******
*SELECT MATNR WERKS INTO TABLE IT_MARC
*FROM MARC
*WHERE MATNR IN R_MATNR.
*******DEVK909212****************
******DEVK909212****************
**MARK**************************
*LOOP AT FTP_ITEMDOC1 .
MOVE : FTP_ITEMDOC1-MATNR TO FTP_ITEMDOC-MATNR,
FTP_ITEMDOC1-MATNR TO FTP_ITEMDOC-MATNR1,
FTP_ITEMDOC1-MAKTX TO FTP_ITEMDOC-MAKTX.
APPEND FTP_ITEMDOC.
CLEAR FTP_ITEMDOC.
*ENDLOOP.
******DEVK909212****************
******DEVK909212***********************************
**根据IT_MARC中信息,往北京和福清的TABLE写数据*****
FORM do_ftp.
LOOP AT IT_MARC.
***福清的
IF IT_MARC-WERKS = '1010' OR IT_MARC-WERKS = '1020'
OR IT_MARC-WERKS = '1023' .
READ TABLE FTP_ITEMDOC1 WITH KEY MATNR = IT_MARC-MATNR.
MOVE : FTP_ITEMDOC1-MATNR TO FTP_FUQING-MATNR,
FTP_ITEMDOC1-MATNR TO FTP_FUQING-MATNR1,
FTP_ITEMDOC1-MAKTX TO FTP_FUQING-MAKTX.
CLEAR IT_MAKT.
READ TABLE IT_MAKT WITH KEY = IT_MARC-MATNR.
MOVE : IT_MARC-MATNR TO FTP_FUQING-MATNR,
IT_MARC-MATNR TO FTP_FUQING-MATNR1,
IT_MAKT-MAKTX TO FTP_FUQING-MAKTX.
APPEND FTP_FUQING.
CLEAR FTP_FUQING.
ENDIF.
***北京的
IF IT_MARC-WERKS = '1041' OR IT_MARC-WERKS = '1042'.
READ TABLE FTP_ITEMDOC1 WITH KEY MATNR = IT_MARC-MATNR.
MOVE : FTP_ITEMDOC1-MATNR TO FTP_BEIJING-MATNR,
FTP_ITEMDOC1-MATNR TO FTP_BEIJING-MATNR1,
FTP_ITEMDOC1-MAKTX TO FTP_BEIJING-MAKTX.
CLEAR IT_MAKT.
READ TABLE IT_MAKT WITH KEY = IT_MARC-MATNR.
MOVE : IT_MARC-MATNR TO FTP_BEIJING-MATNR,
IT_MARC-MATNR TO FTP_BEIJING-MATNR1,
IT_MAKT-MAKTX TO FTP_BEIJING-MAKTX.
APPEND FTP_BEIJING.
CLEAR FTP_BEIJING.
ENDIF.
ENDLOOP.
****清楚重复的数据**********
SORT FTP_FUQING.
DELETE ADJACENT DUPLICATES FROM FTP_FUQING.
SORT FTP_BEIJING.
DELETE ADJACENT DUPLICATES FROM FTP_BEIJING.
***传送数据********
REFRESH FTP_ITEMDOC.
FTP_ITEMDOC[] = FTP_FUQING[].
FTP_WERKS = '1010'.
PERFORM ftp_work.
REFRESH FTP_ITEMDOC.
FTP_ITEMDOC[] = FTP_BEIJING[].
FTP_WERKS = '1041'.
PERFORM ftp_work.
******DEVK909212***********************************
ENDFORM. "do_ftp
*& Form ftp_work
把以前FTP的工作做一个FORM
*******DEVK909212**************************
FORM ftp_work.
*******DEVK909212**************************
CHECK FTP_ITEMDOC[] IS NOT INITIAL.
FTP function *****************************************************
DATA : HDL TYPE I,
L_SLEN TYPE I ,
ERROR,
KEY TYPE I VALUE 26101957,
DEST TYPE RFCDES-RFCDEST VALUE 'SAPFTPA'.
DATA: FTP_RESULT TYPE TABLE OF TEXT.
DATA: P_FILE TYPE RLGRAP-FILENAME.
DATA: L_USER(16) TYPE C VALUE 'SFIS',
L_PWD(16) TYPE C VALUE 'SFIS',
L_HOST(16) TYPE C VALUE '172.16.31.17'.
*******DEVK909212**************************
*****根据不同的工厂来抓FTP的信息
CALL FUNCTION 'Z_FTP_SFIS'
EXPORTING
BLART = 'S'
WERKS = FTP_WERKS
IMPORTING
HOST = L_HOST
USER1 = L_USER
PASS1 = L_PWD.
*******DEVK909212**************************
CONCATENATE l_ersda '.KP' INTO P_FILE.
SET EXTENDED CHECK OFF.
ERROR = 0.
CHECK HDL IS INITIAL.
Connect to server
L_SLEN = STRLEN( L_PWD ).
CALL FUNCTION 'HTTP_SCRAMBLE'
EXPORTING
SOURCE = L_PWD
SOURCELEN = L_SLEN
KEY = KEY
IMPORTING
DESTINATION = L_PWD.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
TEXT = 'Connect to FTP Server'.
CALL FUNCTION 'FTP_CONNECT'
EXPORTING
USER = L_USER
PASSWORD = L_PWD
HOST = L_HOST
RFC_DESTINATION = DEST
IMPORTING
HANDLE = HDL
EXCEPTIONS
NOT_CONNECTED = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MOVE: 'B' TO WA_ZMSGTA-BLART,
l_ersda TO WA_ZMSGTA-REFNUMBER,
SY-MSGTY TO WA_ZMSGTA-MSGTY,
'MARA' TO WA_ZMSGTA-TBMA_VAL.
EXPLAIN_MSG SY-MSGID SY-MSGNO ' ' SY-MSGV1 SY-MSGV2 SY-MSGV3
SY-MSGV4 WA_ZMSGTA-MSE1.
ERROR_MSG_UPDATA WA_ZMSGTA.
EXIT.
ENDIF.
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
HANDLE = HDL
COMMAND = 'ascii'
TABLES
DATA = FTP_RESULT
EXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3.
IF SY-SUBRC <> 0.
EXPLAIN_MSG SY-MSGID SY-MSGNO ' ' SY-MSGV1 SY-MSGV2 SY-MSGV3
SY-MSGV4 WA_ZMSGTA-MSE1.
MOVE: 'B' TO WA_ZMSGTA-BLART,
l_ersda TO WA_ZMSGTA-REFNUMBER,
SY-MSGTY TO WA_ZMSGTA-MSGTY,
'MARA' TO WA_ZMSGTA-TBMA_VAL.
ERROR_MSG_UPDATA WA_ZMSGTA.
EXIT.
ENDIF.
CALL FUNCTION 'FTP_R3_TO_SERVER'
EXPORTING
HANDLE = HDL
FNAME = P_FILE
CHARACTER_MODE = 'X'
TABLES
TEXT = FTP_ITEMDOC
EXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
EXPLAIN_MSG SY-MSGID SY-MSGNO ' ' SY-MSGV1 SY-MSGV2 SY-MSGV3
SY-MSGV4 WA_ZMSGTA-MSE1.
MOVE: 'B' TO WA_ZMSGTA-BLART,
l_ersda TO WA_ZMSGTA-REFNUMBER,
SY-MSGTY TO WA_ZMSGTA-MSGTY,
'MARA' TO WA_ZMSGTA-TBMA_VAL.
ERROR_MSG_UPDATA WA_ZMSGTA.
EXIT.
ENDIF.
*******DEVK909212**************************
*******CLOSE FTP******************
CHECK NOT HDL IS INITIAL.
CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
HANDLE = HDL.
CALL FUNCTION 'RFC_CONNECTION_CLOSE'
EXPORTING
DESTINATION = DEST
EXCEPTIONS
OTHERS = 1.
CLEAR HDL.
ENDFORM. "ftp_work
*******DEVK909212**************************
FORM DISPLAY_ALV .
*-- PREPARE ALV DATA
PERFORM EVENTTAB_BUILD USING GT_EVENTS[].
PERFORM COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
*-- LAYOUT SETTING
PERFORM PREPARE_ALV_FIELD USING GT_FIELDCAT[].
*-- ALV DISPLAY
PERFORM CALL_REUSE_ALV_GRID_DISPLAY.
ENDFORM. " display_alv
*& Form eventtab_build
text
-->P_GT_EVENTS[] text
FORM EVENTTAB_BUILD USING PT_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = PT_EVENTS.
READ TABLE PT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
LS_EVENT-FORM = 'TOP_OF_PAGE'.
MODIFY PT_EVENTS FROM LS_EVENT INDEX SY-TABIX.
ENDIF.
ENDFORM. " eventtab_build
*& Form comment_build
text
-->P_GT_LIST_TOP_OF_PAGE[] text
FORM COMMENT_BUILD USING PT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: LS_LINE TYPE SLIS_LISTHEADER,
L_DATE(30),
l_v_BWKEY like T001W-BWKEY, "Valuation area
l_v_BUKRS like T001K-BUKRS. "Firm/Company
Listenerschrift: Typ H
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-KEY: not used for this type
select single BWKEY
into l_v_BWKEY
from t001w
where WERKS IN s_WERKS.
select single BUKRS
into l_v_BUKRS
from t001k
where BWKEY = l_v_BWKEY.
SELECT SINGLE butxt INTO LS_LINE-INFO
FROM t001
WHERE bukrs = l_v_BUKRS.
APPEND LS_LINE TO PT_TOP_OF_PAGE.
Kopfinfo: Typ S
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = '报表名称:'.
LS_LINE-INFO = SY-TITLE.
APPEND LS_LINE TO PT_TOP_OF_PAGE.
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = '打印日期:'.
WRITE SY-DATUM TO LS_LINE-INFO.
ls_line-info = sy-datum.
APPEND LS_LINE TO PT_TOP_OF_PAGE.
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = '打印時間:'.
WRITE SY-UZEIT TO LS_LINE-INFO.
ls_line-info = sy-uzeit.
APPEND LS_LINE TO PT_TOP_OF_PAGE.
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = '使用者:'.
LS_LINE-INFO = SY-UNAME.
APPEND LS_LINE TO PT_TOP_OF_PAGE.
ENDFORM. " comment_build
*& Form prepare_alv_field
text
-->P_GT_FIELDCAT[] text
FORM PREPARE_ALV_FIELD USING P_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_LINE TYPE SLIS_FIELDCAT_ALV.
*-- DEFINE MARCO
DEFINE APPEND_ALV_FIELD.
CLEAR LS_LINE.
LS_LINE-FIELDNAME = &1.
LS_LINE-TABNAME = &2.
LS_LINE-REPTEXT_DDIC = &3.
LS_LINE-SELTEXT_L = &3.
LS_LINE-SELTEXT_M = &3.
LS_LINE-SELTEXT_S = &3.
LS_LINE-QFIELDNAME = &4.
LS_LINE-QTABNAME = &5.
LS_LINE-NO_OUT = &6.
LS_LINE-NO_ZERO = &7.
LS_LINE-OUTPUTLEN = &8.
APPEND LS_LINE TO P_FIELDCAT.
END-OF-DEFINITION.
APPEND_ALV_FIELD: 'MATNR' 'IT_OUT' '料号'
'O' 'X' ''.
APPEND_ALV_FIELD: 'WERKS' 'IT_OUT' '工厂'
'O' 'X' ''.
APPEND_ALV_FIELD: 'MTART' 'IT_OUT' 'MTyp'
'O' 'X' ''.
APPEND_ALV_FIELD: 'MEINS' 'IT_OUT' 'BUn'
'O' 'X' ''.
APPEND_ALV_FIELD: 'MATKL' 'IT_OUT' '物料组\分群码'
'O' 'X' ''.
APPEND_ALV_FIELD: 'MATKX' 'IT_OUT' '物料描述'
'O' 'X' ''.
APPEND_ALV_FIELD: 'PSTAT' 'IT_OUT' '维护状态'
'O' 'X' ''.
APPEND_ALV_FIELD: 'BRGEW' 'IT_OUT' '毛重'
'O' 'X' ''.
APPEND_ALV_FIELD: 'NTGEW' 'IT_OUT' '净重'
'O' 'X' ''.
APPEND_ALV_FIELD: 'GEWEI' 'IT_OUT' 'WUn'
'O' 'X' ''.
APPEND_ALV_FIELD: 'FERTH' 'IT_OUT' '对外机种名'
'O' 'X' ''.
APPEND_ALV_FIELD: 'KZUMW' 'IT_OUT' '高关税标识'
'O' 'X' ''.
APPEND_ALV_FIELD: 'ERNAM' 'IT_OUT' '创建者'
'O' 'X' ''.
APPEND_ALV_FIELD: 'ERSDA' 'IT_OUT' '创建日期'
'O' 'X' ''.
ENDFORM. " prepare_alv_field
*& Form call_reuse_alv_grid_display
text
--> p1 text
<-- p2 text
FORM CALL_REUSE_ALV_GRID_DISPLAY .
gs_layout-f2code = 'DISPLAY'.
gs_print-no_print_listinfos = 'X'.
gs_layout-colwidth_optimize = 'X'. "列宽度自动根据内容优化
gs_layout-f2code = '&ETA'. "double check弹出详细信息
gs_layout-zebra = 'X'. "清单条纹显示
gs_layout-no_vline = ''. "是否显示列间隔线
gs_layout-box_fieldname = ''. "是否显示checkbox
gs_layout-confirmation_prompt = ''. "推出清单是否提示
gs_layout-detail_titlebar = '详细信息'."详细清单的标题
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PF_STATUS_SET = 'ALV_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'ALV_USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = GT_LIST_TOP_OF_PAGE[]
IT_FIELDCAT = GT_FIELDCAT[]
IT_EVENTS = GT_EVENTS[]
I_STRUCTURE_NAME = 'IT_OUT'
I_SAVE = 'A'
IS_LAYOUT = GS_LAYOUT
IS_PRINT = GS_PRINT
TABLES
T_OUTTAB = IT_OUT
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " call_reuse_alv_grid_display
*& Form PREPARE_ALV_FIELD
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
ENDFORM. "TOP_OF_PAGEHi,
Please check your field catalog and refer field names once again.
Check spelling, or Check strucutre properly.
There are something wrong in your catalog definition
aRs. -
How to make applet access a local file in intranet?
I want to have my applet read from and write to a file on the user's PC. This is our company's intranet and security is not a concern so we don't want to go through the complicated certificate procedure.
Our application server is weblogic. The jsp containing the applet can be accessed at http://10.150.20.100:7001/slfweb/jsp/Home.jsp. According to Core Java (Volume II), I put the following paragragh into java.policy file under jre/1.3.1/lib/security dir of each user's PC, hoping this will grant the permission for the applet to read/write a file in tmp dir:
grant codeBase "10.150.20.100:7001/slfpweb/" {
permission java.io.FilePermission "C:\\tmp\\*", "read, write";
However, it does not work. Can someone tell me what is the simplest way to allow an applet to read/write a local file in intranet system?
Thank you very much!
MingI guess the reason you're still running into permission problem is that you have not addressed the required settings in the browser(s) that you're using.
On everyone's PC, the following must be done:
1) on IE, click Tools | Internet Options | Security . Under Trusted Sites, add your server's IP address. Under Local Intranet, reset it to Medium or Low and check to see if any of the relavant settings require attention (note that a Java Applet is equivalent to an ActiveX object in IE) . Finally, go into Java Custom Settings and make the appropriate changes.
2) on NN, to access local files, you can enable Codebase Principals by adding the following line to the user's pref.js file (look for it where NN is installed -- usually under C:\Program Files):
user_pref("signed.applets.codebase_principal_support", true);
I have also read Core Java and found that the authors have a way of over-simplifying everything and failure to adequately describe other factors that may potentially affect what they're describing.
V.V.
PS: Signing an applet with a self-signed certificate is not all that difficult. Here is a link to my file i/o applet that contains pertinent info that you might want to look into:
http://home.attbi.com/~aokabc/FileIO/FileIOdemo.htm -
Handling source files for multiple versions
Ok, I've looked around on the web and multiple discussions and have yet to find an answer. We currently have two authors working on the same help project that we have handled relatively successfully under RoboSource. Our development environment has changed so that we need to be able to support multiple versions of the help at once ie- release branch vs development branch that we want documented but it is not yet slated to be in the release.
I've looked at the help for RoboSource and there is an idea of branching but not much help on how this is done or if it really maintains two sets of the files, etc. I've also seen some postings on the forum for this that have gone unanswered. Makes me suspect that perhaps RoboSource doesn't really support multiple versions of help source files. I would be happy to admit that I'm wrong here.
Another option to solve our challenge is by committing our source files to the development source system, SVN. I've noticed some threads discussing this. I'm unsure from reading these posts if RoboHelp alerts you when you are about to modify a file, such fpj or hhk, that is being used by someone else like RoboSource does. Since we still have two authors playing in the same help project it would be most efficient if it would notify us before letting us write over one another's work.
Can anyone shed some light on:
1) does RoboSource really support multiple versions of the help source files and how it is done?
2) does RoboHelp notice when a file is locked in SVN and notify the other author to keep hands off until it is committed again?
3) is there somewhere better for me to research this?
Thanks you for any assistance you can provide,
NitaWe're using RSC 3.1 with RH 8 and with RH X5, and we've found that this is actually a two-step process:
Branching is the method for copying a snapshot of a folder (to establish two branches of the same source).
Reconciling (AKA forward/back patching) is the method for synchronizing edits between branches (or not, as the case may be).
For example, a "V12.3" branch of the "main" source has been prepared for one customer's specific needs. All edits to "main" will be forward patched to "V12.3," but edits to specific areas of "V12.3" will not be back patched to "main."
Tim, my boss, prepared the tutorials below, as much for himself as for us, and I have only stripped the screenshots to protect our intellectual property. Note also that we reference two publish locations, one for internal reviewing, and one for Release Engineering to include in our nightly product builds. Your environment might only have a single publish destination. Note also that the output files are never added to RSC.
Pay special attention to your folder naming process before you start, by anticipating any potential future branching needs. Folder renaming after the fact can be problematic in RH and RSC.
Good luck,
Leon
===================================
Branching Projects in RoboSource 3.1
Since the Help for RoboSource and Robohelp lack a proper explanation for branching and updating configuration files to support proper branching, this document has been created to assist in creating future branches.
Creating New Local Directories
Individuals must create new local path directories on their systems. We use the following conventions:
Ex. C:\902_imsmerge\projects (source folder)
Ex. C:\902_imsgenerate\mergedProjects (output folder)
Create New Server Directories
New server directories need to be created in two locations for holding the output files.
One is for the Robohelp output that gets put in the nightly .war file and checked into Perforce.
The other is in the wwwroot of our IIS server for our doc web site.
They are defined as follows:
\\docsql01\Documentation\RoboHelp\9.0.3\imsgenerate
\\docsql01\Inetpub\wwwroot\help_sys\9.0.3
Create new directories with the correct branch number.
Using RoboSource View Manager to Create a Branch
You use the View Manager to create a new branch. In RoboSource 3.1, a branch is just a different type of view.
Assume the version_903 branch has already been created. To create a new branch, click the Create button and name the new branch (version_910), leaving a blank root folder.
Click on Set Root to define the root folder for the new branch.
Select the root for the branch and click OK.
Select the view (branch) and click Properties. In the Properties window, select Branch as the Type, then click Close.
In the View Manager, check the check box to enable the view.
Setting the Local Path for the New Branch
Select the new branch and right-click.
Type in or browse to the correct local path, check the Apply Recursively box, click Apply. Close the Properties window.
Editing .xpj Files
The .xpj files in the new branch need to be edited to point to the new branch. THIS IS VERY IMPORTANT. IF NOT DONE ROBOHELP WILL CHECK IN CHANGES TO BOTH THE BRANCH AND THE ROOT.
One line in each project’s .xpj needs to change. See below.
This value must match the branch the project lives in. In our above new branch example this would be changes to %version_910.
In a merged project, you can change all these at once with the FAR tool.
Edit the .ssl and .sss files
These files need to be edited to redefine the generating and publishing paths. Note that this can also be accomplished with the FAR tool, or by having each writer do it through the GUI.
ssl Files
The .ssl files contain the data for the generate path. Although there might be seven .ssl files for each project, you only need to edit the ones for your Primary Layout and one or two others that you might also use.
Make sure the generate path is defined correctly.
sss Files
The .sss file defines the publishing paths. This edit can also be done through the GUI if necessary.
====================================
Forward and Back Patching in RoboSource
This document describes the procedure of forward or back patching files (.htm or .gif) between branches in the RoboSource system. The RoboSource product uses a feature called Reconcile Changes to accomplish patching between branches.
Example Scenario
Throughout this document we will use a real life example from the refwindows project.
We have edited the version 9.0.3 security_master_folder.htm file in RoboHelp.
Now, we need to backpatch it to version 9.0.2.
Selecting Folders or Files to Reconcile
You can select either:
A single file for reconciliation
The source folder, or
The destination folder
If you have just one file to reconcile, you will probably want to use the single file method. If you have several files to reconcile, you will need to use the folder method.
Working from the Source Folder
Select the source folder (folder that contains the updated file) in source control. In our case, %version_903/refwindows.
Select Reconcile Changes … from the Action menu. This opens the Reconcile window.
Select the appropriate option in the Reconcile window.
In our example we select the first option to reconcile from %version_903 because that is where our updated file is. Make sure the correct project is selected in the drop-down list. ($/version_902/refwindows).
Other Options
Reconcile changes made in another branch *into %verison_903/refwindows. This is the option you would use if you have an updated file in another branch that you want to put in 903.
Reconcile changes made locally (in c:\903_imsmerge\projects\refwindows) and %version_903/refwindows. We would most likely never use this option.
Reconcile changes made in another database *into* this database. Do not use.
None of the above, let me select what to Reconcile. This one sounds like it would be a good option, but it gets even more complicated.
Wildcard Filter. Use this to display only certain file types. For example, *.htm;*.gif;*.jpg would filter on those file types.
Click OK to open the Difference Reconciliator window.
Notice that this window shows all files in the project that have differences such as the .ssl and .xpj files.
IMPORTANT: NEVER reconcile these files, they are supposed to be different.
You can prevent these files from displaying by using the Wildcard Filter discussed above.
Select the appropriate file (security_master_folder.htm). This window will allow you to replace the file in the version_902 project unfortunately, it will also allow you to replace the updated file with the older one. Be Careful Here.
You can also View Differences from this window by clicking the View Differences link.
Click the Replace button in the $/version_902 pane.
You will get a confirmation dialog. Before clicking OK, take the time to read the question. This is your opportunity to catch potential mistakes!
You will then get the Reconcile Checkout dialog.
Be sure Perform the action directly on the Server is checked, click OK.
You see that the Difference Reconciliator window now indicates No changes to merge from %version_903/rewindows/security_master_folder.htm in the $version_902 pane.
Close the window.
Check the Destination Folder
In the source control window go to the destination branch and check the project. You can see in this shot that the security_master_folder.htm file now shows the date it was replaced, and that the server version is now different from your local version.
Working from the Destination Folder
If you had chosen the destination folder and select Reconcile Changes, the same window would have opened but with different options.
Here you would have selected the second option to reconcile into $/version_902.
You can do it either way, just pay careful attention to the options. The rest of the process is the same. -
Makepkg whont "install" the files to the pkg/ dir
hi
this is my first PKGBUILD i made so far, but it whont work.
my problem is that makepkg whont copy the files to the pkg dir so it can make the package, instead it trys to install the files directly to the destination where they are supposed to be installed with the package manager.
# Contributor: Wesley <[email protected]>
pkgname=ufoai-svn
pkgver=11224
pkgrel=1
pkgdesc="UFO: Alien Invasion is a strategy game featuring tactical combat"
arch=('i686' 'x86_64')
url="http://ufoai.ninex.info"
license=('GPL')
depends=(libgl sdl_ttf)
conflicts=('ufoai')
makedepends=('subversion')
source=()
md5sums=()
_svntrunk=https://ufoai.svn.sourceforge.net/svnroot/ufoai/ufoai/trunk
_svnmod=trunk
_langs=()
build() {
cd $startdir/src
if [ -d $_svnmod/.svn ]; then
(cd $_svnmod && svn up -r $pkgver)
else
svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
fi
msg "SVN checkout done or server timeout"
msg "Starting make..."
cd $_svnmod
./configure --prefix=/usr
make || return 1
make lang
make maps
cd base
./archives.sh
cd ..
make DESTDIR=$startdir/pkg/ install
cp -t $startdir/pkg/usr/share/ufoai/base/ base/*.pk3 base/*.cfg base/*.txt
"DESTDIR" whont works for me at all.
if i make
./configure --prefix=$startdir/pkg/usr
it trys to read the pk3 files from thet directory AFTER installing, so it whont work if i delete the pkg and src dir.thank you for that hint.
i THINK i found why it is thatway(just wana state here that i am still an absolute newb in making PKGBUILD's my own).
there are some entrys in the MakeFile that describe where to put what (afaik because of what i gave ./configure as parameters?)
everything except the DATADIR is set to ${prefix}/bla or ${exec_prefix}/bla.
but DATADIR needs an absolute path as target to install probably or it gets just ignored, so its, whatever i make either DATADIR=/usr/share/ufoai(where i trys to install it there instead of throwing it into the pkg dir) or DATADIR=/home/bla/pkg/usr/share/ufoai(where he trys to look for that files even after installation.)
since i dont solved the problem with your hint i postet the makefile into a pastebin, maybe u can tell how to actually work around this.
http://pastebin.com/m3da70e68 -
I'm writing a PKGBUILD that will simply place a script in /etc/cron.hourly but I also need to have both /etc/rc.local and /etc/rc.local.shutdown run the script (e.g./etc/cron.d/sync-monitorix.sh). I don't know how to go about modifying these two files via the PKGBUILD. Suggestions are welcomed.
pkgname=monitorix-tmpfs
pkgver=1.0
pkgrel=1
pkgdesc='Simple script to allow monitorix to run in tmpfs and sync data back to your hdd.'
arch=(any)
license=(GPL)
depends=(rsync monitorix)
source=(sync-monitorix.sh)
md5sums=(64573a0f7452b2f68cbd69ba86106d6b)
build() {
install -D sync-monitorix.sh $pkgdir/etc/cron.hourly/sync-monitorix.sh
Last edited by graysky (2010-01-30 01:23:19)I wouldn't want a PKGBUILD to do that to my /etc/rc.local and /etc/rc.local.shutdown files. Those are my files and PKGBUILDs shouldn't be tampering with them. You'd have to parse them to know where to put your stuff. I don't know if you're even entitled to assume they're bash files (I forget right now whether they're sourced or executed---if the latter they needn't be bash files, right? though I grant they're overwhelmingly likely to be so).
Are you sure you can't do what you want with an /etc/rc.d/your_daemon? If the timing of when daemons start and stop isn't quite right, have a look at the "hooks" in /etc/rc.d/functions. I'm not sure which version of initscripts this shows up in---perhaps it's already in [core], perhaps still in [testing], perhaps only in the initscripts git repository. I haven't kept track. But it's very nice functionality for registering functions to be run at other times than the etc/rc.d/daemons run.
Or, just write a message on install telling users what they need to do to their /etc/rc.local files. And put it in the manpage/docs. -
Hi,
i have a local, personal repository with following structure
├── abs
│ ├── ...
│ └── <reponame>
│ ├── ...
│ └── <pkgname>
│ ├── PKGBUILD
│ └── ...
├── build
│ ├── ...
│ └── <reponame>
│ ├── ...
│ └── <pkgname>
│ ├── src
│ ├── pkg
│ └── ...
└── pkg
├── ...
└── <reponame>
├── *.pkg.{xz,gz,...}
└── <reponame>.db.tar.gz
I'm building packages by executing this single command within the build/<reponame>/<pkgname> directory:
export PKGDEST=<path-to-'pkg'>/<reponame> && makepkg -p <path-to-'abs'>/<path-to-'buildscript'>
This doesn't clutter my abs directory where the build instruction files are located, the build process itself is done in its own directory, and the output package is stored in a directory known by pacman. Everything without the need of manually copying any files as opposed to the ABS wiki page.
The Problem:
If the PKGBUILD file contains an option about an install script which is located in the same directory as the PKGBUILD, makepkg complains about missing install files. I've already tried to add the install script in the source option array, but this doesn't work too. Does the -p option only observe the buildscript?
Is there a better way to do a three step 'build instruction'-'build'-'package destination' process, without manually copying PKGBUILD and install files?Ok, i'll stick with rsyncing the 'abs' tree to the 'build' tree so far. The BUILDDIR environment variable sounds quite useful. If i undestand this variable correctly by its name, i could make a
export PKGDEST=<path-to-'pkg'>/<reponame> && export BUILDDIR=<path-to-'build'>/<reponame>/<pkgname> && makepkg
inside the 'abs' tree. To ease the command i could also make a special makepkg.conf for this repository, so i don't have to export these environment variables every time. -
Using Local File instead of SQL Databas
Some time ago I developed an application that could perform certain operations with the help of an SQL Database. It was just some few simple functions such as adding/removing and fetching data from the server.
The thing is that the one that I was delivering to changed his mind and now doesn�t want an SQL Server involved anymore but instead a local file. I structured the application well so I can easily change it because I have a special class handling just the SQL Connection, as good OO suggests.
The thing that I was wondering about is if there is any magical class or package I could use.
What I have come to so for is that I would just write the file to the drive containing the data in some effective way and then when the application starts just read the data files into the memory.
I am thankful any helpCheck out hsql on the sourceforge site. It's a java database engine that can be used to query local files as you say. JDBC compliant, so you can just plug in a different driver. I've never used it, though, so that's all the help I'll be. :-)
-
How to allow the user to upload a file from their desktop to MII Server?
Hi,
Is there a way for the user to specify a file on their local computer to upload to the MII server for processing? We have a method that works for uploading from a shared network drive, but now the need/desire is to allow the user to upload a file from their desktop.
Ideally, this would be a file browser that the user would click on to browse their local desktop and select the file and click "Upload" but not sure what's possible?
This is using 12.1 SP4.
Thanks for the help.
Kerby[Uploading Documents|Uploading Documents]
Maybe you are looking for
-
Changing Filter Values from Macro in BW 7.0
Hello, in my Workbook I need to change Filter Values of some queries in runtime. The first thing I found was BEx API reference for BW 3.5, but I wasn't able to make these functions work. After all I found this code: Dim BEx As Object Set BEx
-
Hai guys, i am beginner in Webdynpro.i have 2 basic questions in abap webdynpro. 1)after a view is designed,while generating the application,we usualy get a web applicaiton.and use the url to access the developed screen. can we,alternatively,generat
-
About G/L Account debit and credit
Hi SAP Gurus, Please explain Ex. When i am buying the material from vendor having net value 10000.Which includes Excise Duty, Cess, Freight, P&F Charges. Now the invoice is posted and it was verified against PO. No descrepencies found in between
-
Hi everybody, Can you please explain me this strange behavior of NVL function: SQL> select nvl(10000,'none') from dual; select nvl(10000,'none') from dual ERROR at line 1: ORA-01722: invalid number SQL> select nvl('none',10000) from dual; NVL( none C
-
CS4 Crashes Regularly when opening a previously made document
All of my recently installed SC4 software will initiate and open perfect. However, when I try to open a file it gives me the attached error. I can begin a new document a nd render just fine.