Fwd: This Saturday, learn how "apt-get" works!

16 views
Skip to first unread message

अभिजित Abhijit

unread,
Feb 2, 2012, 2:56:55 AM2/2/12
to cofsug


---------- Forwarded message ----------
From: Abhijit A.M. <abhiji...@coep.ac.in>
Date: Thu, Feb 2, 2012 at 1:18 PM
Subject: This Saturday, learn how "apt-get" works!
To:


Dear students (Comp Engg and IT):

CoFSUG is  organizing a session on "Debian Packaging" on Saturday. All of you are invited for the same.

* What is the session all about?
Teaching you how packaging works on Debian/Ubuntu systems. You would be knowing that all you have to do is run commands like "apt-get install vlc" to install any software like "vlc" on Ubuntu/Debian systems. The command automatically fetches the "package" from the web and installs it for you. This sessions explores all the things involved in this process. It is a part of "Debian Utsav" as mentioned on http://wiki.debian.org/DebianIndia/DebianUtsav2012


* What will I learn? How do I benefit?
Many things! Things which one normally learns only after entering IT industry.
 - Enter the exiting world of FOSS community! Start becoming a developer (right here in college!) rather than waiting for some company to show mercy on you!
 -  How to create an "installable" package from a given source code (so that it works with apt-get or dpkg commands)
 -  How the FOSS community works
 -  About coding standards
 -  Etiquettes of communicating on web
 - How Free Software gets developed - how the people of the world work together to do extraordinary feats!


* Contact person:
Sana Khan, B.Tech, 8149890037

* Entry fee:
NIL !

* Session details: Time, Venue
On: 4th Feb 2012, Saturday
Time: 10:30 AM onwards.
    Session 1:
Introduction to Packaging concepts
     Time: 1030 to 1230 Hrs
    Venue:
Seminar Hall Entc Extension Building

    Session 2: 
Hands on Session
     Time: 1300 Hrs onwards
    Venue:
FOSS Lab

* Who will conduct the session?
Pravin A, Senior System Administrator from RedHat will be conducting this session for all the students, free of cost!

* What are the pre-requisites
For Session-1: None
For Session-2: General familiarity with command line on Linux is a must, additional knowledge about git, make, etc. will be very handy.  Patience is a must to learn the "process" of free software development.


Abhijit A.M.
Faculty, Department of Computer Engineering and I.T.,
College of Engineering, Shivajinagar, Pune - 411005

Phone: +91 20-2550-7108

Praveen A

unread,
Feb 6, 2012, 10:40:25 AM2/6/12
to cof...@googlegroups.com
2012/2/2 अभिजित Abhijit <abhi...@gmail.com>:

> CoFSUG is  organizing a session on "Debian Packaging" on Saturday. All of
> you are invited for the same.
>
> * What is the session all about?
> Teaching you how packaging works on Debian/Ubuntu systems. You would be
> knowing that all you have to do is run commands like "apt-get install vlc"
> to install any software like "vlc" on Ubuntu/Debian systems. The command
> automatically fetches the "package" from the web and installs it for you.
> This sessions explores all the things involved in this process. It is a part
> of "Debian Utsav" as mentioned on
> http://wiki.debian.org/DebianIndia/DebianUtsav2012

Someone asked where these list of packages are stored locally, I could
not find the location on that. I figured it out now.

You can see all available packages listed at /var/lib/apt/lists/ for
each of the repositories. If any concept we discussed is not clear or
you have some doubts you can ask here.

Cheers
Praveen
--
പ്രവീണ്‍ അരിമ്പ്രത്തൊടിയില്‍
You have to keep reminding your government that you don't get your
rights from them; you give them permission to rule, only so long as
they follow the rules: laws and constitution.

prashant gonarkar

unread,
Feb 7, 2012, 12:26:05 AM2/7/12
to cof...@googlegroups.com

--
  hello everybody,
              Here  I'm sharing some questions which i have asked to praveen.

> 1. Do i need to ask to upstream developers to use their source for packaging
> or can i use any source which has GPL licenses for packaging?

You don't need anybody's permissions to use, modify or package Free
Software. The exact terms might vary based on different licenses (GPL
is the most popular one but there are many other Free Software
licenses like BSD/MIT, Apache, Mozilla Public license etc), but all
Free Software guarantee the following 4 freedoms

   The freedom to run the program, for any purpose (freedom 0).
   The freedom to study how the program works, and change it so it
does your computing as you wish (freedom 1). Access to the source code
is a precondition for this.
   The freedom to redistribute copies so you can help your neighbor
(freedom 2).
   The freedom to distribute copies of your modified versions to
others (freedom 3). By doing this you can give the whole community a
chance to benefit from your changes. Access to the source code is a
precondition for this.

http://www.gnu.org/philosophy/free-sw.html

Freedoms 1, 2 and 3 covers packaging. But when users report bugs for
packages you maintain, you may need upstream help to fix those, if you
cannot fix them yourself.

> 2. If everything works fine & if I create a package which is lintian error
> free & ask some developer to make request to send debian main server,then
> what is the possibility that it will accept, or is there any criteria for
> the package to be accepted or they just accept it?

There is only one condition it has to be Free Software. And Debian has
clearly stated the conditions that any software license should satisfy
before it is accepted. It is called Debian Free Software Guidelines or
DFSG.

http://www.debian.org/social_contract#guidelines and list of copyright
licenses that follow these conditions are here
http://wiki.debian.org/DFSGLicenses

We wanted to cover this, but there is only so much we can cover on a
single day. Feel free to arrange more sessions, talk to Sana, Shravan
or Abhijit sir or even call any of us directly.

> and last one
> 3.What is the answer of your question that If same package can be installed
> on different versions of windows like xp,vista then why can't in case of
> ubuntu? why a pacakge is not compatible with all the versions on ubuntu?

I'm glad you kept on asking this :)

Because every software depends on at least one library or application
(if it is written in C, it needs the c library which has standard
functions like printf and scanf, if it is a html/javascript you need a
browser).

In case of windows, Microsoft guarantees availability of certain
minimum libraries in all its versions, so if you are using only that
much you can run it in any version. If you need anything extra, most
of the time the software includes that extra library too. In case of
GNU/Linux there is no such guarantee in case of different
distributions because they are made by different projects without
agreeing on a common set - that being said, there is an effort going
on to create a minimum set of libraries guaranteed, it is called linux
standard base or lsb
http://www.linuxfoundation.org/collaborate/workgroups/lsb

In case of different versions of Ubuntu there is not much motivation
to maintain a minimum standard, instead we provide packages for old
version through backports.

Ask more questions if anything is not clear of you have other
questions. It would be useful for others so I encourage you to ask it
on cofsug list directly.

If anyone wants to add any points, feel free.
 
Cheers
Praveen.             
 
You received this message because you are subscribed to the Google Groups "CoFSUG" group.
To post to this group, send an email to cof...@googlegroups.com.
To unsubscribe from this group, send email to cofsug+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cofsug?hl=en-GB.


lokesh walase

unread,
Feb 8, 2012, 9:24:09 AM2/8/12
to cof...@googlegroups.com
Thanks Praveen & Prashant for sharing the info , specially the last question was an interesting one.


--

Praveen A

unread,
Feb 9, 2012, 4:51:09 AM2/9/12
to cof...@googlegroups.com
2012/2/7 prashant gonarkar <prashant...@gmail.com>:

> In case of different versions of Ubuntu there is not much motivation
> to maintain a minimum standard, instead we provide packages for old
> version through backports.

One more clarification, as we have the source code to most programs
porting it to newer libraries are not a problem in case of GNU/Linux.
So when we update some libraries to newer versions, we can easily
update all applications depending on it ie, create new packages that
will work with newer libraries (we call it transitions, see here all
the ongoing transitions in debian here
http://release.debian.org/transitions/), which is not the case
(impossible) for Windows.

This is the same argument for not guaranteeing ABI compatibility in
linux kernel for drivers, when there is an ABI change, all affected
drivers are also updated at the same time making ABI guarantee not as
important in case of proprietary OSes like Windows. But it does affect
drivers maintained outside of the mainline kernel, so our effort is to
have all drivers in mainline. So we do reverse engineer drivers for
hardware which currently does not have (or incomplete features) a
driver in mainline kernel for example NVIDIA graphics card driver
(they provide only a proprietary driver and they have to update it
themselves for new kernel releases).

If any of you are interested in linux device driver programming this
is a very important project for the Free Software community. Reply
here or talk to me or Abhijit sir if you are interested. See
http://nouveau.freedesktop.org/wiki/ for more details about this
project.

Ask more questions if it is not clear.

shirish शिरीष

unread,
Feb 9, 2012, 10:49:59 AM2/9/12
to cof...@googlegroups.com
addition in-line :-

On Thu, Feb 9, 2012 at 15:21, Praveen A <pra...@gmail.com> wrote:
> 2012/2/7 prashant gonarkar <prashant...@gmail.com>:
>> In case of different versions of Ubuntu there is not much motivation
>> to maintain a minimum standard, instead we provide packages for old
>> version through backports.
>
> One more clarification, as we have the source code to most programs
> porting it to newer libraries are not a problem in case of GNU/Linux.
> So when we update some libraries to newer versions, we can easily
> update all applications depending on it ie, create new packages that
> will work with newer libraries (we call it transitions, see here all
> the ongoing transitions in debian here
> http://release.debian.org/transitions/), which is not the case
> (impossible) for Windows.

In some case rebuilding small to large parts of the archive. For e.g.
see http://release.debian.org/transitions/html/python2.7.html which
was arguably a large transition.

Usually a maintainer files a bug asking for transition and then gives
a list of the packages that are/can be affected. See for e.g.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653919
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=547393

This then the release masters or ftp-masters decide when the
transitions are to be affected. For instance as can be seen the KDE SC
4.7 (I am sure the KDE fanboys would be a little disappointed) is
still blocked by few other transitions. See Ariel Garcia's mail in
the same bug-report which talks of the same thing. It also
tells/shares that perhaps more hands/eyes are needed for ftp-master
and release teams as well. When you have 35k+ packages at any point of
time (i386/amd64 single architecture) then you have a big job at your
end keeping track of thing.

Debian does use something called autobuilders to help it out as well
(don't remember if I shared this before or not, oh well!)

https://buildd.debian.org/
http://www.debian.org/devel/buildd/

This is the access that Praveen will get once he becomes a DD.

I have to say though that even though we have 35k+ we haven't
scratched the surface as yet, as FOSS projects have been mushrooming
all the time and if one looks at wnpp you would see thousands of
packages in the various stages of ITP and RFP (remember the WNPP thing
muneeb shared that day). This too when some developer remove ITP's
or/and RFP's if nothing happens after a significant time. We just need
more hands.

> This is the same argument for not guaranteeing ABI compatibility in
> linux kernel for drivers, when there is an ABI change, all affected
> drivers are also updated at the same time making ABI guarantee not as
> important in case of proprietary OSes like Windows. But it does affect
> drivers maintained outside of the mainline kernel, so our effort is to
> have all drivers in mainline. So we do reverse engineer drivers for
> hardware which currently does not have (or incomplete features) a
> driver in mainline kernel for example NVIDIA graphics card driver
> (they provide only a proprietary driver and they have to update it
> themselves for new kernel releases).
>
> If any of you are interested in linux device driver programming this
> is a very important project for the Free Software community. Reply
> here or talk to me or Abhijit sir if you are interested. See
> http://nouveau.freedesktop.org/wiki/ for more details about this
> project.
>
> Ask more questions if it is not clear.

This again is an important project if people want to get their hands
dirty. From what I have been seeing there are lots of cheap
Taiwanese/chinese hardware with virtually no GNU/Linux support. (think
printers,routers,networking chips et al)

Anyways, hope Praveen has given enough ideas, if some are interested
please interact with him or Abhijit Sir. They can provide good
guidance on the above.

> --
> പ്രവീണ്‍ അരിമ്പ്രത്തൊടിയില്‍
> You have to keep reminding your government that you don't get your
> rights from them; you give them permission to rule, only so long as
> they follow the rules: laws and constitution.
>

> --


> You received this message because you are subscribed to the Google Groups "CoFSUG" group.
> To post to this group, send an email to cof...@googlegroups.com.
> To unsubscribe from this group, send email to cofsug+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cofsug?hl=en-GB.
>

--
          Regards,
          Shirish Agarwal  शिरीष अग्रवाल
  My quotes in this email licensed under CC 3.0
http://creativecommons.org/licenses/by-nc/3.0/
http://flossexperiences.wordpress.com
065C 6D79 A68C E7EA 52B3  8D70 950D 53FB 729A 8B17

Reply all
Reply to author
Forward
0 new messages