Author Topic: [PCLinuxOS Wiki] Packaging for PCLinuxOS  (Read 1568 times)

Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
[PCLinuxOS Wiki] Packaging for PCLinuxOS
« on: August 01, 2012, 11:54:45 AM »
Some time back, while trying to understand why the card reader on my HP Mini netbook will not function under PCLinuxOS, I came to know that I needed some drivers for that which were not in our repository. This lead me eventually to search for methods of packaging for PCLinuxOS. I even transiently had dreams of becoming a packager eventually. (Due to time constraints it has not yet materialised.)

While there are many posts / threads on the forum dealing with this, they are outdated either fully or partially or are splattered over different threads / posts.

Having a centralised wiki page that is easy to edit and update would be a good way of helping new / would be packagers.
Hence I have collected whatever I thought was important / current over at PCLinuxOS Knowledge Base.

I request Packagers, Admins and Knowledgeable PCLinuxOS folks to kindly go through it to correct any errors and add useful information as you feel necessary. I believe a page such as this should not give out any incorrect information.

If you do not have enough time to edit the wiki page, I would be glad to add / edit according to your suggestions in this thread.

-SS.

Packaging for PCLinuxOS
http://www.pclinuxoshelp.com/index.php/Packaging_for_PCLinuxOS
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline YouCanToo

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 5337
  • Location: Lebanon, OR., USA
    • Spreading the word.......
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #1 on: August 01, 2012, 12:28:03 PM »
Nice job on the wiki page!




Be sure to visit the NEW Knowledge Base


Linux is user-friendly- it's just picky who its friends are!

Offline Agent Smith

  • PCLinuxOS Tester
  • Sr. Member
  • *******
  • Posts: 317
    • Brazilian PCLinuxOS Community
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #2 on: August 01, 2012, 01:49:33 PM »
Nice move, good job indeed.

Best regards,


Offline Neal ManBear

  • Administrator
  • Super Villain
  • *****
  • Posts: 15847
  • LXDE! Coffee, Bacon and Cheesecake!
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #3 on: August 02, 2012, 02:27:11 AM »
Thanks for this, sling-shot. :)     

Offline Archie

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8590
  • Aurum nostrum non est aurum vulgi.
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #4 on: August 02, 2012, 02:38:15 AM »
Good job! Definitely a stepping stone. Thank you, SS.
Since 2006 | LiCo 401868 | Bare Metal | What is necessary is never unwise. --Sarek, 2258.42


Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #5 on: August 02, 2012, 11:11:41 AM »
;-)

I take it as a GO to make the page live then (by linking from Main Page)

-SS.
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline YouCanToo

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 5337
  • Location: Lebanon, OR., USA
    • Spreading the word.......
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #6 on: August 02, 2012, 12:19:44 PM »
I see no problem with doing that. Again, thanks for all your hard work you have done on the wiki.




Be sure to visit the NEW Knowledge Base


Linux is user-friendly- it's just picky who its friends are!

Offline gseaman

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3799
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #7 on: August 02, 2012, 12:51:21 PM »
+1 :D

Galen

Offline Neal ManBear

  • Administrator
  • Super Villain
  • *****
  • Posts: 15847
  • LXDE! Coffee, Bacon and Cheesecake!
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #8 on: August 02, 2012, 05:17:20 PM »
Please do that, sling-shot. :)     

Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #9 on: August 10, 2012, 10:54:20 AM »
Added a section on Dependency management slightly modified from a post by TerryN.

Kindly check for any errors I may have inadvertently introduced.
-SS.
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline Neal ManBear

  • Administrator
  • Super Villain
  • *****
  • Posts: 15847
  • LXDE! Coffee, Bacon and Cheesecake!
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #10 on: August 11, 2012, 01:31:13 AM »
Added a section on Dependency management slightly modified from a post by TerryN.

Kindly check for any errors I may have inadvertently introduced.
-SS.
     
Looks good, sling-shot. Thanks.     

Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #11 on: September 28, 2012, 11:12:32 AM »
I have added a distilled version of the knowledge I gained from you during my recent experimental packaging effort and further updated this page on the wiki.
Here is the direct link to diff of the page :
http://www.pclinuxoshelp.com/index.php?title=Packaging_for_PCLinuxOS&action=historysubmit&diff=1156&oldid=1085

Please correct any errors and / or omissions appropriately.

Regards,
-SS.
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #12 on: December 13, 2012, 06:07:18 AM »
Added 2 new sections Rough overview and Approach to learning.
Also done a few edits here and there. Here is the link to diff http://www.pclinuxoshelp.com/index.php?title=Packaging_for_PCLinuxOS&curid=384&diff=1226&oldid=1225

Especially, there are lots of doubts (???) in the overview.
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline ghostbunny

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1169
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #13 on: December 13, 2012, 07:28:58 AM »
Hi,

two notes

Quote
* At this level, you could try to package binary software such as graphic drivers etc.
 
* Now you could try your hand at very complex packages such as whole desktop environments, wine etc.

That are your final steps for learning packaging on the high level end.
at first a desktop environment isn't a single file. second i think a DE is not the end i never build a proprietary graphic driver which is probably harder than a DE. In my case i packaged the xfce DE and it is like every other package with the difference that you have many packages which depend on each other. I can't imagine that this is more difficult than a graphic driver, it's just more work. Other example LXDE there is no real release cycle for the packages so from time to time there appears a new version of a program as single release.

Quote
'''Software from source''' - Most of the software written by humans is in the form of a ''human readable language'' such as Assembly (low level), C / C++ (medium level), Python / Java (higher level or interpreted languages). However a computer will only understand instructions in ''machine language'' which is in binary form. So we need to ''convert the software from human readable languages to machine language''. This is done by a method known generally as ''compiling / building''.

first thing switch Python / Java to Java /Python or alternatively the terms in the clamps. currently it could imply that java is the interpreted language and python the higher level. but i think both are high level languages and python is in addition a interpreted language. Java isn't a interpreted language the independence of the platform is managed by the availability of the run time environment.

second. maybe i understand it wrong but after reading this part it would imply (for me) that we bring also programs which are written in interpreted languages into binary form and ship them as rpm to the user. That would be wrong. We ship the pure code which is interpreted at run time by the users computer through the e.g. python interpreter.

except of this two things it's good work.

keep on :)

regards
ghostbunny
The full life is a big mess

PS:
I'm German. Sorry because of possible mistakes in my written messages xD


Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [PCLinuxOS Wiki] Packaging for PCLinuxOS
« Reply #14 on: December 13, 2012, 08:47:02 AM »
Thanks. Here are the corrections, please confirm if they are alright:
Quote
* Once you are comfortable here, try packaging libraries after understanding about them.
* Now you could try your hand at very complex and interlinked packaging tasks such as whole desktop environments, wine etc.
* At this level, you could try to package binary software such as graphic drivers etc.

Quote
Software from source - Most of the software written by humans is in the form of a human readable language such as Assembly (low level), C / C++ (medium level), Java / Python (higher level or interpreted languages). However a computer will only understand instructions in machine language which is in binary form. So we need to convert the software from human readable languages to machine language. This is done by a method known generally as compiling / building.

    In case of low level or medium level languages, this conversion is done in the process of packaging by compiling / building.
    In case of higher level or interpreted languages, this conversion is done on the fly during their execution in the user's computer.
    Hence here the source is packaged as is.

-------------

I still need information about things with ?? hanging around them :)

Quote
A virtual environment is created inside the packager's computer where this source is compiled into binary form. This environment is as close to a standard PCLinuxOS installation as possible. (?? /src/rpm/BUILD or ?? _tmppath)
A virtual installation of the created software is done in another virtual environment representative of end user. (?? /src/rpm/BUILDROOT)

Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6