Stproc built in package
Hello All,
We are using an ancient version of report writer i.e. 2.5! I have got a very old report to modify which is accessing a stored package procedure. The procedure had to be modified to accept one more parameter. Now the report does not compile. That is because the form has a local package definition with the same package name. The local version seems to have been generated by stproc built in package of report writer. It does not seem to have any business logic but some kind of "interface" with the RDBMS package. If the local version is dropped the report still does not compile (Though there is only one reference to the package in the entire report).
Modifying the local version of the package to match the changes in RDBMS is extremely painful, as it seems to be generated code, which has entire code of one page in just "one line", wrapped around (see attached). Finally we managed to change it and got the form working. Oracle documentation seems to have not much about stproc except that "it is internal and should not be used".
What I need to know is
1. Are there situations where such "interface local version" is necessary. If not why dropping local version is causing problems?
2. How can this local version be updated without manual intervention to synchronize with modified RDBMS package?
Thanks in Advance,
NAG
Sorry, missed the attachment mentioned above.
The local package spec & body are as follows -
package PKG_SAS_UTILS is function DF_GET_ADDRESS (P_ADD_REFNO NUMBER) return CHAR; function DF_GET_NAME (P_PEO_REFNO INTEGER) return CHAR; procedure DP_CREATE_KCS (P_SESSION_ID CHAR, P_ALE_REFNO CHAR, P_APP_REFNO NUMBER, P_AREA_CODE CHAR); procedure DP_CREATE_PRA (P_SREV_ID NUMBER, P_SREV_HRV_STATUS CHAR, P_DOMAIN CHAR, P_CODE CHAR); function DF_APP_FILE_REF (P_APP_REFNO NUMBER) return CHAR; function DF_GET_SYS_PARAM (P_PARAM_CODE CHAR) return CHAR; function DF_APP_APPROVED_DATE (P_APP_REFNO NUMBER, P_HRV_APPLCAT CHAR) return DATE; function DF_GET_TEAM (P_ADD_REFNO NUMBER) return CHAR; function DF_APP_ADDRESS (P_APP_REFNO NUMBER, P_TYPE CHAR) return CHAR; function DF_APP_NAME (P_APP_REFNO NUMBER) return CHAR; function DF_GET_DSP_SCODES (P_STATUS_CODE CHAR) return CHAR; procedure DP_LENGTH_OF_ASSIST (P_APP_REFNO NUMBER, P_RLI_CODE CHAR, P_NO_DAYS out NUMBER, P_TOT_AMT out NUMBER, p_date_till in date); end;
package body PKG_SAS_UTILS is function DF_GET_ADDRESS (P_ADD_REFNO NUMBER) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_GET_ADDRESS(:P_ADD_REFNO); end;'); stproc.bind_o(X0); stproc.bind_i(P_ADD_REFNO); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_GET_NAME (P_PEO_REFNO INTEGER) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_GET_NAME(:P_PEO_REFNO); end;'); stproc.bind_o(X0); stproc.bind_i(P_PEO_REFNO); stproc.execute; stproc.retrieve(1, X0); return X0; end; procedure DP_CREATE_KCS (P_SESSION_ID CHAR, P_ALE_REFNO CHAR, P_APP_REFNO NUMBER, P_AREA_CODE CHAR) is begin stproc.init('begin PKG_SAS_UTILS.DP_CREATE_KCS(:P_SESSION_ID, :P_ALE_REFNO, :P_APP_REFNO, :P_AREA_CODE); end;'); stproc.bind_i(P_SESSION_ID); stproc.bind_i(P_ALE_REFNO); stproc.bind_i(P_APP_REFNO); stproc.bind_i(P_AREA_CODE); stproc.execute; end; procedure DP_CREATE_PRA (P_SREV_ID NUMBER, P_SREV_HRV_STATUS CHAR, P_DOMAIN CHAR, P_CODE CHAR) is begin stproc.init('begin PKG_SAS_UTILS.DP_CREATE_PRA(:P_SREV_ID, :P_SREV_HRV_STATUS, :P_DOMAIN, :P_CODE); end;'); stproc.bind_i(P_SREV_ID); stproc.bind_i(P_SREV_HRV_STATUS); stproc.bind_i(P_DOMAIN); stproc.bind_i(P_CODE); stproc.execute; end; function DF_APP_FILE_REF (P_APP_REFNO NUMBER) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_APP_FILE_REF(:P_APP_REFNO); end;'); stproc.bind_o(X0); stproc.bind_i(P_APP_REFNO); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_GET_SYS_PARAM (P_PARAM_CODE CHAR) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_GET_SYS_PARAM(:P_PARAM_CODE); end;'); stproc.bind_o(X0); stproc.bind_i(P_PARAM_CODE); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_APP_APPROVED_DATE (P_APP_REFNO NUMBER, P_HRV_APPLCAT CHAR) return DATE is X0 DATE; begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_APP_APPROVED_DATE(:P_APP_REFNO, :P_HRV_APPLCAT); end;'); stproc.bind_o(X0); stproc.bind_i(P_APP_REFNO); stproc.bind_i(P_HRV_APPLCAT); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_GET_TEAM (P_ADD_REFNO NUMBER) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_GET_TEAM(:P_ADD_REFNO); end;'); stproc.bind_o(X0); stproc.bind_i(P_ADD_REFNO); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_APP_ADDRESS (P_APP_REFNO NUMBER, P_TYPE CHAR) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_APP_ADDRESS(:P_APP_REFNO, :P_TYPE); end;'); stproc.bind_o(X0); stproc.bind_i(P_APP_REFNO); stproc.bind_i(P_TYPE); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_APP_NAME (P_APP_REFNO NUMBER) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_APP_NAME(:P_APP_REFNO); end;'); stproc.bind_o(X0); stproc.bind_i(P_APP_REFNO); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_GET_DSP_SCODES (P_STATUS_CODE CHAR) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_GET_DSP_SCODES(:P_STATUS_CODE); end;'); stproc.bind_o(X0); stproc.bind_i(P_STATUS_CODE); stproc.execute; stproc.retrieve(1, X0); return X0; end; procedure DP_LENGTH_OF_ASSIST (P_APP_REFNO NUMBER, P_RLI_CODE CHAR, P_NO_DAYS out NUMBER, P_TOT_AMT out NUMBER, p_start_date in date) is begin stproc.init('begin PKG_SAS_UTILS.DP_LENGTH_OF_ASSIST(:P_APP_REFNO, :P_RLI_CODE, :P_NO_DAYS, :P_TOT_AMT, :p_date_till); end;'); stproc.bind_i(P_APP_REFNO); stproc.bind_i(P_RLI_CODE); stproc.bind_o(P_NO_DAYS); stproc.bind_o(P_TOT_AMT); stproc.bind_i(p_date_till); stproc.execute; stproc.retrieve(3, P_NO_DAYS); stproc.retrieve(4, P_TOT_AMT); end; end;
Similar Messages
-
Replacing some text in a text file using TEXT_IO built-in package
Hi everybody...
I have written a form procedure in order to replace some text in a text document using the TEXT_IO built-in package. Although the text to be replaced is found , eventually the text is not replaced....
Obviously , the new file - after the replacement - is not saved(?)..
So , what should i do?
The procedure is as follows...
BEGIN
in_file := Text_IO.Fopen(filename, 'a');
LOOP
Text_IO.Get_Line(in_file, linebuf);
IF INSTR(linebuf,'C:\LIBS\')<>0
THEN
I:=INSTR(linebuf,'C:\LIBS\')-1;
SUB_STR_BEFORE_VAR:=SUBSTR(linebuf,1,I);
SUB_STR_AFTER_VAR:=SUBSTR(linebuf,I+9);
Text_IO.PUT(in_file,SUB_STR_BEFORE_VAR||'D:/SIM/'||SUB_STR_AFTER_VAR);
END IF;
END LOOP;
EXCEPTION
WHEN no_data_found THEN
Text_IO.Fclose(in_file);
END;
WHERE :linebuf : is the variable in which the line contents are saved...
SUB_STR_BEFORE_VAR : is the variable which keeps the substring before the first character of the search string
SUB_STR_AFTER_VAR : is the variable which keeps the substring after the last character of the search string
I : variable which keeps the number of character in line (variable linebuf) in which the first character of the search string is found
Thanks , a lot
SimonHello,
The A (Append) mode is used to add data at the end of the file. It will not replace existing data.
Open the source file in R mode, open the target file in W mode, then rename it with the source name when finished.
Francois -
Information on built-in packages of HTMLDB
Hi All,
I have recently started working on HTMLDB.
Can anybody tell me where from can i get information abt the built-in packages of HTMLDB. I have came across many like WWV_ . But, i dont know where from can i get detailed info abt them.
Thanks in advance,
Regards,
MonikaMonika,
The packages available to be used in your own applications are the ones starting with htmldb_. They are documented in the Oracle HTML DB Documentation (http://www.oracle.com/technology/products/database/htmldb/index.html), chapter 16, HTML DB APIs.
Regards,
Marc -
Functions in Standar Built-In Package
Hi..
I need information about somethings function, incluide into
"Standar package spec" on Forms in Built-in Packages.
Ex.
USERENV
If anyone can helpme, where find it, thanks.
nullHi BioDave,
I appreciate that you took the time to update your post when you found the solution. That saved me some time, that I now can use to help others...
Thanks!
- Philip Courtois, Thinkbot Solutions -
All Oracle Sample Schemas and all Oracle Built-in Packages in XE?
Hi,
I am trying to install Oracle 10g on my home system to improve my knowledge of PL/SQL. Because I'm doing it at home, I have to solve DBA issues I'm somewhat clueless about.
I would like to install Oracle 10g Express Edition and include the built-in packages (DBMS_OUTPUT, UTL_FILE, DBMS_UTILITY, DBMS_JOB, DBMS_JAVA, DBMS_RANDOM, etc.) as well as the Oracle sample schemas (HR, OE, PM, SH, and IX). None of these, except HR, is included in the express edition.
If necessary, I'd like to be able to install these things after installing the express edition. How can I do this?
Thanks,
MikeHi Mike,
checking the documentation is always helpful:
http://www.oracle.com/pls/xe102/homepage
http://download-uk.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25108/xedev_programs.htm#i2432
You can always do a quick search on the documentation homepage, e.g. for utl_file:
http://www.oracle.com/pls/xe102/search?remark=advanced_search&word=utl_file&format=ranked&book=&preference=
There shouldn't be a need to install any packages. They should come preinstalled already.
If not, you can find them here:
C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN
Just be very careful before trying to install something into the data dictionary. If you are not experienced, you might mess up your database.
For example, utl_file is installed but invisible to most users, e.g. HR.
Look at this example:
SQL> conn hr/oracle1
Connect durchgef³hrt.
SQL> desc utl_file;
ERROR:
ORA-04043: Objekt "SYS"."UTL_FILE" ist nicht vorhanden
SQL> conn sys@XE as sysdba
Kennwort eingeben:
Connect durchgef³hrt.
SQL> desc utl_file;
PROCEDURE FCLOSE
Argument Name Typ In/Out Defaultwert?
FILE RECORD IN/OUT
ID BINARY_INTEGER IN/OUT
DATATYPE BINARY_INTEGER IN/OUT
BYTE_MODE BOOLEAN IN/OUT
PROCEDURE FCLOSE_ALL
SQL> grant execute on utl_file to HR;
Benutzerzugriff (Grant) wurde erteilt.
SQL> conn hr/oracle1
Connect durchgef³hrt.
SQL> desc utl_file;
PROCEDURE FCLOSE
Argument Name Typ In/Out Defaultwert?
FILE RECORD IN/OUT
ID BINARY_INTEGER IN/OUT
DATATYPE BINARY_INTEGER IN/OUT
BYTE_MODE BOOLEAN IN/OUT
PROCEDURE FCLOSE_ALL
PROCEDURE FCOPY
...So, after granting execute privileges on utl_file to HR, the user HR can now access utl_file. No need to install it.
The default packages are installed in the schema SYS.
Regards,
~Dietmar. -
Is there a built in package show components sql statement
is there an exisitng package that will break down the components of a sql statement, as in the where clause, columns, etc?
thanks, i had pointed him to that package but it apparenty didn't meet his needs.
he may have to write something if there isn't a built in package that work. -
We have recently installed 8.1.7. I am trying to make use of the built in package DBMS_SPACE. I see that it exists in the SYS schema, but when trying to execute it from the SYSTEM schema I get the error that SYS.DBMS_SPACE does not exist. Do I need to grant execute to SYSTEM from SYS on each package that I want to use individually, or is there some way to grant execute on the whole suite of built-ins?
Thanks for any response.Thanks. Now I am able to call the package directly while logged on as system. However, I have another package that I have created in the system schema which calls the DBMS_SPACE package, and when I run this one, it comes back with:
ORA-00942: table or view does not exist
ORA-06512: at "SYS.DBMS_SPACE", line 40
Does this intermediary package need some special privilege? I thought it would have the privileges of the owner of the package (in this case SYSTEM).
Thanks again for any response -
Orace CDC tables (built in package)
Hi,
Currently I am working on a project about the CDC(Change Data Capture) tables: after I enable the cdc tables in the oracle database for some tables, I need to query some data from these cdc tables. since this related to very complex pl sql, so I am wondering are there some built in packages which allow me to use directly to query some useful data from the cdc tables?
Please let me know if you know something, thank you very much.
here is a simple example:
there are several tables about a users application to some program:
the online application form will be saved in the table: application
Now I enable the cdc table of application table, and now I have the cdc table: application_cdc
this cdc table will record any changes of the application table that the applicant made,
Now I need to get some table from table: application_cdc,
is there some good built in functions or procedure that i can use directly?Hi,
Thank you for the information, and sorry for the confusion, yes, I am looking for the packages that allow me to get some information from those cdc tables(I already have cdc tables with change records in it). what you told me about the DBMS_CDC_UTILITY package is useful, but it is too general(high level) that I can not use.
For the CDC tables I have, there are many changes records over there, I just need some useful records(rows), now it is difficult for me to write plsql to get it directly.
The Oracle DB I am using is 11g, Synchronous, and related to the subscriber, and I have the dw_.._cdc tables already, if there are not so many built in package for me to query the dw_.._cdc tables, what I can do is:
(1) to write complex plsql directly to query these cdc tables
or
(2)recreate the cdc tables(many original tables combined to one table): to modify the publisher part to make the data(for subscriber) more related to what I want
Im new to the cdc concept, please give me some advise, Thank you. -
Built in package that executes when running a Multi-task
What built-in package(or procedure) runs when executing a multi-task?
I think with the many questions you have on the same issue, the Extensibility Documentation will help a lot.
http://download-uk.oracle.com/docs/cd/B19306_01/em.102/b16246/toc.htm
Also, you can access other EM documents from the menu here:
http://www.oracle.com/pls/db102/portal.portal_db?selected=21 -
Loading built in packages.
I've installed the oracle database 10g express edition in my PC.
I was about to try out procedures using dbms_utl,utl_http built in packages in Oracle.
But the database doesn't seems to support those packages.
So,Can someone help me out about how to load those oracle built in packages?
Thanks,
BhagatFor security reasons, or at least to combat the recent "it's a security risk" hype that's been going around, Oracle has not granted execution for a number of packages, like the ones you list, to public.
You might want to log on as a DBA and grant execute access explicitly. (See the GRANT command in the 10gR2 docco at http://docs.oracle.com if you want details.) -
[Solved] ABS built kernel package file conflicts
Index» Kernel & Hardware
Hello-
I am starting a new thread since my previous post was to an ancient thread (sorry, I hadn't noted the date).
I built a custom kernel using ABS, attempting to follow https://wiki.archlinux.org/index.php/Cu … n_with_ABS notes
However the notes regarding _kernelname and pkgname don't seem to match up with the formatting or idea of the PKGBUILD file provided by abs.
Instead of following the wiki, i followed the instruction provided by the PKGBUILD by commenting out the default line and uncommenting/modifying the second line.
#pkgbase=linux # Build stock -ARCH kernel
pkgbase=linux-iwlwifidebug # Build kernel with a different name
The result was a package with conflicting files:
loading packages...
resolving dependencies...
:: Proceed with installation? [Y/n]
Packages (1): linux-iwlwifidebug-3.12.1-1
Total Installed Size: 68.98 MiB
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
error: failed to commit transaction (conflicting files)
linux-iwlwifidebug: /usr/lib/modules/3.12.1-1-ARCH/extramodules exists in filesystem
linux-iwlwifidebug: /usr/lib/modules/3.12.1-1-ARCH/kernel/arch/x86/crypto/ablk_helper.ko.gz exists in filesystem
linux-iwlwifidebug: /usr/lib/modules/3.12.1-1-ARCH/kernel/arch/x86/crypto/aes-x86_64.ko.gz exists in filesystem
linux-iwlwifidebug: /usr/lib/modules/3.12.1-1-ARCH/modules.softdep exists in filesystem
linux-iwlwifidebug: /usr/lib/modules/3.12.1-1-ARCH/modules.symbols exists in filesystem
linux-iwlwifidebug: /usr/lib/modules/3.12.1-1-ARCH/modules.symbols.bin exists in filesystem
linux-iwlwifidebug: /usr/src/linux-3.12.1-1-ARCH/vmlinux exists in filesystem
Errors occurred, no packages were upgraded.
In the thread that was closed due to being too old (https://bbs.archlinux.org/viewtopic.php?pid=234004), jasonwryan noted:
"pkgbase is for split packages, you need pkgname:
_kernelname="-foo"
pkgname=linux-foo
pkgver=3.12.1
pkgrel=1
_srcname=linux-3.12
pkgdesc="The ${pkgname} kernel and modules"
" and you can see that he also changed kernelname.
Which jives with the doc https://wiki.archlinux.org/index.php/Cu … n_with_ABS, which notes
Modify pkgname and _kernelname for your custom package name, e.g.:
_kernelname="-custom" # custom suffix, eg., 3.12.1-1-custom
pkgname=linux-custom # custom package name, eg., vmlinuz-linux-custom
Looking at the logic that is provided by jasonwryan and the doc, I need pkgname and _kernelname to be different than default- however these are defined in PKGBUILD as being based on pkgbase, and it is much cleaner to update the one line that the PKGBUILD maintainer seemed to want us to update.
_kernelname=${pkgbase#linux}
pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs")
Note that the # symbol strips 'linux' from the front of pkgbase assigns it to _kernelname, while pkgname is a list
[dylan@zenbook linux]$ pkgbase=linux-iwlwifidebug
[dylan@zenbook linux]$ echo $pkgbase
linux-iwlwifidebug
[dylan@zenbook linux]$ _kernelname=${pkgbase#linux}
[dylan@zenbook linux]$ echo $_kernelname
-iwlwifidebug
[dylan@zenbook linux]$ pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs")
[dylan@zenbook linux]$ echo ${pkgname[@]}
linux-iwlwifidebug linux-iwlwifidebug-headers linux-iwlwifidebug-docs
So far so good - we have a pkgname and _kernelname which are both non default.
And to show this, I've created a package by just changing the pkgbase, which shows that it changes both the pkgname and the _kernelname:
Change of pkgbase:
[dylan@zenbook linux]$ grep pkgbase= PKGBUILD
#pkgbase=linux # Build stock -ARCH kernel
pkgbase=linux-iwlwifidebug # Build kernel with a different name
Package Names Set
pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs")
for _p in ${pkgname[@]}; do
eval "package_${_p}() {
_package${_p#${pkgbase}}
done
Ouput Package Name
[dylan@zenbook linux]$ ls -l *.xz
-rw-r--r-- 1 dylan dylan 76384600 Nov 26 18:54 linux-3.12.tar.xz
-rw-r--r-- 1 dylan dylan 52329112 Nov 26 20:16 linux-iwlwifidebug-3.12.1-1-x86_64.pkg.tar.xz
-rw-r--r-- 1 dylan dylan 4378564 Nov 26 20:17 linux-iwlwifidebug-docs-3.12.1-1-x86_64.pkg.tar.xz
-rw-r--r-- 1 dylan dylan 6139092 Nov 26 20:17 linux-iwlwifidebug-headers-3.12.1-1-x86_64.pkg.tar.xz
-rw-r--r-- 1 dylan dylan 6620 Nov 26 18:54 patch-3.12.1.xz
_kernelname sets information in package
[dylan@zenbook linux]$ grep -e provides PKGBUILD | grep _kernelname
provides=("kernel26${_kernelname}=${pkgver}")
provides=("kernel26${_kernelname}-headers=${pkgver}")
provides=("kernel26${_kernelname}-docs=${pkgver}")
Which can be seen here
[dylan@zenbook linux]$ pacman -Qpi linux-iwlwifidebug-3.12.1-1-x86_64.pkg.tar.xz | grep -i provides
Provides : kernel26-iwlwifidebug=3.12.1
So, what is going wrong?
So the root problem comes to the install path of the files, not the pkgname or the _kernelname, as I have shown above I believe.
What I found is that changing the pkgrel led to a working install, with the files installed into separate directories.
pkgrel is modified in the Makefile directly
[dylan@zenbook linux.working]$ grep pkgrel PKGBUILD
pkgrel=2
# set extraversion to pkgrel
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
This leads to a package that can be installed, because the directory path includes the -2 rather than -1
Before changing pkgrel, i had this
[dylan@zenbook linux]$ pacman -Qpl linux-iwlwifidebug-3.12.1-1-x86_64.pkg.tar.xz | tail -2
linux-iwlwifidebug /usr/src/linux-3.12.1-1-ARCH/
linux-iwlwifidebug /usr/src/linux-3.12.1-1-ARCH/vmlinux
After changing (but keeping default name for package)
[dylan@zenbook linux.working]$ pacman -Qpl linux-3.12.1-2-x86_64.pkg.tar.xz | tail -2
linux /usr/src/linux-3.12.1-2-ARCH/
linux /usr/src/linux-3.12.1-2-ARCH/vmlinux
Where does the package directory tree get defined?
The only place pkgrel gets touched is in a re-write of the kernel makefile:
[dylan@zenbook linux.working]$ grep pkgrel PKGBUILD
pkgrel=2
# set extraversion to pkgrel
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
Where it gets set, then tied to KERNELVERSION
[dylan@zenbook linux.working]$ grep EXTRAVERSION src/linux-3.12/Makefile
EXTRAVERSION = -2
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
Which appears to only be exported for some source tree stuff
[dylan@zenbook linux.working]$ grep KERNELVERSION src/linux-3.12/Makefile
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
@echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
@echo $(KERNELVERSION)
And not at all in pkgbuild
[dylan@zenbook linux.working]$ grep KERNELVERSION PKGBUILD
[dylan@zenbook linux.working]$
What am i missing here?
Is there a bug that should be changing some headers in the Makefile to create a different directory structure for the packages, by passing in the _kernelname, pkgname, or pkgbase?
Last edited by thenextdon13 (2013-11-27 22:10:44)pkgbuild is default from abs with only pkgbase changed;
I don't see a way to attach files, so will put entire code content here
# $Id: PKGBUILD 200210 2013-11-22 12:19:58Z tpowa $
# Maintainer: Tobias Powalowski <[email protected]>
# Maintainer: Thomas Baechler <[email protected]>
#pkgbase=linux # Build stock -ARCH kernel
pkgbase=linux-iwlwifidebug # Build kernel with a different name
_srcname=linux-3.12
pkgver=3.12.1
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc')
options=('!strip')
source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
"[url]http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz[/url]"
# the main kernel config files
'config' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
'linux.preset'
'change-default-console-loglevel.patch'
'criu-no-expert.patch')
md5sums=('cc6ee608854e0da4b64f6c1ff8b6398c'
'5a8cb5a659baeeb6df3fe22de8d32df6'
'798bca5d2f0a1505c9b86a5227a2b339'
'8fa6cbb28dda5a4b38730c7f728e1845'
'eb14dcfd80c00852ef81ded6e826826a'
'98beb36f9b8cf16e58de2483ea9985e3'
'd50c1ac47394e9aec637002ef3392bd1')
_kernelname=${pkgbase#linux}
# module.symbols md5sums
# x86_64
# 2fd43e3edc671c61e043a5c0b3b2a1f0 /lib/modules/3.12.0-1-ARCH/modules.symbols
# i686
# e98940249665dbfa380cfdbbacf6c6b8 /lib/modules/3.12.0-1-ARCH/modules.symbols
prepare() {
cd "${srcdir}/${_srcname}"
# add upstream patch
patch -p1 -i "${srcdir}/patch-${pkgver}"
# add latest fixes from stable queue, if needed
# [url]http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git[/url]
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: [url]https://lkml.org/lkml/2011/7/26/227)[/url]
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
# allow criu without expert option set
# patch from fedora
patch -Np1 -i "${srcdir}/criu-no-expert.patch"
if [ "${CARCH}" = "x86_64" ]; then
cat "${srcdir}/config.x86_64" > ./.config
else
cat "${srcdir}/config" > ./.config
fi
if [ "${_kernelname}" != "" ]; then
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config
fi
# set extraversion to pkgrel
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
# don't run depmod on 'make install'. We'll do this ourselves in packaging
sed -i '2iexit 0' scripts/depmod.sh
build() {
cd "${srcdir}/${_srcname}"
# get kernel version
make prepare
# load configuration
# Configure the kernel. Replace the line below with one of your choice.
make menuconfig # CLI menu for configuration
#make nconfig # new CLI menu for configuration
#make xconfig # X-based configuration
#make oldconfig # using old config from previous kernel version
# ... or manually edit .config
# rewrite configuration
yes "" | make config >/dev/null
# save configuration for later reuse
if [ "${CARCH}" = "x86_64" ]; then
cat .config > "${startdir}/config.x86_64.last"
else
cat .config > "${startdir}/config.last"
fi
# stop here
# this is useful to configure the kernel
#msg "Stopping build"; return 1
# build!
make ${MAKEFLAGS} LOCALVERSION= bzImage modules
_package() {
pkgdesc="The ${pkgbase/linux/Linux} kernel and modules"
[ "${pkgbase}" = "linux" ] && groups=('base')
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country')
provides=("kernel26${_kernelname}=${pkgver}")
conflicts=("kernel26${_kernelname}")
replaces=("kernel26${_kernelname}")
backup=("etc/mkinitcpio.d/${pkgbase}.preset")
install=linux.install
cd "${srcdir}/${_srcname}"
KARCH=x86
# get kernel version
_kernver="$(make LOCALVERSION= kernelrelease)"
_basekernel=${_kernver%%-*}
_basekernel=${_basekernel%.*}
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot}
make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install
cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
# add vmlinux
install -D -m644 vmlinux "${pkgdir}/usr/src/linux-${_kernver}/vmlinux"
# set correct depmod command for install
cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
true && install=${install}.pkg
sed \
-e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/" \
-e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" \
-i "${startdir}/${install}"
# install mkinitcpio preset file for kernel
install -D -m644 "${srcdir}/linux.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
sed \
-e "1s|'linux.*'|'${pkgbase}'|" \
-e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgbase}\"|" \
-e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgbase}.img\"|" \
-e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgbase}-fallback.img\"|" \
-i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
# remove build and source links
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
# remove the firmware
rm -rf "${pkgdir}/lib/firmware"
# gzip -9 all modules to save 100MB of space
find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
# make room for external modules
ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
# add real version for building modules and running depmod from post_install/upgrade
mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}"
echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}/version"
# Now we call depmod...
depmod -b "$pkgdir" -F System.map "$_kernver"
# move module tree /lib -> /usr/lib
mv "$pkgdir/lib" "$pkgdir/usr"
_package-headers() {
pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel"
provides=("kernel26${_kernelname}-headers=${pkgver}")
conflicts=("kernel26${_kernelname}-headers")
replaces=("kernel26${_kernelname}-headers")
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
cd "${pkgdir}/usr/lib/modules/${_kernver}"
ln -sf ../../../src/linux-${_kernver} build
cd "${srcdir}/${_srcname}"
install -D -m644 Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/Makefile"
install -D -m644 kernel/Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile"
install -D -m644 .config \
"${pkgdir}/usr/src/linux-${_kernver}/.config"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include"
for i in acpi asm-generic config crypto drm generated keys linux math-emu \
media net pcmcia scsi sound trace uapi video xen; do
cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/"
done
# copy arch includes for external modules
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/x86"
cp -a arch/x86/include "${pkgdir}/usr/src/linux-${_kernver}/arch/x86/"
# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}"
cp -a scripts "${pkgdir}/usr/src/linux-${_kernver}"
# fix permissions on scripts dir
chmod og-w -R "${pkgdir}/usr/src/linux-${_kernver}/scripts"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel"
cp arch/${KARCH}/Makefile "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
if [ "${CARCH}" = "i686" ]; then
cp arch/${KARCH}/Makefile_32.cpu "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
fi
cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel/"
# add headers for lirc package
# pci
for i in bt8xx cx88 saa7134; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}"
cp -a drivers/media/pci/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}"
done
# usb
for i in cpia2 em28xx pwc sn9c102; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}"
cp -a drivers/media/usb/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}"
done
# i2c
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c"
cp drivers/media/i2c/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/"
for i in cx25840; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}"
cp -a drivers/media/i2c/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}"
done
# add docbook makefile
install -D -m644 Documentation/DocBook/Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
# add dm headers
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
cp drivers/md/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
# add inotify.h
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/linux"
cp include/linux/inotify.h "${pkgdir}/usr/src/linux-${_kernver}/include/linux/"
# add wireless headers
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
cp net/mac80211/*.h "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
# add dvb headers for external modules
# in reference to:
# [url]http://bugs.archlinux.org/task/9912[/url]
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-core"
cp drivers/media/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-core/"
# and...
# [url]http://bugs.archlinux.org/task/11194[/url]
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
# add dvb headers for [url]http://mcentral.de/hg/~mrec/em28xx-new[/url]
# in reference to:
# [url]http://bugs.archlinux.org/task/13146[/url]
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/"
cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/"
cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/"
# add dvb headers
# in reference to:
# [url]http://bugs.archlinux.org/task/20402[/url]
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb"
cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb/"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends"
cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners"
cp drivers/media/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners/"
# add xfs and shmem for aufs building
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/mm"
cp fs/xfs/xfs_sb.h "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h"
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p "${pkgdir}"/usr/src/linux-${_kernver}/`echo ${i} | sed 's|/Kconfig.*||'`
cp ${i} "${pkgdir}/usr/src/linux-${_kernver}/${i}"
done
chown -R root.root "${pkgdir}/usr/src/linux-${_kernver}"
find "${pkgdir}/usr/src/linux-${_kernver}" -type d -exec chmod 755 {} \;
# strip scripts directory
find "${pkgdir}/usr/src/linux-${_kernver}/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do
case "$(file -bi "${binary}")" in
*application/x-sharedlib*) # Libraries (.so)
/usr/bin/strip ${STRIP_SHARED} "${binary}";;
*application/x-archive*) # Libraries (.a)
/usr/bin/strip ${STRIP_STATIC} "${binary}";;
*application/x-executable*) # Binaries
/usr/bin/strip ${STRIP_BINARIES} "${binary}";;
esac
done
# remove unneeded architectures
rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arc,arm,arm26,arm64,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,metag,mips,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,xtensa}
_package-docs() {
pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel"
provides=("kernel26${_kernelname}-docs=${pkgver}")
conflicts=("kernel26${_kernelname}-docs")
replaces=("kernel26${_kernelname}-docs")
cd "${srcdir}/${_srcname}"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}"
cp -al Documentation "${pkgdir}/usr/src/linux-${_kernver}"
find "${pkgdir}" -type f -exec chmod 444 {} \;
find "${pkgdir}" -type d -exec chmod 755 {} \;
# remove a file already in linux package
rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs")
for _p in ${pkgname[@]}; do
eval "package_${_p}() {
_package${_p#${pkgbase}}
done
# vim:set ts=8 sts=2 sw=2 et: -
Hi need to learn about the Buil-in packages in plsql.please provide me any site conatains docs
Regardshttp://tahiti.oracle.com/
Oracle® Database PL/SQL Packages and Types Reference
http://download-east.oracle.com/docs/cd/B19306_01/appdev.102/b14258/toc.htm
Gints Plivna
http://www.gplivna.eu -
TOOLS.add_parameter(plist,
'oracle_update',
TOOLS.text_parameter,
'yes');
======================================================
I found such code form "og.pll".
but i can't get more info about it.
anybody give me some advice,Thanks!I think with the many questions you have on the same issue, the Extensibility Documentation will help a lot.
http://download-uk.oracle.com/docs/cd/B19306_01/em.102/b16246/toc.htm
Also, you can access other EM documents from the menu here:
http://www.oracle.com/pls/db102/portal.portal_db?selected=21 -
Package built in chroot doesn't install dependencies
I created a PKGBUILD for miro (GIT version) and built the package in a chroot per Building in a Clean chroot.
When I attempt to install the package with:
pacman -U miro-git-2_5-1-x86_64.pkg.tar.gz
I get the following errors:
error: failed to prepare transaction (could not satisfy dependencies)
:: miro-git: requires xine-lib>=1.1.16.3
:: miro-git: requires gnome-python-extras>=2.25.3
:: miro-git: requires pyrex
Should pacman be attempting to resolve those dependencies automatically? Or have I done something wrong?Thanks for the prompt responses.
makepkg -s would have installed the dependencies, correct? That's how I normally build packages from the AUR or if I have need to custom-compile a package in the repos.
The difference between what I expected (dependencies to be in place or installed automatically) and what occurred (pacman informed me of missing dependencies) is more than likely to due to this being the first I've built in a chroot. -
How to remove a package built from AUR
Hi!
I hope nobody has ever asked this question, but i didn't find an answer.
I built a package from the AUR repository but i don't use it anymore, that's why i'd like to remove it but i don't know how to remove it from my computer since it doesn't appear in pacman's list
can somebody explain me how to do this?
thanks!
Last edited by Beno@ (2008-08-14 12:57:18)ok, refer to the man pages for pacman
-S (Sync) is for anything over the internet.
-Q (Query) any operation that is performed locally.
So yaourt -Ss means it will search over the internet in the AUR. If you wanna search locally for a package you use -Q for local query.
makepkg is not a pakcage manager, instead it is a package builder for pacman, pacman is the package manager. As Army already said, once you use makepkg to build the package, you need to install the package with pacman -U
BTW, -U (upgrade) a package.
Need more info, read the man pages.
man pacman
once yaourt is installed
man yaourt
Last edited by rooloo (2008-08-14 14:17:41)
Maybe you are looking for
-
Nokia 6600 only works from one cell tower
I have this weird problem with my phone where it will only work off one cell tower. Once I leave the coverage of that cell tower it will not work anywhere else. It started a few months ago and i'm not to sure why? The funny thing is it's the cell tow
-
HT3939 How can I find out how much memory is used to run the iphone 5c and the 5s ?
How or where can i find out how much memory the OS iphone 5c and installed apps. use? Then to find out how much memory the apps i plan to use uses? THANK YOU ALL. I HAVE A PURRING KITTEN IN MY ARMS.
-
CD disappeared into the mini....help!!!
Hi, Have been happily storing my CD's onto my mini...until... Nirvana Nevermind, just popped it in... It came up - Audio CD.... Then disappeared. Now, it does not appear to think there is a cd inside it, but i know differently. HOW THE **** DO I GET
-
I use Photoshop extensively with a Wacom Intuos 4 and Apple bluetooth keyboard, and have had no problems (as below) before. Each time I use the tablet, the keyboard gets intermittently unresponsive, and it will only respond again after I tap the tabl
-
I have an problem with two plat file to table. here i am sending two flat file inthe sence just some spcified filedslike MY first file is Like Name City Jerry Delhi Second file is like CIty Country Vincent USA So these two are club