Return to Opensourcebistro Main                                            Return to Package Building Main

FFMPEG

Upgrading ffmpeg through 3rd party Slackbuilds.

FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video.
It includes libavcodec - the leading audio/video codec library.  It is always improving with each new
release, so it pays to upgrade.  In this tutorial we are going to achieve 3 things.
1. How to upgrade ffmpeg through 3rd party SlackBuilds.
2. How to edit the SlackBuild to Vectorlinux standards.
3. How to create a package that is worthy of being contributed to the Vectorlinux repository.

This also serves as the first in a 5 part tutorial on installing Kdenlive on Vectorlinux 6.0 Gold.
You can find the part 2 here.
Click the Green Arrow to start.

Exported text from the tutorial.
I'm trying something new and including the exported text from the tutorial.
My hope is that this may do more than just make the content more searchable,
but also encourage some community participation.

 If you are able to translate the dialog to another language or improve it
in any way simply...
1. copy everything below to a text editor.
 2. You can change anything inbetween the '+--->' Markers.
3. Save the text file with your changes and email it to me here

If you wish to comment on the above tutorial. Please do so
here at opensourcebistro.com/blog1
NumFrames: 399
Frame: 1
Title:
NumCallouts: 1
+--->
This is part 1 of a series of tutorials that will eventually lead to building Kdenlive for Vectorlinux 6.0.
It also opens the doors for any other package that has dependencies on a newer ffmpeg.
+--->
Frame: 2
Title:
NumCallouts: 1
+--->
Upgrading ffmpeg using a 3rd party SlackBuild.
+--->
Frame: 3
Title:
NumCallouts: 1
+--->
Before you go any further you should know that I will be uploading this very ffmpeg upgrade to the testing repositories and you can simply install it via Gslapt if you want.
+--->
Frame: 4
Title:
NumCallouts: 1
+--->
However, if you follow this tutorial you will be able to enable some proprietary codecs that I can not enable on a package that gets distributed through the repositories.
+--->
Frame: 5
Title:
NumCallouts: 1
+--->

+--->
Frame: 6
Title:
NumCallouts: 1
+--->
The most recent version of ffmpeg in the repository is actually quite old.
+--->
Frame: 7
Title:
NumCallouts: 1
+--->

+--->
Frame: 8
Title:
NumCallouts: 1
+--->

+--->
Frame: 9
Title:
NumCallouts: 1
+--->

+--->
Frame: 10
Title:
NumCallouts: 1
+--->
The source for the 3rd party SlackBuild is connie.slackware.com/~alien/slackbuilds/
+--->
Frame: 11
Title:
NumCallouts: 1
+--->

+--->
Frame: 12
Title:
NumCallouts: 1
+--->

+--->
Frame: 13
Title:
NumCallouts: 1
+--->

+--->
Frame: 14
Title:
NumCallouts: 1
+--->
There are a variety of SlackBuilds here. For many of them the steps covered here will work for them as well.
+--->
Frame: 15
Title:
NumCallouts: 1
+--->
We of course want the ffmpeg, one.
+--->
Frame: 16
Title:
NumCallouts: 1
+--->
'connie.slackware.com' uses a format which puts everything needed in a folder called 'build'
+--->
Frame: 17
Title:
NumCallouts: 1
+--->

+--->
Frame: 18
Title:
NumCallouts: 1
+--->

+--->
Frame: 19
Title:
NumCallouts: 1
+--->

+--->
Frame: 20
Title:
NumCallouts: 1
+--->

+--->
Frame: 21
Title:
NumCallouts: 1
+--->

+--->
Frame: 22
Title:
NumCallouts: 1
+--->

+--->
Frame: 23
Title:
NumCallouts: 1
+--->

+--->
Frame: 24
Title:
NumCallouts: 1
+--->

+--->
Frame: 25
Title:
NumCallouts: 1
+--->

+--->
Frame: 26
Title:
NumCallouts: 1
+--->

+--->
Frame: 27
Title:
NumCallouts: 1
+--->

+--->
Frame: 28
Title:
NumCallouts: 1
+--->
So we want to make our own folder called 'build'
+--->
Frame: 29
Title:
NumCallouts: 1
+--->

+--->
Frame: 30
Title:
NumCallouts: 1
+--->

+--->
Frame: 31
Title:
NumCallouts: 1
+--->

+--->
Frame: 32
Title:
NumCallouts: 1
+--->

+--->
Frame: 33
Title:
NumCallouts: 1
+--->

+--->
Frame: 34
Title:
NumCallouts: 1
+--->

+--->
Frame: 35
Title:
NumCallouts: 1
+--->

+--->
Frame: 36
Title:
NumCallouts: 1
+--->
Then from inside the 'build' folder open up a terminal.
+--->
Frame: 37
Title:
NumCallouts: 1
+--->

+--->
Frame: 38
Title:
NumCallouts: 1
+--->

+--->
Frame: 39
Title:
NumCallouts: 1
+--->

+--->
Frame: 40
Title:
NumCallouts: 1
+--->
Press the 'alt' and 'space bar' at the same time. This will bring up the context menu.
+--->
Frame: 41
Title:
NumCallouts: 1
+--->

+--->
Frame: 42
Title:
NumCallouts: 1
+--->

+--->
Frame: 43
Title:
NumCallouts: 1
+--->

+--->
Frame: 44
Title:
NumCallouts: 1
+--->

+--->
Frame: 45
Title:
NumCallouts: 1
+--->
We want to keep this terminal layered on top.
+--->
Frame: 46
Title:
NumCallouts: 1
+--->

+--->
Frame: 47
Title:
NumCallouts: 1
+--->

+--->
Frame: 48
Title:
NumCallouts: 1
+--->

+--->
Frame: 49
Title:
NumCallouts: 1
+--->

+--->
Frame: 50
Title:
NumCallouts: 1
+--->
The reason for all of this is we are going to download all of these items into our own build folder.
+--->
Frame: 51
Title:
NumCallouts: 1
+--->

+--->
Frame: 52
Title:
NumCallouts: 1
+--->

+--->
Frame: 53
Title:
NumCallouts: 1
+--->

+--->
Frame: 54
Title:
NumCallouts: 1
+--->
Copy each of the link addresses...
+--->
Frame: 55
Title:
NumCallouts: 1
+--->

+--->
Frame: 56
Title:
NumCallouts: 1
+--->

+--->
Frame: 57
Title:
NumCallouts: 1
+--->
Then in the terminal we are going to use wget to do the actual download. (Make sure your internet is connected.)
+--->
Frame: 58
Title:
NumCallouts: 1
+--->
Then just press 'Shift' + 'Insert' to paste in the copied link address.
+--->
Frame: 59
Title:
NumCallouts: 1
+--->

+--->
Frame: 60
Title:
NumCallouts: 1
+--->

+--->
Frame: 61
Title:
NumCallouts: 1
+--->

+--->
Frame: 62
Title:
NumCallouts: 1
+--->

+--->
Frame: 63
Title:
NumCallouts: 1
+--->

+--->
Frame: 64
Title:
NumCallouts: 1
+--->
Your going to need to do this for each item in the 'build' directory.
+--->
Frame: 65
Title:
NumCallouts: 1
+--->

+--->
Frame: 66
Title:
NumCallouts: 1
+--->

+--->
Frame: 67
Title:
NumCallouts: 1
+--->

+--->
Frame: 68
Title:
NumCallouts: 1
+--->
Each time pasting the link into a wget command, which will complete the download.
+--->
Frame: 69
Title:
NumCallouts: 1
+--->

+--->
Frame: 70
Title:
NumCallouts: 1
+--->

+--->
Frame: 71
Title:
NumCallouts: 1
+--->

+--->
Frame: 72
Title:
NumCallouts: 1
+--->

+--->
Frame: 73
Title:
NumCallouts: 1
+--->

+--->
Frame: 74
Title:
NumCallouts: 1
+--->

+--->
Frame: 75
Title:
NumCallouts: 1
+--->

+--->
Frame: 76
Title:
NumCallouts: 1
+--->
When you are done you will have each of the files downloaded into your own 'build' directory.
+--->
Frame: 77
Title:
NumCallouts: 1
+--->

+--->
Frame: 78
Title:
NumCallouts: 1
+--->
Now you can run the SlackBuild exactly as it is and end up with an installable .tgz file.
+--->
Frame: 79
Title:
NumCallouts: 1
+--->

+--->
Frame: 80
Title:
NumCallouts: 1
+--->

+--->
Frame: 81
Title:
NumCallouts: 1
+--->
However, I'm going to show you how to tweak this one for Vectorlinux first.
+--->
Frame: 82
Title:
NumCallouts: 1
+--->

+--->
Frame: 83
Title:
NumCallouts: 1
+--->

+--->
Frame: 84
Title:
NumCallouts: 1
+--->

+--->
Frame: 85
Title:
NumCallouts: 1
+--->

+--->
Frame: 86
Title:
NumCallouts: 1
+--->

+--->
Frame: 87
Title:
NumCallouts: 1
+--->

+--->
Frame: 88
Title:
NumCallouts: 1
+--->

+--->
Frame: 89
Title:
NumCallouts: 1
+--->

+--->
Frame: 90
Title:
NumCallouts: 1
+--->

+--->
Frame: 91
Title:
NumCallouts: 1
+--->
Now one good reason to build this yourself is that you can choose to keep the proprietary codecs enabled.
+--->
Frame: 92
Title:
NumCallouts: 1
+--->
Proprietary codecs have to be disabled in anything that is packaged for the repositories.
+--->
Frame: 93
Title:
NumCallouts: 1
+--->

+--->
Frame: 94
Title:
NumCallouts: 1
+--->
Now to tweak this for Vector, any thing that references a i486 architecture, must be changed to i586
+--->
Frame: 95
Title:
NumCallouts: 1
+--->

+--->
Frame: 96
Title:
NumCallouts: 1
+--->

+--->
Frame: 97
Title:
NumCallouts: 1
+--->

+--->
Frame: 98
Title:
NumCallouts: 1
+--->

+--->
Frame: 99
Title:
NumCallouts: 1
+--->

+--->
Frame: 100
Title:
NumCallouts: 1
+--->
Also the 'TAG' for Vectorlinux version 6.0 builds is vl60.
+--->
Frame: 101
Title:
NumCallouts: 1
+--->

+--->
Frame: 102
Title:
NumCallouts: 1
+--->

+--->
Frame: 103
Title:
NumCallouts: 1
+--->

+--->
Frame: 104
Title:
NumCallouts: 1
+--->

+--->
Frame: 105
Title:
NumCallouts: 1
+--->

+--->
Frame: 106
Title:
NumCallouts: 1
+--->

+--->
Frame: 107
Title:
NumCallouts: 1
+--->

+--->
Frame: 108
Title:
NumCallouts: 1
+--->

+--->
Frame: 109
Title:
NumCallouts: 1
+--->

+--->
Frame: 110
Title:
NumCallouts: 1
+--->

+--->
Frame: 111
Title:
NumCallouts: 1
+--->

+--->
Frame: 112
Title:
NumCallouts: 1
+--->
To save time use the 'Find' function to locate anything else referencing 486.
+--->
Frame: 113
Title:
NumCallouts: 1
+--->

+--->
Frame: 114
Title:
NumCallouts: 1
+--->

+--->
Frame: 115
Title:
NumCallouts: 1
+--->

+--->
Frame: 116
Title:
NumCallouts: 1
+--->

+--->
Frame: 117
Title:
NumCallouts: 1
+--->
You should find two more.  Make sure to change them to i586.
+--->
Frame: 118
Title:
NumCallouts: 1
+--->

+--->
Frame: 119
Title:
NumCallouts: 1
+--->

+--->
Frame: 120
Title:
NumCallouts: 1
+--->

+--->
Frame: 121
Title:
NumCallouts: 1
+--->

+--->
Frame: 122
Title:
NumCallouts: 1
+--->

+--->
Frame: 123
Title:
NumCallouts: 1
+--->

+--->
Frame: 124
Title:
NumCallouts: 1
+--->

+--->
Frame: 125
Title:
NumCallouts: 1
+--->

+--->
Frame: 126
Title:
NumCallouts: 1
+--->

+--->
Frame: 127
Title:
NumCallouts: 1
+--->

+--->
Frame: 128
Title:
NumCallouts: 1
+--->

+--->
Frame: 129
Title:
NumCallouts: 1
+--->

+--->
Frame: 130
Title:
NumCallouts: 1
+--->

+--->
Frame: 131
Title:
NumCallouts: 1
+--->

+--->
Frame: 132
Title:
NumCallouts: 1
+--->

+--->
Frame: 133
Title:
NumCallouts: 1
+--->
The last thing you need to change is right near the bottom of the script.
+--->
Frame: 134
Title:
NumCallouts: 1
+--->

+--->
Frame: 135
Title:
NumCallouts: 1
+--->
Everything that reads .tgz needs to be changed to .tlz.
+--->
Frame: 136
Title:
NumCallouts: 1
+--->

+--->
Frame: 137
Title:
NumCallouts: 1
+--->

+--->
Frame: 138
Title:
NumCallouts: 1
+--->

+--->
Frame: 139
Title:
NumCallouts: 1
+--->

+--->
Frame: 140
Title:
NumCallouts: 1
+--->

+--->
Frame: 141
Title:
NumCallouts: 1
+--->

+--->
Frame: 142
Title:
NumCallouts: 1
+--->

+--->
Frame: 143
Title:
NumCallouts: 1
+--->

+--->
Frame: 144
Title:
NumCallouts: 1
+--->

+--->
Frame: 145
Title:
NumCallouts: 1
+--->

+--->
Frame: 146
Title:
NumCallouts: 1
+--->

+--->
Frame: 147
Title:
NumCallouts: 1
+--->

+--->
Frame: 148
Title:
NumCallouts: 1
+--->

+--->
Frame: 149
Title:
NumCallouts: 1
+--->

+--->
Frame: 150
Title:
NumCallouts: 1
+--->

+--->
Frame: 151
Title:
NumCallouts: 1
+--->

+--->
Frame: 152
Title:
NumCallouts: 1
+--->
Once that is done, save your changes and your ready to run the .SlackBuild script.
+--->
Frame: 153
Title:
NumCallouts: 1
+--->

+--->
Frame: 154
Title:
NumCallouts: 1
+--->

+--->
Frame: 155
Title:
NumCallouts: 1
+--->

+--->
Frame: 156
Title:
NumCallouts: 1
+--->

+--->
Frame: 157
Title:
NumCallouts: 1
+--->

+--->
Frame: 158
Title:
NumCallouts: 1
+--->

+--->
Frame: 159
Title:
NumCallouts: 1
+--->

+--->
Frame: 160
Title:
NumCallouts: 1
+--->

+--->
Frame: 161
Title:
NumCallouts: 1
+--->
Sign in as a root user. SlackBuilds always are run as root.
+--->
Frame: 162
Title:
NumCallouts: 1
+--->

+--->
Frame: 163
Title:
NumCallouts: 1
+--->

+--->
Frame: 164
Title:
NumCallouts: 1
+--->
Then just start the SlackBuild as shown.
+--->
Frame: 165
Title:
NumCallouts: 1
+--->

+--->
Frame: 166
Title:
NumCallouts: 1
+--->
Then just start the SlackBuild as shown.
+--->
Frame: 167
Title:
NumCallouts: 1
+--->

+--->
Frame: 168
Title:
NumCallouts: 1
+--->
Here's an example of me making a mistake so you don't have too.
+--->
Frame: 169
Title:
NumCallouts: 1
+--->
Before running the SlackBuild make sure to install yasm via Gslapt.
+--->
Frame: 170
Title:
NumCallouts: 1
+--->

+--->
Frame: 171
Title:
NumCallouts: 1
+--->

+--->
Frame: 172
Title:
NumCallouts: 1
+--->

+--->
Frame: 173
Title:
NumCallouts: 1
+--->

+--->
Frame: 174
Title:
NumCallouts: 1
+--->

+--->
Frame: 175
Title:
NumCallouts: 1
+--->

+--->
Frame: 176
Title:
NumCallouts: 1
+--->

+--->
Frame: 177
Title:
NumCallouts: 1
+--->

+--->
Frame: 178
Title:
NumCallouts: 1
+--->

+--->
Frame: 179
Title:
NumCallouts: 1
+--->

+--->
Frame: 180
Title:
NumCallouts: 1
+--->

+--->
Frame: 181
Title:
NumCallouts: 1
+--->

+--->
Frame: 182
Title:
NumCallouts: 1
+--->

+--->
Frame: 183
Title:
NumCallouts: 1
+--->

+--->
Frame: 184
Title:
NumCallouts: 1
+--->

+--->
Frame: 185
Title:
NumCallouts: 1
+--->

+--->
Frame: 186
Title:
NumCallouts: 1
+--->

+--->
Frame: 187
Title:
NumCallouts: 1
+--->

+--->
Frame: 188
Title:
NumCallouts: 1
+--->

+--->
Frame: 189
Title:
NumCallouts: 1
+--->

+--->
Frame: 190
Title:
NumCallouts: 1
+--->

+--->
Frame: 191
Title:
NumCallouts: 1
+--->

+--->
Frame: 192
Title:
NumCallouts: 1
+--->

+--->
Frame: 193
Title:
NumCallouts: 1
+--->

+--->
Frame: 194
Title:
NumCallouts: 1
+--->
OK, now we can run the .SlackBuild.
+--->
Frame: 195
Title:
NumCallouts: 1
+--->

+--->
Frame: 196
Title:
NumCallouts: 1
+--->

+--->
Frame: 197
Title:
NumCallouts: 1
+--->

+--->
Frame: 198
Title:
NumCallouts: 1
+--->

+--->
Frame: 199
Title:
NumCallouts: 1
+--->

+--->
Frame: 200
Title:
NumCallouts: 1
+--->

+--->
Frame: 201
Title:
NumCallouts: 1
+--->
If you do this yourself, be warned this build will run a long time.
+--->
Frame: 202
Title:
NumCallouts: 1
+--->

+--->
Frame: 203
Title:
NumCallouts: 1
+--->

+--->
Frame: 204
Title:
NumCallouts: 1
+--->

+--->
Frame: 205
Title:
NumCallouts: 1
+--->

+--->
Frame: 206
Title:
NumCallouts: 1
+--->

+--->
Frame: 207
Title:
NumCallouts: 1
+--->

+--->
Frame: 208
Title:
NumCallouts: 1
+--->

+--->
Frame: 209
Title:
NumCallouts: 1
+--->

+--->
Frame: 210
Title:
NumCallouts: 1
+--->

+--->
Frame: 211
Title:
NumCallouts: 1
+--->

+--->
Frame: 212
Title:
NumCallouts: 1
+--->

+--->
Frame: 213
Title:
NumCallouts: 1
+--->

+--->
Frame: 214
Title:
NumCallouts: 1
+--->

+--->
Frame: 215
Title:
NumCallouts: 1
+--->

+--->
Frame: 216
Title:
NumCallouts: 1
+--->

+--->
Frame: 217
Title:
NumCallouts: 1
+--->
When it's done you won't find the packaged .tlz in the directory above like in our other tutorials.
+--->
Frame: 218
Title:
NumCallouts: 1
+--->

+--->
Frame: 219
Title:
NumCallouts: 1
+--->

+--->
Frame: 220
Title:
NumCallouts: 1
+--->

+--->
Frame: 221
Title:
NumCallouts: 1
+--->

+--->
Frame: 222
Title:
NumCallouts: 1
+--->

+--->
Frame: 223
Title:
NumCallouts: 1
+--->

+--->
Frame: 224
Title:
NumCallouts: 1
+--->
Instead you will find them in the /tmp/ directory.
+--->
Frame: 225
Title:
NumCallouts: 1
+--->

+--->
Frame: 226
Title:
NumCallouts: 1
+--->

+--->
Frame: 227
Title:
NumCallouts: 1
+--->

+--->
Frame: 228
Title:
NumCallouts: 1
+--->

+--->
Frame: 229
Title:
NumCallouts: 1
+--->

+--->
Frame: 230
Title:
NumCallouts: 1
+--->

+--->
Frame: 231
Title:
NumCallouts: 1
+--->

+--->
Frame: 232
Title:
NumCallouts: 1
+--->

+--->
Frame: 233
Title:
NumCallouts: 1
+--->

+--->
Frame: 234
Title:
NumCallouts: 1
+--->
We don't need to be root to copy this to our home directory so exit out.
+--->
Frame: 235
Title:
NumCallouts: 1
+--->

+--->
Frame: 236
Title:
NumCallouts: 1
+--->
Then just use the copy command to move the file...
+--->
Frame: 237
Title:
NumCallouts: 1
+--->

+--->
Frame: 238
Title:
NumCallouts: 1
+--->

+--->
Frame: 239
Title:
NumCallouts: 1
+--->

+--->
Frame: 240
Title:
NumCallouts: 1
+--->
To your home directory, or a place of your choosing.
+--->
Frame: 241
Title:
NumCallouts: 1
+--->

+--->
Frame: 242
Title:
NumCallouts: 1
+--->

+--->
Frame: 243
Title:
NumCallouts: 1
+--->

+--->
Frame: 244
Title:
NumCallouts: 1
+--->

+--->
Frame: 245
Title:
NumCallouts: 1
+--->

+--->
Frame: 246
Title:
NumCallouts: 1
+--->

+--->
Frame: 247
Title:
NumCallouts: 1
+--->

+--->
Frame: 248
Title:
NumCallouts: 1
+--->

+--->
Frame: 249
Title:
NumCallouts: 1
+--->

+--->
Frame: 250
Title:
NumCallouts: 1
+--->

+--->
Frame: 251
Title:
NumCallouts: 1
+--->

+--->
Frame: 252
Title:
NumCallouts: 1
+--->

+--->
Frame: 253
Title:
NumCallouts: 1
+--->

+--->
Frame: 254
Title:
NumCallouts: 1
+--->

+--->
Frame: 255
Title:
NumCallouts: 1
+--->

+--->
Frame: 256
Title:
NumCallouts: 1
+--->
Then you just need to install the package and that's it. 
+--->
Frame: 257
Title:
NumCallouts: 1
+--->

+--->
Frame: 258
Title:
NumCallouts: 1
+--->

+--->
Frame: 259
Title:
NumCallouts: 1
+--->

+--->
Frame: 260
Title:
NumCallouts: 1
+--->

+--->
Frame: 261
Title:
NumCallouts: 1
+--->

+--->
Frame: 262
Title:
NumCallouts: 1
+--->

+--->
Frame: 263
Title:
NumCallouts: 1
+--->

+--->
Frame: 264
Title:
NumCallouts: 1
+--->

+--->
Frame: 265
Title:
NumCallouts: 1
+--->

+--->
Frame: 266
Title:
NumCallouts: 1
+--->

+--->
Frame: 267
Title:
NumCallouts: 1
+--->

+--->
Frame: 268
Title:
NumCallouts: 1
+--->

+--->
Frame: 269
Title:
NumCallouts: 1
+--->

+--->
Frame: 270
Title:
NumCallouts: 1
+--->

+--->
Frame: 271
Title:
NumCallouts: 1
+--->
You know have a newer, fancier, ffmpeg libraries which you can build newer fancier things against.
+--->
Frame: 272
Title:
NumCallouts: 1
+--->
You can now go on and check out the tutorial on packaging MLT, the next step on the way to building Kdenlive for Vectorlinux 6.0.
+--->
Frame: 273
Title:
NumCallouts: 1
+--->
Bonus Material.
How to complete this so it can be sent up as a package for Vectorlinux 6.0.
+--->
Frame: 274
Title:
NumCallouts: 1
+--->

+--->
Frame: 275
Title:
NumCallouts: 1
+--->

+--->
Frame: 276
Title:
NumCallouts: 1
+--->

+--->
Frame: 277
Title:
NumCallouts: 1
+--->

+--->
Frame: 278
Title:
NumCallouts: 1
+--->

+--->
Frame: 279
Title:
NumCallouts: 1
+--->

+--->
Frame: 280
Title:
NumCallouts: 1
+--->

+--->
Frame: 281
Title:
NumCallouts: 1
+--->

+--->
Frame: 282
Title:
NumCallouts: 1
+--->

+--->
Frame: 283
Title:
NumCallouts: 1
+--->

+--->
Frame: 284
Title:
NumCallouts: 1
+--->

+--->
Frame: 285
Title:
NumCallouts: 1
+--->

+--->
Frame: 286
Title:
NumCallouts: 1
+--->

+--->
Frame: 287
Title:
NumCallouts: 1
+--->

+--->
Frame: 288
Title:
NumCallouts: 1
+--->

+--->
Frame: 289
Title:
NumCallouts: 1
+--->
There is something missing from the .tlz file that keeps it from being ready for submission as a package.
+--->
Frame: 290
Title:
NumCallouts: 1
+--->

+--->
Frame: 291
Title:
NumCallouts: 1
+--->

+--->
Frame: 292
Title:
NumCallouts: 1
+--->

+--->
Frame: 293
Title:
NumCallouts: 1
+--->

+--->
Frame: 294
Title:
NumCallouts: 1
+--->
In the 'install' directory we should have a file called slack-required.
+--->
Frame: 295
Title:
NumCallouts: 1
+--->

+--->
Frame: 296
Title:
NumCallouts: 1
+--->

+--->
Frame: 297
Title:
NumCallouts: 1
+--->

+--->
Frame: 298
Title:
NumCallouts: 1
+--->

+--->
Frame: 299
Title:
NumCallouts: 1
+--->

+--->
Frame: 300
Title:
NumCallouts: 1
+--->

+--->
Frame: 301
Title:
NumCallouts: 1
+--->

+--->
Frame: 302
Title:
NumCallouts: 1
+--->

+--->
Frame: 303
Title:
NumCallouts: 1
+--->

+--->
Frame: 304
Title:
NumCallouts: 1
+--->

+--->
Frame: 305
Title:
NumCallouts: 1
+--->

+--->
Frame: 306
Title:
NumCallouts: 1
+--->

+--->
Frame: 307
Title:
NumCallouts: 1
+--->
So I'm going to show you how to create that file and how to get it into the packaged .tlz.
+--->
Frame: 308
Title:
NumCallouts: 1
+--->

+--->
Frame: 309
Title:
NumCallouts: 1
+--->

+--->
Frame: 310
Title:
NumCallouts: 1
+--->

+--->
Frame: 311
Title:
NumCallouts: 1
+--->
We'll start off just by creating an empty file named slack-required.
+--->
Frame: 312
Title:
NumCallouts: 1
+--->

+--->
Frame: 313
Title:
NumCallouts: 1
+--->

+--->
Frame: 314
Title:
NumCallouts: 1
+--->

+--->
Frame: 315
Title:
NumCallouts: 1
+--->

+--->
Frame: 316
Title:
NumCallouts: 1
+--->

+--->
Frame: 317
Title:
NumCallouts: 1
+--->

+--->
Frame: 318
Title:
NumCallouts: 1
+--->

+--->
Frame: 319
Title:
NumCallouts: 1
+--->

+--->
Frame: 320
Title:
NumCallouts: 1
+--->

+--->
Frame: 321
Title:
NumCallouts: 1
+--->

+--->
Frame: 322
Title:
NumCallouts: 1
+--->

+--->
Frame: 323
Title:
NumCallouts: 1
+--->

+--->
Frame: 324
Title:
NumCallouts: 1
+--->

+--->
Frame: 325
Title:
NumCallouts: 1
+--->

+--->
Frame: 326
Title:
NumCallouts: 1
+--->

+--->
Frame: 327
Title:
NumCallouts: 1
+--->

+--->
Frame: 328
Title:
NumCallouts: 1
+--->

+--->
Frame: 329
Title:
NumCallouts: 1
+--->
Next, open a terminal in the same directory as the packaged .tlz file.
+--->
Frame: 330
Title:
NumCallouts: 1
+--->

+--->
Frame: 331
Title:
NumCallouts: 1
+--->

+--->
Frame: 332
Title:
NumCallouts: 1
+--->

+--->
Frame: 333
Title:
NumCallouts: 1
+--->
We are going to use a utility called requiredbuilder to generate a list of the required dependencies.
+--->
Frame: 334
Title:
NumCallouts: 1
+--->

+--->
Frame: 335
Title:
NumCallouts: 1
+--->

+--->
Frame: 336
Title:
NumCallouts: 1
+--->
Use the options -n -v, this will cause the results to output to the terminal and include version numbers
+--->
Frame: 337
Title:
NumCallouts: 1
+--->

+--->
Frame: 338
Title:
NumCallouts: 1
+--->

+--->
Frame: 339
Title:
NumCallouts: 1
+--->

+--->
Frame: 340
Title:
NumCallouts: 1
+--->
give the path to the .tlz in question in the last part of the command.
+--->
Frame: 341
Title:
NumCallouts: 1
+--->

+--->
Frame: 342
Title:
NumCallouts: 1
+--->

+--->
Frame: 343
Title:
NumCallouts: 1
+--->

+--->
Frame: 344
Title:
NumCallouts: 1
+--->

+--->
Frame: 345
Title:
NumCallouts: 1
+--->
The resulting output is the required dependencies for ffmpeg.  Copy this and paste it into our empty slack-required file.
+--->
Frame: 346
Title:
NumCallouts: 1
+--->

+--->
Frame: 347
Title:
NumCallouts: 1
+--->

+--->
Frame: 348
Title:
NumCallouts: 1
+--->

+--->
Frame: 349
Title:
NumCallouts: 1
+--->

+--->
Frame: 350
Title:
NumCallouts: 1
+--->

+--->
Frame: 351
Title:
NumCallouts: 1
+--->

+--->
Frame: 352
Title:
NumCallouts: 1
+--->
Of course, save the changes.
+--->
Frame: 353
Title:
NumCallouts: 1
+--->

+--->
Frame: 354
Title:
NumCallouts: 1
+--->

+--->
Frame: 355
Title:
NumCallouts: 1
+--->
Now copy the slack-required file into the ''build' folder.
+--->
Frame: 356
Title:
NumCallouts: 1
+--->

+--->
Frame: 357
Title:
NumCallouts: 1
+--->

+--->
Frame: 358
Title:
NumCallouts: 1
+--->

+--->
Frame: 359
Title:
NumCallouts: 1
+--->

+--->
Frame: 360
Title:
NumCallouts: 1
+--->

+--->
Frame: 361
Title:
NumCallouts: 1
+--->

+--->
Frame: 362
Title:
NumCallouts: 1
+--->

+--->
Frame: 363
Title:
NumCallouts: 1
+--->

+--->
Frame: 364
Title:
NumCallouts: 1
+--->

+--->
Frame: 365
Title:
NumCallouts: 1
+--->
Now, we know the ffmpeg.SlackBuild already has code that will transfer the slack-desc file into the packaged .tlz.
+--->
Frame: 366
Title:
NumCallouts: 1
+--->

+--->
Frame: 367
Title:
NumCallouts: 1
+--->
We are going to find that code and do the same for the slack-required file.
+--->
Frame: 368
Title:
NumCallouts: 1
+--->

+--->
Frame: 369
Title:
NumCallouts: 1
+--->

+--->
Frame: 370
Title:
NumCallouts: 1
+--->

+--->
Frame: 371
Title:
NumCallouts: 1
+--->

+--->
Frame: 372
Title:
NumCallouts: 1
+--->

+--->
Frame: 373
Title:
NumCallouts: 1
+--->

+--->
Frame: 374
Title:
NumCallouts: 1
+--->

+--->
Frame: 375
Title:
NumCallouts: 1
+--->

+--->
Frame: 376
Title:
NumCallouts: 1
+--->

+--->
Frame: 377
Title:
NumCallouts: 1
+--->

+--->
Frame: 378
Title:
NumCallouts: 1
+--->

+--->
Frame: 379
Title:
NumCallouts: 1
+--->

+--->
Frame: 380
Title:
NumCallouts: 1
+--->
Now insert a line of code that replaces slack-required where slack-desc was used.
+--->
Frame: 381
Title:
NumCallouts: 1
+--->
What this line does is copy the slack-required file and put it into a folder called 'install' which is going to be part of the .tlz package.
+--->
Frame: 382
Title:
NumCallouts: 1
+--->

+--->
Frame: 383
Title:
NumCallouts: 1
+--->
Save your changes and that's it.
+--->
Frame: 384
Title:
NumCallouts: 1
+--->

+--->
Frame: 385
Title:
NumCallouts: 1
+--->

+--->
Frame: 386
Title:
NumCallouts: 1
+--->

+--->
Frame: 387
Title:
NumCallouts: 1
+--->

+--->
Frame: 388
Title:
NumCallouts: 1
+--->

+--->
Frame: 389
Title:
NumCallouts: 1
+--->

+--->
Frame: 390
Title:
NumCallouts: 1
+--->

+--->
Frame: 391
Title:
NumCallouts: 1
+--->

+--->
Frame: 392
Title:
NumCallouts: 1
+--->
You'll have to run ffmpeg.SlackBuild all over again.
+--->
Frame: 393
Title:
NumCallouts: 1
+--->

+--->
Frame: 394
Title:
NumCallouts: 1
+--->

+--->
Frame: 395
Title:
NumCallouts: 1
+--->

+--->
Frame: 396
Title:
NumCallouts: 1
+--->
But when it is done the 'build' directory along with the ffmpeg.tlz will be ready for uploading to the repository.
+--->
Frame: 397
Title:
NumCallouts: 1
+--->

+--->
Frame: 398
Title:
NumCallouts: 1
+--->

+--->
Frame: 399
Title:
NumCallouts: 1
+--->
Finished

View Again?
+--->

Return to Opensourcebistro Main                                            Return to Trouble-shooting Main