Please support VectorLinux!

Author Topic: Manual set dependency in SlackBuild  (Read 3068 times)

hata_ph

  • Packager
  • Vectorian
  • ****
  • Posts: 3261
  • -- Just being myself --
Manual set dependency in SlackBuild
« on: February 18, 2011, 08:31:05 pm »
I want to manual add dependency into the SlackBuild script but I was a bit confuse about the syntax...
should follow the first example or the second?

Quote
ADDRB=${ADDRB:-"wxPython >= 2.8.9.1-i586-3vl60, setuptools >= 0.6c9-i586-1vl60"} #Add deps that need to be added to the slack-required file here

Quote
ADDRB=${ADDRB:-"mp3splt >= 2.2.9"} #Add deps that need to be added to the slack-required file here

Currently I am using the second method...


rm-r

  • DoucheBag
  • Vectorite
  • ***
  • Posts: 115
Re: Manual set dependency in SlackBuild
« Reply #1 on: February 18, 2011, 10:43:31 pm »
Are you installing that utility  or packaging for the  repository

If understood - You wish to add dependencies only vs what appears to be the full  python package
(using ldd or SBbuilder?)
Without getting into VL  packaging/Slackware methodology
Perhaps try this: 

http://wiki.wxpython.org/How to install wxPython#Linux_-_Building_from_the_source

Edit:  Noticed  you have a related post under "installation"   Forum topic header

You are a packager - what is the script line Re creating the aformentioned  file
The error Msg indicates a *named directory*  as the target file name  - perhaps the script just ommited the madatory  trailing ( /)
If the script line does not also include a file name that directories' file name  must be  specified   
 E.G.   created  full  /XXX_ path/file_name 

P.S. Why not merge both requests




 
« Last Edit: February 18, 2011, 11:03:51 pm by rm-r »
"Problems are seldom resolved by thinking in the same manner they were created"

"What is viewed is not important - That which is seen is"

stretchedthin

  • Administrator
  • Vectorian
  • *****
  • Posts: 3780
    • Opensourcebistro.com
Re: Manual set dependency in SlackBuild
« Reply #2 on: February 18, 2011, 11:21:10 pm »
I want to manual add dependency into the SlackBuild script but I was a bit confuse about the syntax...
should follow the first example or the second?

Quote
ADDRB=${ADDRB:-"wxPython >= 2.8.9.1-i586-3vl60, setuptools >= 0.6c9-i586-1vl60"} #Add deps that need to be added to the slack-required file here

Quote
ADDRB=${ADDRB:-"mp3splt >= 2.2.9"} #Add deps that need to be added to the slack-required file here

Currently I am using the second method...



I've always gone with the first method.  The syntax is the same as what is generated by requiredbuilder when it auto-generates the dependency list.
Vectorlinux screencasts and  tutorials can be found at....
http://www.opensourcebistro.com/blog1
http://www.youtube.com/user/vid4ken?feature=mhee

hata_ph

  • Packager
  • Vectorian
  • ****
  • Posts: 3261
  • -- Just being myself --
Re: Manual set dependency in SlackBuild
« Reply #3 on: February 19, 2011, 05:07:18 am »
I want to manual add dependency into the SlackBuild script but I was a bit confuse about the syntax...
should follow the first example or the second?

Quote
ADDRB=${ADDRB:-"wxPython >= 2.8.9.1-i586-3vl60, setuptools >= 0.6c9-i586-1vl60"} #Add deps that need to be added to the slack-required file here

Quote
ADDRB=${ADDRB:-"mp3splt >= 2.2.9"} #Add deps that need to be added to the slack-required file here

Currently I am using the second method...



I've always gone with the first method.  The syntax is the same as what is generated by requiredbuilder when it auto-generates the dependency list.

Does that second method same as the first one?

stretchedthin

  • Administrator
  • Vectorian
  • *****
  • Posts: 3780
    • Opensourcebistro.com
Re: Manual set dependency in SlackBuild
« Reply #4 on: February 19, 2011, 07:21:51 am »
Here is a reference from linux packages...
http://www.linuxpackages.net/howto.php?page=perfect-package&title=Perfect+Package

here is an excerpt...
Code: [Select]
slack-required:
The structure of this file is one entry per line in the following format:
package_name
or
[package_name] [condition] [version]
where [condition] is
=, >=, =<, <, or >
<= and =< should both work, just in case of editing errors.
example
man >= 1.5l-i386-1
Notice that we have included the version arch and build number this will help with version checking. Don't worry the condition statement takes care of things if there is a newer version available.

slack-conflicts:
The format of this file is just simply the same as the slack-required file. Follow the above format for this file.

slack-suggests:
The format of this file is simply the program name nothing more:
gnome-spell


Seems including version arch and build numbers helps with version checking. 
Vectorlinux screencasts and  tutorials can be found at....
http://www.opensourcebistro.com/blog1
http://www.youtube.com/user/vid4ken?feature=mhee

hata_ph

  • Packager
  • Vectorian
  • ****
  • Posts: 3261
  • -- Just being myself --
Re: Manual set dependency in SlackBuild
« Reply #5 on: February 19, 2011, 04:59:12 pm »
Oh...then i will rebuild 1 of my package with the correct syntax...

hata_ph

  • Packager
  • Vectorian
  • ****
  • Posts: 3261
  • -- Just being myself --
Re: Manual set dependency in SlackBuild
« Reply #6 on: February 19, 2011, 05:21:43 pm »
Just tested with this

Quote
ADDRB=${ADDRB:-"wxPython >= 2.8.9.1-i586-3vl60, setuptools >= 0.6c9-i586-1vl60"} #Add deps that need to be added to the slack-required file here

but my slack-required will become like this

Quote
atk >= 1.32.0
cairo >= 1.10.2
cxxlibs >= 6.0.14 | gcc-g++ >= 4.5.2
expat >= 2.0.1
fontconfig >= 2.8.0
freetype >= 2.4.4
gcc >= 4.5.2
gdk-pixbuf2 >= 2.22.1
glib2 >= 2.26.1
glibc-solibs >= 2.12.2
gstreamer >= 0.10.32
gtk+2 >= 2.22.1
libX11 >= 1.4.1
libXau >= 1.0.6
libXcomposite >= 0.4.3
libXcursor >= 1.1.11
libXdamage >= 1.1.3
libXdmcp >= 1.1.0
libXext >= 1.2.0
libXfixes >= 4.0.5
libXi >= 1.4.1
libXinerama >= 1.1.1
libXrandr >= 1.3.1
libXrender >= 0.9.6
libmp3splt >= 0.6
libpng >= 1.4.5
libtool >= 2.4
libxcb >= 1.7
libxml2 >= 2.7.8
mp3splt >= 2.2.9-i586-1vl70
pango >= 1.28.3
pixman >= 0.20.2
zlib >= 1.2.5

pierce.jason

  • Packager
  • Vectorite
  • ****
  • Posts: 250
Re: Manual set dependency in SlackBuild
« Reply #7 on: February 28, 2011, 02:54:56 pm »
If this is just a matter of philosophy in including arch-pkgrelease info...

I would always go with the least restrictive string that satisfies the actual dep version needed. If there is something that has changed in dependency-2.5-i586-3vl60 that is needed by your package, and isn't part of dependency-2.5-i586-1vl60... Then list the dep including -i586-3vl60.

However if there is no explicit reason to require features from the third vector release of a specific package, then do not include the -i586-3vl60 part.
pierce.jason
Email: $(echo -e "moc\x2eliamg\x40nosaj.ecreip" | rev)

pierce.jason

  • Packager
  • Vectorite
  • ****
  • Posts: 250
Re: Manual set dependency in SlackBuild
« Reply #8 on: February 28, 2011, 08:43:26 pm »
This philosophy should also extend to package versions, not just package releases. Returning to my previous example with dependency-2.5-i586-1vl60:

If the program you are building does not explicitly require version 2.5 or higher of dependency, you should also not be so strict in your dependency line in the package. If only features/API from 2.3 are required, but 2.5 is current in the distro repos... you do not _need_ to specify 2.5 just because it is current. You should rather specify dependency >= 2.3, if that is the greatest needed by the program.

This will allow the best future flexibility for the end users. There are often times when a power user will opt to create their own local package for a specific lib, for whatever reason they may have. If you specify dependency 2.5, when all is really needed be 2.3, then you can greatly limit the options that a user has for maintaining individual versions locally!

In many cases it will not even be necessary to specify a version number for a dependency. This is only really prudent when there have been significant changes to a dependency's source, within the the last few releases. OR when listing tool-chain dependencies.
pierce.jason
Email: $(echo -e "moc\x2eliamg\x40nosaj.ecreip" | rev)

hata_ph

  • Packager
  • Vectorian
  • ****
  • Posts: 3261
  • -- Just being myself --
Re: Manual set dependency in SlackBuild
« Reply #9 on: April 20, 2011, 09:33:44 pm »
This philosophy should also extend to package versions, not just package releases. Returning to my previous example with dependency-2.5-i586-1vl60:

If the program you are building does not explicitly require version 2.5 or higher of dependency, you should also not be so strict in your dependency line in the package. If only features/API from 2.3 are required, but 2.5 is current in the distro repos... you do not _need_ to specify 2.5 just because it is current. You should rather specify dependency >= 2.3, if that is the greatest needed by the program.

This will allow the best future flexibility for the end users. There are often times when a power user will opt to create their own local package for a specific lib, for whatever reason they may have. If you specify dependency 2.5, when all is really needed be 2.3, then you can greatly limit the options that a user has for maintaining individual versions locally!

In many cases it will not even be necessary to specify a version number for a dependency. This is only really prudent when there have been significant changes to a dependency's source, within the the last few releases. OR when listing tool-chain dependencies.

If u feel it is a good idea might well suggest it to make it a standard for VL. :)